{"id":21030,"plugin_id":"plugins_6aabf17d723481919bf6d18cd917fa77","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:16:44.830Z","digest":"66772f308c6cd2028247b5dfed3f5ef297dd7abfcc1239d33a5c7f3a1631bde3","against":null,"payload":{"description":"Use when persistent project memory is inconsistent, duplicated, stale, broken, orphaned, contradictory, ambiguously rooted, or has invalid routes after moves, renames, replacements, or partial repairs.","included_files":[],"name":"repairing-memory-state","skill_md_contents":"---\nname: repairing-memory-state\ndescription: Use when persistent project memory is inconsistent, duplicated, stale, broken, orphaned, contradictory, ambiguously rooted, or has invalid routes after moves, renames, replacements, or partial repairs.\n---\n\n# Repairing Memory State\n\n## Goal\n\nRestore one coherent canonical truth without inventing facts or destroying uncertain data.\n\n## Repair order\n\n1. Freshly observe state and record a **rollback point**: identities/locations and last known-good canonical content needed to recover.\n2. Record **repair provenance**: what evidence selected each owner/successor and which prior source it supersedes.\n3. Determine the nearest logical owner for each conflicting durable fact.\n4. Resolve root ambiguity before destructive change.\n5. Repair owner content/routing first, then reduce parent copies to routing/high-level status.\n6. Repair moved/renamed pointers.\n7. Keep a superseded source recoverable until the replacement and routes pass fresh verification; **superseded source remains recoverable** through archive/version history when possible.\n8. Only then remove redundant active canons, re-read/re-list, and verify exactly one active owner remains.\n\n## Never\n\nNever choose by newest-looking filename/date, concatenate contradictory facts, create `_FINAL`/`_MAJ`/dated/copy/backup/`v2` active canons, or delete uncertainty merely to make the audit clean.\n\nIf evidence cannot select the canon, stop at **NOT COMPLETE** and request only the smallest missing decision. Operational timeout/failure belongs to `recovering-persistent-work`.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}