Archive — Family consistency report — 2026-07-09 documentation + product-story sweep
Archive — not current documentation. Files in the last two groups describe the Seal family of research repositories or a past design state — they are kept for the record and are not claims about the Node CLI this repository ships.
Scope: every family repo’s README + docs, checked for the family sentence, the full sibling
roster, the receipt-tool ladder, cross-link health, truth-box uniformity, and stale claims —
ahead of the 31-Jul public-flip window. Per repo: found (state before this sweep),
fixed (on that repo’s docs/family-story-sweep branch, committed, not pushed), and
FLAGGED (needs Ben’s call — deliberately not papered over).
Conventions checked: family sentence = “Seal is the approval gateway for agentic tool use…”; roster = the family table/list; ladder = the four-question receipt-tool table (verify / sufficiency / diff / CI gate), canonical copy in the umbrella README.
Verdict in one line
Section titled “Verdict in one line”The family was internally consistent (truth-box byte-uniform ×5, zero dead links, zero stale v0 claims) but two shipped tools were invisible (receipt-diff outside the kit, seal-verify-action everywhere) and witness-check was a footnote. Fixed by roster/ladder/matrix updates in 8 repos. Four genuine items flagged below.
FLAGGED for Ben (real disagreements + exposure risks — not harmonised silently)
Section titled “FLAGGED for Ben (real disagreements + exposure risks — not harmonised silently)”- The briefed ladder line “seal-verify-action → gate all of the above in CI” overclaims.
The action vendors and runs the
seal verifyclosure only; witness-check and receipt-diff are local tools with no CI packaging today. Written honestly everywhere as “runsseal verifyin GitHub Actions… (the sufficiency and diff checks are local tools today)”. If “gate all of the above” is the intended roadmap, that’s a build item, not a doc edit. - Public-flip exposure in seal-verify-action (the intended-public wrapper):
(a)
NOTICEcarries the real name “Ben Cassie” where every other family repo uses the velvetmonkey pseudonym — flipping public links the two; (b)VENDORED.md:12and the stray working filePR-DESCRIPTION.mdnameseal-assurance-kit/seal-checkas private and assert shared authorship. Recommend: decide the NOTICE identity question and delete PR-DESCRIPTION.md before any flip. Not changed in this sweep (identity is not my call). - mcp-seal-dev does not use the family sentence — it leads with “Seal is a proven checkpoint for AI agents.” Possibly deliberate (kernel-repo audience). Left unchanged; confirm or harmonise. Its truth-box was also missing entirely (guard was claims-only); this sweep ADDS docs/TRUTH-BOX.md + README block + guard wiring, byte-identical to the family block — review that addition since it widens the repo’s guarded claim surface.
- Naming drift, pre-existing, unresolved: the frozen public mirror is
mcp-sealwhile the family roster linksmcp-seal-dev; the mirror retirement / rename has NOT happened. All docs in this sweep continue to linkmcp-seal-dev(current reality). Also latent: the CLI verb isseal adequacywhile the family concept is “sufficiency” — consistent in docs but a naming split worth settling before public.
Per-repo findings
Section titled “Per-repo findings”seal (umbrella — canonical)
Section titled “seal (umbrella — canonical)”- Found: family sentence leads (README:5) ✓; roster = 5 repos, missing witness-check + seal-verify-action; no ladder; CLAIMS-MATRIX had the sufficiency row (anonymous “private tooling”) but no receipt-diff / action rows; ARCHITECTURE map had no drift or CI-gate box; EVALUATOR-START §8 lacked receipt-diff; index.html roster = 5. Truth-box canonical ✓, claims-drift + linkcheck green ✓, no dead links ✓.
- Fixed: roster +2 rows; canonical ladder table added (“The receipt toolset — one question
each”); matrix +2 Tested rows (receipt-diff suite; action vendored/pinned/selftested) and
sufficiency row now names
witness-check; ARCHITECTURE +2 boxes (Drift, CI gate) with honest “packaging, not new verification logic” note; EVALUATOR-START §8 updated; index.html +2 entries. Guards green. [2026-08-06 correction: the “packaging, not new verification logic” conclusion recorded above is superseded — the Action is a maintained downstream-stricter fork of the kit verifier (it additionally requires a validsigned_configfor an authorised outcome); see seal-verify-action/VENDORED.md and CLAIMS-MATRIX.md’s Action row. The sweep record is kept as written.]
seal-host
Section titled “seal-host”- Found: roster = 6, missing the 3 tools; family sentence present but not leading (README:16, after role line + truth-box — placement inconsistency, cosmetic); truth-box + guard ✓; legacy v0-live mentions all intentional (schema doc); no dead links.
- Fixed: roster +2 (witness-check, seal-verify-action). Sentence placement left as-is (role line first is arguably right for a spoke; flag only if uniformity is wanted).
seal-check
Section titled “seal-check”- Found: family sentence ✓ (README:16); roster = 6, missing 3 tools; no ladder; truth-box byte-identical ✓; v0-live references in DECISION-RECEIPT-SCHEMA.md are the normative grandfathering, not staleness.
- Fixed: roster +2.
seal-assurance-kit
Section titled “seal-assurance-kit”- Found: family sentence ✓; roster = 6, missing 3 tools; HAS the only ladder-like table
(3 rows, wording drifted from the canonical framing); DEPLOYMENT.md never mentions
seal receipt-diff(coverage gap); CLAIMS.md names witness-check (internal note) ✓; WHAT-SEAL-IS-NOT needs no change (nothing stale). - Fixed: roster +2; ladder table harmonised to the canonical 4-row form (adds the CI-gate row, names witness-check); DEPLOYMENT.md gains a receipt-diff step and a CI-gate note.
seal-live-demo
Section titled “seal-live-demo”- Found: family sentence ✓ (not leading, same as seal-host); roster = 6, missing 3 tools; no mention that receipts can be gated in CI; truth-box ✓ (self-refer note in guard header ✓).
- Fixed: roster +2; one line in “Verify in five minutes” pointing at seal-verify-action for CI re-verification.
mcp-seal-dev
Section titled “mcp-seal-dev”- Found: roster = 6, missing 3 tools; NO truth-box (guard claims-only — the sweep brief assumed all three guarded repos carry it; reality disagreed); family sentence absent (flagged, item 3); no receipt-schema claims at all so nothing v2-stale.
- Fixed: roster +2; truth-box added (docs/TRUTH-BOX.md + README block, byte-identical to the family block) and scripts/claims-drift.mjs extended to guard it. Flagged for review.
witness-check (private/proprietary)
Section titled “witness-check (private/proprietary)”- Found: “Part of the Seal family” section lists 4 repos; no receipt-diff / action / umbrella mention; license proprietary ✓; worked example still accurate vs the v0→v2 schema story ✓.
- Fixed: family section gains the umbrella + the ladder (its own row marked “this tool”).
seal-verify-action
Section titled “seal-verify-action”- Found: standalone framing, no family sentence, no ladder; honest-scope section already cites witness-check correctly; receipt-diff absent; vendored pin + hash guard ✓; exposure risks flagged (item 2).
- Fixed: ladder added under the honest-scope section (its own row marked “this action”); receipt-diff named alongside witness-check in the not-checks list’s family pointer. NOTICE / PR-DESCRIPTION.md deliberately untouched (item 2).
Demos / mirrors (mcp-seal, seal-demo, seal-backchannel-demo) — audit only
Section titled “Demos / mirrors (mcp-seal, seal-demo, seal-backchannel-demo) — audit only”- Zero stale refs across the three active demos/mirrors (grep: “still emits”, v0 receipt, seal_live_receipt, witness-check, receipt-diff, seal-verify-action, “proven checkpoint”). mcp-seal public “Related repositories” lists only public repos ✓ — clean as a public mirror. The retired Canary demo is no longer part of this audit scope. No edits made.
Review follow-up (2026-07-09, second pass on the same branches)
Section titled “Review follow-up (2026-07-09, second pass on the same branches)”Disposition of the four flags after the cold review:
- Ladder honesty — CONFIRMED-OK. Audited every ladder site (umbrella README + index.html
roster, kit, witness-check, seal-verify-action, and the six roster rows). No repo ever
carried the “gate all of the above in CI” overclaim in live copy — the phrase existed only
in the review brief itself and in this report’s flag text quoting it. Every action row
reads “runs
seal verifyin GitHub Actions… (the sufficiency and diff checks are local tools today)”. Nothing to fix. - Public-flip exposure — FIXED + CHECKLISTED. seal-verify-action
VENDORED.mdscrubbed (“private during build phase” dropped; the pin retained — it is provenance and resolves post-flip; the CI sha256 guard checks only the hash lines and re-verified green) andPR-DESCRIPTION.mdscrubbed (private-status + shared-authorship assertions → generic first-party wording).NOTICEdeliberately untouched — the real-name identity decision is Ben’s, now item 1 of the new durable PUBLIC-FLIP-CHECKLIST.md, which also carries the partial-flip disclaimer re-scope, the witness-check stays-private check, the Emscripten NOTICE gap, and the leak-sweep greps. - mcp-seal-dev — FIXED (sentence) + CONFIRMED-OK (truth-box), with a scope note. The Seal paragraph now leads with the family sentence, kernel framing intact. Every truth-box line was verified against this repo before keeping it: all three are true family-scoped statements — this repo supplies the kernel-verdict half of the Claim line and the v2 canonical approval tuple named in the Non-claim line; canonical-l0’s grammar lives here while its reject-strict profile lives in seal-host; nothing here deploys it. The one real misread risk (taking “the compatible MCP boundary” to mean this repo’s demo-only v1 sidecar) is closed by a non-guarded scope note under the Map line. The guarded block is byte-untouched; six-way uniformity holds.
- adequacy vs sufficiency — FIXED. One explicit sentence added directly under the ladder
in both places it lives (umbrella README, kit README):
seal adequacyanswers the same sufficiency question witness-check analyses — one concept, two surfaces. The mcp-seal/mcp-seal-dev naming/rename stays untouched (gated; on the flip checklist).
Gates after this sweep
Section titled “Gates after this sweep”claims-drift green in seal, seal-host, seal-check, seal-assurance-kit, seal-live-demo, mcp-seal-dev (now incl. its new truth-box); truth-box byte-identical across all six carriers; umbrella linkcheck green; kit npm test green (tree untouched); no tracked non-doc file changed in any repo (per-repo diff audits in the branch commits).