Record the deletion gap, and bring the counts up to date - #24
Merged
Conversation
Both documents predate PR #23. AUDIT.md gains F14 and a section 10 for it. Deletion was not found by auditing behaviour -- it was found by trying to clear the wrong `astro` harvest from section 9 and discovering there was no way to. kb_store had delete() on both backends the whole time, tested and unreachable: no route, no UI, no CLI flag, no tool. Every wrong harvest was therefore permanent. That gap reads worse against the rest of this audit than it would alone. An audit whose central finding is that the store confidently holds wrong things cannot also be one where wrong things cannot be taken out; the honesty signals in 4.4 and 4.7 exist to tell a caller a copy is bad, and "so remove it" had no answer. Section 7.3 is updated accordingly. The store still holds the pre-fix corpus and that is still the one action outstanding, but it is now a supported operation with a command against it rather than a wish, and it is the owner's to take since the harvests are theirs. PROPOSAL.md gains 4.8 on the same point: a store needs a full lifecycle rather than an append path, three surfaces because the person who took a harvest decides it was a mistake, and deliberately not the model by default -- by 4.1's own argument the caller most likely to want a delete is the one that has just mis-resolved a name. Test counts move 346 -> 375 in both. Documents only. 375 passed, 22 skipped across both backends. All four mermaid diagrams rendered in Chromium via mmdc. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01APThnqHvfP2oBjBCBxBhd6
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Both documents predate #23. Updated ahead of tagging the first release.
AUDIT.md— F14 and a new §10Deletion was not found by auditing behaviour. It was found by trying to clear
the wrong
astroharvest from §9 and discovering there was no way to.kb_storehaddelete()on both backends the whole time — tested, working,and unreachable. No route, no UI, no CLI flag, no tool. Every wrong harvest was
therefore permanent.
That gap reads worse against the rest of this audit than it would in isolation:
§7.3 updated. The store still holds the pre-fix corpus and that is still the
one action outstanding — but it is now a supported operation with a command
against it rather than a wish, and it is the owner's to take, since the harvests
are theirs.
PROPOSAL.md— §4.8The same point as architecture: a store needs a full lifecycle, not an append
path. Three surfaces, because the person who took a harvest is the one who
decides it was a mistake — and deliberately not the model by default, since
by §4.1's own argument the caller most likely to want a delete is the one that
has just mis-resolved a name.
Also
proposal.
Verified
documents only.
mmdc.