Development record
The ingest verb's terminal help still claims a refusal deletes nothing, and gives the orphan sweep one outcome where the code has two. iss-2608311518199679 named three false sentences in the same Long field and its fix reaches two of them; the durability sentence reads "written or deleted" without the qualification that makes it true, and the sweep sentence carries the committed-tier delete without the case in which there is none. A refusal after the run's identity is proven calls rollbackThisRun on every path, which removes the never-committed reading records of an earlier attempt at the same run id from the committed ledger — so "leaves its refusal record and nothing else" describes a verb that makes no delete, and the verb makes one. rollbackRun returns without touching anything when the run's commit marker is present, and sweepOrphanStages clears the stage regardless, so a sweep over a leftover stage rolls nothing back and the help promises a rollback that does not come. The neighbouring "before that point nothing is written anywhere" is false of the stage root and its lock, which are created before the payload is read; the claim is about the durable tier. Because docs/reference/cli/commands.md is generated from the Long field, each of these is wrong at the terminal and on the reference page at once.
The ingest verb's terminal help still claims a refusal deletes nothing, and gives the orphan sweep one outcome where the code has two. iss-2608311518199679 named three false sentences in the same Long field and its fix reaches two of them; the durability sentence reads "written or deleted" without the qualification that makes it true, and the sweep sentence carries the committed-tier delete without the case in which there is none. A refusal after the run's identity is proven calls rollbackThisRun on every path, which removes the never-committed reading records of an earlier attempt at the same run id from the committed ledger — so "leaves its refusal record and nothing else" describes a verb that makes no delete, and the verb makes one. rollbackRun returns without touching anything when the run's commit marker is present, and sweepOrphanStages clears the stage regardless, so a sweep over a leftover stage rolls nothing back and the help promises a rollback that does not come. The neighbouring "before that point nothing is written anywhere" is false of the stage root and its lock, which are created before the payload is read; the claim is about the durable tier. Because docs/reference/cli/commands.md is generated from the Long field, each of these is wrong at the terminal and on the reference page at once.
Grounds
- pursued: an operator reading the ingest help at the terminal or in the generated reference finds no sentence the code contradicts, and a later edit that reintroduces one fails TestIngestHelpPinsTheThreeMeasuredSentences; a falsifier is a claim in the Long field that no test ties to observable behaviour, or a change to the refusal or sweep paths that leaves the pinned sentences passing
Frontmatter
| id | iss-2609020843067458 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | major |
.abcd/work/issues/resolved/iss-2609020843067458-the-ingest-verb-s-terminal-help-still.md
open on GitHub ↗ · commit history ↗
mentions2
- iss-2608311518199679The shipped terminal help for the ingest verb states three things the code does not do, and because the CLI reference page is generated from the command's own long description, the false text is what an operator reads at the terminal and in the docs alike. It says nothing durable is written until the whole payload validates, which the orphan sweep contradicts by deleting a committed record during a refused run. It describes the orphan sweep in wording that omits the committed-tier delete, which is the exact sentence the code's own comment warns must stay true. And it says each regime has reserved names, which is false at the generative position, where there are none and no signature refusal either. A generated page inherits whatever the source string claims, so one wrong sentence in a Long field becomes a wrong sentence in two shipped surfaces at once.
- iss-2609020848468450On the refusal path the ingest result's pending_stages is set from the orphan list gathered before the refusal and is never recomputed after rollbackThisRun runs, so it can name the refused run's own stage as pending although that stage was just cleared. The disclosure the surface renders is then wrong by one entry in exactly the case it exists to describe. Found while pinning the ingest help's sentences (iss-2609020843067458). Fix: recompute or filter the pending list after the run's own rollback, and pin it with the same end-to-end refusal test that now proves the record set.