Audit — R89 seal: λ Phase 2 graduation + κ §10 backfill + Phase 3 θ unblock

Round: R89 Phase A seal β task ID: 6d4504e0-b64d-4f2f-ae38-3429d800364c Branch: feature/r89-seal-lambda-phase-2 Worktree: .worktrees/claude/r89-seal-lambda-phase-2 Base: origin/main @ 0c858381 (post-#232; λ Phase 2 7/7 complete) Effort: S (1–2 hours)

Charter

Narrative-side seal for λ Phase 2 + meta-hygiene backfill. After this PR lands, 10/15 Greek concepts ship code (α β γ δ ε ζ η κ λ ν); only 5 remain spec-only (θ ι μ ξ π). This PR also unblocks Phase 3 θ dispatch by flipping the staged prompt file’s status: stagedstatus: ready.

Six discrete edits across canonical docs. No source code changes.

Surface inventory

1. docs/3-world/social/reputation.md (λ concept doc)

Current state at 0c858381:

  • Frontmatter (lines 1–9):
    • phase: 0
    • colibri_code: none
    • status: spec
  • Body, line 15 — stale Phase 0 claim:

    “Phase 0 reality: λ is specified but not load-bearing. No Phase 0 tool mutates a reputation score. The spec exists so the schema carries the columns a later phase will need.”

  • Body, §”Phase 0 posture” (lines 82–86) — stale:

    “The reputations, experience_tokens, and penalty_events tables exist in the schema but are not populated. No Phase 0 tool ([ADR-004]) reads or writes λ state. The single-agent posture of Phase 0…”

Both claims are FALSE post-#226 → #232. Phase 2 shipped 7/7 sub-tasks (P2.1.1 schema + P2.1.2 score + P2.2.1 decay + P2.2.2 penalties + P2.3.1 tokens + P2.4.1 limits + P2.5.1 MCP tools); tables exist and are populated; 4 new MCP tools (reputation_get, reputation_history, reputation_leaderboard, reputation_check_gates) read λ state.

2. CLAUDE.md §10 maturity claim (line 207)

Current text:

“Of 15 Greek-letter concepts, 8 ship code at Phase 0 granularity (colibri_code: partial — α β γ δ ε ζ η ν); 7 remain spec-only for later phases (θ ι κ λ μ ξ π, colibri_code: none).”

Stale: last updated R75 Wave I (2026-04-18) before κ Phase 1 closed (R87, 2026-05-07) and before λ Phase 2 closed (R89, 2026-05-12 today). Target: “10 ship code (α β γ δ ε ζ η κ λ ν); 5 remain spec-only (θ ι μ ξ π)”.

3. κ concept doc — docs/3-world/physics/laws/rule-engine.md

Verified at audit time: still colibri_code: none (line 5), status: spec, phase: 0. R87 backfill never landed. κ Phase 1 shipped 20/20 sub-tasks in R85→R87 (PR #205 parser, #206 canonical, #207 validator, #208 engine, #209 builtins, #210 state-access, #211 policy-gate, #212 registry, #213 version-hash, #214 parity-harness, #215 admission-evaluator, #216 migration, #217 budgets, #218 denial-reasons, #219 activation, #220 tool-lock-adapter).

Body also carries two stale claims:

  • Line 16: “Phase 0 reality: κ is specified and partially scaffolded. The DSL is defined; the evaluator is not yet written.”
  • Line 188–194: §”Phase 0 posture” enumerates 5 stale bullets (DSL defined but parser/evaluator not shipped; no tool exposes κ; first real κ activation targeted for Phase 1).

These rotate from spec-only framing to Phase 1 shipped reality.

Bonus discovery: docs/3-world/physics/laws/index.md lines 20–22 carry colibri_code: none summaries for κ θ ι — κ is stale (must flip to partial), θ and ι stay none.

Current entries: R75 Wave H, R75 Wave I, R77 Wave 2, R82.C. A new R89 entry needs to land in the same format, citing #226–#232 + #221/#222/#225/#223/#224 context PRs from R88/R89.

5. docs/guides/implementation/task-prompts/p3.1-theta-consensus.md

  • Frontmatter line 7: status: staged → must become status: ready.
  • Body has 3 references to the Phase-2-λ-seal gate:
    • Line 102–110 (> ## Phase 2 λ Reputation is in flight at staging time block) — gate text
    • Line 224 (in §P3.1.1’s main prompt) — GATE: Phase 2 λ Reputation must be sealed before you dispatch this slice.
    • Line 1656–1658 (in §P3.5.1) — > **λ dependency in flight at R89.C:** ... This slice MUST wait until Phase 2 λ P2.2.2 (penalties) seals before dispatch.

ADR-002/003 gates (lines 86–100, 1134, 1303, 1479, 1922, 1972) are scoped out per dispatch instructions — these are about VRF/BFT library acceptance, not Phase 2 closure.

6. docs/guides/implementation/task-breakdown.md

Searched: no per-phase status tracker section exists (no “Phase 2 status: not started” line, no λ progress tracker). Only the Phase Summary table at line 1130–1142 lists “P2 λ Reputation | 7 tasks | 2-3 weeks | P0, P1” as abstract estimate — no live status column. No edit needed.

Greek concept count verification

Frontmatter scan across docs/3-world/:

Concept File colibri_code
α (system core) implicit (no concept doc; src/server.ts) n/a — shipped
β (task pipeline) execution/task-pipeline.md partial
γ (server lifecycle) implicit (boot orchestration; src/server.ts) n/a — shipped
δ (model router) social/llm.md partial
ε (skill registry) execution/skill-registry.md partial
ζ (decision trail) execution/decision-trail.md partial
η (proof store) physics/laws/proof-store.md partial
θ (consensus) physics/laws/consensus.md none (target stays none)
ι (state fork) physics/laws/state-fork.md none (target stays none)
κ (rule engine) physics/laws/rule-engine.md nonepartial
λ (reputation) social/reputation.md nonepartial
μ (integrity) physics/enforcement/integrity.md none (target stays none)
ν (integrations) implicit (library code; src/domains/integrations/) n/a — shipped
ξ (identity) social/identity.md none (target stays none)
π (governance) physics/enforcement/governance.md none (target stays none)

Frontmatter-bearing concept docs counted: 9 (β δ ε ζ η θ ι κ λ μ ξ π — wait, that’s 12; α γ ν have no concept doc, they ship code as src/server.ts and src/domains/integrations/).

Pre-R89 shipping count (colibri_code: partial): 5 in 3-world/ (β δ ε ζ η) + 3 implicit (α γ ν) = 8 total (matches §10).

Post-R89 shipping count: 5 → 7 in 3-world/ (β δ ε ζ η + κ + λ) + 3 implicit = 10 total. ✓

Remaining spec-only: θ ι μ ξ π = 5. ✓

PR citations to weave into changelog

  • R89 λ Phase 2 close (this round):
    • #226 P2.1.1 schema · #227 P2.2.1 decay · #228 P2.1.2 score
    • #229 P2.2.2 penalties · #230 P2.4.1 limits · #231 P2.3.1 tokens
    • #232 P2.5.1 MCP tools (the closer; base SHA 0c858381)
  • R89 staging (concurrent prep):
    • #225 R89.A merkle session-binding fix · #223 R89.B λ staging · #224 R89.C θ staging
  • R88 hygiene (prior round):
    • #221 R88.A κ hygiene sweep · #222 R88.B mirror resync + verification skill failure-mode docs

Constraints (from dispatch prompt)

  • DO NOT touch any src/ code (docs-only PR).
  • DO NOT modify ADR-002/003 gate language in p3.1-theta-consensus.md (gates are about VRF/BFT library acceptance, not Phase 2 closure).
  • DO NOT use --no-verify, --amend, --force-push, or edit the main checkout.
  • All three gates (npm run build && npm run lint && npm test) must pass.

Test expectation

Phase 0 baseline is 2647 (per dispatch prompt). Since this PR is docs-only, expect: 2647 → 2647 (unchanged).


Back to top

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

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