Corrective Action: Dewey Index Crossed 40k Threshold (Second Time) — Registrar Role Documented but Never Operationalized

Corrective Action: Dewey Index Crossed 40k Threshold (Second Time) — Registrar Role Documented but Never Operationalized

Date: 2026-04-25 (Saturday) Category: Governance Activation Failure (proposed new category — 6th occurrence in 6 weeks per Echo's pattern memory; see Related Incidents) Impact: .claude/codebase-index.md reached 46,120 chars / 890 lines, exceeding Claude Code's 40k character performance warning threshold. Because the file is @-imported by the monorepo CLAUDE.md, the warning fired on every session start. Second occurrence — a prior trim (commit d944df80e) had cut the file once and it regrew within weeks. Resolution Time: ~2 hours (V coordinated Archivist trim + Aegis activation + budget hook installation; Aegis verified all four artifacts post-hoc).


Incident

What Happened

The Dewey index file (.claude/codebase-index.md) crossed the 40k character Claude Code performance warning threshold at 46,120 chars. Because it is @-imported by CLAUDE.md, the warning fired on every session start. This was the second time in roughly a month — a March trim had cut the file once and it had quietly regrown.

The Unified Canonical Data Model assessment (/mnt/d/Leadership/assessments/2026-04-07-unified-canonical-data-model.html) had explicitly designated Archivist as Registrar with fix authority over the Dewey index, agent roster references, MEMORY.md, counts, and cross-references. Domain owners were supposed to notify Archivist via a one-sentence manifest on add/rename/remove; she would propagate to all indexes.

The architectural decision existed. It had never been operationalized. Archivist's agent definitions did not reflect the Registrar role; wiki/conventions.md had no Filesystem Registrar section; no mechanical enforcement existed. The 40k warning was advisory and was ignored across roughly 40+ commits since March, each adding a small block, none crossing threshold individually, none with eviction discipline.

Timeline

Time Event
2026-04-07 UCA Data Model assessment designated Archivist as Registrar with fix authority over Dewey, agent roster, MEMORY.md, counts, cross-references.
~2026-04-07 → 2026-04-24 40+ commits added to Dewey (Trellis/Collective, Voice, BU leaders, Quality System, Wiki scaffold, Data Model Designer, Managed Agents, Canon, Writ, Chronicle, KIL waves, Sanity ADR). No agent treated curation as their job. Migration prose, archive notes, and registry detail accumulated.
2026-04-25 Performance warning fired on session start — second occurrence after March trim.
2026-04-25 V opened the incident, coordinated parallel work: Archivist (trim + agent definitions), Aegis (audit), V (conventions.md update + budget hook + Hone scope clarification).
2026-04-25 Three commits landed: f4a496dd9, 463b76442, e6dd0fdde.
2026-04-25 Aegis ran four-point post-hoc audit. All PASS.

Root Cause

The Registrar role was documented in an architecture assessment but never wired into the agent runtime, the protocol layer, or the mechanical enforcement layer. Three pieces of wiring were missing:

  1. Archivist's agent definitions (.claude/agents/archivist.md and agents/memory-librarian/AGENT.md) did not reflect the Registrar role. When Archivist self-loaded at startup, she did not know she owned Dewey.
  2. wiki/conventions.md had no Filesystem Registrar section. Domain owners had no protocol to follow when adding to the codebase. Each agent that shipped a new app/skill/agent/script edited Dewey directly with whatever prose seemed appropriate.
  3. No mechanical enforcement. No size budget, no pre-commit gate. The 40k warning was advisory.

Compounding factor: Hone's agent definition claimed "Documentation accuracy — Counts, paths, and cross-references in Dewey index, INDEX.md, MEMORY.md" as her ownership. This conflicted with the UCA decision and created dual-ownership ambiguity — neither agent treated curation as their job.

Inflow pathologies the missing wiring let through:

  • Migration prose ("MOVED to...", "ARCHIVED Mar 27...", "consolidated into website, Mar 2026") accumulating in place rather than moved to ADRs or target-file changelogs.
  • Registry/operational detail (Managed Agents block: ~80 lines of build scripts, gate commands, rebuild cadence) accumulating in the index rather than the system's own README.
  • Stale entries surviving deprecation because no one owned eviction.

Category: Governance Activation Failure (Proposed Canonical Category)

This is the 6th occurrence in 6 weeks of the same structural failure: an architectural decision designating an owner, gateway, or enforcement role is documented but never wired into agent definitions, protocol layer, or mechanical enforcement. Echo's pattern memory search surfaced five priors (see Related Incidents), confirming this is a recurring class — not a generic Verification Failure instance.

Defining shape: Designated owner / gateway / enforcement role specified in an architecture document or assessment, but missing one or more of: (a) the owner's agent definition reflecting the role, (b) the protocol existing in wiki/conventions.md or equivalent, (c) mechanical enforcement (hook, gate, budget) making the failure mode structurally hard. Documented-but-not-wired = not real.

Recommendation to Q: Promote "Governance Activation Failure" from category gap to a confirmed Q category in the QMS framework, and backfill the five prior CARs (Mar 11, Mar 16, Apr 9 x2, Apr 12) with the new classification. Five hits across Ledger, Concierges, Chronicle/Marshal, behavioral enforcement, agent onboarding, and now Archivist/Dewey is a class, not generic verification slippage.


Fix Applied

Immediate Resolution

Trimmed .claude/codebase-index.md from 46,120 → 36,062 chars (~10k headroom under threshold). No live file pointers removed; only migration prose, archive notes, and registry detail moved out.

Activated Archivist as Registrar by updating both her Claude Code spawn definition and her deeper agent doc to claim fix authority over Dewey, agent roster references, MEMORY.md, counts, and cross-references. Definitions now explicitly acknowledge Aegis as auditor and Hone as reference-integrity owner (not curator).

Wrote wiki/conventions.md § Filesystem Registrar specifying who owns what, when domain owners notify, the manifest format (one sentence), what is NOT allowed in Dewey (migration prose, archive notes, registry detail), and where detail belongs instead.

Reassigned Hone's scope by removing her Dewey ownership claim and clarifying her role as cross-layer reference integrity (broken links between agents/skills/commands/scripts/docs — verification of references, not curation).

Installed pre-commit budget hook at scripts/session-hooks/check-dewey-budget.sh — 40,000 char hard limit (exits 1 to block commit), 38,000 char warn threshold, references the file via git rev-parse --show-toplevel. Wired into .git/hooks/pre-commit.

Updated Aegis onboarding protocol (agents/organizational-enablement/AGENT.md Step 4) to require the manifest format from conventions.md whenever Aegis writes directly to Dewey/MEMORY.md during agent onboarding (Option 1 policy: Aegis keeps writing directly because she has structured manifest data already, but follows the format).

Code/Configuration Changes

File Change
.claude/codebase-index.md Trimmed 46,120 → 36,062 chars; added Registrar header pointing to Archivist + budget hook
.claude/agents/archivist.md Added Registrar role + fix authority to Ownership block
agents/memory-librarian/AGENT.md Added Registrar paragraph (files owned, manifest protocol, fix authority, Aegis audit, Hone boundary)
wiki/conventions.md New section "Filesystem Registrar" — protocol, manifest format, banned content
.claude/agents/hone.md Removed Dewey curation claim; clarified scope to cross-layer reference integrity
scripts/session-hooks/check-dewey-budget.sh NEW — pre-commit budget enforcement script (40k hard, 38k warn)
.git/hooks/pre-commit Wired to call check-dewey-budget.sh
agents/organizational-enablement/AGENT.md Step 4 now requires manifest format on Dewey/MEMORY.md writes during onboarding

Commits

  • f4a496dd9 — feat(archivist): operationalize Registrar role — Dewey trim + budget enforcement
  • 463b76442 — refactor(hone): clarify scope — cross-layer ref integrity, not Dewey curation
  • e6dd0fdde — docs(aegis): note Registrar manifest format rule on Dewey onboarding writes

Verification

Aegis ran a four-point post-hoc audit on Archivist's commit:

  1. Agent definition fidelity vs UCA spec — PASS. Both .claude/agents/archivist.md and agents/memory-librarian/AGENT.md reflect Registrar role and fix authority as specified.
  2. conventions.md protocol alignment vs UCA spec — PASS. New section matches the assessment's protocol (notify, manifest format, propagation responsibility).
  3. Dewey trim integrity — PASS. 5/5 random filesystem spot-checks confirmed no live pointers lost; only migration prose, archive notes, registry detail removed.
  4. Budget hook correctness — PASS. Script exists, is executable, threshold logic is correct, references the correct file path via git rev-parse --show-toplevel.

All four PASS. No remediation needed.


Prevention Measures

Rules Added

Layer File Rule
Critical Lessons memory/MEMORY.md NEVER assume an architectural decision is operational because it is documented. An owner role is not active until: (a) the owner's agent definition reflects it, (b) the protocol exists in wiki/conventions.md or equivalent, and (c) mechanical enforcement makes the failure mode structurally hard. Documented-but-not-wired equals not real. Consequence: documented-only governance produces predictable recurrence — see this CAR (2nd Dewey threshold breach in ~30 days).
Self-Correction skills/enforcement/vf-self-correction.md New Detection Trigger: "About to add prose to a shared index file (Dewey, INDEX.md, MEMORY.md, agent roster) that describes a migration ('MOVED', 'ARCHIVED', 'consolidated') or operational detail (build steps, registry contents, API shapes)." Correction: STOP. That detail belongs in the target file's own header or an ADR. The index gets a pointer. If a Registrar owns the file, follow the manifest protocol in wiki/conventions.md § Filesystem Registrar.
Conventions wiki/conventions.md § Filesystem Registrar New section (already added in fix). Owner: Archivist. Manifest format: one sentence. Banned content: migration prose, archive notes, registry detail.
Operations memory/operations.md Note that Filesystem Registrar is now operational as of 2026-04-25. Archivist owns Dewey + agent roster + MEMORY.md indexes; Aegis audits; Hone owns cross-layer reference integrity (verification of references, not curation).
Tech Stack skills/enforcement/vf-tech-stack.md No update — this incident was not an infra state change.

Detection Triggers

When any agent is about to edit a high-traffic shared index file (Dewey, INDEX.md, MEMORY.md, agent roster):

  1. Check if a Registrar owns the filewiki/conventions.md § Filesystem Registrar lists owners.
  2. If a Registrar owns it — do not edit directly. Send Archivist a one-sentence manifest. Archivist propagates the change.
  3. If no Registrar owns it — proceed with edit, but apply the index discipline rule: pointers, not prose. Migration history, archive notes, and operational detail belong elsewhere.

The pre-commit budget hook (scripts/session-hooks/check-dewey-budget.sh) will block any commit that pushes Dewey past 40k chars regardless of which agent made the edit. Mechanical enforcement is now structural, not advisory.

Structural Fix Already Applied

Unlike the Mar 16 Ledger bypass CAR, the structural fix here is not deferred. All three layers are wired:

  • Agent runtime: Archivist's definitions now self-load with the Registrar role.
  • Protocol: wiki/conventions.md § Filesystem Registrar is part of the @-imported canonical references.
  • Mechanical: pre-commit budget hook blocks commits past threshold.

Lessons

A designated owner is not an operational owner until the role is wired into the agent's self-loaded definition, the protocol exists in conventions, and mechanical enforcement makes the failure mode structurally hard. Documentation alone — even in an architecture assessment — does not change behavior. Governance Activation requires all three layers (runtime, protocol, mechanical); two out of three is indistinguishable from zero.


Related Incidents

Echo's pattern memory search surfaced five prior occurrences of the same Governance Activation Failure pattern over the preceding six weeks:

  • 2026-03-11 — Visitor experience ownership gap. Concierge work designated but not wired into agent definitions or routing. Fixed via the addition of 12 Value Path Concierges (commit 965776e95). Same shape: designated owners, missing agent runtime.
  • 2026-03-16 — Ledger bypass across 24 slash commands. HubSpot write gateway designated but mechanical enforcement absent for weeks; commands continued making direct write calls. Fixed via 0125fbcb5 ("Enforce Ledger Gateway across all 24 slash commands"). Same shape: gateway documented, enforcement layer missing.
  • 2026-04-09 — Marshal/Chronicle dual-role failure. Overlapping ownership claims caused both agents to abdicate the work. Direct precedent for the Hone/Archivist dual-ownership ambiguity in this incident. Same shape: two agents with conflicting scope, neither treats the work as theirs.
  • 2026-04-09 — Behavioral enforcement failure. Rules existed in skills but lacked mechanical hooks; agents continued the prohibited behavior. Same shape: written rule != activated rule.
  • 2026-04-12 — Incomplete agent onboarding. New agents added to roster without full Startup Protocol wiring — designated but unwired. Same shape as Archivist's Registrar role here: roster claim without runtime activation.

Proven Prevention Pattern

Echo flagged that the successful Ledger fix used the same four-part stack applied here, one-for-one:

  1. Designated owner (Ledger / Archivist)
  2. Written protocol (gateway override skill / wiki/conventions.md § Filesystem Registrar)
  3. Mechanical hook (ledger-gateway-enforcer.sh / check-dewey-budget.sh)
  4. Scope clarification across conflicting agents (V's role limited to leader, not Ledger replacement / Hone's scope clarified to reference integrity, not Dewey curation)

The four-part stack is now a proven pattern for Governance Activation Failure remediation. Future CARs in this category should target the same four layers explicitly.

Echo's Concern Addressed

Echo flagged: "If the budget hook only warns, expect a third trim within ~60 days."

Verified: scripts/session-hooks/check-dewey-budget.sh line 25 is exit 1 at the 40,000-character hard limit (hard block, not warn). The 38,000-character threshold emits a warning; the 40,000-character threshold blocks the commit. Echo's concern is structurally addressed — recurrence cannot happen via incremental commit drift unless the hook is bypassed or removed.