# OBPI-0.0.63-04: closeout-skill-reverify-wording-fix

## Context

`gz-adr-closeout-ceremony/SKILL.md` has a flat internal contradiction:
- **Line 64** (Persona Dispatch table): `spec-reviewer | Independent re-verification of each OBPI's claimed REQ coverage…`
- **Line 80** (Trust Model): `**Does NOT re-verify:** Evidence (trusts Layer 1 proof)`

Both are unscoped absolutes. A reader cannot tell which governs. The ADR's own
Non-Goal 1 resolves this: *"presenter posture is preserved; re-verification stays
with the spec-reviewer persona-dispatch step. This ADR adds binding, not
re-execution."* Meaning: the CLI/ledger-consumption layer trusts Layer-1 proof and
does not re-run receipts; the spec-reviewer persona-dispatch step does the
independent re-verification. Line 80 needs to be scoped to its actor; line 64
stays as-is.

ADR-0.0.63 Decision item 4 / Target-Scope item 4 mandates this as a "wording fix
resolving the 'Does NOT re-verify' vs spec-reviewer 'Independent re-verification'
contradiction." No ADR amendment needed (the ADR is internally consistent).

## Destination-in-mind (Step 6a disclosure)

Already formed before plan mode: scope line 80 to the CLI / ledger-consumption
layer by rewriting it as a two-part bullet that names (a) the CLI layer trusts
Layer-1 proof and does not re-run receipts, and (b) independent re-verification is
the spec-reviewer persona-dispatch step. Line 64 untouched.

## Rejected alternatives

- **Weaken line 64** (remove "Independent re-verification" from spec-reviewer row):
  rejected — ADR Non-Goal 1 explicitly preserves the spec-reviewer step.
- **Add a footnote under line 80** rather than rewriting it: rejected — the reader
  still hits the contradiction before the note; scoping the bullet is cleaner.
- **Amend the parent ADR**: rejected — operator declined; the ADR is internally
  consistent via Non-Goal 1.

## Files to modify

| File | Action | Detail |
|------|--------|--------|
| `.gzkit/skills/gz-adr-closeout-ceremony/SKILL.md` | EDIT | (1) Frontmatter: `skill-version: "7.13.0"` → `"7.13.1"`, `last_reviewed: 2026-05-29` in the same atomic edit. (2) Line 80 Trust Model bullet: rescope to CLI/ledger-consumption layer (see exact wording below). |

Derived mirrors (`src/gzkit/skills/`, `.claude/skills/`, `.github/skills/`) are
regenerated by sync — never hand-edited.

## Exact before/after for line 80

**Before:**
```
- **Does NOT re-verify:** Evidence (trusts Layer 1 proof)
```

**After:**
```
- **Does NOT re-execute (CLI layer):** The ledger-consumption layer trusts
  Layer-1 proof and never re-runs receipts. Independent re-verification is
  performed by the `spec-reviewer` persona-dispatch step (§ Persona Dispatch
  above), not by the CLI.
```

## Steps

1. **Edit `.gzkit/skills/gz-adr-closeout-ceremony/SKILL.md`** — single Edit call
   covering both the frontmatter bump and the Trust Model bullet rewrite.
2. **Run `uv run gz agent sync control-surfaces`** — regenerates the three derived
   mirrors byte-identical to canonical.
3. **Run quality checks** (single-program, shell-less per BI-1):
   - `uv run gz validate --surfaces` — mirror parity (REQ-04-03 SUPPORT proof)
   - `uv run gz validate --documents`
   - `uv run gz lint`
   - `uv run gz typecheck`
4. **Run demo verifications** (product proof):
   - `grep -n "ledger-consumption layer trusts Layer-1 proof" .gzkit/skills/gz-adr-closeout-ceremony/SKILL.md`
   - `grep -n "Independent re-verification" .gzkit/skills/gz-adr-closeout-ceremony/SKILL.md`
   - `grep -n "ledger-consumption layer trusts Layer-1 proof" .claude/skills/gz-adr-closeout-ceremony/SKILL.md`

## Verification

- `uv run gz validate --surfaces` exits 0 (REQ-04-03)
- grep confirms the new text lands at the right line in canonical source (REQ-04-01)
- grep confirms line 64 `Independent re-verification` text is unchanged (REQ-04-02)
- grep confirms derived mirror `.claude/` matches canonical (REQ-04-03)
- `uv run gz validate --req-kind-discipline` exits 0 (repo-wide, already green after GHI #561 fix)
- `uv run gz lint` and `uv run gz typecheck` exit 0
