Development record
The command surface's sentence for `abcd history staged` still says it refuses outside a git checkout, which stopped being true when --root-sha was added by the fix for iss-2609091717146700.
issueopenminoriss-2610112206188882
The command surface's sentence for abcd history staged still says it refuses outside a git checkout, which stopped being true when --root-sha was added by the fix for iss-2609091717146700.
Frontmatter
| id | iss-2610112206188882 |
|---|---|
| type | issue |
| lifecycle | open |
| severity | minor |
.abcd/work/issues/open/iss-2610112206188882-history-staged-doc-says-checkout-only.md
open on GitHub ↗ · commit history ↗
mentions1
- iss-2609091717146700Staged transcripts for a repository that no longer exists can never be drained, so their unredacted text is permanent. The drain builds its scanner from the destination repository's root, because that repository's own redaction configuration must govern its own transcripts. When the repository's directory is gone, that root cannot be resolved and the drain has nothing to run with, so the raw bytes stay staged forever with no path to redaction. This is not hypothetical: one store on this machine holds 11.7 megabytes of unredacted staged text whose repository was deleted, which is the largest single pile in the store and the only one that no amount of ordinary use will clear. The retention work just landed addresses the case where nobody opens a repository again, by draining while a session is live and by reporting other repositories' backlogs at session start, but both remedies assume the repository still exists to be opened. The options are to let a deletion of the repository be a trigger that drains or discards first, to allow a drain under an explicitly named substitute configuration with the substitution recorded on the record, or to treat the pile as terminal and offer only discard. Whichever is chosen, the present behaviour is the worst of them: the text is kept, unredacted, with no way to act on it and nothing saying so.