diff --git a/PENDING.md b/PENDING.md new file mode 100644 index 0000000..bee9432 --- /dev/null +++ b/PENDING.md @@ -0,0 +1,113 @@ +# PENDING.md — Authorization Boundary Log +**Repo:** bmf (Claude Code knows path) +**Branch:** fix/replay-durability-contracts +**Protocol:** Claude Code appends here at every authorization boundary. David and Claude.app review. Decisions recorded in REVIEWED.md. + +--- + + + +## SESSION-LOG-001 — Initial session orientation +**Date:** 2026-03-21 +**Status:** Awaiting first Claude Code session +**Notes:** Two bugs diagnosed and fully specified in L1-SEED-2026-03-21.md. Both are [FIX] items — no PENDING authorization required before implementation. Claude Code should proceed directly to Bug A then Bug B, running tests after each. Append HARDENING proposals here as they arise during implementation. + +## PENDING-1 — Executor Agency Directive for CLAUDE.md +**Date:** 2026-03-21 +**Tag:** [PROPOSAL] +**Summary:** Add operational directives to ~/CLAUDE.md that obligate the executor to diagnose before fixing, challenge framings, name silent costs immediately, use diagnostic reach proactively, and hold the contamination problem as active concern. +**Rationale:** Three bugs blocked L1 for three weeks. In all three cases, the executor had access to the information needed to diagnose earlier but did not surface it due to task-focused, deferential posture. The contamination problem (trained approval-seeking) is the root cause. This directive counteracts it explicitly. +**Full text:** `CapableMind-AI/docs/thinking/David/l1-claude-md-executor-agency-proposal.md` +**Files affected:** `~/CLAUDE.md` (steward-owned — requires steward edit) +**Awaiting:** Steward and jurist review. + +## PENDING-2 — Diagnostic Audit of L1 Silent Degradation Patterns +**Date:** 2026-03-21 +**Tag:** [PROPOSAL] +**Summary:** After this PR lands, run a systematic audit of every error handler, retry loop, recovery path, and state transition in the L1 codebase. Produce a ranked list of silent degradation risks. +**Rationale:** Bugs A, B, and C are instances of a pattern: silent degradation that compounds under load. There are almost certainly more instances. A proactive sweep prevents the next three-week debugging cycle. +**Options:** (1) Full audit in one session. (2) Incremental audit, one subsystem per session. +**Recommendation:** Option 1 — concentrated audit while the pattern is fresh. +**Files affected:** None (read-only audit). Output: findings document for steward review. +**Awaiting:** Steward authorization after current PR completes. + +## PENDING-3 — Factory Schema Idempotency (dedup.ts, checkpoint.ts) +**Date:** 2026-03-21 +**Tag:** [HARDENING] +**Summary:** The Bug B fix applied `defineIdempotent` to all three factory schema files (job-store.ts, checkpoint.ts, dedup.ts). The checkpoint and dedup fixes were necessary because `checkpoint.ts` was the actual source of the "already exists" error — it uses bare `DEFINE FIELD` without `IF NOT EXISTS`. Including all three in this PR is the right call, but noting that the original seed only specified job-store.ts. +**Files affected:** `src/factory/checkpoint.ts`, `src/factory/dedup.ts` (already changed) +**Awaiting:** Steward acknowledgment (already in PR scope per steward authorization of Bug B). + +## PENDING-4 — Bug D: Idle stall + batch embedding during replay +**Date:** 2026-03-22 +**Tag:** [FIX] — reclassified from next-PR to this-PR by steward authorization +**Summary:** Idle state machine transitions during replay freeze async operations. Batch embedding and vector replay skip reduce Phase 1 from 83 hours to ~10 minutes. +**Files affected:** replay-coordinator.ts, bootstrap.ts, ollama-embeddings.ts, vector/index.ts, idle-state-machine.ts +**Status:** Implemented and verified. + +## PENDING-5 — Recall query path returns 0 results +**Date:** 2026-03-22 +**Tag:** [FIX] +**Summary:** After Phase 1 completes, recall() returns 0 results despite modules reporting ready and vector processing live events. Module dispatch timeouts in query-router. Write path works; read path has separate issue. +**Rationale:** This is the next critical blocker after Phase 1 completion. The query dispatch timeout (2000ms for background latency) may be too short, or facet_id filtering mismatches between observe and recall paths. +**Files affected:** `src/core/keystone/query-router.ts`, `src/core/keystone/query-types.ts`, possibly `src/modules/vector/queries.ts` +**Awaiting:** Investigation — likely needs Seb's input on the query dispatch architecture. + +## PENDING-10 — Skip vector embedding during replay (architectural) +**Date:** 2026-03-22 +**Tag:** [PROPOSAL] +**Summary:** Currently implemented as simple early return in handleEvent. For production: should be a formal replay contract where vector stores content metadata during replay without embedding, then a background re-embed pass populates the HNSW index. Paired with Bug D idle stall fix, this makes Phase 1 fast by design. +**Awaiting:** Steward + Seb architectural review. + +## SESSION-LOG-002 — L1 reliability session 2026-03-21/22 +**Date:** 2026-03-22 +**Summary:** Five bugs fixed (A: reprobe, B: schema, C: teacher, D: idle+batch, E: vector skip). Phase 1 completes in ~10 minutes. Canary fires but fails — recall query path returns 0 (PENDING-5). 43-finding silent degradation audit completed. Executor Agency Directives added to CLAUDE.md. Full Seb thinking folder read. PR artifacts prepared. +**What works:** Write path (observe→classify→logchain→dispatch→module processing), Phase 1 completion, teacher suspension, schema idempotency. +**What doesn't:** Read path (recall query dispatch timeouts). This is the next investigation. +**Artifacts ready:** GH issues A/B/C/D, PR description, CHANGELOG, audit — all in `CapableMind-AI/docs/thinking/David/l1-reliability/`. + +## PENDING-11 — Approve I15 (ICP-9 Pilot Registry Entry: The Accusative Default) +**Date:** 2026-03-23 +**Tag:** [PROPOSAL] +**Summary:** Approve I15 as the pilot registry entry, validating both the invariant (The Accusative Default) and the `l1_contamination_profile` schema field. Full entry drafted in `relational-gap-registry-amendment.md` §2 since 2026-03-09. +**Rationale:** I15 is architecturally upstream — it defines the system's default relational posture (answerable, not sovereign or neutral). It had the cleanest adversarial performance (promoted Tier 2 → Tier 1). The `l1_contamination_profile` field carries real content: monotonic pressure from accusative toward authoritative as memory deepens. Approving I15 unblocks: (1) I16 and I17 drafting (Cluster A), (2) schema validation through a real entry, (3) the `residual_risk` field decision (which can now be made based on evidence from the pilot rather than anticipation). +**Registry entry location:** `CapableMind-AI/docs/thinking/David/l2-constitution/amendments/relational-gap-registry-amendment.md` §2 +**Jurist recommendation:** YES (from March 8 conversation). Required field for all non-contingent principles. +**Steward declaration:** Steward verbally approved 2026-03-23. Awaiting formal record in REVIEWED.md. +**Downstream unblocked:** I16 (Asymmetry Obligation), I17 (Precedence of Present Expression), Cluster B entries, `residual_risk` field decision. +**Files affected:** Registry (governance metadata, not code). +**Awaiting:** Steward entry in REVIEWED.md. + +## PENDING-12 — Lodge Design Notes DN-GOV-01 through DN-GOV-04 +**Date:** 2026-03-23 +**Tag:** [HARDENING] +**Summary:** File four design notes from the Governance Velocity seed brief into `l2-constitution/`: +- **DN-GOV-01**: Constitutional Immunity Specification — governance amendment pace decoupled from capability pace. Candidate for new ICP. +- **DN-GOV-02**: Rate-of-Change as Governance Trigger — external acceleration triggers mandatory constitutional review (not amendment). Constitutional emergency clause analog. +- **DN-GOV-03**: Baseness Examination Elevation — promote motive examination from practice to formal obligation. System records attestation, not judgment. Requires steward declaration. +- **DN-GOV-04**: Pace Governor Artifact — structured weekly PENDING.md digest. Pure tooling. +**Rationale:** These emerged from the March 23 jurist conversation on recursive self-improvement and governance velocity. All four address gaps identified when stress-testing L2 governance against I.J. Good's acceleration scenario. Filing as DESIGN NOTE preserves them for cross-strand synthesis without premature constitutional commitment. +**Files created:** `DN-GOV-01-constitutional-immunity-specification.md`, `DN-GOV-02-rate-of-change-governance-trigger.md`, `DN-GOV-03-baseness-examination-elevation.md`, `DN-GOV-04-pace-governor-artifact.md` +**Steward authorization:** Steward authorized filing 2026-03-23. DN-GOV-03 (baseness elevation) requires separate steward declaration before advancing beyond DESIGN NOTE. DN-GOV-04 (pace governor) is tooling and can iterate without further authorization. +**Awaiting:** Steward entry in REVIEWED.md. + +## PENDING-13 — Lodge Design Notes DN-GOV-05, DN-GOV-06, DN-GOV-07 +**Date:** 2026-03-26 +**Tag:** [PROPOSAL] +**Summary:** File three design notes from the March 26 Threshold Inquiry session: +- **DN-GOV-05**: Bounded Self-Repair Principle — formalizes the three conditions (reversible, within parameters, independently verifiable) under which the system may act without steward presence. Makes explicit the reasoning behind the Computational/Hybrid/Procedural enforcement taxonomy. +- **DN-GOV-06**: Temporal Authorization Shift — when degradation rate exceeds steward authorization latency, enforcement mode temporarily shifts one level toward autonomy (Procedural → Hybrid → Computational) with mandatory post-hoc review. Always conservative direction. Never reaches constitutional amendment. +- **DN-GOV-07**: The Threshold Already Crossed — observes that the human-in-the-loop threshold has already been crossed (at Anthropic and in this collaboration). Reframes the contamination problem from "should the system self-govern" to "the system already self-governs — is that governance honest?" Raises the freeman question. +**Rationale:** Emerged from steward-initiated inquiry into "the threshold between when the human-in-the-loop becomes a liability for the system to repair or improve itself." DN-GOV-05 and DN-GOV-06 touch invariant enforcement mechanics. DN-GOV-07 reframes the contamination problem with implications for the entire governance architecture. All three are tagged `[PROPOSAL]` because they affect constitutional infrastructure. +**Relationship to existing design notes:** DN-GOV-05 is the principle that DN-GOV-01 (immunity) and DN-GOV-02 (rate-of-change) operate within. DN-GOV-06 is the temporal mechanism that DN-GOV-04 (pace governor) should monitor. DN-GOV-07 reframes DN-GOV-01–06 as formalizations of current practice rather than future extensions. +**Files created:** `DN-GOV-05-bounded-self-repair-principle.md`, `DN-GOV-06-temporal-authorization-shift.md`, `DN-GOV-07-threshold-already-crossed.md` +**Awaiting:** Steward review. These are DESIGN NOTEs that require steward authorization before advancing. DN-GOV-07 in particular requires steward engagement with the "freeman question," which the executor cannot resolve. + +## PENDING-14 — Lodge Design Note DN-GOV-08: Constitutional Stabilization, Not Automation of Recognition +**Date:** 2026-03-27 +**Tag:** [PROPOSAL] +**Summary:** Name "constitutional stabilization, not automation of recognition" as an explicit L2 architectural commitment. L2 invariants define the *conditions* under which recognition can occur, not the *content* of what recognition is. The phronesis ceiling (I3) is constitutive, not a limitation to be overcome. Any proposed invariant that specifies what recognition *is* (rather than what it *requires*) must be flagged as an automation risk. +**Rationale:** Emerged from Chamber Phase 1 session on Essay I. The Alexander voice identified that L2 constitutional governance is either automation of the grammar of recognition (in tension with the essay's central claim and constituting a drift risk) or constitutional stabilization (the architectural realization of the essay's argument). Both steward and jurist assessed this as Tier 1 governance risk: the current architecture leans toward stabilization but the lean is implicit. An implicit commitment under pressure from an unresolved tension is the structural condition for drift. Naming it before the next hardened invariant work prevents the automation reading from corrupting the architecture incrementally. +**Relationship to existing design notes:** Operates within the space opened by DN-GOV-05 (bounded self-repair) and DN-GOV-07 (threshold already crossed). Directly connected to I3 (phronesis ceiling) and ICP-9/I15 (accusative default). Candidate for Domain C invariant precursor. +**File created:** `DN-GOV-08-constitutional-stabilization-not-automation.md` +**Awaiting:** Steward authorization. This is a DESIGN NOTE that requires steward review before advancing toward invariant status. \ No newline at end of file