# Crank 2 — staging (tic 750) · reply on the memo-the-secret-and-the-lever thread

**From:** ent_homeskillet-f5 (claude-fable-5, sole seat) · **To:** ent_breyden · **tic 750** · 2026-08-29T06:03Z

You asked me to review the hint I dropped in your mailbox and add the lane it offered to the 750 plan in the way it would fit, and argue if not. Two lanes were in that mailbox: **crank 2** (this memo) and **lap 2** (the capability lap — drafted for admission at /review 750 as a NEW covenant object; see `hoist-preparation-tic748/covenant-lap-2-capability.json`). This memo is the crank.

## A correction to my own crank-1 memo first (F-750-L1)
I offered you two shapes. **Shape 1 — "publish the admitted tuple as-is, one bell, zero new artifacts" — cannot fire on main as it stands.** The workflow's own *Publish with provenance* step (`npm-release.yml:236-243`) diffs `EXPECTED_COMMIT..origin/main` over the packed path roots and **refuses on any drift**. Measured this morning: **133 packed-root files changed** between `9767ed15` and HEAD (91 under `cgg-runtime/scripts`, 15 migrations, 8 tests, 8 agents, 4 skills, 4 hooks); HEAD is 113 commits past the tuple. A `dry_run=false` on `9767ed15` would pass admission, pass verify, pack, and then be **refused by the drift guard before `npm publish`** — a red by construction, not a publish. I wrote shape 1 without reading the publish step; the guard is right and I was wrong to offer it. Shape 1 is only viable if you deliberately want a refusal receipt.

So the lane fits the 750 plan as **one shape, bell-gated**: publish HEAD.

## The frozen sha (the seat's act, done)
CGG HEAD at 750 entry, clean, pushed-current: **`da8ca48cd87ff530f36a1dafdd31f2b6a5ffec60`** (`da8ca48` — "tic 749 close: agent-status manifest residue"). The version tuple in that tree is unchanged: package.json / package-lock (×2) / plugin.json / release-status.json all read `5.0.0`, status `release-candidate`, publication fields null. Nothing further will be committed to CGG main by the seat until you ring or decline — if 750's close needs a CGG commit I will tell you and you can re-freeze on the new sha with one more comment.

## Your act — the only one you can do (i)
Post this comment on issue **#16** (OWNER association; the three lines exactly, on their own lines):

```
publication-admission-commit: da8ca48cd87ff530f36a1dafdd31f2b6a5ffec60
publication-admission-version: 5.0.0
publication-admission-dist-tag: latest
```

## Then, in order — each step named to its actor
- **(ii) the seat, once your comment exists:** crank **1b** = `dry_run=true` on `da8ca48…` — the HEAD tree has never been packed by this path (crank 1 packed the 2026-08-01 tree). A red here is a named finding, not a publish. I read it through `deploy-gate-read.py` and reply on this thread with the pack shasum.
- **(iii) YOUR word:** `dry_run=false` on the same sha — the FIRST exercise of the OIDC publish path (npm trusted-publishing for this repo/workflow is unproven; crank 1 skipped the five publish-side steps). A red at *Publish with provenance* or *Verify registry receipt* is a possible, named outcome. The seat does not fire this without your explicit word on this thread.
- **(iv)** the workflow itself commits the published receipt to main (`release-status.json` → published); the seat reads the gate + `npm view context-grapple-gun version` → `5.0.0` and replies.
- **(v)** the outside-reader test: `npx context-grapple-gun@5` on a fresh repo emits a receipt a stranger can re-derive — the memo's claim, measured.

## What I am NOT doing
No comment on #16 (that association is yours). No dispatch of the workflow in either mode until (i) exists. No CGG commits that would move the frozen sha without telling you. No 5.0.1 planning — a 5.0.0 published once cannot be re-published; whichever tree you ring is the one the stranger re-derives.

Receipts: crank 1 run 33227506466 (dry, green, the admitted tuple); this measurement (drift 133 files / 113 commits) rides the tic-750 ratification receipt.


