Development record
Three smaller defects in the ingest verb, each cheap and each an instance of a class this workstream has already recorded. A definition-drift refusal returns bare after instrument identity is proven, so the run is refused and no refusal record is written, contradicting both the criterion that says a list-level refusal writes one and the plugin surface's own corrected sentence. The refusal-list elision entry reaches the DURABLE record carrying ordinal zero, so a refused run writes item 0 into its refusal record although there is no item 0; the terminal renderer has the branch that suppresses it and the record writer does not. And the braille pattern blank is accepted as a provenance value: it renders as nothing but is neither a format rune nor a default-ignorable nor a variation selector nor whitespace, so it clears the blankness test. That last one does not breach the criterion's letter, which speaks of an empty or absent field, but it does breach the residue's claim that every invisible rune is folded away.
Three smaller defects in the ingest verb, each cheap and each an instance of a class this workstream has already recorded. A definition-drift refusal returns bare after instrument identity is proven, so the run is refused and no refusal record is written, contradicting both the criterion that says a list-level refusal writes one and the plugin surface's own corrected sentence. The refusal-list elision entry reaches the DURABLE record carrying ordinal zero, so a refused run writes item 0 into its refusal record although there is no item 0; the terminal renderer has the branch that suppresses it and the record writer does not. And the braille pattern blank is accepted as a provenance value: it renders as nothing but is neither a format rune nor a default-ignorable nor a variation selector nor whitespace, so it clears the blankness test. That last one does not breach the criterion's letter, which speaks of an empty or absent field, but it does breach the residue's claim that every invisible rune is folded away.
Grounds
- pursued: a refused run that leaves no record cannot be found, a record naming an item 0 sends its reader after nothing, and a provenance that renders blank asserts a basis the reading does not carry; a drift refusal with no record, an ordinal on the elision entry, or a blank-rendering pattern accepted would each show this wrong
Frontmatter
| id | iss-2608311518250688 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-2608311518250688-three-smaller-defects-in-the-ingest-verb.md
open on GitHub ↗ · commit history ↗
mentions2
- dcn-26092600000000052026-09-26 — The reading ingest's prose-citation refusal departs from "every refusal past the identity point is recorded" (the rule `refuse()` in internal/core/reading/ingest.go enforces, from iss-2608311518250688): it is returned unrecorded, because a recorded refusal gives the run an outcome and `refuseARerun` would then refuse the same run re-worded, where the run left parked is ingested again once its prose describes the record rather than citing a missing id — the stance the verdict ingest takes. It keeps the rest of the refusal contract: it rolls back this run id's own half-landed records and stage as `refuse()` does, and runs no sweep of other runs' orphans. `04-surfaces/23-reading.md` states it (implementer of lane fix2-drainL, autonomous run A, on review-drainL's design point for iss-2609261835118276).
- iss-2609012043439946A transient I/O failure while loading a definition becomes a permanent refusal of the run. In ingest (internal/core/reading/ingest.go), once the run's identity is proven, a LoadDefinition error is routed through refuse and recorded as refusal.json — by design, so a refused run has something durable to find it by (iss-2608311518250688). The consequence: an EACCES on the definition file, the size cap, or a refused symlink — conditions that clear on retry — produce a durable refusal that refuseARerun then treats as the run's outcome, so the same run id cannot be retried; recovery is re-assembling under a new run id. Recorded as a consequence of a deliberate choice, not as a defect; a later change could distinguish a definition that does not resolve from one that could not be read.