Development record
readerFailsClosed is false for the adr store on the duplicate key leg and the record that resolved it claims all four stores were verified
readerFailsClosed is false for the adr store on the duplicate key leg and the record that resolved it claims all four stores were verified
Found by the round-5 ruthless review, and it lands on a record this branch already resolved.
readerFailsClosed is set on the adr store and gates all three legs on the
godoc's assertion that "The three malformations differ; what the reader does
about them does not." That is false for adr on the DUPLICATE-KEY leg.
record.readRecordHead reads with frontmatter.Fields, the lenient scanner,
and no ADR reader anywhere refuses a duplicated key.
Probed: an ADR carrying status: accepted then status: draft renders --
describeADR returns the record with Status:accepted and a nil error --
while the gate says "the record reader refuses a duplicated key, so the file is
skipped by every ADR surface".
The part worth keeping: iss-2608301519254418, resolved on this branch in
round 4, asserts the flag is "correct for all four stores (verified
independently by both reviewers)". Both reviewers verified the UNKNOWN-KEY leg,
where adr has nil knownFields and returns early, and carried that silently
across to the duplicate-key leg, which does fire. A verification claim in a
resolved record is exactly the thing a later reader trusts instead of
re-deriving, so the record needs correcting alongside the code.
TestClosedSchemaAndDuplicateKeyClaimNoReaderWhereTheStoreHasNone covers
adm, srp and iss, and not adr.
Remedy: split the declaration so adr does not stand behind the duplicate-key
clause, and extend that test to the ADR store.
Frontmatter
| id | iss-2608301656200729 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | major |
.abcd/work/issues/resolved/iss-2608301656200729-readerfailsclosed-is-false-for-the-adr.md
open on GitHub ↗ · commit history ↗
mentions3
- iss-2608301519254418two message legs tell the author the reader refuses and skips their record when the admission reader counts it and the surprise store has no reader at all
- iss-2608301649337920the unsafe finding on an admissions path tells the operator abcd capture refuses it too when capture has no admissions code at all
- iss-2608301901264848the nine store enumeration checked one reader per store so rdi and dsp are assigned an answer their second reader contradicts