Contract — R93 B5 session_id Binding Docs

Round: R93 debug-sweep · XS scope Audit: docs/audits/r93-b5-session-id-binding-docs-audit.md β task: c4aba667-892c-4c99-94fb-1ae25050331d

§1. Invariants

ID Invariant
I-1 .agents/skills/colibri-audit-proof/SKILL.md calls out session_id propagation as a load-bearing rule (not just an ordering rule).
I-2 The thought_record example(s) in the skill use the correct schema: type (not thought_type), task_id, agent_id, content, session_id.
I-3 docs/agents/writeback-protocol.md §3.1 audit_session_start example uses real fields (intent, task_id?, not name/scope).
I-4 docs/agents/writeback-protocol.md §3.3 audit_verify_chain example uses task_id? (not session_id).
I-5 docs/agents/writeback-protocol.md adds an anti-pattern entry calling out thought_record-without-session_id between audit_session_start and merkle_finalize.
I-6 .claude/skills/colibri-audit-proof/SKILL.md mirrors .agents/skills/colibri-audit-proof/SKILL.md byte-clean (R77.C convention).
I-7 No source code or handler behaviour modified. git diff origin/main..HEAD -- src/ is empty.
I-8 Build / lint / test gates remain green. Doc-only change → baseline test count preserved (3492).

§2. Acceptance criteria

  • AC-1. Three doc files modified; one mirror file synced; zero source files.
  • AC-2. npm run build && npm run lint && npm test exit 0 (modulo documented flakes).
  • AC-3. PR body cites the R89 parked investigation task as closed by this slice’s documentation.

Proceeding directly to implement (packet is implicit — three doc edits + one mirror sync per §3.4 of the audit).


Back to top

Colibri — documentation-first MCP runtime. Apache 2.0 + Commons Clause.

This site uses Just the Docs, a documentation theme for Jekyll.