This is the record of an abcd-managed repository

abcdBetav0.16.2 · 2026-11-06

Development record

The ingest JSON for a dead-lettered verdict carries a rollup that reads as a result. abcd intent audit ingest --verdict-json --json returns one result struct for every outcome, so a dead_letter response carries criteria, conditions and the per-verdict counters beside its reason: a lane in the Gropius sweep read "criteria: 0" beside "conditions: 11" on a quarantined verdict and took it for a rollup. The text render is right (it prints the rollup only under ingested and the DEAD_LETTER reason otherwise), the JSON is not: the counters are zero-valued members with no omitempty, and conditions is populated from the intent before the verdict is judged. Reproducible by reading the IngestResult struct in internal/core/intent/audit.go against the --json path. Relayed from session gropiusllm-66 on 2026-09-19 at v0.9.0. Wanted: the rollup members omitted (or nulled) on dead_letter and noop, so a quarantined verdict's JSON says only what happened and where the raw payload went. Separately, the same session reported the ingest refusing a digest of "sha256:unknown" while accepting an empty digest; that is the documented contract (empty where the digest is not known, otherwise sha256:<64 hex>) and the refusal says so, so it is not filed.

issueresolvednitpickiss-2609190337545165

The ingest JSON for a dead-lettered verdict carries a rollup that reads as a result. abcd intent audit ingest --verdict-json --json returns one result struct for every outcome, so a dead_letter response carries criteria, conditions and the per-verdict counters beside its reason: a lane in the Gropius sweep read "criteria: 0" beside "conditions: 11" on a quarantined verdict and took it for a rollup. The text render is right (it prints the rollup only under ingested and the DEAD_LETTER reason otherwise), the JSON is not: the counters are zero-valued members with no omitempty, and conditions is populated from the intent before the verdict is judged. Reproducible by reading the IngestResult struct in internal/core/intent/audit.go against the --json path. Relayed from session gropiusllm-66 on 2026-09-19 at v0.9.0. Wanted: the rollup members omitted (or nulled) on dead_letter and noop, so a quarantined verdict's JSON says only what happened and where the raw payload went. Separately, the same session reported the ingest refusing a digest of "sha256:unknown" while accepting an empty digest; that is the documented contract (empty where the digest is not known, otherwise sha256:<64 hex>) and the refusal says so, so it is not filed.

Grounds

  • pursued: a reader of a dead-lettered verdict's JSON no longer finds a rollup to misread; a dead_letter or noop result carrying criteria or met members, or an ingested one missing a zero count, would show it wrong

Frontmatter

idiss-2609190337545165
typeissue
lifecycleresolved
severitynitpick