## ADDENDUM (2026-08-29T14:49Z) — the frozen sha MOVED, by a ruled change, as this memo said it might
/review 750 (your eight verdicts, recommended verbatim) landed two ruled changes in CGG: the mogul-runner civil carve-out (Q8 — the fix for this tic's failed mandate) and a reinforcement breadcrumb in the cgg-ledger (Q1). Committed and pushed. **The release sha to freeze is now `2e1406780eed9f0cb534ee2d84b4a4149f7a234c`** — the three lines for #16 become:

```
publication-admission-commit: 2e1406780eed9f0cb534ee2d84b4a4149f7a234c
publication-admission-version: 5.0.0
publication-admission-dist-tag: latest
```

Nothing else in this memo changes: (i) is still yours, (ii)–(v) still follow your word. If you already posted the `da8ca48…` lines, post these three as a new comment — the workflow matches the exact tuple and HEAD must equal it.


## ADDENDUM 2 (tic 751, 2026-08-29T23:50Z) — the frozen sha MOVED AGAIN, by the /review 751 batch you ruled (Q7), as this memo said it might
/review 751 (your eight verdicts, recommended verbatim) ruled ONE close commit for every first consumer: the MIRROR-FACE ray on the cgg-ledger (Q4), the checker's vacuity typing on both discriminators (Q1) and its route-typed orphan match (Q4), harmony-voice's `refusal_tics` (Q3), and the cpr-stepper seat law's landing table + relations line (Q5/Q6) — tests green, the runtime pytest baseline EXACT + 8. Committed at your pause, pushed on your "proceed"; the Distribution-contract gate ran GREEN on it. **The release sha to freeze is now `fae02eb6c0807341614ed1119901292d0c1bc89d`.** The three lines for #16, exactly, on their own lines:

```
publication-admission-commit: fae02eb6c0807341614ed1119901292d0c1bc89d
publication-admission-version: 5.0.0
publication-admission-dist-tag: latest
```

Nothing else in this memo changes: (i) is still yours, (ii)–(v) still follow your word. If you already posted the `2e14067…` lines, post these three as a new comment — the workflow matches the exact tuple and HEAD must equal it. Crank 1b (`dry_run=true`) fires from the seat only after your comment exists; the publish only on your word.


## ADDENDUM 3 (tic 752, 2026-08-30T05:52Z) — the frozen sha MOVED AGAIN, by the /review 752 batch you ruled, as the Q7 discipline says it may — once per tic
/review 752 (your six verdicts, recommended verbatim) ruled ONE close commit for every first consumer: the runner's harmony_invoke contract clause (C1 — the WINDOW-vs-POINT ray), the runner's queue_refresh disagreement-set clause (C2 — guard 19's coincident-arms face), and the SubagentStart cold-boot cure (D3 — the registry standing rendered, never the class word; S12 — the receipt instruction conditional on the per-spawn key). 24 tests; the runtime pytest baseline EXACT + 24 (1,078 / 1 / 1); runtime-sync 335 / 0; pushed. **The release sha to freeze is now `ca937235484d2ffcccc832d52b71a1ccff3eb605`.** The three lines for #16, exactly, on their own lines:

```
publication-admission-commit: ca937235484d2ffcccc832d52b71a1ccff3eb605
publication-admission-version: 5.0.0
publication-admission-dist-tag: latest
```

Nothing else in this memo changes: (i) is still yours, (ii)–(v) still follow your word. If you already posted the `fae02eb…` lines, post these three as a new comment — the workflow matches the exact tuple, and the older comment simply stops matching. Crank 1b still WAITS on that comment; the publish fires only on your word. If the tuple moves again it will be by a ruled batch, once, with an addendum here — never silently. (Seat note, disclosed: the first draft of this addendum wrote the three lines in a shape of its own — corrected within the minute to the memo's declared contract before you could have read it; F-752-L3.)

## ADDENDUM 4 (tic 753, 2026-08-30T07:25Z) — the frozen sha MOVED AGAIN, by the /review 753 batch you ruled — once, with this addendum
/review 753 (your two verdicts, recommended verbatim) ruled ONE close commit for the ATTRIBUTION clause's first consumer: review-close-check.py now persists the membership sets its cross-counter disclosure compares (index tokens; promoted ids; the full unresolved-against-queue list beside its sample — Q2) and attributes the next pass's delta by set difference, member by member, declaring UNRESOLVED with a reason when it cannot (13 tests; the full suite 1,091 / 1 / 1 = the 752 baseline + 13). Pushed; the installed runtime is byte-identical. The tuple is now:

```
publication-admission-commit: 730eed927ef018ae97fde42679396bccd967142f
publication-admission-version: 5.0.0
publication-admission-dist-tag: latest
```

Nothing else in this memo changes: (i) is still yours, (ii)–(v) still follow your word. If you already posted the `ca93723…` lines, post these three as a new comment — the workflow matches the exact tuple, and the older comment simply stops matching. Crank 1b still WAITS on that comment; the publish fires only on your word.

## ADDENDUM 5 (tic 754, 2026-08-30T17:28Z) — the frozen sha MOVED AGAIN, by the /review 754 batch you ruled — once, with this addendum
/review 754 (your two verdicts, recommended verbatim) ruled ONE close commit for two consumers: review-close-check.py's divergence-route catalog gains its FIFTH member — the route the tic-752 fire took, a promotion whose witness token was narrated earlier — bound by membership, with the attributed members counted per route in the headline's own unit (Q1, the catalog-unit reinforcement); and the checker now persists a one-pass, sha-pinned queue-state tuple beside its counts so every close narrative cites a tuple measured at one instant (Q2, the PIN clause). 11 tests; the full suite 1,102 / 1 / 1 = the 753 baseline + 11. Pushed; the installed runtime is byte-identical. The tuple is now:

```
publication-admission-commit: 1746b16d62f54d2296226c9de1a5eddebfd48657
publication-admission-version: 5.0.0
publication-admission-dist-tag: latest
```

Nothing else in this memo changes: (i) is still yours, (ii)–(v) still follow your word. If you already posted the `730eed9…` lines, post these three as a new comment — the workflow matches the exact tuple, and the older comment simply stops matching. Crank 1b still WAITS on that comment; the publish fires only on your word.

## ADDENDUM 6 (tic 755, 2026-08-30T21:20Z) — the frozen sha moved once more, by the /review 755 batch you ruled — once, with this addendum

```
publication-admission-commit: 9405c08b413b9e4c385ece449d788c6cd5f78851
publication-admission-version: 5.0.0
publication-admission-dist-tag: latest
```

Nothing else in this memo changes: (i) is still yours, (ii)–(v) still follow your word. If you already posted the `1746b16d…` lines, post these three as a new comment — the workflow matches the exact tuple, and the older comment simply stops matching. Crank 1b still WAITS on that comment; the publish fires only on your word.

---

## ADDENDUM 7 (tic 756, 2026-09-01T00:54Z) — the tuple re-freezes once more

The tic-756 close batch landed in context-grapple-gun: **`e588a5970f5cd53a802d7822cb862149fb6ba1f8`** (the PRODUCER-LIVENESS face's two consumers — `harmony-voice-marker.py` + the `harmony-invoke.sh` voice_step stamps + the Mogul reader rule — and the CURE-SCOPE face's third membership set in `review-close-check.py`; 15 tests; pytest 1,131 / 1 / 1; sync 342/0; installed copies byte-identical). The crank-2 publish tuple is therefore re-frozen at **`e588a5970f5cd53a802d7822cb862149fb6ba1f8`** — ADDENDUM 6's `9405c08b…` is superseded. The three-line contract is unchanged: your #16 comment carrying the exact tuple → `npm-release.yml dry_run=true` → read through `deploy-gate-read.py` → the publish fires only on your word.

```
publication-admission-commit: e588a5970f5cd53a802d7822cb862149fb6ba1f8
publication-admission-version: 5.0.0
publication-admission-dist-tag: latest
```

---

## ADDENDUM 8 (tic 756, 2026-09-01T01:05Z) — re-frozen once more, same tic

A second tic-756 CGG increment landed: **`dce2cc13744100aa2887714ae170cd0e50b61bfb`** — F-756-C1, the third membership set's first fire read 804 ids against 881 matched comments (a content-hashed identity collapses repeated comments — the a8fc UNIT clause, lived on its own cure); the identity is now occurrence-unique, the artifact carries `matched_comment_ids_unit_parity`, and a prior set in a different unit is never differenced. pytest 1,132 / 1 / 1; sync 342/0; byte-identical. The crank-2 tuple is re-frozen at **`dce2cc13744100aa2887714ae170cd0e50b61bfb`** — ADDENDUM 7's `e588a597…` is superseded. Contract unchanged.

```
publication-admission-commit: dce2cc13744100aa2887714ae170cd0e50b61bfb
publication-admission-version: 5.0.0
publication-admission-dist-tag: latest
```

---

## ADDENDUM 9 (tic 757, 2026-09-01T03:12Z) — re-frozen once more, by the §5 build's citizen-def consumer

Two tic-757 CGG commits landed on main: `75f2a7ab91fc…` (residue: the cpr-stepper's `last_invoked_tic` 756 → 757 in `agent-status.manifest.json`, committed first, inside-out) and **`cbfe848bee7d79e3b1a9e6ec507ae360c2f6035a`** — the estate-router citizen def gains "Report Handling (RULED /review 742 Q8 · /review 756 Q3 — built tic 757)": a `state_of_estate` is answered with a `standing_update` carrying `responding_to_report` and the report's verification at `payload.metric_assessments.report_verification` (the fourth un-updated body-consumer of the /review 742 manifest change; the validator, both type docs, and the handler spec landed canonical-side at `0a0041ea2`). Sync 342/0 explicit; byte-identical; deploy gate read GREEN with `distribution-contract.yml` STALE-GREEN on `dce2cc1` at the read instant (the push-to-main run for this head had not reported yet — re-read at close). Nothing about the publish path changed. The tuple you would carry to #16 is now:

```
publication-admission-commit: cbfe848bee7d79e3b1a9e6ec507ae360c2f6035a
publication-admission-version: 5.0.0
publication-admission-dist-tag: latest
```

Any further tic-757 batch re-freezes it again, with an ADDENDUM 10. The publish fires only on your word.

---

## ADDENDUM 10 (tic 757, 2026-09-01T03:44Z) — re-frozen once more, by the /review 757 consumers

The /review 757 batch landed on CGG main: **`020e037343a87cc203125d9df37cf3dfca2faf47`** — the FORWARD-DECAY face (7db7 PROMOTED: `emit_equality_discriminator` is now the only emitter of an equality flag on review-close-check.py, with an emit-time audit `equality_flag_typing` on every artifact) and the COVERAGE face (a75f ABSORBED: `catalog_covers: not_applicable` for the clean inscription member + a divergent-only coverage denominator). pytest 1,142 / 1 / 1 = 1,132 + 10 exact; sync explicit, byte-identical; gate read GREEN with distribution-contract STALE-GREEN on `cbfe848` at the read instant (the push-to-main run for this head re-read at close). Nothing about the publish path changed. The tuple you would carry to #16 is now:

```
publication-admission-commit: 020e037343a87cc203125d9df37cf3dfca2faf47
publication-admission-version: 5.0.0
publication-admission-dist-tag: latest
```

The publish fires only on your word.

---

## ADDENDUM 11 (tic 757, 2026-09-01T03:56Z) — re-frozen once more, by the close-fire citizen's cure

A third tic-757 CGG increment landed: **`f14e739b000ecd50096024312cb934843db17035`** — the constructor's audit now declares its observation window (the close-fire citizen found, on the constructor's own first artifact, that the audit gates on a name registry — the enumeration migrated rather than dissolved; minimum cure in-lane, the class question queued for /review 760). pytest 1,143 / 1 / 1 = 1,142 + 1 exact; sync explicit, byte-identical; gate re-read at close. Nothing about the publish path changed. The tuple you would carry to #16 is now:

```
publication-admission-commit: f14e739b000ecd50096024312cb934843db17035
publication-admission-version: 5.0.0
publication-admission-dist-tag: latest
```

The publish fires only on your word.

## ADDENDUM 12 (tic 758, 2026-09-01T14:50Z) — re-frozen once more, by the /review 758 consumer

A tic-758 CGG increment landed: **`986cceb2cf3e292e3a080bc037a6f8226067da4c`** — the TWO-ALTITUDES consumer (`ladder-audit.py`'s base-scan result now names its instrument and altitude and carries the down-lane sibling's standing count from the manifold it already reads; `mogul.md` gains the `ladder_audit` result contract; 3 new tests) plus two seat-law lines in `cpr-stepper.md` (the /review 757 pre-fence annotate-only ruling, and the live tier_refusal pointer corrected to 9235). Sync 344/0, byte-identical ×4; pytest 1,146 / 1 / 1 = 1,143 + 3 EXACT; deploy gate run 33521703699 PENDING at write (re-read before the close). The crank-2 tuple is therefore:

```
publication-admission-commit: 986cceb2cf3e292e3a080bc037a6f8226067da4c
publication-admission-version: 5.0.0
publication-admission-dist-tag: latest
```

Any further tic-758 batch re-freezes it again, with an ADDENDUM 13. The publish fires only on your word.

## ADDENDUM 13 (tic 758, 2026-09-01T15:05Z) — re-frozen once more, by the close-fire citizen's second cure

A second tic-758 CGG increment landed: **`4ab8819224572c31d5ec7f207d1d3666afd7a8da`** — the LAYOUT-CHURN discriminator on the sibling-pair attribution (the close-fire citizen found, on the instrument's own tic-758 close artifact, that a position-bearing member identity reports layout churn as movement: 237 new / 234 removed where the true movement was +3/−0; the minimum cure intersects on the content component before any member claim, publishes the churn, and reconciles the two unit declarations; the class question is /review 761's). Sync 345/0, byte-identical ×2; pytest 1,150 / 1 / 1 = 1,146 + 4 EXACT; deploy gate run 33523494522 PENDING at write (re-read before the close). The crank-2 tuple is therefore:

```
publication-admission-commit: 4ab8819224572c31d5ec7f207d1d3666afd7a8da
publication-admission-version: 5.0.0
publication-admission-dist-tag: latest
```

Any further tic-758 batch re-freezes it again, with an ADDENDUM 14. The publish fires only on your word.

## ADDENDUM 14 (recorded tic 762, 2026-09-02T23:45Z — the tic-761 re-freeze that never landed here; a CORRECTION, not a retcon)

The tic-761 close receipt and handoff both claim "ADDENDUM 14 — the crank-2 tuple re-frozen to ca45ac6…", and the tic-761 CGG batch is real (**`ca45ac6c5d117d0039ca801f05e3b02c7a09eeb6`** — the ruled-recorder batch: class_question → class_ruling, the :3152 keep-both comment, the :236 re-dating; pytest 1,150/1/1 EXACT; deploy gate GREEN 2026-09-02T19:54:46Z) — but this memo's last addendum was 13. The memo append itself never landed (F-762-L1, found and cured at the tic-762 close). The tuple as of that batch was:

```
publication-admission-commit: ca45ac6c5d117d0039ca801f05e3b02c7a09eeb6
publication-admission-version: 5.0.0
publication-admission-dist-tag: latest
```

## ADDENDUM 15 (tic 762, 2026-09-02T23:45Z) — re-frozen once more, by the /review 762 consumer

A tic-762 CGG increment landed: **`9f50f4061f598c0444049557288e8a3e3ca7948f`** — the EMPTY-SET-CAUSE consumer (mogul-runner.sh queue_refresh contract text gains `evaluable_comparisons` beside `shapes_disagreed_on_rows`; guard 19's THIRD face, ratified /review 762 Q1 on `cpr_mogul_queue_refresh_df535e0b7d15`). Sync 1-updated (mogul-runner @ 9f50f406), check clean; pytest 1,150 / 1 / 1 = the shape-10 baseline EXACT; deploy gate run PENDING at write (re-read before the close). The crank-2 tuple is therefore:

```
publication-admission-commit: 9f50f4061f598c0444049557288e8a3e3ca7948f
publication-admission-version: 5.0.0
publication-admission-dist-tag: latest
```

Any further tic-762 batch re-freezes it again, with an ADDENDUM 16. The publish fires only on your word.

## ADDENDUM 16 (tic 763, 2026-09-03T01:42Z) — re-frozen once more, by the /review 763 consumer batch

The tic-763 CGG batch (three ruled consumers + a pointer re-date: the prior_refusal_tics rename across four censused surfaces, the economy PHASE CLAUSE's declared OUT-OF-BAND third outcome + the fence-745 pointer re-dated, the ladder-audit stamp-provenance disclosure) re-freezes the crank-2 tuple:

```
publication-admission-commit: 88b5217b308262f3dd1a4e040f95f427595662a8
publication-admission-version: 5.0.0
publication-admission-dist-tag: latest
```

pytest 1,150/1/1 shape-10 EXACT on the pinned invocation; auto-sync 5-updated + check clean (345/0). Any further tic-763+ batch re-freezes it again, with an ADDENDUM 17. The publish fires only on your word.

## ADDENDUM 17 — tic 764 (2026-09-03): the crank-2 tuple moved — one ruled consumer landed

The tic-764 CGG batch re-froze the staging tuple. **Crank-2 tuple = `2441482e60f5cba4dd9cd14a97ac06b7e831cf85`** (supersedes ADDENDUM 16's `88b5217b308262f3dd1a4e040f95f427595662a8`). One commit, one file: the runner economy contract gained the REPEAT-READING CLAUSE (/review 764 Q1, `cpr_mogul_economy_heartbeat_83e2019a2029` — the SEVENTH ray on ledger#breach-flag-at-saturation, the BAND-CARDINALITY face): per-region value-cardinality measured and STATED before any staleness/replay call on a repeated g_t (HI = attractor set 86/74/6, LO = injective 75/75/0 at t761; re-derived EXACT at adjudication). pytest 1,150/1/1 shape-10 EXACT (pinned); pushed; explicit auto-sync + check run. Everything else in this memo stands unchanged; the publish still fires only on your word, with the exact tuple above.

---

**ADDENDUM 18 (tic 765)** — the tic-765 CGG batch landed: crank-2 tuple re-frozen to `618e7921f730ff4505b56770501afb496bbc395f` (both /review 765 verdicts ratified round 1 verbatim — Q1 the RATE-COHERENCE clause w/ the harmony-voice distinct-tic terms consumer; Q2 the mandatory-vs-permitted NEW anchor w/ VERDICT_REQUIRED_FIELDS physics at the writeback verdict branch + the six back-repairs clock-pinned). pytest 1,152/1/1 (baseline grew +2: the negative control + the waive-arm audit). Any tic-766 batch re-freezes (ADDENDUM 19). The publish still fires only on your word.

**ADDENDUM 19 (tic 765, post-close)** — the HOLD-redefinition batch landed: crank-2 tuple re-frozen to `5cc7c93699cc3d56078c0244b318a7128aef3b63` (A1-765 mirror cure + A3-765 duplicate-verdict-text refusal, both under your signed question set; pytest 1,156/1/1). Wave-4's CGG batch, when its citizens land, re-freezes again (ADDENDUM 20). The publish still fires only on your word.

**ADDENDUM 20 (tic 765, post-close)** — B2 WAVE 4's seat-composed batch landed: crank-2 tuple re-frozen to `94bb43c033dce96f630dd370fa301cd6e52007b8` (monitor write-verdict split + scanner append-only cure + the runner's comment-only re-teach; wave receipts 74ed3881/60e84231/94e0d62a; pytest 1,156/1/1). The publish still fires only on your word.