# cnos.handoff Extraction Map — v0.1

> **Wave complete (2026-05-22)**: all surfaces migrated; v0.1 complete; cnos#404 closed via [cnos#420](https://github.com/usurobor/cnos/issues/420). The six per-surface rows below (§1–§6) plus the two discovered surfaces (§7 deferred-by-design, §8 folded into mid-flight) plus the §9 close-out row all carry "Status: v0.1 ..." declarations. This document is now an archival migration record; future cycles cite the canonical `cnos.handoff/skills/handoff/<area>/SKILL.md` paths directly.

**Version:** 0.1 (Subs 1–6 of [cnos#404](https://github.com/usurobor/cnos/issues/404); shipped under [cnos#415](https://github.com/usurobor/cnos/issues/415) and finalized under [cnos#420](https://github.com/usurobor/cnos/issues/420))
**Date:** 2026-05-22
**Placement:** `src/packages/cnos.handoff/docs/extraction-map.md`
**Audience:** historical reference for the migration provenance of each handoff-class surface; readers tracking which cnos.cdd / cnos.cds section moved to which cnos.handoff sub-skill.
**Scope:** A surface-by-surface migration record from handoff-class doctrine that was resident in `cnos.cdd` (and in `cnos.cds` per [cnos#411](https://github.com/usurobor/cnos/issues/411)) at the source pin, mapped onto the now-canonical `cnos.handoff` home, with the migration sub-issue named for each surface.

> This document is a **mapping table + commentary**, not a re-statement of CDD / CDS / CDR doctrine. It does not embed source prose; citations carry the source path and the section marker at which the content currently resides. Subs 2–5 of [cnos#404](https://github.com/usurobor/cnos/issues/404) executed the migration against this map; Sub 6 ([cnos#420](https://github.com/usurobor/cnos/issues/420)) repointed cross-references in cdd / cds / cdr to the new cnos.handoff canonical homes and closed the tracker.

---

## 0. Method

### 0.1 Source pin

Source evidence cited herein refers to the cnos repository's `main` branch at the head of `cycle/415`'s parent commit (`bc29c009` — Merge cycle/414: Add DECREASING-INCOHERENCE.md essay). All line-numbered citations resolve at that pin. The handoff-class surfaces have shifted homes across the [cnos#403](https://github.com/usurobor/cnos/issues/403) wave (some surfaces named in [cnos#404](https://github.com/usurobor/cnos/issues/404)'s opening table moved from `cnos.cdd` into `cnos.cds` during Subs 2–5 of that wave); the rows below record each surface at its **current** canonical home at the source pin, not at the home `cnos#404`'s opening table named at filing time.

### 0.2 cnos.handoff v0.1 target surfaces

The migration lands into three surface classes within `cnos.handoff`:

1. **`skills/handoff/HANDOFF.md`** — the canonical wire-format contract (forthcoming; ships with Sub 2 or Sub 3 of [cnos#404](https://github.com/usurobor/cnos/issues/404), whichever lands the first substantive doctrine). Sections under `HANDOFF.md` will be named `§"Directional cases"`, `§"Wire-format artifacts"`, `§"Consumer protocol"`, etc.
2. **`skills/handoff/<area>/SKILL.md`** — sub-area skill files for operationally-heavy surfaces (cross-repo, dispatch, mid-flight, artifact-channel, receipt-stream). Each sub-area skill is the operational expansion of the `HANDOFF.md` section that names it. The cross-repo case is special: Sub 2 moves the entire 644-line `cnos.cdd/skills/cdd/cross-repo/SKILL.md` wholesale rather than expanding from a `HANDOFF.md` section, because the source is already a complete canonical surface.
3. **`schemas/handoff/`** (optional; deferred decision) — if Sub 3 lifts the implementation-contract 7-axes table from Markdown into a typed JSON schema, this is where it lives. Sub 3 decides; not pre-committed by this map.

### 0.3 Sub naming

The migration sub-issues follow [cnos#404](https://github.com/usurobor/cnos/issues/404)'s wave shape:

- **Sub 2** — "Move cross-repo state machine + bundles into cnos.handoff" (P2; depends on this Sub 1). Owns the entire `cross-repo/SKILL.md` wholesale move (644 lines).
- **Sub 3** — "Move dispatch-prompt template + implementation-contract schema into cnos.handoff" (P2; depends on Sub 1). Owns `cdd/gamma/SKILL.md §2.5` (dispatch prompts + 7-axes table + four-surface mesh) + `cdd/delta/SKILL.md §2` (inward-membrane enrichment doctrine).
- **Sub 4** — "Move intra-cycle handoff mechanisms into cnos.handoff" (P2; depends on Sub 1). Owns the mid-flight `gamma-clarification.md` mechanism (cnos#391 empirical anchor) + the `.cdd/unreleased/{N}/` artifact channel rules (post-#411 canonical in `cnos.cds`). Sub 4 decides migration semantics for the cds-resident piece: move / mirror / cite-only.
- **Sub 5** — "Move cross-cycle receipt-stream into cnos.handoff" (P2; depends on Sub 1). Owns `cdd/post-release/SKILL.md §5.6b` (per-finding shape + `cdd-iteration.md` cadence rule + aggregator update procedure + cross-repo trace bundle). May also absorb `cdd/harness/SKILL.md §5.4` polling primitives if Sub 5 decides they are handoff-class rather than runtime-substrate.
- **Sub 6** — "Cross-reference cleanup + close tracker" (P2; depends on Subs 2–5). Sweeps citations in `cnos.cdd` / `cnos.cds` / `cnos.cdr` (and the docs essays under `docs/gamma/`) to re-point at the new `cnos.handoff` canonical homes. Closes [cnos#404](https://github.com/usurobor/cnos/issues/404).

The Sub-2/Sub-3/Sub-4/Sub-5/Sub-6 split follows the natural cohesion of the surfaces; cross-cutting bullets (e.g., the four-surface mesh which γ template / δ enrichment / α constraint / β verification span Sub 2's cross-repo, Sub 3's dispatch, and Sub 4's mid-flight) are noted in the row's commentary.

### 0.4 Coverage commitment

Per [cnos#415](https://github.com/usurobor/cnos/issues/415) AC5 ("`docs/extraction-map.md` contains tables for each of the 6 surfaces listed in D2"; mechanical: `grep -c "^## " docs/extraction-map.md` ≥ 6), the tables below carry one `##`-headed section per surface family. The six required families are:

1. Cross-repo state machine + bundles (Sub 2)
2. Dispatch-prompt template (Sub 3)
3. Implementation-contract schema (Sub 3)
4. Mid-flight `gamma-clarification.md` mechanism (Sub 4)
5. `.cdd/unreleased/{N}/` artifact channel rules (Sub 4)
6. `cdd-iteration.md` receipt-stream + INDEX.md aggregator (Sub 5)

Two additional handoff surfaces were discovered during authoring (recorded as additional `##`-headed sections; counted toward the ≥ 6 floor):

7. Polling primitives (Sub 5 or deferred; the boundary is contested)
8. Spec-staleness propagation (Sub 4; folded into mid-flight or artifact-channel)

Plus the close-out row:

9. Cross-reference cleanup + close tracker (Sub 6).

### 0.5 Note-column conventions

Each row's note column uses one of:

- **verbatim move** — the source content moves as-is; rename only the file path and update cross-references.
- **rewrite** — the source content needs minor edits (e.g., software-class vocabulary stripped; consumer-protocol-neutral phrasing) before landing.
- **pointer-only** — the destination is a one-line pointer to a canonical home elsewhere (used for surfaces where the canonical home stays put and `cnos.handoff` only provides a loader entrypoint).
- **migration-semantics-undecided** — the destination is committed but the migration mechanism is one of (move / mirror / cite-only) and the dispatching δ for the sub decides. Used for rows where the source is already in `cnos.cds` post-#411.

---

## 1. Cross-repo state machine + bundles (§Cross-repo) — Sub 2

**Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/cross-repo/SKILL.md`.** Landed via [cnos#416](https://github.com/usurobor/cnos/issues/416) (Sub 2 of [cnos#404](https://github.com/usurobor/cnos/issues/404)). The 644-line skill moved wholesale; a compatibility pointer remains at `cnos.cdd/skills/cdd/cross-repo/SKILL.md` for backward compatibility; the STATUS-canonical-home declaration was flipped from `CDD.md` / `CDS.md` to this skill (§2.3); canonical-authority citations in `cnos.cdd/skills/cdd/{gamma,post-release,epsilon}/SKILL.md` and `cnos.cds/skills/cds/CDS.md` were re-pointed at the new home. The Sub 2 dispatcher's open question below was resolved by keeping the wholesale move as one file (Q1 recommendation accepted).

**Source family (pre-migration):** [`cnos.cdd/skills/cdd/cross-repo/SKILL.md`](../../cnos.cdd/skills/cdd/cross-repo/SKILL.md) — entire skill, 644 lines (the largest extraction target in this wave). Now a 28-line compatibility pointer at the same path.
**Source content:** Four directional cases (a: inbound proposal; b: outbound iteration trace; c: bilateral iteration; d: operator-pending bundle); canonical path discipline; 8-event STATUS state machine (drafted / submitted / accepted / modified / rejected / landed / withdrawn / revised); transition graph; emitters per event; master/sub `landed` rule; bundle-state phases; bundle file set per case; LINEAGE.md schema per case; feedback-patch format; bundle archival rule (asymmetric: source-side may delete on terminal STATUS; target-side preserved indefinitely); hat-collapse attribution; known protocol edge cases; embedded kata.
**Migration sub:** Sub 2 of [cnos#404](https://github.com/usurobor/cnos/issues/404) — closed via [cnos#416](https://github.com/usurobor/cnos/issues/416).
**Destination commitment:** Move wholesale to [`cnos.handoff/skills/handoff/cross-repo/SKILL.md`](../skills/handoff/cross-repo/SKILL.md) (same filename, same frontmatter shape; `parent: handoff` instead of `parent: cdd`). Per the operator ruling, the source file is **not** deleted from `cnos.cdd`; it is replaced with a ≤ 50-line compatibility pointer so unswept cross-references still resolve. **Status: complete** (Sub 2 / cnos#416).

| Source (path + §-anchor) | Destination (path under cnos.handoff/) | Sub | Note |
|---|---|---|---|
| `cnos.cdd/skills/cdd/cross-repo/SKILL.md` (entire file; 644 lines) | `cnos.handoff/skills/handoff/cross-repo/SKILL.md` | Sub 2 | **Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/cross-repo/SKILL.md`.** Verbatim move; `parent: cdd` → `parent: handoff`; `requires:` reworded to be package-agnostic; `calls:` paths rewritten to absolute cross-package form (`cnos.cdd/skills/cdd/<role>/SKILL.md`); STATUS-canonical-home declaration in §2.3 flipped to declare this skill as the owner. |
| `cnos.cdd/skills/cdd/cross-repo/SKILL.md §2.3` (STATUS state machine; 8-event vocabulary; transition graph; emitters; master/sub rule) | `cnos.handoff/skills/handoff/cross-repo/SKILL.md §2.3` | Sub 2 | **Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/cross-repo/SKILL.md`.** Inside the wholesale move; the STATUS state machine is the most-cited piece of cross-repo doctrine and now declares itself canonical (no longer "canonical in CDD.md / CDS.md"). |
| `cnos.cdd/skills/cdd/cross-repo/SKILL.md §2.5` (bundle file set per case a/b/c/d) | `cnos.handoff/skills/handoff/cross-repo/SKILL.md §2.5` | Sub 2 | **Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/cross-repo/SKILL.md`.** Verbatim. |
| `cnos.cdd/skills/cdd/cross-repo/SKILL.md §2.6` (LINEAGE.md schema per case) | `cnos.handoff/skills/handoff/cross-repo/SKILL.md §2.6` | Sub 2 | **Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/cross-repo/SKILL.md`.** Verbatim. |
| `cnos.cdd/skills/cdd/cross-repo/SKILL.md §2.7` (feedback-patch format) | `cnos.handoff/skills/handoff/cross-repo/SKILL.md §2.7` | Sub 2 | **Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/cross-repo/SKILL.md`.** Verbatim. |
| `cnos.cdd/skills/cdd/cross-repo/SKILL.md §2.8` (bundle archival rule; asymmetric) | `cnos.handoff/skills/handoff/cross-repo/SKILL.md §2.8` | Sub 2 | **Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/cross-repo/SKILL.md`.** Verbatim. |
| `cnos.cdd/skills/cdd/cross-repo/SKILL.md §2.9` (hat-collapse attribution) | `cnos.handoff/skills/handoff/cross-repo/SKILL.md §2.9` | Sub 2 | **Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/cross-repo/SKILL.md`.** Verbatim. |

**Resolved open question (Sub 2 dispatcher, cnos#416):** The wholesale move stayed one file (~643 lines after frontmatter edits). The split alternatives (extracting `cross-repo/status/SKILL.md`, `cross-repo/bundles/SKILL.md`, `cross-repo/lineage/SKILL.md`) are deferred to a post-#404 cycle if consumer pressure reveals which sub-surfaces churn independently. Q1 recommendation accepted.

---

## 2. Dispatch-prompt template (§Dispatch) — Sub 3

**Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/dispatch/SKILL.md`.** Landed via [cnos#417](https://github.com/usurobor/cnos/issues/417) (Sub 3 of [cnos#404](https://github.com/usurobor/cnos/issues/404)). The γ / α / β prompt templates, the 7-axis implementation-contract Markdown template, the prompt rules, and the four-surface mesh declaration moved into the new dispatch sub-skill (synthesized with §3 below into one cohesive file). The three source sections (`gamma/SKILL.md §2.5` dispatch sub-blocks; `operator/SKILL.md §3a`; `delta/SKILL.md §2`) became pointers. The branch pre-flight, scaffold gate, polling cross-reference, spec-staleness propagation, and Step 5 unblock content of `gamma/SKILL.md §2.5` remained in `cnos.cdd` as cycle-lifecycle role-skill content.

**Source family (pre-migration):** [`cnos.cdd/skills/cdd/gamma/SKILL.md §2.5`](../../cnos.cdd/skills/cdd/gamma/SKILL.md) "Steps 3a–5 — Create the cycle branch, dispatch, unblock without leakage" (lines 170–278 at source pin).
**Source content:** γ-owned branch pre-flight gate; pre-dispatch γ scaffold check (binding gate per `gamma-scaffold.md` presence); polling cross-reference into `harness/SKILL.md §5.4`; dispatch prompt formats per role (γ prompt at lines 204–209; α prompt at lines 211–218; β prompt at lines 252–258); implementation-contract section markdown template (the 7-axes table at lines 226–238); prompt rules; spec-staleness propagation sub-section (lines 272–278); the four-surface mesh declaration (γ template ↔ δ enrichment ↔ α constraint ↔ β verification).
**Migration sub:** Sub 3 of [cnos#404](https://github.com/usurobor/cnos/issues/404) — closed via [cnos#417](https://github.com/usurobor/cnos/issues/417).
**Destination commitment:** `cnos.handoff/skills/handoff/dispatch/SKILL.md` — new sub-skill file. Splits cleanly: the dispatch-prompt format is wire-format; the γ-owned branch pre-flight gate is cycle-lifecycle (stays in cdd) and is cited from the new dispatch skill rather than duplicated. **Status: complete** (Sub 3 / cnos#417).

| Source (path + §-anchor) | Destination (path under cnos.handoff/) | Sub | Note |
|---|---|---|---|
| `cnos.cdd/skills/cdd/gamma/SKILL.md §2.5 → "Dispatch prompts"` (γ / α / β prompt formats) | `cnos.handoff/skills/handoff/dispatch/SKILL.md §2.1` | Sub 3 | **Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/dispatch/SKILL.md`.** Verbatim. The line-176 γ-owned branch pre-flight (`cycle/{N}` from `origin/main`) stayed in `cdd/gamma/SKILL.md` because it is cycle-lifecycle. |
| `cnos.cdd/skills/cdd/gamma/SKILL.md §2.5 → "Implementation contract section"` (the markdown template at lines 226–238) | `cnos.handoff/skills/handoff/dispatch/SKILL.md §2.3` | Sub 3 | **Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/dispatch/SKILL.md`.** See row §3 below for the schema (the 7 axes themselves); this row is the template-injection rule (γ MUST include the section in the α prompt; γ MUST NOT dispatch with empty / TBD rows). Schema and template land together in dispatch/SKILL.md. |
| `cnos.cdd/skills/cdd/gamma/SKILL.md §2.5 → "Prompt rules"` (point both roles at the issue; include explicit `Branch:` line; use `--json title,body,state,comments`; do not restate the algorithm in the prompt; do not smuggle constraints into chat prose) | `cnos.handoff/skills/handoff/dispatch/SKILL.md §2.2` | Sub 3 | **Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/dispatch/SKILL.md`.** Verbatim move. These rules are wire-format discipline. |
| `cnos.cdd/skills/cdd/gamma/SKILL.md §2.5 → "Spec-staleness propagation"` (lines 272–278; how γ propagates spec changes to long-lived polling sessions) | `cnos.handoff/skills/handoff/dispatch/SKILL.md §2.4` (wire-format invariant) + cdd-resident consumer-specific file list | Sub 3 / Sub 4 (boundary partially resolved) | **Status: v0.1 partially migrated; wire-format invariant at `cnos.handoff/skills/handoff/dispatch/SKILL.md §2.4`; consumer-specific file list (which cdd skills trigger propagation) remains at `cnos.cdd/skills/cdd/gamma/SKILL.md §2.5 → "Spec-staleness propagation"`.** Sub 4 may absorb the wire-format invariant into mid-flight (`gamma-coordination.md` cousin of `gamma-clarification.md`) and supersede the dispatch-resident copy. |
| `cnos.cdd/skills/cdd/gamma/SKILL.md §2.5 → "The mesh"` (the four-surface mesh declaration; γ template ↔ δ enrichment ↔ α constraint ↔ β verification) | `cnos.handoff/skills/handoff/dispatch/SKILL.md §3.1` | Sub 3 | **Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/dispatch/SKILL.md`.** Verbatim with cross-references re-pointed: γ template cite to gamma/SKILL.md §2.5 (consumer); δ enrichment self-cited (this skill); α constraint cite to alpha/SKILL.md §3.6 (consumer); β verification cite to beta/SKILL.md Rule 7 (consumer). |
| `cnos.cdd/skills/cdd/operator/SKILL.md §3a` (relocation pointer; pre-Phase-4a name) | `cnos.handoff/skills/handoff/dispatch/SKILL.md §3` (citation; §3a remains as pointer in operator/SKILL.md) | Sub 3 | **Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/dispatch/SKILL.md`.** The §3a section in operator/SKILL.md is preserved as a pointer (now re-pointed at cnos.handoff rather than at delta/SKILL.md §2). |

---

## 3. Implementation-contract schema (§Implementation-contract) — Sub 3

**Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/dispatch/SKILL.md`.** Landed via [cnos#417](https://github.com/usurobor/cnos/issues/417) (Sub 3 of [cnos#404](https://github.com/usurobor/cnos/issues/404)). The 7-axis implementation-contract schema (Language; CLI integration target; Package scoping; Existing-binary disposition; Runtime dependencies; JSON/wire contract preservation; Backward-compat invariant), the δ-as-inward-membrane enrichment doctrine, the four-surface mesh declaration, and the cnos#389/#391/#392/#393 empirical anchors moved into the new dispatch sub-skill (synthesized with §2 above into one cohesive file). Q2 (schema lift to `schemas/handoff/implementation-contract.cue`) was deferred per Sub 3 ruling — schema stays Markdown for v0.1.

**Source family (pre-migration):** [`cnos.cdd/skills/cdd/delta/SKILL.md §2`](../../cnos.cdd/skills/cdd/delta/SKILL.md) "Inward membrane — γ contract → α-ready dispatch (implementation-contract enrichment)" (canonical home post-`cnos#397`); plus the markdown template in [`cnos.cdd/skills/cdd/gamma/SKILL.md §2.5 → "Implementation contract section"`](../../cnos.cdd/skills/cdd/gamma/SKILL.md) (lines 226–238 at source pin).
**Source content:** The 7 architectural axes (Language; CLI integration target; Package scoping; Existing-binary disposition; Runtime dependencies; JSON/wire contract preservation; Backward-compat invariant); δ's review-before-routing duty; fill-or-escalate paths; the four-surface mesh (γ template / δ enrichment / α constraint / β verification — see row §2 for the mesh declaration); cnos#389/#391/#392/#393 empirical anchors.
**Migration sub:** Sub 3 of [cnos#404](https://github.com/usurobor/cnos/issues/404) — closed via [cnos#417](https://github.com/usurobor/cnos/issues/417).
**Destination commitment:** `cnos.handoff/skills/handoff/dispatch/SKILL.md` — co-resident with the prompt-template (§2 above) because the schema and the template land together. **Status: complete** (Sub 3 / cnos#417).

| Source (path + §-anchor) | Destination (path under cnos.handoff/) | Sub | Note |
|---|---|---|---|
| `cnos.cdd/skills/cdd/delta/SKILL.md §2` (inward-membrane doctrine; the 7 axes; δ's review-before-routing duty) | `cnos.handoff/skills/handoff/dispatch/SKILL.md §3` ("δ as inward membrane") | Sub 3 | **Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/dispatch/SKILL.md`.** Verbatim transport; the 7-axis schema (wire-format) and the inward-membrane enrichment doctrine (enforcement mechanism for the axes) are co-located. The delta/SKILL.md §2 section is now a pointer; the role-local realization (δ-as-actor at routing time) remains in delta/SKILL.md. |
| `cnos.cdd/skills/cdd/gamma/SKILL.md §2.5 → "Implementation contract section"` template (lines 226–238; the markdown table γ injects into the α prompt) | `cnos.handoff/skills/handoff/dispatch/SKILL.md §2.3` | Sub 3 | **Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/dispatch/SKILL.md`.** Verbatim. (Also covered in §2 above; this row is the schema-level commitment that the template is canonicalized in cnos.handoff.) |
| `cnos.cdd/skills/cdd/delta/SKILL.md §2.1` (the four-surface mesh, δ side) | `cnos.handoff/skills/handoff/dispatch/SKILL.md §3.1` | Sub 3 | **Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/dispatch/SKILL.md`.** Verbatim; folded with the γ-side mesh row in §2 into one canonical mesh declaration. |
| `cnos.cdd/skills/cdd/delta/SKILL.md §2.3` (empirical anchors: cnos#389 Python-not-Go; cnos#391 wrong package scoping; cnos#392 first δ-pinned cycle; cnos#393 first-class template) | `cnos.handoff/skills/handoff/dispatch/SKILL.md §5` ("Empirical anchors") | Sub 3 | **Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/dispatch/SKILL.md`.** Expanded to also cover cnos#397 (Phase 4a) and the #406–#412 wave. |
| `cnos.cdd/skills/cdd/alpha/SKILL.md §3.6` (α constraint: do not improvise; surface unpinned rows to γ via `gamma-clarification.md`) — referenced, not migrated | (no destination; stays in cdd; cited from cnos.handoff dispatch skill) | Sub 3 | Pointer-only. The α constraint is consumer-side cycle-lifecycle doctrine (how α reads the implementation contract); the wire format itself is in cnos.handoff. Sub 6 sweeps the citation. |
| `cnos.cdd/skills/cdd/beta/SKILL.md` Role Rules Rule 7 (β verification: verify diff conforms to every pinned axis; non-conformance → RC severity D classification `implementation-contract`) — referenced, not migrated | (no destination; stays in cdd; cited from cnos.handoff dispatch skill) | Sub 3 | Pointer-only. Same reasoning as α constraint — consumer-side cycle-lifecycle doctrine. |
| (Optional) lift the 7 axes from Markdown table into typed schema at `schemas/handoff/implementation-contract.cue` | `schemas/handoff/implementation-contract.cue` | **Deferred (Sub 3 ruling)** | Q2 ruling (Sub 3 / cnos#417): schema stays Markdown for v0.1. The Markdown table γ injects into the α prompt is the canonical rendering; a CUE schema is not authored. Re-evaluate if a downstream consumer (CCNF-O Track A; cn cdd verify) needs a typed shape. |

---

## 4. Mid-flight `gamma-clarification.md` mechanism (§Mid-flight) — Sub 4

**Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/mid-flight/SKILL.md`.** Landed via [cnos#418](https://github.com/usurobor/cnos/issues/418) (Sub 4 of [cnos#404](https://github.com/usurobor/cnos/issues/404)). The wire-format invariant (file path, authoring role, reader role, trigger conditions, cache-bust function, resumption protocol, spec-staleness propagation invariant) moved into the new sub-skill. Per the Sub 4 dispatcher's ruling on the cnos.cds mid-flight clarification row: option (b) — cnos.handoff owns the wire-format invariant; cnos.cds keeps the v0.1 software-cycle operational realization (the `gh issue edit` + `git commit` + `git push` shell sequence) and cites cnos.handoff for the invariant. The cnos#391 empirical anchor is the canonical demonstration.

**Source family (pre-migration):**
- [`cnos.cdd/skills/cdd/gamma/SKILL.md §2.5 → "Implementation contract section"`](../../cnos.cdd/skills/cdd/gamma/SKILL.md) ("Mid-cycle contract changes are logged in `.cdd/unreleased/{N}/gamma-clarification.md`"; line 242 at source pin)
- [`cnos.cdd/skills/cdd/cross-repo/SKILL.md §2.10`](../skills/handoff/cross-repo/SKILL.md) — cited as the cache-bust mechanism for post-filing-refinement issue-edit propagation (Sub 4 adds an explicit edge-case entry)
- [`cnos.cds/skills/cds/CDS.md §"Coordination surfaces" → "Mid-flight clarification"`](../../cnos.cds/skills/cds/CDS.md) — post-`cnos#411` canonical home for the issue-edit cache-bust aspect; remains as the v0.1 software-cycle operational realization

**Empirical anchor:** [cnos#391](https://github.com/usurobor/cnos/issues/391) rescue, 2026-05-21 — the cycle where the mechanism first crystallized as a γ→in-flight-α channel.
**Source content:** file path (`.cdd/unreleased/{N}/gamma-clarification.md` on `cycle/{N}`); authoring role (γ or operator); reader role (in-flight α or β); trigger conditions (axis re-pin, scope clarification, AC clarification, blocker resolution, issue-body edit, spec change on origin/main); semantics (in-flight α/β reads the file at next polling cycle; counts as a wake-up event); cache-bust function (cycle-branch SHA transition is the canonical signal; GitHub issue mtime is unreliable for MCP-cached intake); resumption protocol (acknowledge / re-scope / stop and escalate / continue under protest).
**Migration sub:** Sub 4 of [cnos#404](https://github.com/usurobor/cnos/issues/404) — closed via [cnos#418](https://github.com/usurobor/cnos/issues/418).
**Destination commitment:** `cnos.handoff/skills/handoff/mid-flight/SKILL.md` — new sub-skill, authored from the empirical anchor + the wire-format invariant extracted from cnos.cds and cnos.cdd surfaces. **Status: complete** (Sub 4 / cnos#418).

| Source (path + §-anchor) | Destination (path under cnos.handoff/) | Sub | Note |
|---|---|---|---|
| (no canonical home) cnos#391 empirical anchor | `cnos.handoff/skills/handoff/mid-flight/SKILL.md` (entire file; new authoring) | Sub 4 | **Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/mid-flight/SKILL.md`.** Authored from empirical anchor + wire-format invariants extracted from cdd-gamma and cds-coordination-surfaces source surfaces. File path / authoring role / reader role / trigger conditions / semantics / cache-bust function / resumption protocol are the section structure. |
| `cnos.cdd/skills/cdd/gamma/SKILL.md §2.5` cite (line 242: "Mid-cycle contract changes are logged in `.cdd/unreleased/{N}/gamma-clarification.md`") | (cite migrates: cdd cite now points at cnos.handoff/skills/handoff/mid-flight/SKILL.md) | Sub 4 (cite update); Sub 6 (sweep) | **Status: v0.1 cite-pointer added.** cdd-side keeps the role-local procedure mention; the canonical wire-format home is now cited as cnos.handoff/skills/handoff/mid-flight/SKILL.md. Sub 6 sweeps remaining cites during cross-reference cleanup. |
| `cnos.cds/skills/cds/CDS.md §"Coordination surfaces" → "Mid-flight clarification"` (post-#411 canonical for issue-edit cache-bust aspect) | `cnos.handoff/skills/handoff/mid-flight/SKILL.md §"Issue-edit cache-bust"` (canonical wire-format) + cnos.cds section (v0.1 operational realization) | Sub 4 | **Status: v0.1 migrated** per Sub 4 ruling: option (b) — wire-format invariant lands at cnos.handoff/skills/handoff/mid-flight/SKILL.md; the operational realization (the `gh issue edit` + `git commit` + `git push` shell sequence γ runs) stays at cnos.cds as the v0.1 software-cycle overlay. cnos.cds CDS.md §"Mid-flight clarification" appends a pointer line citing the wire-format canonical home. |
| (folded) `cnos.cdd/skills/cdd/gamma/SKILL.md §2.5 → "Spec-staleness propagation"` (lines 272–278; the gamma-coordination.md cousin of gamma-clarification.md for long-lived polling sessions) | `cnos.handoff/skills/handoff/mid-flight/SKILL.md §2.6 "Spec-staleness propagation"` | Sub 4 | **Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/mid-flight/SKILL.md §2.6`.** The wire-format invariant ("γ writes a coordination note when spec changes mid-flight; cycle branch is the substrate") lives at cnos.handoff; the consumer-specific file list (which cdd skill files trigger propagation) stays at `cnos.cdd/skills/cdd/gamma/SKILL.md §2.5 → "Spec-staleness propagation"` as the cdd-side consumer realization. |

---

## 5. `.cdd/unreleased/{N}/` artifact channel rules (§Artifact-channel) — Sub 4

**Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/artifact-channel/SKILL.md`.** Landed via [cnos#418](https://github.com/usurobor/cnos/issues/418) (Sub 4 of [cnos#404](https://github.com/usurobor/cnos/issues/404)). The wire-format invariants (channel-directory path pattern, per-role write ownership pattern, sequential α→β→γ rule, frozen-snapshot rule on merge, release-time directory move, cross-cycle aggregation pointer) moved into the new sub-skill. Per the Sub 4 dispatcher's rulings on the cnos.cds rows: Location matrix + Ownership matrix + Ordered flow stay canonical at `cnos.cds/skills/cds/CDS.md §"Artifact contract"` (consumer-protocol-specific; CDR has different artifacts); the wire-format pattern is canonical at cnos.handoff. The new handoff skill cites cnos.cds for the CDS-specific instantiation; cnos.cds appends a pointer line acknowledging the wire-format canonical home.

**Source family (pre-migration):** Post-`cnos#411` canonical home is [`cnos.cds/skills/cds/CDS.md §"Artifact contract"`](../../cnos.cds/skills/cds/CDS.md) — specifically the sub-sections `→ "Location matrix"` (canonical paths for `self-coherence.md`, `beta-review.md`, `alpha-closeout.md`, `beta-closeout.md`, `gamma-closeout.md`, `cdd-iteration.md`, `RELEASE.md`, the version-snapshot directory, the PRA, the cross-repo trace dir), `→ "Ownership matrix"` (per-role artifact ownership: α owns self-coherence + alpha-closeout; β owns beta-review + beta-closeout; γ owns gamma-closeout + scaffold + cdd-iteration), `→ "Ordered flow"` (the 13-stage flow), and `→ "Frozen snapshot rule"` (artifacts in `.cdd/unreleased/{N}/` freeze on merge).
**Pre-#411 home:** `cnos.cdd/skills/cdd/CDD.md` (pre-#402; the channel rules were folded into the CCNF kernel before the cnos#403 wave extracted them to cds).
**Source content:** Sequential α→β→γ handoff over the cycle directory; per-role write ownership (α writes alpha-closeout; β writes beta-review then beta-closeout; γ writes gamma-scaffold + gamma-closeout + cdd-iteration); freeze-on-merge semantics; release-time move from `.cdd/unreleased/{N}/` to `.cdd/releases/{X.Y.Z}/{N}/` (or `.cdd/releases/docs/{ISO-date}/{N}/` for docs-only releases).
**Migration sub:** Sub 4 of [cnos#404](https://github.com/usurobor/cnos/issues/404) — closed via [cnos#418](https://github.com/usurobor/cnos/issues/418).
**Destination commitment:** `cnos.handoff/skills/handoff/artifact-channel/SKILL.md` — new sub-skill. **Status: complete** (Sub 4 / cnos#418).

| Source (path + §-anchor) | Destination (path under cnos.handoff/) | Sub | Note |
|---|---|---|---|
| `cnos.cds/skills/cds/CDS.md §"Artifact contract" → "Location matrix"` (canonical paths under `.cdd/unreleased/{N}/`) | (canonical stays at cnos.cds; pointer at `cnos.handoff/skills/handoff/artifact-channel/SKILL.md §2.2` "Per-role write ownership") | Sub 4 | **Status: v0.1 pointer-only** per Sub 4 ruling — option (c). The path *patterns* (`.cdd/unreleased/{N}/<artifact>.md`) are wire-format and named in artifact-channel §2.1; the *specific filename set* (self-coherence; beta-review; etc.) is consumer-protocol-specific (CDS-shaped; CDR has different artifacts) and stays canonical at cnos.cds. cnos.handoff cites cnos.cds for the per-consumer filename set. |
| `cnos.cds/skills/cds/CDS.md §"Artifact contract" → "Ownership matrix"` (α/β/γ/δ/ε per-artifact ownership) | (canonical stays at cnos.cds; pattern at `cnos.handoff/skills/handoff/artifact-channel/SKILL.md §2.2` "Per-role write ownership") | Sub 4 | **Status: v0.1 pointer-only** per Sub 4 ruling — option (c). The ownership *pattern* (per-cycle artifact has exactly one owning role at write time; sibling roles read but do not modify) lives at cnos.handoff; the *specific per-artifact assignment* (which role owns which file with which verification gate) is CDS-specific and stays at cnos.cds. |
| `cnos.cds/skills/cds/CDS.md §"Artifact contract" → "Ordered flow"` (13-stage flow: design → contract → plan → tests → code → docs → self-coherence → review → gate → release → observe → assess → close) | (canonical stays at cnos.cds; pattern at `cnos.handoff/skills/handoff/artifact-channel/SKILL.md §2.3` "Sequential rule") | Sub 4 | **Status: v0.1 pointer-only** per Sub 4 ruling — option (c). The *sequential invariant* (α before β; β before γ; γ-scaffold cycle-start exception) lives at cnos.handoff; the *specific 13-stage flow* is CDS-specific (CDR has a different flow) and stays at cnos.cds. |
| `cnos.cds/skills/cds/CDS.md §"Artifact contract" → "Frozen snapshot rule"` (artifacts in `.cdd/unreleased/{N}/` freeze on merge; release-time move discipline) | `cnos.handoff/skills/handoff/artifact-channel/SKILL.md §2.4` "Frozen-snapshot rule (release-time move)" | Sub 4 | **Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/artifact-channel/SKILL.md §2.4`** per Sub 4 ruling — option (a). The frozen-snapshot rule is wire-format (post-merge immutability of the channel directory; release-time directory rename); cnos.cds gets a pointer line and the v0.1 operational realization stays at `cnos.cdd/skills/cdd/release/SKILL.md §2.5a`. |

**Resolved open question (Sub 4 dispatcher, cnos#418):** Per-row rulings recorded above. Location matrix + Ownership matrix + Ordered flow stay canonical at cnos.cds (consumer-protocol-specific); Frozen-snapshot rule migrates to cnos.handoff (wire-format). The boundary preserves CDS as the canonical home for the CDS-class per-artifact contract while putting the wire-format invariants in their dedicated package.

---

## 6. `cdd-iteration.md` receipt-stream + INDEX.md aggregator (§Receipt-stream) — Sub 5

**Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/receipt-stream/SKILL.md`.** Landed via [cnos#419](https://github.com/usurobor/cnos/issues/419) (Sub 5 of [cnos#404](https://github.com/usurobor/cnos/issues/404)). The per-finding shape (six top-level fields + per-disposition sub-fields), the INDEX.md row format (eight pipe-separated columns), the cadence rule (required when `protocol_gap_count > 0`; courtesy empty-findings stub when 0 per cycle/401), the finding-disposition vocabulary (`patch-landed` / `next-MCA` / `no-patch`), and the cross-repo trace bundle invariant moved into the new sub-skill. The schema-lift question (Q-equivalent at row §6 — `schemas/handoff/iteration-finding.cue`) was deferred per Sub 3 precedent (Q2 ruling) — schema stays Markdown for v0.1. The `.cdd/iterations/INDEX.md` content rows stayed put (file is data, not doctrine). `cnos.cdd/skills/cdd/post-release/SKILL.md §5.6b` is now a short pointer paragraph; the §-anchor is preserved for backward-compatible citation. Cross-references in `cnos.cdd/skills/cdd/epsilon/SKILL.md §1` + `cnos.cdd/skills/cdd/activation/SKILL.md` + `cnos.handoff/skills/handoff/cross-repo/SKILL.md` + `cnos.handoff/skills/handoff/artifact-channel/SKILL.md` were repaired.

**Source family (pre-migration):** [`cnos.cdd/skills/cdd/post-release/SKILL.md §5.6b`](../../cnos.cdd/skills/cdd/post-release/SKILL.md) "Author `cdd-iteration.md` (when applicable)" (lines 293–340 at source pin) + [`.cdd/iterations/INDEX.md`](../../../../.cdd/iterations/INDEX.md) (the aggregator file itself; one row per cycle).
**Source content:** Cadence rule (`cdd-iteration.md` required only when `protocol_gap_count > 0`); per-finding shape (F1, F2, … with Source / Class / Trigger / Description / Root cause / Disposition fields; sub-fields per disposition: patch-landed / next-MCA / no-patch); aggregator-update procedure (one row per cycle in INDEX.md with Cycle / Issue / Date / Findings / Patches / MCAs / No-patch / Path columns); cross-repo trace bundle (when a finding's disposition is `patch-landed` with `Cross-repo` target, γ creates a bundle at `.cdd/iterations/cross-repo/{counterpart-repo}/{slug}/` per cross-repo skill); empty-findings courtesy stub allowance (backward compatibility).
**Migration sub:** Sub 5 of [cnos#404](https://github.com/usurobor/cnos/issues/404) — closed via [cnos#419](https://github.com/usurobor/cnos/issues/419).
**Destination commitment:** `cnos.handoff/skills/handoff/receipt-stream/SKILL.md` — new sub-skill. The receipt-stream is cross-cycle handoff (one cycle's γ writes; the ε reader at any later cycle consumes); fits cleanly in cnos.handoff. **Status: complete** (Sub 5 / cnos#419).

| Source (path + §-anchor) | Destination (path under cnos.handoff/) | Sub | Note |
|---|---|---|---|
| `cnos.cdd/skills/cdd/post-release/SKILL.md §5.6b → "Cadence rule"` (`cdd-iteration.md` required only when `protocol_gap_count > 0`) | `cnos.handoff/skills/handoff/receipt-stream/SKILL.md §3` "Cadence rules" | Sub 5 | **Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/receipt-stream/SKILL.md §3`.** Verbatim move. Note: the `cdd-iteration.md` filename itself becomes consumer-specific in time (cds has its own `cds-iteration.md` analogue per `cnos.cds/skills/cds/CDS.md §"Closure"`); the wire-format rule is "the cycle's iteration receipt" regardless of filename. |
| `cnos.cdd/skills/cdd/post-release/SKILL.md §5.6b → "Per-finding shape"` (lines 305–326: F1, F2, … with Source / Class / Trigger / Description / Root cause / Disposition + sub-fields) | `cnos.handoff/skills/handoff/receipt-stream/SKILL.md §1` "Per-finding shape" | Sub 5 | **Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/receipt-stream/SKILL.md §1`.** Verbatim move. Schema-lift to `schemas/handoff/iteration-finding.cue` deferred per Sub 3 (Q2) precedent — Markdown for v0.1. |
| `cnos.cdd/skills/cdd/post-release/SKILL.md §5.6b → "Aggregator update"` (the INDEX.md row format) | `cnos.handoff/skills/handoff/receipt-stream/SKILL.md §2` "Aggregator" | Sub 5 | **Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/receipt-stream/SKILL.md §2`.** Verbatim move (eight pipe-separated columns + per-row update procedure). |
| `cnos.cdd/skills/cdd/post-release/SKILL.md §5.6b → "Cross-repo trace"` (bundle creation when patch-landed has Cross-repo target) | `cnos.handoff/skills/handoff/receipt-stream/SKILL.md §6` "Cross-repo trace" | Sub 5 | **Status: v0.1 migrated; canonical at `cnos.handoff/skills/handoff/receipt-stream/SKILL.md §6`.** Verbatim move; the bundle-creation rule is wire-format (it composes with the cross-repo skill row §1). The cross-repo skill cite resolves at the new home (`cnos.handoff/skills/handoff/cross-repo/SKILL.md`, the Sub 2 destination). |
| `.cdd/iterations/INDEX.md` (the aggregator file itself; 23+ rows at source pin; one per cycle) | (file stays at `.cdd/iterations/INDEX.md`; not migrated) | Sub 5 | **Status: content unchanged** (only this cycle's standard close-out row added). The aggregator file is *data*, not doctrine; it does not move. The doctrine (how to update it) moves. The filename will eventually become consumer-specific (the cds analogue would be `.cds/iterations/INDEX.md`); cnos.handoff records the *pattern* (per-protocol-package aggregator at a known path). |
| `cnos.cds/skills/cds/CDS.md §"Closure"` (cds-side cycle-iteration trigger references that cite §5.6b in cdd) | (cite migrates: cds cite now points at cnos.handoff/skills/handoff/receipt-stream/SKILL.md) | Sub 5 (cite update); Sub 6 (sweep) | **Status: pointer-resolves** — `cnos.cdd/skills/cdd/post-release/SKILL.md §5.6b` is now a pointer to the new canonical home; existing CDS.md cites of §5.6b resolve through the pointer. Sub 6 sweeps the cite to the direct new-canonical path. |

---

## 7. Polling primitives (§Polling) — Sub 5 or deferred (boundary contested)

**Status: v0.1 deferred-by-design.** Per the Sub 5 / cnos#419 decision (and Q4 resolution in §11), polling primitives were not absorbed into cnos.handoff during the v0.1 wave. Canonical doctrine remains at `cnos.cds/skills/cds/CDS.md §"Coordination surfaces" → "Polling primitives"` (post-#411); operational realization at `cnos.cdd/skills/cdd/harness/SKILL.md §5.4`. Re-evaluate when a non-CDD/CDS consumer (CDR or future c-d-X) needs the primitives.

**Source family:** [`cnos.cdd/skills/cdd/harness/SKILL.md §5.4`](../../cnos.cdd/skills/cdd/harness/SKILL.md) (single-named-branch transition loop; `Monitor`-wrapped polling; reachability re-probe; transition-only emission). Post-`cnos#411` canonical doctrine is in [`cnos.cds/skills/cds/CDS.md §"Coordination surfaces" → "Polling primitives"`](../../cnos.cds/skills/cds/CDS.md); operational realization remains in `cnos.cdd/skills/cdd/harness/SKILL.md §5.4`.
**Source content:** Polling query forms (gh / MCP / git); wake-up mechanism; reachability preflight; transition-only emission discipline; synchronous baseline pull; `git fetch` reliability re-probe.
**Migration sub:** Sub 5 of [cnos#404](https://github.com/usurobor/cnos/issues/404) (or deferred to a post-#404 cycle).
**Destination commitment:** **Open.** The polling primitives are wire-format (γ observes α/β progress on the cycle branch); but the operational realization is runtime-substrate (harness mechanics). Recommendation: defer — leave canonical in cnos.cds + operational in cnos.cdd/harness; do not duplicate in cnos.handoff for v0.1. Re-evaluate when a non-CDD/CDS consumer (CDR or future c-d-X) needs to reuse the primitives.

| Source (path + §-anchor) | Destination (path under cnos.handoff/) | Sub | Note |
|---|---|---|---|
| `cnos.cdd/skills/cdd/harness/SKILL.md §5.4` (operational mechanics) | (no destination; stays in cdd as runtime substrate) | Sub 5 or deferred | Pointer-only. Cite from cnos.handoff loaders if needed. |
| `cnos.cds/skills/cds/CDS.md §"Coordination surfaces" → "Polling primitives"` (post-#411 canonical doctrine) | `cnos.handoff/skills/handoff/polling/SKILL.md` (deferred) | Sub 5 or post-#404 | Migration-semantics-undecided; recommend deferring until a non-CDS consumer surfaces. The doctrine is wire-format-shaped but the consumer count is still one (CDS); design-skill §3.5 ("interfaces belong to consumers") says wait for substitution pressure. |

---

## 8. Spec-staleness propagation (§Spec-staleness) — Sub 4 (folded)

**Status: v0.1 migrated; wire-format invariant canonical at `cnos.handoff/skills/handoff/mid-flight/SKILL.md §2.6`.** Landed via [cnos#418](https://github.com/usurobor/cnos/issues/418) (Sub 4 of [cnos#404](https://github.com/usurobor/cnos/issues/404)). The wire-format invariant ("γ writes a coordination note when spec changes land on origin/main mid-flight; cycle branch is the substrate") moved into the mid-flight sub-skill; the consumer-specific file list (which cdd skill files trigger propagation) stays at `cnos.cdd/skills/cdd/gamma/SKILL.md §2.5 → "Spec-staleness propagation"` as the cdd-side consumer realization.

**Source family (pre-migration):** [`cnos.cdd/skills/cdd/gamma/SKILL.md §2.5 → "Spec-staleness propagation"`](../../cnos.cdd/skills/cdd/gamma/SKILL.md) (lines 272–278 at source pin).
**Source content:** Identity-rotation mode (each role invocation loads skills fresh from the filesystem; the next dispatch picks them up); long-lived polling sessions (γ writes a coordination note to `.cdd/unreleased/{N}/gamma-coordination.md` on `cycle/{N}` naming the spec change and affected skill path); when to propagate (changes to `CDD.md`, role skill files, `release/SKILL.md`, `review/SKILL.md` landing on `main` while in-flight); when not to propagate (changes outside the cdd package; doc-only; issues/threads).
**Migration sub:** Sub 4 of [cnos#404](https://github.com/usurobor/cnos/issues/404) — closed via [cnos#418](https://github.com/usurobor/cnos/issues/418). Folded into mid-flight (row §4) because the mechanism is a γ-writes-to-in-flight-α/β channel.
**Destination commitment:** `cnos.handoff/skills/handoff/mid-flight/SKILL.md §2.6 "Spec-staleness propagation"`. **Status: complete** (Sub 4 / cnos#418).

| Source (path + §-anchor) | Destination (path under cnos.handoff/) | Sub | Note |
|---|---|---|---|
| `cnos.cdd/skills/cdd/gamma/SKILL.md §2.5 → "Spec-staleness propagation"` (lines 272–278) | `cnos.handoff/skills/handoff/mid-flight/SKILL.md §2.6` | Sub 4 | **Status: v0.1 migrated; wire-format invariant canonical at `cnos.handoff/skills/handoff/mid-flight/SKILL.md §2.6`.** The *invariant* (γ writes a coordination note when spec changes mid-flight; cycle branch is the substrate; gamma-coordination.md is the filename) is wire-format and lives at cnos.handoff. The *consumer-specific file list* (which cdd skill files trigger propagation — CDD.md / role skills / release / review) stays at `cnos.cdd/skills/cdd/gamma/SKILL.md §2.5 → "Spec-staleness propagation"` as the cdd-side consumer realization. |

---

## 9. Cross-reference cleanup + close tracker (§Cleanup) — Sub 6

**Status: v0.1 complete; cnos#404 wave closed 2026-05-22.** Landed via [cnos#420](https://github.com/usurobor/cnos/issues/420) (Sub 6 of [cnos#404](https://github.com/usurobor/cnos/issues/404)). The residual citation sweep across cnos.cdd / cnos.cdr / cnos.cds confirmed that all canonical-home statements correctly name `cnos.handoff/skills/handoff/<area>/SKILL.md`; old-path cites that remain are uniformly framed as "consumer-side", "role-side realization", "pointer", or "runbook (pointer to canonical home)" — the cdd-side surfaces correctly self-describe as consumers of the new canonical doctrine. The 28-line compatibility stub at `cnos.cdd/skills/cdd/cross-repo/SKILL.md` is preserved for backward compatibility (Sub 6 D6 decision; see Sub 6's gamma-closeout). The `.cdd/iterations/INDEX.md` header was re-pointed from `cdd/post-release/SKILL.md` to `cnos.handoff/skills/handoff/receipt-stream/SKILL.md` as the canonical wire-format home. Historical post-release-assessment documents under `docs/gamma/cdd/docs/2026-05-*/` were left untouched (immutable archival records of past cycles). cnos.cdr was not modified (no residual cites discovered).

**Source family:** N/A — this is the cleanup sub, not an extraction sub.
**Source content:** All cross-references in `cnos.cdd/`, `cnos.cdr/`, `cnos.cds/`, and `docs/gamma/` essays that cite handoff-class surfaces. Per-citation update: cite the new `cnos.handoff/skills/handoff/<area>/SKILL.md` canonical home rather than the pre-migration cdd / cds path.
**Migration sub:** Sub 6 of [cnos#404](https://github.com/usurobor/cnos/issues/404) — closed via [cnos#420](https://github.com/usurobor/cnos/issues/420).
**Destination commitment:** N/A — Sub 6 modifies citations in cdd / cdr / cds / docs; does not author new cnos.handoff surfaces.

| Source (path + §-anchor) | Destination (path under cnos.handoff/) | Sub | Note |
|---|---|---|---|
| All `cross-repo/SKILL.md` cites in `cnos.cdr/skills/cdr/*.md`, `cnos.cds/skills/cds/CDS.md`, `cnos.cdd/skills/cdd/{gamma,post-release,issue}/SKILL.md` | (cites re-pointed at `cnos.handoff/skills/handoff/cross-repo/SKILL.md`) | Sub 6 | **Status: v0.1 complete.** Re-pointed at the point of migration (Sub 2 / cnos#416 repaired canonical cites in cdd consumers; Sub 6 / cnos#420 verified no old-path-as-canonical residuals remain). |
| All `gamma/SKILL.md §2.5` dispatch-prompt cites in `cnos.cdd/skills/cdd/{alpha,beta,operator,delta,harness}/SKILL.md` | (cites re-pointed at `cnos.handoff/skills/handoff/dispatch/SKILL.md`) | Sub 6 | **Status: v0.1 complete.** Re-pointed at the point of migration (Sub 3 / cnos#417); Sub 6 verified consumer-side cites are framed as role-skill realizations of the canonical wire-format home. |
| All `delta/SKILL.md §2` implementation-contract cites in `cnos.cdd/skills/cdd/{alpha,beta,gamma,operator}/SKILL.md` | (cites re-pointed at `cnos.handoff/skills/handoff/dispatch/SKILL.md §"Implementation contract"`) | Sub 6 | **Status: v0.1 complete.** Re-pointed at the point of migration (Sub 3 / cnos#417); δ-inward-membrane doctrine cited as canonical at the new wire-format home. |
| All `gamma-clarification.md` cites in `cnos.cdd/`, `cnos.cds/`, `cnos.cdr/` | (cites re-pointed at `cnos.handoff/skills/handoff/mid-flight/SKILL.md`) | Sub 6 | **Status: v0.1 complete.** Re-pointed at the point of migration (Sub 4 / cnos#418); cdd-side consumer cites name the wire-format home as canonical. |
| All `post-release/SKILL.md §5.6b` cites + INDEX.md format cites | (cites re-pointed at `cnos.handoff/skills/handoff/receipt-stream/SKILL.md`) | Sub 6 | **Status: v0.1 complete.** Re-pointed at the point of migration (Sub 5 / cnos#419); Sub 6 additionally re-pointed the `.cdd/iterations/INDEX.md` header line to the canonical wire-format home. |
| Close [cnos#404](https://github.com/usurobor/cnos/issues/404) — name the wave complete; cite the six Subs (1–6) and their landed commits | (close tracker comment + STATUS update) | Sub 6 | **Status: v0.1 complete.** Wave closeout artifact emitted via merge commit `Closes #420; Closes #404`; tracker auto-closes via the parent-reference. |

---

## 10. Coverage verification

The six required surface families per [cnos#415](https://github.com/usurobor/cnos/issues/415) D2 + the two additional discovered surfaces + the close-out row are all covered:

| Required surface family per cnos#415 D2 | Covered in section § |
|---|---|
| 1. Cross-repo state machine + bundles (Sub 2) | §1 |
| 2. Dispatch-prompt template (Sub 3) | §2 |
| 3. Implementation-contract schema (Sub 3) | §3 |
| 4. Mid-flight `gamma-clarification.md` mechanism (Sub 4) | §4 |
| 5. `.cdd/unreleased/{N}/` artifact channel rules (Sub 4) | §5 |
| 6. `cdd-iteration.md` receipt-stream + INDEX.md aggregator (Sub 5) | §6 |
| (additional) Polling primitives (Sub 5 or deferred) | §7 |
| (additional) Spec-staleness propagation (Sub 4 folded) | §8 |
| Sub 6 — cross-reference cleanup + close tracker | §9 |

Mechanical check: `grep -c "^## " src/packages/cnos.handoff/docs/extraction-map.md` returns ≥ 6 (currently 11 `##` headings under §0–§11 in this file).

Sub 6 of [cnos#404](https://github.com/usurobor/cnos/issues/404) — closed via [cnos#420](https://github.com/usurobor/cnos/issues/420) on 2026-05-22 — completed the citation sweep across cdd / cdr / cds / docs against this map: every citation either resolves (content migrated to the named cnos.handoff destination) or updates (citation re-pointed at the cnos.handoff surface named above). No citation was silently dropped. Verified: cnos.cdd consumer skills correctly self-describe as consumers of the new canonical wire-format home; the 28-line compatibility stub at `cnos.cdd/skills/cdd/cross-repo/SKILL.md` is preserved for backward compatibility; the `.cdd/iterations/INDEX.md` header was re-pointed to the canonical receipt-stream home; historical post-release-assessment documents (immutable archival records) were not edited.

## 11. Open questions

These were noted for the operator dispatching Subs 2–6 against this map; all are resolved as of 2026-05-22 (cnos#404 wave closed via cnos#420).

- **Q1 (Sub 2 scope).** Does Sub 2 move `cross-repo/SKILL.md` wholesale (644 lines as one file), or split into `cross-repo/{status,bundles,lineage,feedback,archival}/SKILL.md` sub-files? **Resolved (Sub 2 / cnos#416):** wholesale move accepted; splitting deferred to a post-#404 cycle if consumer pressure reveals which sub-surfaces churn independently.
- **Q2 (Sub 3 schema lift).** Does Sub 3 lift the implementation-contract 7-axes table to a typed schema at `schemas/handoff/implementation-contract.cue`, or keep as Markdown table? **Resolved (Sub 3 / cnos#417):** Markdown preserved for v0.1; schemas/handoff/ deferred. Sub 5 / cnos#419 applied the same Q2 precedent to the per-finding shape and INDEX row format.
- **Q3 (Sub 4 unification).** Does Sub 4 unify mid-flight + artifact-channel into one `skills/handoff/intra-cycle/SKILL.md`, or keep them split? **Resolved (Sub 4 / cnos#418):** split. Mid-flight is asynchronous γ→in-flight-α; artifact-channel is sequential α→β→γ; different rates of fire.
- **Q4 (Sub 5 polling absorption).** Does Sub 5 absorb `harness/SKILL.md §5.4` polling primitives, or leave as cnos.cdd runtime substrate? **Resolved (Sub 5 / cnos#419):** not absorbed in v0.1; deferred per §7 row. Re-evaluate when a non-CDD/CDS consumer (CDR or future c-d-X) needs the primitives.
- **Q5 (Sub 4 + Sub 5 cds-source rows).** Migration-semantics-undecided rows. **Resolved (Subs 4 and 5):** per-row recommendation accepted; wire-format invariants moved to cnos.handoff; consumer-specific per-artifact realizations stayed in cnos.cds.
- **Q6 (Sub 6 scope of sweep).** Sub 6's citation sweep covers cnos.cdd / cnos.cdr / cnos.cds skill files. Does it also cover `docs/gamma/essays/*.md` and `docs/gamma/cdd/RATIONALE.md`? **Resolved (Sub 6 / cnos#420):** scope clarified to cover live citation surfaces (cdd / cdr / cds / handoff skill files + the `.cdd/iterations/INDEX.md` header). Historical post-release-assessment documents under `docs/gamma/cdd/docs/2026-05-*/` were explicitly excluded — they are immutable archival records of past cycles that describe what was true at the cycle's pin, not current canonical citations. `docs/gamma/essays/*.md` audited: no old-path-as-canonical residuals found.
- **Q7 (HANDOFF.md authoring sub).** Sub 2 is the largest extraction (cross-repo wholesale); should Sub 2 also land `HANDOFF.md`, or should `HANDOFF.md` wait for Sub 3? **Resolved (Sub 2 / cnos#416):** HANDOFF.md landed under Sub 2 (recommendation revised at dispatch); cross-repo's substantive doctrine provided the first-pass directional-case taxonomy that the later subs (3–5) refined.

All seven open questions resolved during the wave; the destinations named in the per-surface tables above are stable. No carried-forward open questions to a post-#404 cycle aside from the deferred-by-design polling absorption (Q4 / §7) and the cross-repo file-split exploration (Q1).

---

**End of extraction map.**
