R76.S1 — Session seal contract
1. What the contract governs
This contract governs the behavioral shape of docs/session-seal-s8.md specifically, and by extension sets the template for docs/session-seal-s<N>.md where N ≥ 9. It is the fourth contract in the “document as artifact” family (alongside audit, contract, packet, verification) and is separate from the executor 5-step chain — a seal doc is itself the product of one such chain, not a tool of it.
2. Required frontmatter (gray-matter compatible)
---
title: Session 8 seal — Phase 0 complete
description: Ceremonial close document for Session 8, covering R75 Phase 0 (execution + intelligence axis) from kickoff at R75 Wave A (2026-04-16) through seal at R75 Wave I (2026-04-18).
tags: [session, seal, phase-0, s8, r75, ceremony]
type: seal
round: R75
session: 8
sealed_at: 2026-04-18
merkle_root: TBD
parent: 5-time/roadmap.md
updated: 2026-04-19
---
Invariants:
typeis exactlyseal(lowercase).roundis the last round in the session (R75 for S8).sessionis the integer index (8 for S8).sealed_atis the human-readable Phase B date (not the post-merge SHA date).merkle_rootreadsTBDin the executor PR; Sigma replaces it in Phase B.descriptioncontains no unquoted colons that would confuse YAML (lesson from R73 hotfix — seedf0282bd).
3. Required sections (8, numbered)
- What shipped — sub-task table + tool surface + concept maturity + test count + stack.
- The nine waves (A through I) — wave → commit → theme → PR map.
- Key decisions resolved during S8 — architectural calls (
server_info, task_update merge, ANTHROPIC_API_KEY, Wave I δ). - Architectural deliverables — bullet list of shipped subsystems.
- Legacies carried into R76 — carry-over bugs and drift.
- R76 (Phase 0→1 bridge) — summary of the current round that will fill in the Merkle root.
- Phase B Merkle anchor — placeholder with
TBDroot andaudit_verify_chainnote. - Next — R76 completion, R77+ hygiene tail, R81 κ kickoff, R91+ δ graduation.
Sections may reorder if the ceremonial flow demands; section count is fixed at 8.
4. Placeholder convention
Two fields hold TBD:
| Field | Filled by | Filled when |
|---|---|---|
merkle_root (frontmatter + §7 body) |
Sigma | R76 Phase B, after merkle_finalize returns the root |
| “Seal commit on main” (body, §0 header) | Sigma | R76 Phase B, after this PR merges (captured from git log main -1) |
All other TBD strings in the doc are contract violations. Verification checks grep count of TBD = exactly 2 (merkle_root in frontmatter + body, seal commit in body), plus optional third occurrence inside the §7 Phase B prose explaining the placeholder convention.
5. Number and name precision
Every number cited in the seal doc must be verifiable against one of:
git log --onelineon main at the date of writing (commit SHAs, PR numbers)docs/guides/implementation/task-breakdown.md(sub-task counts)- CLAUDE.md §9.1 / §10 (shipped path table, tool count, concept maturity)
MEMORY.mdindex at C:/Users/Kamal/.claude/projects/E–AMS/memory/ (wave → PR map)- ADR-004 for the 14 tool count
- ADR-005 for the δ stubs decision
- ADR-006 for
colibri_code: partialgraduation rule
Numbers that differ from their source must cite the source with a footnote. No number in the seal may be invented.
6. Cross-reference invariants
The seal doc MUST link to:
docs/architecture/decisions/ADR-004-tool-surface.md(for the 14-tool contract)docs/architecture/decisions/ADR-005-multi-model-defer.md(for Wave I δ interpretation)docs/architecture/decisions/ADR-006-executable-meaning.md(forcolibri_code: partialgraduation)docs/agents/sigma-orchestrator.md§4 Phase B (for the seal protocol)- CLAUDE.md §7 (for writeback ordering)
It SHOULD link to:
docs/guides/implementation/task-prompts/p1.1-kappa-rule-engine.md(R81 handoff)docs/guides/implementation/task-prompts/p1.5-delta-router-graduation.md(R91+ handoff)
It MAY link to:
- Individual wave memory notes (
C:/Users/Kamal/.claude/projects/E--AMS/memory/project_r75_phase0_wave_*.md) — optional, memory path is user-local. docs/3-world/social/llm.md(δ concept doc) — only if the seal references δ concretely.
7. Size budget
- Target: 200-300 lines including frontmatter and closing attribution.
- Hard floor: 150 lines (below that, the ceremonial weight is lost).
- Hard ceiling: 400 lines (above that, the reader cannot absorb the close in one sitting).
8. Merge-time behavior
This PR lands on main WITHOUT the Merkle root. Sigma (R76 Phase B) opens a follow-up PR that:
- Runs
audit_verify_chainacross the R76 session - Runs
merkle_finalizeto produce the root - Edits the seal doc:
merkle_root: <hash>in frontmatter + “Root hash:<hash>” in §7 body + “Seal commit on main:<sha>” in §0 header
The contract permits — and the prompt requires — that this R76.S1 PR leave those three substitutions unmade.
9. Versioning
If a seal doc is amended post-merge (e.g. correction, clarification):
- Bump the
updated:frontmatter field. - Preserve the original
sealed_at. - Append a “Change log” section at the bottom.
- Never rewrite the §0 header or §7 Merkle root once anchored.
10. Definition of done
docs/session-seal-s8.mdexists with frontmatter per §2.- All 8 sections per §3 populated.
- Two
TBDplaceholders per §4. - Numbers verified per §5.
- Required cross-refs per §6 present.
- Line count within §7 budget.
- Verification doc produced at
docs/verification/r76-s1-session-seal-verification.md. npm run build && npm run lint && npm testgreen (docs-only, no-op).
Contract for R76.S1. Binds the executor (this PR) and Sigma (follow-up Merkle fill). Governed by CLAUDE.md §6 and docs/agents/sigma-orchestrator.md.