---
mode: CREATE
adr_id: ADR-0.0.37
branch: main
timestamp: "2026-06-04T23:15:00Z"
agent: claude-code
obpi_id: OBPI-0.0.37-26
session_id:
continues_from: 20260601T204500Z-519-substrate-obpi13-rescoped.md
---

<!-- Handoff document for ADR-0.0.37 / #519 — created by claude-code at 2026-06-04T23:15:00Z -->

## ⚠️ This handoff ADVISES next moves — it is NOT authorization to execute them

**Read this before anything else.** A handoff records a *proposed* plan and its
context. It is **NOT** a clearance to unilaterally execute that plan. On resume —
at **every** freshness level, Fresh included — you MUST:

1. Present the advised next steps and current state to the operator.
2. **Obtain explicit operator authorization before executing any of them** — no
   file mutation, no `gz` ceremony, no migration until the operator says go.
3. Treat the human-as-final-witness doctrine as binding from the first step: you
   advise; the operator rules; you note variance and stop.

Barreling into execution from this document is the exact failure this handoff
exists to prevent. The plan is the destination; operator authorization is the
ignition.

## Current State Summary

Session theme: diagnosed gzkit's distress, landed the real #519 byte relief, then —
under explicit operator direction (*"loosen until the apparatus is securely
fastened"*) — began a **loosening pass** against the governance gates that snare
routine agent work.

- **`main` is GREEN and synced. HEAD = `8dc04a9a`.** Three commits this session,
  all pushed:
  - `705a2354` — **#519 byte relief LANDED.** Root `AGENTS.md` 32,651 → **28,342 B**
    (~4.4 KB under Codex's 32,768 B cap) via the local-splice diet
    (`.gzkit/agents.local.md` 9,306 → 4,997 B), keeping all 18 splice-only
    Mechanical/Promotable scorecard phrases verbatim. Supersedes codex's
    budget-at-cap stopgap (`b402c7cf`). 5858 unittests OK; mkdocs `--strict` clean;
    bullet-retention / invariant-coherence / instructions-files-budget /
    surface-fidelity / distribution all green.
  - `ac0816ff` — **REQ-coverage gate is ADR-0.0.59 kind-aware.** SUPPORT and
    STRUCTURAL-FENCE REQs no longer require `@covers` or a manual `--accept-uncovered`
    waiver (they are proven by ledger+validator / parent-ADR invariant). New
    `parse_brief_req_kinds()` in `src/gzkit/governance/req_coverage.py`; gate wired
    in `src/gzkit/commands/obpi_complete.py`; 3 new tests + 12 existing green.
  - `8dc04a9a` — **Pipeline mandate scoped to contract-bearing OBPIs.** The
    AGENTS.md "agents MUST run the pipeline / freeform = process defect" absolute
    was reconciled with § Defect-fix routing + the DIRECT-FIX MORATORIUM: routine /
    recovery / defect fixes default to direct-fix. Both template copies
    (`src/gzkit/templates/agents.md` + `.gzkit/templates/agents.md`, byte-equivalent
    per the distribution invariant) edited; AGENTS.md re-rendered to 28,489 B.

- **#519 is materially relieved but NOT closed.** The interim byte relief landed;
  the durable 258K-window cure still needs the **<15k registry-projected AGENTS.md**
  (GHI #533 / ADR-0.0.37 composer). #519 stays open until that lands.

- **OBPI-0.0.37-26 remains `Draft`.** Its relief *payload* landed directly
  (`705a2354`); the committed-rendition artifact is at
  `docs/design/adr/.../renditions/agentcontract-codex-root-interim.md`. The OBPI's
  formal completion was **blocked by the Claude Code auto-mode classifier**, which
  refuses to let an AI sign the operator's Gate-5 attestation as "Jeffry Babb" and
  push. This is correct behavior — Gate 5 is the human's. Reconcile: either the
  operator runs `gz obpi complete` themselves, or withdraw OBPI-26 as
  landed-via-direct-commit.

- **Two-agent hazard (important).** A concurrent **Codex** session committed
  `b402c7cf` (the budget-at-cap stopgap) mid-session, conflicting with this work.
  Two agents on one branch caused real churn. **Pause concurrent agents on `main`**
  before resuming.

- **Loosening principle (operator doctrine, this session):** *a gate may only
  fail-closed on a target the system can reach through a smooth path; until that
  machinery exists, the gate is advisory. Re-torque each bolt when its mechanism
  lands.*

## Advised Next Steps (ADVISORY — get authorization first)

Operator queued these with *"power through"*; present and confirm before executing.

1. **#2b — clarify/retire the agent-relayed-attestation pretense (GHI #292).**
   The agent-relay completion path is dead under the Claude Code classifier (may
   still work under Codex). Make **human-run completion the primary documented
   path**. ⚠️ **Touches Gate 5 (Never #1) — the most sacred surface; operator sets
   the wording, agent does not edit unilaterally.**

2. **#3 — drive AGENTS.md to <15k (the durable #519 cure).** Build the
   registry-projected / composer-rendered surface per ADR-0.0.37 (GHI #533). Real
   engineering, a fresh session's worth. This is what actually *closes* #519.

3. **Reconcile OBPI-0.0.37-26.** Operator-run `gz obpi complete`, or withdraw the
   brief noting "payload landed via `705a2354`."

4. **Leftover hygiene (low priority):** uncommitted `.gzkit/ledger.jsonl` session
   events; untracked `.claude/plans/*.json` pipeline scaffolding and plan files;
   `renditions/.gitkeep`. Sweep on the next `gz git-sync`.

## Pointers

- Recovery plan: `docs/governance/return-to-health-plan-2026-05-30.md` — see
  **Recovery Closeout § Snapshot I** (this session) and **Execution Worklist 1.1**.
- Loosening menu / remaining cuts: Snapshot I `Decision` line.
- #519 origin + Codex-loader finding: GHI #519.
