Stop the memory audit deleting what it could not verify - #18
Merged
Conversation
- Replace Swift-specific examples (dropFirst, labeled parameters, .swift paths, protocol conformance) with language-neutral equivalents - The pack installs into projects of any stack, so its examples should not read as iOS-only
- An empty grep was treated as proof a symbol never existed, so a memory about code on an unmerged branch got dropped — unrecoverable where the KB is gitignored or the project has no git - Carve that out of the prefer-DROP guideline, which otherwise overrules it - Four sites assumed git is always present, and the DROP preamble forbade the hedges its own categories require
- The skill claimed to save whatever passes the gates while also capping at three, so discarded candidates had no stated reason - Gates decide eligibility, the cap decides how many land per session
- Every row restated the allowed-tools frontmatter or the body's own usage, down to "Read | Read a specific memory file" - Nothing referenced the section
- "Report it as unverifiable" named no verdict the table accepts, so the surrounding prefer-DROP pressure would have decided it - Points at Step 4's existing UPDATE-uncertain path instead of adding a fourth verdict
- Duplicate detection is Step 2's job, with a mandatory search and a three-way decision; brittle references are Staleness Prevention's, immediately below - The checklist's own preamble no longer claims to cover staleness, since nothing in it does
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.
Why
The audit could delete a memory describing code that still exists. An empty grep was treated as proof a symbol was gone, and two other instructions pushed the same way — the guideline to prefer DROP in doubt, and a DROP-category preamble that told the agent not to hedge while four of its own categories carry "keep only when" clauses. Where a knowledge base is gitignored or the project has no version control, that deletion cannot be undone.
Four places also assumed
git logis always available to answer "why is this named X?". This pack installs into non-git projects, where nothing records that history and the memory may be its only trace.Both skills additionally carried Swift-specific examples, which read as iOS-only in a pack that installs anywhere. Those are now language-neutral, and the retrospective's three-memory cap says why it exists rather than looking like it contradicts saving whatever passes the gates.
Deliberately small: no new files, no CI change, and no locked-block edits. An earlier attempt at this grew a symbol-history triage with its own verdict table, which was wrong in three consecutive review rounds — the fix here is to refuse the destructive verdict, not to compute a better one.
Test plan
SYNC-BLOCKS.md→ expect all three blocks identical; this change edits only text outside the fences.