Skip to content

core+cli: marrow redact, part two: cascade + completeness check (R26-b, FOUNDER-GATED) - #78

Draft
ElxMaj wants to merge 1 commit into
feat/redact-tombstonefrom
feat/redact-cascade
Draft

core+cli: marrow redact, part two: cascade + completeness check (R26-b, FOUNDER-GATED)#78
ElxMaj wants to merge 1 commit into
feat/redact-tombstonefrom
feat/redact-cascade

Conversation

@ElxMaj

@ElxMaj ElxMaj commented Jul 12, 2026

Copy link
Copy Markdown
Owner

Roadmap item R26, PR two of two, stacked on #77. DRAFT + do-not-merge: merges only after your explicit yes on both.

What it adds to part one

  • --cascade: citing nodes are retracted, text-tombstoned (per-node markers, so tombstones never trip the duplicate guard), and stripped of embeddings. Ids, citations, and history survive.
  • Decided protection: a decided citing node refuses without --force (mirroring marrow retract), the refusal destroys nothing, and the audit row names every decided node forced over.
  • marrow redact --check <id>: end-to-end completeness audit; marrow doctor sweeps all recorded redactions (bounded, warns cleanly pre-0018). This is the research's deletion-completeness metric, measurable at last.

Sacred-rule status

Same single visible amendment as #77, no wider: the audit trail is append-only, no status path opens to agents, no MCP tool exists (pinned).

Tests

Refusal-names-decided (nothing destroyed), forced cascade end-to-end, audit hygiene, --check green then deliberately broken (stray embedding fails it). Full suite + smoke:packed + drift gate green.

🤖 Generated with Claude Code

…(FOUNDER-GATED)

Stacked on part one; the same gate applies: neither PR merges without the
founder's explicit yes.

- --cascade: every citing node is retracted (through the same store path
  as marrow retract), its text columns tombstoned with a per-node marker
  (unique, so tombstones never trip the duplicate guard), and its
  embedding rows deleted; ids, citations, and history survive.
- Decided citing nodes refuse without --force, the refusal destroys
  nothing, and the audit row (written first, append-only, never the
  secret) names each decided node the human forced over.
- marrow redact --check <id>: the completeness audit (tombstone payload,
  retracted + tombstoned + embedding-free citing nodes); marrow doctor
  gains a bounded Redactions sweep over every recorded redaction, warning
  cleanly on schemas from before 0018.
- Still CLI-only; the MCP no-redact pin from part one holds.

Roadmap: R26 part two of two. Both PRs now await sign-off.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@ElxMaj ElxMaj added the do-not-merge Founder-gated: the loop never merges this label Jul 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge Founder-gated: the loop never merges this

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant