[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CF819GAMEVZN193MSK22DW":3,"skill-same:01M6CF819GAMEVZN193MSK22DW":241},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":28,"publishedAt":48,"linkOnly":49,"markdownContent":50,"markdownBody":51,"frontMatter":52,"refName":85,"commitSha":86,"skillDirectory":87,"forksCount":88,"repositoryHtmlUrl":89,"repositoryHomepageUrl":6,"ownerHtmlUrl":90,"ownerBlogUrl":6,"ownerDescription":91,"updatedAt":92,"install":93,"resources":106},"01M6CF819GAMEVZN193MSK22DW","dispatch",null,"Dispatch-time wire-format contract between γ (orchestrator) and α\u002Fβ (workers). Use when γ authors a dispatch prompt for α or β, when δ enriches an under-specified prompt at routing time, or when α reads the implementation-contract block at intake.","usurobor\u002Fcnos","usurobor","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F182342826?v=4","01M6CEXJCRMYD8HB2315FGB1Q8","Peter Lisovin","01M6CEXJH2RW04GQ2SNXY40F5S",9,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fblob\u002Fmain\u002Fsrc\u002Fpackages\u002Fcnos.handoff\u002Fskills\u002Fhandoff\u002Fdispatch\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[5,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47],"repo","gamma","delta","cdd","contracts","issue","ready","use","orchestrator","handoff","branch","template","how","escalation","operator","beta","alpha","package","intake","2026-11-10 10:12:30",false,"---\nname: dispatch\ndescription: Dispatch-time wire-format contract between γ (orchestrator) and α\u002Fβ (workers). Use when γ authors a dispatch prompt for α or β, when δ enriches an under-specified prompt at routing time, or when α reads the implementation-contract block at intake.\nartifact_class: skill\nkata_surface: embedded\ngoverning_question: How does γ hand a cycle to α\u002Fβ without leakage — naming the issue, the branch, the Tier 3 skills, and the 7-axis implementation contract — and what δ does when the contract is under-pinned at routing time?\nvisibility: public\nparent: handoff\ntriggers:\n  - dispatch\n  - dispatch-prompt\n  - implementation-contract\n  - inward-membrane\n  - prompt template\n  - prompt rules\n  - alpha prompt\n  - beta prompt\n  - gamma prompt\n  - 7 axes\nscope: task-local\ninputs:\n  - γ-authored dispatch prompt at scaffold time\n  - cycle issue body\n  - repo conventions (language, package paths, integration target)\n  - the active sub-issue's protocol exemption (if any)\noutputs:\n  - α-ready \u002F β-ready dispatch prompt with populated implementation-contract section\n  - δ-enriched dispatch prompt (when γ leaves a row unpopulated)\n  - mid-flight `gamma-clarification.md` entry (when a contract axis re-pins mid-cycle)\n  - escalation to operator-as-human (when a contract row is genuinely undecidable)\nrequires:\n  - active CDD-class cycle exists with a quality-gated issue, a cycle branch on origin, and `gamma-scaffold.md` filed\ncalls:\n  - HANDOFF.md\ncalls_dynamic:\n  - source: cnos.cdd cell-runtime role contracts (gamma\u002Falpha\u002Fbeta\u002Fdelta\u002Foperator), dispatched at cycle runtime by the consumer protocol package\n---\n\n# Dispatch — γ → α\u002Fβ prompt + δ implementation-contract enrichment\n\n## Core principle\n\n**A dispatch prompt is a wire-format contract between γ (orchestrator) and α\u002Fβ (workers). It carries exactly the artifact-level facts the worker needs to start (issue, branch, Tier 3 skills, implementation contract) and excludes the protocol-internal reasoning γ used to assemble them. δ stands at the inward face of the membrane and enriches any under-pinned row before α is routed; α MUST NOT improvise.**\n\nThe dispatch prompt is one of the wire formats `cnos.handoff` owns. It transports a unit of work from γ-the-orchestrator (or operator-as-γ) to a per-role worker session (α, β, or a fresh γ session) without the worker having to reconstruct what γ already decided. The prompt's envelope carries the issue reference, the cycle branch, the Tier 3 skill list, and the 7-axis implementation contract; the prompt's body never restates the algorithm and never smuggles missing constraints into chat prose.\n\nThe failure mode is **implementation-contract drift** — γ leaves an architectural axis empty or \"TBD\"; δ does not catch the omission at routing time; α improvises; β APPROVE-s on behavior-only AC oracles without checking the diff against the contract. The result is a cycle that satisfies its ACs but ships in the wrong language, at the wrong package path, or as a separate binary instead of a `cn` subcommand. cnos#389 (Python-not-Go) and cnos#391 (wrong package scoping + separate binary) are the canonical anchors for this failure mode.\n\nThis skill is the **canonical surface** for the dispatch wire-format: prompt template, prompt rules, the 7-axis implementation-contract schema, the δ-inward-membrane enrichment doctrine, and the four-surface mesh (γ template ↔ δ enrichment ↔ α constraint ↔ β verification) that distributes the contract across the cycle's role boundary. Consumer role-skills in `cnos.cdd` (and any future c-d-X protocol package) cite this skill as canonical and carry only role-local procedure.\n\n## Authority\n\n- This skill (in `cnos.handoff`) is the only canonical home for the dispatch-prompt template, the 7-axis implementation-contract schema, the δ-as-inward-membrane doctrine, the four-surface mesh declaration, and the cnos#389\u002F#391\u002F#392\u002F#393 empirical anchors that motivate them. If another skill or doctrine surface carries the same doctrine, this skill governs.\n- The consumer protocol packages govern role-local procedure into which the dispatch contract feeds. γ's coordination loop (issue selection, branch pre-flight, scaffold gate, polling, unblock without leakage) lives in `cnos.cdd\u002Fskills\u002Fcdd\u002Fgamma\u002FSKILL.md`. α's intake and obligation to surface unpinned rows lives in `cnos.cdd\u002Fskills\u002Fcdd\u002Falpha\u002FSKILL.md §3.6`. β's diff-vs-contract verification lives in `cnos.cdd\u002Fskills\u002Fcdd\u002Fbeta\u002FSKILL.md §Role Rules Rule 7`. δ's outward membrane (boundary decision on receipt + V verdict) and override authority live in `cnos.cdd\u002Fskills\u002Fcdd\u002Fdelta\u002FSKILL.md` (§1, §3).\n- The `## Implementation contract (pinned by δ; α MUST NOT improvise)` block γ writes into the α prompt is the wire-format rendering this skill governs; γ's role-skill cites this skill for the schema and the injection rule.\n\n## Scope\n\nIn scope:\n\n- Dispatch-prompt template format for γ, α, and β prompts (the markdown envelope δ routes via `cn dispatch` or equivalent identity-rotation primitive).\n- Prompt rules (issue reference shape; explicit `Branch:` line; `--json title,body,state,comments` convention; do-not-restate-the-algorithm rule; do-not-smuggle-constraints rule).\n- The 7-axis implementation-contract schema (Language; CLI integration target; Package scoping; Existing-binary disposition; Runtime dependencies; JSON\u002Fwire contract preservation; Backward-compat invariant) and the `## Implementation contract` markdown template γ injects into the α prompt.\n- δ as inward membrane: the review-before-routing duty, the fill-or-escalate paths, the cycle-channel logging of enrichments.\n- The four-surface mesh (γ template \u002F δ enrichment \u002F α constraint \u002F β verification) declaration.\n- Mid-flight contract re-pinning via `gamma-clarification.md` (the cycle-channel hand-off into the mid-flight rescue mechanism whose canonical home is [`cnos.handoff\u002Fskills\u002Fhandoff\u002Fmid-flight\u002FSKILL.md`](..\u002Fmid-flight\u002FSKILL.md), landed under Sub 4 of cnos#404 \u002F cnos#418).\n\nOut of scope:\n\n- γ-owned branch pre-flight mechanics (creating `cycle\u002F{N}` from `origin\u002Fmain`; `gamma-scaffold.md` presence gate; polling). These are cycle-lifecycle, not wire-format; canonical at `cnos.cdd\u002Fskills\u002Fcdd\u002Fgamma\u002FSKILL.md §2.5` + `cnos.cds\u002Fskills\u002Fcds\u002FCDS.md §\"Development lifecycle\"`.\n- The mid-flight `gamma-clarification.md` mechanism itself (the cache-bust semantics; the in-flight α\u002Fβ polling protocol). Cited from this skill; canonical home at [`cnos.handoff\u002Fskills\u002Fhandoff\u002Fmid-flight\u002FSKILL.md`](..\u002Fmid-flight\u002FSKILL.md) (Sub 4 of cnos#404 \u002F cnos#418).\n- The `.cdd\u002Funreleased\u002F{N}\u002F` artifact-channel rules (per-role write ownership; frozen-snapshot rule on merge). Cited from this skill; canonical home at [`cnos.handoff\u002Fskills\u002Fhandoff\u002Fartifact-channel\u002FSKILL.md`](..\u002Fartifact-channel\u002FSKILL.md) (Sub 4 of cnos#404 \u002F cnos#418).\n- The harness substrate (dispatch invocation mechanics; observability flags; identity rotation; timeout recovery). Lives in `cnos.cdd\u002Fskills\u002Fcdd\u002Fharness\u002FSKILL.md` per Phase 4b of cnos#366.\n- δ's outward membrane (BoundaryDecision on receipt + V verdict) and override authority. Lives in `cnos.cdd\u002Fskills\u002Fcdd\u002Fdelta\u002FSKILL.md §1, §3`; out of scope for the dispatch wire-format.\n- CCNF-O orchestration grammar (how cells compose into cycles\u002Fwaves\u002Froadmaps). Track A of cnos#405.\n\n---\n\n## 1. Define\n\n### 1.1. What a dispatch prompt is\n\nA dispatch prompt is a **wire-format envelope** that γ writes once per role per cycle, and δ routes via the identity-rotation primitive (`cn dispatch`, `claude -p`, or equivalent). It carries:\n\n- the worker role (γ \u002F α \u002F β),\n- the project pin,\n- the role-skill file to load,\n- the cycle issue reference (in the form the worker can fetch directly via `gh issue view \u003CN> --json title,body,state,comments` or MCP equivalent),\n- the cycle branch (an explicit `Branch: cycle\u002F\u003CN>` line so the worker never globs or invents),\n- for α: the Tier 3 skill list,\n- for α: the `## Implementation contract` section enumerating the 7 architectural axes that pin the cycle's shape.\n\nThe prompt's job is to make the next role's session **executable without consulting γ's reasoning transcript**. Everything the role needs to start is on the prompt envelope; everything γ used to assemble the prompt (selection arguments, peer enumeration, gap framing) is in the issue body and the artifact channel.\n\n### 1.2. What a dispatch prompt is not\n\nA dispatch prompt is **not**:\n\n- a paraphrase of the issue (the prompt points at the issue; the worker reads the issue),\n- a place to smuggle constraints that did not make it into the issue body (if a constraint is load-bearing, it goes in the issue, not in chat prose),\n- a place to restate the algorithm or load order (those are in the role-skill the prompt names),\n- a substitute for the artifact channel (per-role artifacts live in `.cdd\u002Funreleased\u002F{N}\u002F`, not in chat).\n\n### 1.3. Failure mode\n\nThe dispatch wire-format fails through **implementation-contract drift**:\n\n- γ writes the protocol-level contract (gap, ACs, oracle, evidence) but leaves the architectural axes (language, package path, integration target, etc.) unspecified.\n- δ routes the α prompt without reviewing the implementation-contract section.\n- α improvises the unpinned axes (picks a language; picks a package path; picks a CLI integration shape).\n- β verifies behavior-only ACs (the parser accepts the new shape; V validates the receipt) and APPROVE-s.\n- The cycle merges in the wrong architectural shape.\n\ncnos#389 (Python-not-Go) and cnos#391 (wrong package scoping + separate binary) are the canonical instances. Both shipped with passing behavior-only ACs and wrong-shape implementations. cnos#392 was the first cycle where δ pinned the contract at dispatch as an ad-hoc operator action; the cycle succeeded specifically because of it. cnos#393 made the inward-membrane function doctrine — the dispatch-time enrichment that pins implementation-level axes γ's protocol-level contract leaves unpinned.\n\n---\n\n## 2. Unfold\n\n### 2.1. Prompt formats\n\nγ produces the prompts; δ routes them — one role at a time, sequentially, per `cnos.cdd\u002Fskills\u002Fcdd\u002Foperator\u002FSKILL.md` Algorithm + `cnos.cdd\u002Fskills\u002Fcdd\u002Fharness\u002FSKILL.md §1`. γ does not execute dispatch; γ produces prompts.\n\n#### γ prompt (δ dispatches γ first)\n\n```text\nYou are γ. Project: \u003Cproject>.\nLoad src\u002Fpackages\u002Fcnos.cdd\u002Fskills\u002Fcdd\u002Fgamma\u002FSKILL.md and follow its load order.\nIssue: gh issue view \u003CN> --json title,body,state,comments\n```\n\n#### α prompt (γ produces, δ dispatches)\n\n```text\nYou are α. Project: \u003Cproject>.\nLoad src\u002Fpackages\u002Fcnos.cdd\u002Fskills\u002Fcdd\u002Falpha\u002FSKILL.md and follow its load order.\nIssue: gh issue view \u003CN> --json title,body,state,comments\nBranch: cycle\u002F\u003CN>\nTier 3 skills: src\u002Fpackages\u002Fcnos.core\u002Fskills\u002Fwrite\u002FSKILL.md, \u003Cadditional issue-specific skills>\n```\n\n`write\u002FSKILL.md` is always included — every α output is a written artifact.\n\n#### β prompt (γ produces, δ dispatches)\n\n```text\nYou are β. Project: \u003Cproject>.\nLoad src\u002Fpackages\u002Fcnos.cdd\u002Fskills\u002Fcdd\u002Fbeta\u002FSKILL.md and follow its load order.\nIssue: gh issue view \u003CN> --json title,body,state,comments\nBranch: cycle\u002F\u003CN>\n```\n\n### 2.2. Prompt rules\n\n- Point both roles at the issue, **not a paraphrase** of the issue.\n- Include the explicit `Branch: cycle\u002F\u003CN>` line so α and β never have to invent or glob-discover the branch.\n- Always use `--json title,body,state,comments` with `gh issue view` — bare `gh issue view` hits deprecated GraphQL fields.\n- **Do not restate the algorithm in the prompt.** The role-skill named on the `Load …` line governs.\n- **Do not smuggle missing constraints into chat prose.** If a constraint is load-bearing, fix the issue body instead.\n- β begins reviewing the cycle branch once α signals review-readiness; the β role-skill handles that protocol — the prompt does not re-state it.\n- β receives artifact surfaces (diff, `self-coherence.md`, the issue) — **not α's hidden implementation rationale.** Reasoning transcripts do not transit the dispatch channel.\n\nTooling and observability flags (`--allowedTools`, `--output-format stream-json --verbose`, `--permission-mode acceptEdits`) live in `cnos.cdd\u002Fskills\u002Fcdd\u002Fharness\u002FSKILL.md §1–§2`; the dispatch wire-format does not restate them.\n\n### 2.3. The `## Implementation contract` section (required for α prompt)\n\nγ **MUST** include a `## Implementation contract` section in the α prompt (and reference it from the β prompt) enumerating the 7 architectural axes that pin the cycle's shape. The template:\n\n````markdown\n## Implementation contract (pinned by δ; α MUST NOT improvise)\n\n| Axis | Pinned value |\n|---|---|\n| Language | \u003CGo ; Python ; TypeScript ; Markdown ; ...> |\n| CLI integration target | \u003C`cn` subcommand ; standalone binary ; library only ; N\u002FA> |\n| Package scoping | \u003Ce.g. `src\u002Fgo\u002Finternal\u002Fcdd\u002F...` ; `src\u002Fpackages\u002F\u003Cpkg>\u002F...` ; N\u002FA> |\n| Existing-binary disposition | \u003Cpreserve ; replace ; deprecate ; N\u002FA> |\n| Runtime dependencies | \u003Clist or \"None\"> |\n| JSON\u002Fwire contract preservation | \u003Cpreserve as-is ; explicit shape change with migration ; N\u002FA> |\n| Backward-compat invariant | \u003Ce.g. \"existing rules preserved; new content additive\" ; \"breaking change documented in §Migration\"> |\n````\n\nThe 7 axes are the **implementation contract** — the architectural shape the cycle ships, distinct from the behavioral ACs the cycle satisfies. Behavioral ACs test what the implementation *does*; the implementation contract pins what the implementation *is* (language, location, integration shape). The two are independent — a behaviorally-correct implementation can still violate the contract by shipping in the wrong language, at the wrong package path, or as a separate binary instead of a `cn` subcommand.\n\n**γ's obligation.** γ writes the contract values per repo conventions or escalates to δ. **γ MUST NOT dispatch with empty \u002F \"TBD\" rows.** If γ doesn't know a value, γ asks δ — the inward-membrane function (§3 below) exists for this enrichment. δ fills the row per conventions or, if genuinely undecidable, blocks dispatch and escalates to operator-as-human. Mid-cycle contract changes are logged in `.cdd\u002Funreleased\u002F{N}\u002Fgamma-clarification.md` (the mid-flight rescue channel; canonical home at [`cnos.handoff\u002Fskills\u002Fhandoff\u002Fmid-flight\u002FSKILL.md`](..\u002Fmid-flight\u002FSKILL.md)).\n\n- ❌ Dispatch with rows empty \u002F \"TBD\" \u002F implicit conventions (\"everyone knows we use Go\").\n- ❌ γ silently re-pins a row mid-cycle without logging in `gamma-clarification.md`.\n- ✅ Every row populated explicitly; δ enrichment recorded; mid-cycle changes logged.\n\n### 2.4. Spec-staleness propagation (γ → in-flight α\u002Fβ)\n\nWhen γ (or δ) pushes spec changes to `origin\u002Fmain` while α\u002Fβ sessions are in-flight, loaded skills become stale. γ's responsibility — the wire-format rule:\n\n- **Identity-rotation mode (`cn dispatch` \u002F `claude -p`):** Not applicable — each role invocation loads skills fresh from the filesystem; the next dispatch picks them up.\n- **Long-lived polling sessions (legacy):** γ writes a coordination note to `.cdd\u002Funreleased\u002F{N}\u002Fgamma-coordination.md` on `cycle\u002F{N}` naming the spec change and affected skill path; or surfaces via the dispatch channel.\n\nThe list of *which* skill files trigger propagation (CDD.md, role skill files, release\u002FSKILL.md, review\u002FSKILL.md when they land on `main` while a cycle is in-flight) is consumer-side — it is named in `cnos.cdd\u002Fskills\u002Fcdd\u002Fgamma\u002FSKILL.md §2.5 → \"Spec-staleness propagation\"` and is CDD-specific. The wire-format invariant (\"γ writes a coordination note when spec changes mid-flight\") lives in [`cnos.handoff\u002Fskills\u002Fhandoff\u002Fmid-flight\u002FSKILL.md §2.6`](..\u002Fmid-flight\u002FSKILL.md) (Sub 4 of cnos#404 \u002F cnos#418); the consumer-specific file list stays in cdd-gamma.\n\nDerives from cnos#301 §9.1: γ proposed an out-of-spec merge because σ's `4a0f678` (\"merge is β authority\") landed mid-cycle outside γ's loaded snapshot. The reactive fix is the staleness check in γ's Load Order; this is the proactive side.\n\n---\n\n## 3. δ as inward membrane\n\nThe **inward face** of the cell's membrane runs at dispatch time, before α is routed. γ writes the protocol-level contract (gap, ACs, oracle, evidence). γ also writes the `## Implementation contract` section enumerating the 7 architectural axes (see §2.3 above):\n\n1. Language\n2. CLI integration target\n3. Package scoping\n4. Existing-binary disposition\n5. Runtime dependencies\n6. JSON\u002Fwire contract preservation\n7. Backward-compat invariant\n\nγ populates the rows from repo conventions and the issue body. **At dispatch time, δ reviews γ's dispatch prompt before routing it to α and ensures every row is populated.** If γ left a row unpopulated or marked \"TBD\", δ has two paths:\n\n- **(a) Fill the row** per repo conventions (e.g. \"this repo is Go-native, row 1 = Go\"; \"this repo uses the `cn` subcommand pattern for protocol-level commands, row 2 = `cn` subcommand\"). Log the enrichment in the cycle's artifact channel (`.cdd\u002Funreleased\u002F{N}\u002Fgamma-clarification.md`) so the contract trail is auditable.\n- **(b) Block dispatch and escalate to operator-as-human** if the row is genuinely undecidable — typically because the choice is part of the cycle's design question, not its execution shape, or because the row's value would commit the repo to a convention that hasn't been settled.\n\n**Why this is δ's surface, not γ's alone.** γ writes what the cycle is *for* (gap, ACs, oracle, evidence). δ writes what the cycle's output is *shaped like* (language, package path, integration target, dependency footprint). The two contracts are distinct: γ's is protocol-level; δ's is implementation-level. γ knows the protocol; δ knows the repo's standing conventions. Mixing them produced cnos#389 (α improvised language because γ's prompt didn't name one and δ didn't catch the omission) and cnos#391 (α improvised package scoping and binary disposition for the same reason). cnos#392 was the first cycle where δ pinned the implementation contract at dispatch; the cycle succeeded specifically because of it.\n\n**The load-bearing claim.** Implementation-contract decisions belong to δ; α MUST NOT improvise. This is the doctrine of cnos#393. If α encounters an unpinned row at intake, α surfaces it to γ\u002Fδ before coding — α does not pick a value. If γ wants to change a pinned row mid-cycle, γ logs the re-pin in `gamma-clarification.md`; γ does not silently mutate the contract. β's verification (Rule 7) catches any diff that drifts from the pinned contract regardless of whether the behavioral ACs pass.\n\n### 3.1. The four-surface mesh\n\nThe contract distributes across four surfaces, discoverable from any one:\n\n- **γ template:** §2.3 above — the 7-axis `## Implementation contract` block γ injects into the α prompt; γ MUST NOT dispatch with empty rows. Consumer-side role-skill: `cnos.cdd\u002Fskills\u002Fcdd\u002Fgamma\u002FSKILL.md §2.5`.\n- **δ enrichment:** §3 above — inward-membrane function; δ reviews γ's prompt; fills or escalates. Consumer-side role-skill: `cnos.cdd\u002Fskills\u002Fcdd\u002Fdelta\u002FSKILL.md §2` (now a pointer to this skill).\n- **α constraint:** `cnos.cdd\u002Fskills\u002Fcdd\u002Falpha\u002FSKILL.md §3.6` — \"Implementation contract is δ's, not α's\"; α MUST NOT improvise; α surfaces unpinned rows to γ\u002Fδ before coding.\n- **β verification:** `cnos.cdd\u002Fskills\u002Fcdd\u002Fbeta\u002FSKILL.md §Role Rules Rule 7` — \"Implementation-contract coherence\"; β verifies the diff conforms to every pinned axis before APPROVE; non-conformance → REQUEST CHANGES, severity D, classification `implementation-contract`.\n\nEach surface is locally self-justifying via the empirical anchors below; the mesh is for **discoverability** (a future role session loading any one finds the others), not for circular justification. The α and β surfaces are *consumer-side* — they stay in `cnos.cdd` as cycle-lifecycle role-skill obligations; this skill governs the wire-format and the δ enrichment doctrine.\n\n### 3.2. The δ-inward rules\n\n- ❌ δ routes γ's α prompt with rows blank — \"α can figure it out\".\n- ❌ δ fills rows by guessing — no consultation with γ on intent, no anchor in repo conventions.\n- ❌ δ enriches but does not log the change, leaving the contract trail invisible.\n- ✅ δ reviews γ's `## Implementation contract` section row-by-row; enriches per repo conventions; logs in `gamma-clarification.md`; escalates the row to operator-as-human if undecidable.\n- ✅ δ blocks dispatch (does not route the α prompt) until every row is populated or explicitly escalated.\n\n### 3.3. Mid-flight contract re-pinning\n\nWhen γ needs to change a pinned axis after α has started coding, γ writes an entry to `.cdd\u002Funreleased\u002F{N}\u002Fgamma-clarification.md` on the cycle branch *before* signaling the change. The cycle-branch transition is the signal; γ does not need to chat-relay. The clarification names:\n\n- date,\n- edit summary (the axis and the new value),\n- which ACs \u002F non-goals \u002F constraints \u002F artifacts the re-pin affects,\n- the rationale (typically: a repo-convention emerged; a downstream consumer surfaced; an operator override).\n\nα and β polling sessions detect the `gamma-clarification.md` write as a wake-up event and re-read the issue body via `gh issue view` (cache-bust) before continuing. β's Rule 7 verification treats a `gamma-clarification.md`-logged re-pin as authoritative; an un-logged silent re-pin is a contract violation regardless of the new value.\n\nThe mid-flight rescue mechanism — file path; authoring role; reader role; trigger conditions; cache-bust semantics — has its canonical home at [`cnos.handoff\u002Fskills\u002Fhandoff\u002Fmid-flight\u002FSKILL.md`](..\u002Fmid-flight\u002FSKILL.md) (Sub 4 of cnos#404 \u002F cnos#418). This skill cites it; mid-flight owns it.\n\n---\n\n## 4. Rules\n\n### 4.1. Author the dispatch prompt at the wire-format shape\n\n- ❌ Paraphrase the issue body into the prompt; omit the `Branch:` line; use bare `gh issue view`; restate the role-skill's algorithm in the prompt.\n- ✅ Point the worker at the issue (`gh issue view \u003CN> --json title,body,state,comments`); include `Branch: cycle\u002F\u003CN>`; name the role-skill on the `Load …` line; for α, name Tier 3 skills.\n\n### 4.2. Inject the `## Implementation contract` section in every α prompt\n\n- ❌ Dispatch α without the implementation-contract section because \"the issue body covers it\" or \"α can read repo conventions\".\n- ✅ Include the 7-axis table; populate every row; do not dispatch with empty \u002F \"TBD\" rows.\n\n### 4.3. δ reviews the implementation contract before routing\n\n- ❌ Route γ's α prompt without checking the `## Implementation contract` section row-by-row.\n- ✅ δ reviews every row; fills unpopulated rows per repo conventions; escalates undecidable rows to operator-as-human; logs enrichments in `gamma-clarification.md`.\n\n### 4.4. α surfaces unpinned rows; α does not improvise\n\n- ❌ α encounters an unpinned row and picks a value (\"Go is the convention; I'll use Go\").\n- ✅ α surfaces the row to γ\u002Fδ via the artifact channel; α does not begin coding until the row is pinned.\n\n### 4.5. β verifies the diff against every pinned axis before APPROVE\n\n- ❌ β APPROVE-s on behavior-only AC oracles (\"ACs pass; merge\").\n- ✅ β confirms each pinned axis against the diff; non-conformance → REQUEST CHANGES, severity D, classification `implementation-contract`.\n\n### 4.6. Mid-cycle re-pin requires `gamma-clarification.md`\n\n- ❌ γ silently mutates a pinned row mid-cycle.\n- ✅ γ writes a `gamma-clarification.md` entry naming the axis, new value, date, and affected ACs\u002Fnon-goals\u002Fconstraints; the cycle-branch transition is the signal.\n\n### 4.7. Cross-reference, do not duplicate\n\nConsumer role-skills cite this skill for the dispatch-prompt template, the 7-axis schema, and the δ-inward-membrane doctrine. If you find dispatch-prompt template content, 7-axis schema content, or δ-inward-membrane doctrine in `cnos.cdd\u002Fskills\u002Fcdd\u002Fgamma\u002F`, `cnos.cdd\u002Fskills\u002Fcdd\u002Fdelta\u002F`, `cnos.cdd\u002Fskills\u002Fcdd\u002Foperator\u002F`, or elsewhere that contradicts this skill, this skill governs and the other surface is patched to reference this one.\n\n---\n\n## 5. Empirical anchors\n\nThe dispatch + implementation-contract doctrine has empirical anchors across the cnos#388–#412 wave:\n\n- **[cnos#389](https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fissues\u002F389)** — Python-not-Go. α implemented V in Python despite cnos being Go-native. γ's prompt did not name \"language\" as a pinned axis; δ did not catch the omission at routing; α improvised; β APPROVE-d on behavior-only AC oracles. The diff drifted from the (implicit) architectural shape; the cycle merged in the wrong language.\n- **[cnos#391](https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fissues\u002F391)** — wrong package scoping + separate binary. α placed the Go port in a separate binary at the wrong package path. γ's prompt under-specified package scoping and CLI integration target; δ did not catch the omission; α improvised on both axes. cnos#391 is also the empirical anchor for the **mid-flight rescue mechanism** (the `gamma-clarification.md` mechanism crystallized here as a γ→in-flight-α channel; canonical home at [`cnos.handoff\u002Fskills\u002Fhandoff\u002Fmid-flight\u002FSKILL.md`](..\u002Fmid-flight\u002FSKILL.md), landed under Sub 4 of cnos#404 \u002F cnos#418).\n- **[cnos#392](https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fissues\u002F392)** — recovery cycle. First cycle where δ pinned the 7-axis implementation contract at dispatch as an ad-hoc operator action. The cycle succeeded specifically because of it; the `cdd-iteration.md` F1–F4 forecast the four patches cnos#393 ships.\n- **[cnos#393](https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fissues\u002F393)** — codification. Made the `## Implementation contract` block a first-class γ obligation in the dispatch prompt; made δ-as-inward-membrane doctrine; declared the four-surface mesh (γ template \u002F δ enrichment \u002F α constraint \u002F β verification). This skill is the cnos.handoff-resident extraction of that doctrine.\n- **[cnos#397](https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fissues\u002F397)** — Phase 4a of cnos#366. Relocated the δ-inward-membrane substance from `operator\u002FSKILL.md §3a` to `delta\u002FSKILL.md §2`; unified the two-sided membrane framing (outward §1 + inward §2) and the override semantics in one role-skill home.\n- **#406–#412 wave** — the post-codification cycles that exercised the doctrine in practice. Every cycle in the wave was dispatched with a populated 7-axis implementation contract; β's Rule 7 verification fired in production; no post-codification cycle in the wave shipped the wrong-shape failure mode that anchored cnos#389\u002F#391.\n\n---\n\n## 6. Verify\n\n### 6.1. Prompt envelope check (per cycle, at dispatch time)\n\n- Does the α prompt name the role, project, role-skill file (`Load …`), issue (`gh issue view \u003CN> --json title,body,state,comments`), branch (`Branch: cycle\u002F\u003CN>`), and Tier 3 skills?\n- Does the α prompt include the `## Implementation contract` section with all 7 rows populated (no \"TBD\")?\n- Does the β prompt name the role, project, role-skill file, issue, branch?\n- Does the prompt avoid paraphrasing the issue or restating the algorithm?\n\n### 6.2. δ-inward review check (per α dispatch)\n\n- Did δ review the `## Implementation contract` section row-by-row before routing?\n- For any row δ filled, is the enrichment logged in `.cdd\u002Funreleased\u002F{N}\u002Fgamma-clarification.md`?\n- If δ escalated an undecidable row to operator-as-human, is the escalation noted (in `gamma-clarification.md` or the issue)?\n\n### 6.3. Mid-cycle re-pin check (per re-pin event)\n\n- Did γ write a `gamma-clarification.md` entry naming the axis, new value, date, and affected ACs\u002Fnon-goals\u002Fconstraints?\n- Did γ commit and push to `cycle\u002F{N}` before signaling the re-pin?\n\n### 6.4. β verification check (at APPROVE time)\n\n- Did β confirm each pinned axis against the diff?\n- Are non-conformances flagged with severity D, classification `implementation-contract`?\n\n---\n\n## 7. Related documents\n\n- `cnos.handoff\u002Fskills\u002Fhandoff\u002FHANDOFF.md` — package contract; this skill is one sub-surface.\n- `cnos.handoff\u002Fskills\u002Fhandoff\u002Fcross-repo\u002FSKILL.md` — Sub 2 \u002F cnos#416 (landed). Cross-repo coordination wire-format; structural precedent for this skill's frontmatter shape.\n- `cnos.handoff\u002Fskills\u002Fhandoff\u002Fmid-flight\u002FSKILL.md` — Sub 4 of cnos#404 (landed under cnos#418). The `gamma-clarification.md` rescue mechanism; this skill cites it for mid-cycle re-pinning.\n- `cnos.handoff\u002Fskills\u002Fhandoff\u002Fartifact-channel\u002FSKILL.md` — Sub 4 of cnos#404 (landed under cnos#418). The `.cdd\u002Funreleased\u002F{N}\u002F` per-role write ownership; this skill cites it as the channel `gamma-clarification.md` lives on.\n- `cnos.handoff\u002Fskills\u002Fhandoff\u002Freceipt-stream\u002FSKILL.md` — Sub 5 of cnos#404 (forthcoming). The cross-cycle `cdd-iteration.md` aggregator; this skill cites it for empirical-anchor receipt-stream context.\n- `cnos.cdd\u002Fskills\u002Fcdd\u002Fgamma\u002FSKILL.md` — γ role-skill; γ's coordination loop (selection, branch pre-flight, scaffold gate, polling, unblock) lives here; cites this skill for the dispatch-prompt template and the implementation-contract injection rule.\n- `cnos.cdd\u002Fskills\u002Fcdd\u002Falpha\u002FSKILL.md §3.6` — α constraint; cites this skill for the schema and authority.\n- `cnos.cdd\u002Fskills\u002Fcdd\u002Fbeta\u002FSKILL.md §Role Rules Rule 7` — β verification; cites this skill for the schema and authority.\n- `cnos.cdd\u002Fskills\u002Fcdd\u002Fdelta\u002FSKILL.md §2` — δ-inward role-side pointer; cites this skill as canonical for the inward-membrane doctrine.\n- `cnos.cdd\u002Fskills\u002Fcdd\u002Foperator\u002FSKILL.md §3a` — operator-side pointer; cites this skill as canonical for the inward-membrane doctrine.\n- `cnos.cdd\u002Fskills\u002Fcdd\u002Fharness\u002FSKILL.md §1–§2` — dispatch invocation mechanics, observability flags, identity rotation. This skill does not restate them; the dispatch wire-format and the harness substrate are distinct surfaces.\n- `cnos.cds\u002Fskills\u002Fcds\u002FCDS.md §\"Coordination surfaces\"` — software-class binding; cites this skill for the dispatch and implementation-contract surfaces.\n- [cnos#404](https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fissues\u002F404) — parent tracker (handoff\u002Fcoordination extraction wave).\n- [cnos#393](https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fissues\u002F393) — the codification cycle for this surface.\n\n---\n\n## 8. Non-goals\n\n- This skill does NOT own role-local procedure. γ's coordination loop (selection, branch pre-flight, scaffold gate, polling, unblock), α's intake, β's review protocol, δ's outward membrane (BoundaryDecision on receipt + V verdict), and δ's override authority all live in the consumer role-skills under `cnos.cdd\u002Fskills\u002Fcdd\u002F`.\n- This skill does NOT own the mid-flight rescue mechanism. The `gamma-clarification.md` cache-bust semantics, the in-flight α\u002Fβ polling protocol, and the file's reader\u002Fauthoring rules live at [`cnos.handoff\u002Fskills\u002Fhandoff\u002Fmid-flight\u002FSKILL.md`](..\u002Fmid-flight\u002FSKILL.md) (Sub 4 of cnos#404 \u002F cnos#418). This skill cites the mechanism for contract re-pinning; mid-flight owns the mechanism.\n- This skill does NOT own the artifact-channel rules. The `.cdd\u002Funreleased\u002F{N}\u002F` per-role write ownership, the sequential α→β→γ flow, and the frozen-snapshot rule on merge live at [`cnos.handoff\u002Fskills\u002Fhandoff\u002Fartifact-channel\u002FSKILL.md`](..\u002Fartifact-channel\u002FSKILL.md) (Sub 4 of cnos#404 \u002F cnos#418). This skill cites the channel as the place `gamma-clarification.md` lives.\n- This skill does NOT own CCNF-O orchestration. How cycles compose into waves, roadmaps, gates, and joins is Track A of cnos#405; the dispatch wire-format transports work *within* a cycle (γ → α\u002Fβ), not *across* cycles.\n- This skill does NOT own runtime execution. The dispatch invocation primitive (`cn dispatch`, `claude -p`), observability flags, identity rotation, and timeout recovery live in `cnos.cdd\u002Fskills\u002Fcdd\u002Fharness\u002FSKILL.md`. This skill is the prompt; harness is the runtime that routes the prompt.\n- This skill does NOT type the 7-axis implementation contract into a CUE schema. Whether to lift the Markdown table into `schemas\u002Fhandoff\u002Fimplementation-contract.cue` is deferred; if a future cycle pressures the type-lift, the Markdown template references the schema by `$ref` then.\n\n---\n\n## 9. Kata\n\n### Scenario\n\nγ is scaffolding cycle\u002F{N} against a freshly-quality-gated issue. The issue body declares the gap, ACs, oracle, and evidence. γ has filed `gamma-scaffold.md` to `cycle\u002F{N}`. γ is about to author the α dispatch prompt; δ is the routing actor.\n\n### Task\n\n1. Produce the α prompt at the wire-format shape.\n2. Populate the `## Implementation contract` section.\n3. Hand off to δ for inward-membrane review.\n4. Detect and recover from one unpinned row.\n\n### Expected reasoning\n\n1. **Prompt envelope.** γ writes the α prompt with: role declaration (`You are α`); project pin; role-skill load line (`Load src\u002Fpackages\u002Fcnos.cdd\u002Fskills\u002Fcdd\u002Falpha\u002FSKILL.md and follow its load order`); issue reference (`Issue: gh issue view \u003CN> --json title,body,state,comments`); branch line (`Branch: cycle\u002F\u003CN>`); Tier 3 skill list (`Tier 3 skills: src\u002Fpackages\u002Fcnos.core\u002Fskills\u002Fwrite\u002FSKILL.md, …`).\n\n2. **Implementation contract section.** γ injects the 7-axis Markdown table. γ populates: Language = `Go` (repo convention); CLI integration target = `cn` subcommand (repo convention); Package scoping = `src\u002Fgo\u002Finternal\u002Fcdd\u002F\u003Cfeature>\u002F` (consistent with the cycle's gap); Existing-binary disposition = `preserve` (no existing binary changes); Runtime dependencies = `None` (Go-native; no external deps); JSON\u002Fwire contract preservation = `preserve as-is`; Backward-compat invariant = `existing rules preserved; new content additive`.\n\n3. **δ-inward review.** γ hands the prompt to δ. δ reviews the contract row-by-row. δ finds every row populated; δ routes the α prompt via `cn dispatch`.\n\n4. **Unpinned row + recovery.** Suppose γ instead left \"JSON\u002Fwire contract preservation\" empty because the cycle's effect on the wire contract was unclear. δ catches the empty row at routing time. δ has two paths:\n   - **(a)** δ fills the row per repo conventions: the cycle does not touch the wire format → row = \"preserve as-is\". δ logs the enrichment in `.cdd\u002Funreleased\u002F{N}\u002Fgamma-clarification.md` and routes the α prompt.\n   - **(b)** If the cycle's effect on the wire format is genuinely undecidable (e.g. the cycle's design question *is* whether to change the wire shape), δ blocks dispatch and escalates to operator-as-human. δ does not route until the row is pinned.\n\n### Common failures\n\n- Dispatching α with the implementation-contract section omitted entirely (\"the issue body covers it\").\n- Dispatching with rows populated as \"TBD\" \u002F \"see issue\" \u002F \"α decides\".\n- δ routing without reviewing the contract section.\n- γ silently mutating a pinned row mid-cycle without writing `gamma-clarification.md`.\n- α picking a value for an unpinned row instead of surfacing to γ\u002Fδ.\n- β APPROVE-ing on behavior-only ACs without checking the diff against the contract.\n\n### Verification\n\n- The α prompt envelope carries every wire-format element (role, project, load line, issue, branch, Tier 3 skills, contract section).\n- Every contract row is populated; no \"TBD\".\n- If δ filled a row, the enrichment is logged in `gamma-clarification.md`.\n- If a mid-cycle re-pin happens, `gamma-clarification.md` records it before the cycle-branch transition that signals the re-pin.\n\n### Reflection\n\nA second α reading this kata's output should be able to begin coding without consulting γ's reasoning transcript or chat backlog. Every load-bearing decision is on the prompt envelope, in the issue body, or in the artifact channel — never in chat.\n\n---\n\n**End of skill.**\n","# Dispatch — γ → α\u002Fβ prompt + δ implementation-contract enrichment\n\n## Core principle\n\n**A dispatch prompt is a wire-format contract between γ (orchestrator) and α\u002Fβ (workers). It carries exactly the artifact-level facts the worker needs to start (issue, branch, Tier 3 skills, implementation contract) and excludes the protocol-internal reasoning γ used to assemble them. δ stands at the inward face of the membrane and enriches any under-pinned row before α is routed; α MUST NOT improvise.**\n\nThe dispatch prompt is one of the wire formats `cnos.handoff` owns. It transports a unit of work from γ-the-orchestrator (or operator-as-γ) to a per-role worker session (α, β, or a fresh γ session) without the worker having to reconstruct what γ already decided. The prompt's envelope carries the issue reference, the cycle branch, the Tier 3 skill list, and the 7-axis implementation contract; the prompt's body never restates the algorithm and never smuggles missing constraints into chat prose.\n\nThe failure mode is **implementation-contract drift** — γ leaves an architectural axis empty or \"TBD\"; δ does not catch the omission at routing time; α improvises; β APPROVE-s on behavior-only AC oracles without checking the diff against the contract. The result is a cycle that satisfies its ACs but ships in the wrong language, at the wrong package path, or as a separate binary instead of a `cn` subcommand. cnos#389 (Python-not-Go) and cnos#391 (wrong package scoping + separate binary) are the canonical anchors for this failure mode.\n\nThis skill is the **canonical surface** for the dispatch wire-format: prompt template, prompt rules, the 7-axis implementation-contract schema, the δ-inward-membrane enrichment doctrine, and the four-surface mesh (γ template ↔ δ enrichment ↔ α constraint ↔ β verification) that distributes the contract across the cycle's role boundary. Consumer role-skills in `cnos.cdd` (and any future c-d-X protocol package) cite this skill as canonical and carry only role-local procedure.\n\n## Authority\n\n- This skill (in `cnos.handoff`) is the only canonical home for the dispatch-prompt template, the 7-axis implementation-contract schema, the δ-as-inward-membrane doctrine, the four-surface mesh declaration, and the cnos#389\u002F#391\u002F#392\u002F#393 empirical anchors that motivate them. If another skill or doctrine surface carries the same doctrine, this skill governs.\n- The consumer protocol packages govern role-local procedure into which the dispatch contract feeds. γ's coordination loop (issue selection, branch pre-flight, scaffold gate, polling, unblock without leakage) lives in `cnos.cdd\u002Fskills\u002Fcdd\u002Fgamma\u002FSKILL.md`. α's intake and obligation to surface unpinned rows lives in `cnos.cdd\u002Fskills\u002Fcdd\u002Falpha\u002FSKILL.md §3.6`. β's diff-vs-contract verification lives in `cnos.cdd\u002Fskills\u002Fcdd\u002Fbeta\u002FSKILL.md §Role Rules Rule 7`. δ's outward membrane (boundary decision on receipt + V verdict) and override authority live in `cnos.cdd\u002Fskills\u002Fcdd\u002Fdelta\u002FSKILL.md` (§1, §3).\n- The `## Implementation contract (pinned by δ; α MUST NOT improvise)` block γ writes into the α prompt is the wire-format rendering this skill governs; γ's role-skill cites this skill for the schema and the injection rule.\n\n## Scope\n\nIn scope:\n\n- Dispatch-prompt template format for γ, α, and β prompts (the markdown envelope δ routes via `cn dispatch` or equivalent identity-rotation primitive).\n- Prompt rules (issue reference shape; explicit `Branch:` line; `--json title,body,state,comments` convention; do-not-restate-the-algorithm rule; do-not-smuggle-constraints rule).\n- The 7-axis implementation-contract schema (Language; CLI integration target; Package scoping; Existing-binary disposition; Runtime dependencies; JSON\u002Fwire contract preservation; Backward-compat invariant) and the `## Implementation contract` markdown template γ injects into the α prompt.\n- δ as inward membrane: the review-before-routing duty, the fill-or-escalate paths, the cycle-channel logging of enrichments.\n- The four-surface mesh (γ template \u002F δ enrichment \u002F α constraint \u002F β verification) declaration.\n- Mid-flight contract re-pinning via `gamma-clarification.md` (the cycle-channel hand-off into the mid-flight rescue mechanism whose canonical home is [`cnos.handoff\u002Fskills\u002Fhandoff\u002Fmid-flight\u002FSKILL.md`](..\u002Fmid-flight\u002FSKILL.md), landed under Sub 4 of cnos#404 \u002F cnos#418).\n\nOut of scope:\n\n- γ-owned branch pre-flight mechanics (creating `cycle\u002F{N}` from `origin\u002Fmain`; `gamma-scaffold.md` presence gate; polling). These are cycle-lifecycle, not wire-format; canonical at `cnos.cdd\u002Fskills\u002Fcdd\u002Fgamma\u002FSKILL.md §2.5` + `cnos.cds\u002Fskills\u002Fcds\u002FCDS.md §\"Development lifecycle\"`.\n- The mid-flight `gamma-clarification.md` mechanism itself (the cache-bust semantics; the in-flight α\u002Fβ polling protocol). Cited from this skill; canonical home at [`cnos.handoff\u002Fskills\u002Fhandoff\u002Fmid-flight\u002FSKILL.md`](..\u002Fmid-flight\u002FSKILL.md) (Sub 4 of cnos#404 \u002F cnos#418).\n- The `.cdd\u002Funreleased\u002F{N}\u002F` artifact-channel rules (per-role write ownership; frozen-snapshot rule on merge). Cited from this skill; canonical home at [`cnos.handoff\u002Fskills\u002Fhandoff\u002Fartifact-channel\u002FSKILL.md`](..\u002Fartifact-channel\u002FSKILL.md) (Sub 4 of cnos#404 \u002F cnos#418).\n- The harness substrate (dispatch invocation mechanics; observability flags; identity rotation; timeout recovery). Lives in `cnos.cdd\u002Fskills\u002Fcdd\u002Fharness\u002FSKILL.md` per Phase 4b of cnos#366.\n- δ's outward membrane (BoundaryDecision on receipt + V verdict) and override authority. Lives in `cnos.cdd\u002Fskills\u002Fcdd\u002Fdelta\u002FSKILL.md §1, §3`; out of scope for the dispatch wire-format.\n- CCNF-O orchestration grammar (how cells compose into cycles\u002Fwaves\u002Froadmaps). Track A of cnos#405.\n\n---\n\n## 1. Define\n\n### 1.1. What a dispatch prompt is\n\nA dispatch prompt is a **wire-format envelope** that γ writes once per role per cycle, and δ routes via the identity-rotation primitive (`cn dispatch`, `claude -p`, or equivalent). It carries:\n\n- the worker role (γ \u002F α \u002F β),\n- the project pin,\n- the role-skill file to load,\n- the cycle issue reference (in the form the worker can fetch directly via `gh issue view \u003CN> --json title,body,state,comments` or MCP equivalent),\n- the cycle branch (an explicit `Branch: cycle\u002F\u003CN>` line so the worker never globs or invents),\n- for α: the Tier 3 skill list,\n- for α: the `## Implementation contract` section enumerating the 7 architectural axes that pin the cycle's shape.\n\nThe prompt's job is to make the next role's session **executable without consulting γ's reasoning transcript**. Everything the role needs to start is on the prompt envelope; everything γ used to assemble the prompt (selection arguments, peer enumeration, gap framing) is in the issue body and the artifact channel.\n\n### 1.2. What a dispatch prompt is not\n\nA dispatch prompt is **not**:\n\n- a paraphrase of the issue (the prompt points at the issue; the worker reads the issue),\n- a place to smuggle constraints that did not make it into the issue body (if a constraint is load-bearing, it goes in the issue, not in chat prose),\n- a place to restate the algorithm or load order (those are in the role-skill the prompt names),\n- a substitute for the artifact channel (per-role artifacts live in `.cdd\u002Funreleased\u002F{N}\u002F`, not in chat).\n\n### 1.3. Failure mode\n\nThe dispatch wire-format fails through **implementation-contract drift**:\n\n- γ writes the protocol-level contract (gap, ACs, oracle, evidence) but leaves the architectural axes (language, package path, integration target, etc.) unspecified.\n- δ routes the α prompt without reviewing the implementation-contract section.\n- α improvises the unpinned axes (picks a language; picks a package path; picks a CLI integration shape).\n- β verifies behavior-only ACs (the parser accepts the new shape; V validates the receipt) and APPROVE-s.\n- The cycle merges in the wrong architectural shape.\n\ncnos#389 (Python-not-Go) and cnos#391 (wrong package scoping + separate binary) are the canonical instances. Both shipped with passing behavior-only ACs and wrong-shape implementations. cnos#392 was the first cycle where δ pinned the contract at dispatch as an ad-hoc operator action; the cycle succeeded specifically because of it. cnos#393 made the inward-membrane function doctrine — the dispatch-time enrichment that pins implementation-level axes γ's protocol-level contract leaves unpinned.\n\n---\n\n## 2. Unfold\n\n### 2.1. Prompt formats\n\nγ produces the prompts; δ routes them — one role at a time, sequentially, per `cnos.cdd\u002Fskills\u002Fcdd\u002Foperator\u002FSKILL.md` Algorithm + `cnos.cdd\u002Fskills\u002Fcdd\u002Fharness\u002FSKILL.md §1`. γ does not execute dispatch; γ produces prompts.\n\n#### γ prompt (δ dispatches γ first)\n\n```text\nYou are γ. Project: \u003Cproject>.\nLoad src\u002Fpackages\u002Fcnos.cdd\u002Fskills\u002Fcdd\u002Fgamma\u002FSKILL.md and follow its load order.\nIssue: gh issue view \u003CN> --json title,body,state,comments\n```\n\n#### α prompt (γ produces, δ dispatches)\n\n```text\nYou are α. Project: \u003Cproject>.\nLoad src\u002Fpackages\u002Fcnos.cdd\u002Fskills\u002Fcdd\u002Falpha\u002FSKILL.md and follow its load order.\nIssue: gh issue view \u003CN> --json title,body,state,comments\nBranch: cycle\u002F\u003CN>\nTier 3 skills: src\u002Fpackages\u002Fcnos.core\u002Fskills\u002Fwrite\u002FSKILL.md, \u003Cadditional issue-specific skills>\n```\n\n`write\u002FSKILL.md` is always included — every α output is a written artifact.\n\n#### β prompt (γ produces, δ dispatches)\n\n```text\nYou are β. Project: \u003Cproject>.\nLoad src\u002Fpackages\u002Fcnos.cdd\u002Fskills\u002Fcdd\u002Fbeta\u002FSKILL.md and follow its load order.\nIssue: gh issue view \u003CN> --json title,body,state,comments\nBranch: cycle\u002F\u003CN>\n```\n\n### 2.2. Prompt rules\n\n- Point both roles at the issue, **not a paraphrase** of the issue.\n- Include the explicit `Branch: cycle\u002F\u003CN>` line so α and β never have to invent or glob-discover the branch.\n- Always use `--json title,body,state,comments` with `gh issue view` — bare `gh issue view` hits deprecated GraphQL fields.\n- **Do not restate the algorithm in the prompt.** The role-skill named on the `Load …` line governs.\n- **Do not smuggle missing constraints into chat prose.** If a constraint is load-bearing, fix the issue body instead.\n- β begins reviewing the cycle branch once α signals review-readiness; the β role-skill handles that protocol — the prompt does not re-state it.\n- β receives artifact surfaces (diff, `self-coherence.md`, the issue) — **not α's hidden implementation rationale.** Reasoning transcripts do not transit the dispatch channel.\n\nTooling and observability flags (`--allowedTools`, `--output-format stream-json --verbose`, `--permission-mode acceptEdits`) live in `cnos.cdd\u002Fskills\u002Fcdd\u002Fharness\u002FSKILL.md §1–§2`; the dispatch wire-format does not restate them.\n\n### 2.3. The `## Implementation contract` section (required for α prompt)\n\nγ **MUST** include a `## Implementation contract` section in the α prompt (and reference it from the β prompt) enumerating the 7 architectural axes that pin the cycle's shape. The template:\n\n````markdown\n## Implementation contract (pinned by δ; α MUST NOT improvise)\n\n| Axis | Pinned value |\n|---|---|\n| Language | \u003CGo ; Python ; TypeScript ; Markdown ; ...> |\n| CLI integration target | \u003C`cn` subcommand ; standalone binary ; library only ; N\u002FA> |\n| Package scoping | \u003Ce.g. `src\u002Fgo\u002Finternal\u002Fcdd\u002F...` ; `src\u002Fpackages\u002F\u003Cpkg>\u002F...` ; N\u002FA> |\n| Existing-binary disposition | \u003Cpreserve ; replace ; deprecate ; N\u002FA> |\n| Runtime dependencies | \u003Clist or \"None\"> |\n| JSON\u002Fwire contract preservation | \u003Cpreserve as-is ; explicit shape change with migration ; N\u002FA> |\n| Backward-compat invariant | \u003Ce.g. \"existing rules preserved; new content additive\" ; \"breaking change documented in §Migration\"> |\n````\n\nThe 7 axes are the **implementation contract** — the architectural shape the cycle ships, distinct from the behavioral ACs the cycle satisfies. Behavioral ACs test what the implementation *does*; the implementation contract pins what the implementation *is* (language, location, integration shape). The two are independent — a behaviorally-correct implementation can still violate the contract by shipping in the wrong language, at the wrong package path, or as a separate binary instead of a `cn` subcommand.\n\n**γ's obligation.** γ writes the contract values per repo conventions or escalates to δ. **γ MUST NOT dispatch with empty \u002F \"TBD\" rows.** If γ doesn't know a value, γ asks δ — the inward-membrane function (§3 below) exists for this enrichment. δ fills the row per conventions or, if genuinely undecidable, blocks dispatch and escalates to operator-as-human. Mid-cycle contract changes are logged in `.cdd\u002Funreleased\u002F{N}\u002Fgamma-clarification.md` (the mid-flight rescue channel; canonical home at [`cnos.handoff\u002Fskills\u002Fhandoff\u002Fmid-flight\u002FSKILL.md`](..\u002Fmid-flight\u002FSKILL.md)).\n\n- ❌ Dispatch with rows empty \u002F \"TBD\" \u002F implicit conventions (\"everyone knows we use Go\").\n- ❌ γ silently re-pins a row mid-cycle without logging in `gamma-clarification.md`.\n- ✅ Every row populated explicitly; δ enrichment recorded; mid-cycle changes logged.\n\n### 2.4. Spec-staleness propagation (γ → in-flight α\u002Fβ)\n\nWhen γ (or δ) pushes spec changes to `origin\u002Fmain` while α\u002Fβ sessions are in-flight, loaded skills become stale. γ's responsibility — the wire-format rule:\n\n- **Identity-rotation mode (`cn dispatch` \u002F `claude -p`):** Not applicable — each role invocation loads skills fresh from the filesystem; the next dispatch picks them up.\n- **Long-lived polling sessions (legacy):** γ writes a coordination note to `.cdd\u002Funreleased\u002F{N}\u002Fgamma-coordination.md` on `cycle\u002F{N}` naming the spec change and affected skill path; or surfaces via the dispatch channel.\n\nThe list of *which* skill files trigger propagation (CDD.md, role skill files, release\u002FSKILL.md, review\u002FSKILL.md when they land on `main` while a cycle is in-flight) is consumer-side — it is named in `cnos.cdd\u002Fskills\u002Fcdd\u002Fgamma\u002FSKILL.md §2.5 → \"Spec-staleness propagation\"` and is CDD-specific. The wire-format invariant (\"γ writes a coordination note when spec changes mid-flight\") lives in [`cnos.handoff\u002Fskills\u002Fhandoff\u002Fmid-flight\u002FSKILL.md §2.6`](..\u002Fmid-flight\u002FSKILL.md) (Sub 4 of cnos#404 \u002F cnos#418); the consumer-specific file list stays in cdd-gamma.\n\nDerives from cnos#301 §9.1: γ proposed an out-of-spec merge because σ's `4a0f678` (\"merge is β authority\") landed mid-cycle outside γ's loaded snapshot. The reactive fix is the staleness check in γ's Load Order; this is the proactive side.\n\n---\n\n## 3. δ as inward membrane\n\nThe **inward face** of the cell's membrane runs at dispatch time, before α is routed. γ writes the protocol-level contract (gap, ACs, oracle, evidence). γ also writes the `## Implementation contract` section enumerating the 7 architectural axes (see §2.3 above):\n\n1. Language\n2. CLI integration target\n3. Package scoping\n4. Existing-binary disposition\n5. Runtime dependencies\n6. JSON\u002Fwire contract preservation\n7. Backward-compat invariant\n\nγ populates the rows from repo conventions and the issue body. **At dispatch time, δ reviews γ's dispatch prompt before routing it to α and ensures every row is populated.** If γ left a row unpopulated or marked \"TBD\", δ has two paths:\n\n- **(a) Fill the row** per repo conventions (e.g. \"this repo is Go-native, row 1 = Go\"; \"this repo uses the `cn` subcommand pattern for protocol-level commands, row 2 = `cn` subcommand\"). Log the enrichment in the cycle's artifact channel (`.cdd\u002Funreleased\u002F{N}\u002Fgamma-clarification.md`) so the contract trail is auditable.\n- **(b) Block dispatch and escalate to operator-as-human** if the row is genuinely undecidable — typically because the choice is part of the cycle's design question, not its execution shape, or because the row's value would commit the repo to a convention that hasn't been settled.\n\n**Why this is δ's surface, not γ's alone.** γ writes what the cycle is *for* (gap, ACs, oracle, evidence). δ writes what the cycle's output is *shaped like* (language, package path, integration target, dependency footprint). The two contracts are distinct: γ's is protocol-level; δ's is implementation-level. γ knows the protocol; δ knows the repo's standing conventions. Mixing them produced cnos#389 (α improvised language because γ's prompt didn't name one and δ didn't catch the omission) and cnos#391 (α improvised package scoping and binary disposition for the same reason). cnos#392 was the first cycle where δ pinned the implementation contract at dispatch; the cycle succeeded specifically because of it.\n\n**The load-bearing claim.** Implementation-contract decisions belong to δ; α MUST NOT improvise. This is the doctrine of cnos#393. If α encounters an unpinned row at intake, α surfaces it to γ\u002Fδ before coding — α does not pick a value. If γ wants to change a pinned row mid-cycle, γ logs the re-pin in `gamma-clarification.md`; γ does not silently mutate the contract. β's verification (Rule 7) catches any diff that drifts from the pinned contract regardless of whether the behavioral ACs pass.\n\n### 3.1. The four-surface mesh\n\nThe contract distributes across four surfaces, discoverable from any one:\n\n- **γ template:** §2.3 above — the 7-axis `## Implementation contract` block γ injects into the α prompt; γ MUST NOT dispatch with empty rows. Consumer-side role-skill: `cnos.cdd\u002Fskills\u002Fcdd\u002Fgamma\u002FSKILL.md §2.5`.\n- **δ enrichment:** §3 above — inward-membrane function; δ reviews γ's prompt; fills or escalates. Consumer-side role-skill: `cnos.cdd\u002Fskills\u002Fcdd\u002Fdelta\u002FSKILL.md §2` (now a pointer to this skill).\n- **α constraint:** `cnos.cdd\u002Fskills\u002Fcdd\u002Falpha\u002FSKILL.md §3.6` — \"Implementation contract is δ's, not α's\"; α MUST NOT improvise; α surfaces unpinned rows to γ\u002Fδ before coding.\n- **β verification:** `cnos.cdd\u002Fskills\u002Fcdd\u002Fbeta\u002FSKILL.md §Role Rules Rule 7` — \"Implementation-contract coherence\"; β verifies the diff conforms to every pinned axis before APPROVE; non-conformance → REQUEST CHANGES, severity D, classification `implementation-contract`.\n\nEach surface is locally self-justifying via the empirical anchors below; the mesh is for **discoverability** (a future role session loading any one finds the others), not for circular justification. The α and β surfaces are *consumer-side* — they stay in `cnos.cdd` as cycle-lifecycle role-skill obligations; this skill governs the wire-format and the δ enrichment doctrine.\n\n### 3.2. The δ-inward rules\n\n- ❌ δ routes γ's α prompt with rows blank — \"α can figure it out\".\n- ❌ δ fills rows by guessing — no consultation with γ on intent, no anchor in repo conventions.\n- ❌ δ enriches but does not log the change, leaving the contract trail invisible.\n- ✅ δ reviews γ's `## Implementation contract` section row-by-row; enriches per repo conventions; logs in `gamma-clarification.md`; escalates the row to operator-as-human if undecidable.\n- ✅ δ blocks dispatch (does not route the α prompt) until every row is populated or explicitly escalated.\n\n### 3.3. Mid-flight contract re-pinning\n\nWhen γ needs to change a pinned axis after α has started coding, γ writes an entry to `.cdd\u002Funreleased\u002F{N}\u002Fgamma-clarification.md` on the cycle branch *before* signaling the change. The cycle-branch transition is the signal; γ does not need to chat-relay. The clarification names:\n\n- date,\n- edit summary (the axis and the new value),\n- which ACs \u002F non-goals \u002F constraints \u002F artifacts the re-pin affects,\n- the rationale (typically: a repo-convention emerged; a downstream consumer surfaced; an operator override).\n\nα and β polling sessions detect the `gamma-clarification.md` write as a wake-up event and re-read the issue body via `gh issue view` (cache-bust) before continuing. β's Rule 7 verification treats a `gamma-clarification.md`-logged re-pin as authoritative; an un-logged silent re-pin is a contract violation regardless of the new value.\n\nThe mid-flight rescue mechanism — file path; authoring role; reader role; trigger conditions; cache-bust semantics — has its canonical home at [`cnos.handoff\u002Fskills\u002Fhandoff\u002Fmid-flight\u002FSKILL.md`](..\u002Fmid-flight\u002FSKILL.md) (Sub 4 of cnos#404 \u002F cnos#418). This skill cites it; mid-flight owns it.\n\n---\n\n## 4. Rules\n\n### 4.1. Author the dispatch prompt at the wire-format shape\n\n- ❌ Paraphrase the issue body into the prompt; omit the `Branch:` line; use bare `gh issue view`; restate the role-skill's algorithm in the prompt.\n- ✅ Point the worker at the issue (`gh issue view \u003CN> --json title,body,state,comments`); include `Branch: cycle\u002F\u003CN>`; name the role-skill on the `Load …` line; for α, name Tier 3 skills.\n\n### 4.2. Inject the `## Implementation contract` section in every α prompt\n\n- ❌ Dispatch α without the implementation-contract section because \"the issue body covers it\" or \"α can read repo conventions\".\n- ✅ Include the 7-axis table; populate every row; do not dispatch with empty \u002F \"TBD\" rows.\n\n### 4.3. δ reviews the implementation contract before routing\n\n- ❌ Route γ's α prompt without checking the `## Implementation contract` section row-by-row.\n- ✅ δ reviews every row; fills unpopulated rows per repo conventions; escalates undecidable rows to operator-as-human; logs enrichments in `gamma-clarification.md`.\n\n### 4.4. α surfaces unpinned rows; α does not improvise\n\n- ❌ α encounters an unpinned row and picks a value (\"Go is the convention; I'll use Go\").\n- ✅ α surfaces the row to γ\u002Fδ via the artifact channel; α does not begin coding until the row is pinned.\n\n### 4.5. β verifies the diff against every pinned axis before APPROVE\n\n- ❌ β APPROVE-s on behavior-only AC oracles (\"ACs pass; merge\").\n- ✅ β confirms each pinned axis against the diff; non-conformance → REQUEST CHANGES, severity D, classification `implementation-contract`.\n\n### 4.6. Mid-cycle re-pin requires `gamma-clarification.md`\n\n- ❌ γ silently mutates a pinned row mid-cycle.\n- ✅ γ writes a `gamma-clarification.md` entry naming the axis, new value, date, and affected ACs\u002Fnon-goals\u002Fconstraints; the cycle-branch transition is the signal.\n\n### 4.7. Cross-reference, do not duplicate\n\nConsumer role-skills cite this skill for the dispatch-prompt template, the 7-axis schema, and the δ-inward-membrane doctrine. If you find dispatch-prompt template content, 7-axis schema content, or δ-inward-membrane doctrine in `cnos.cdd\u002Fskills\u002Fcdd\u002Fgamma\u002F`, `cnos.cdd\u002Fskills\u002Fcdd\u002Fdelta\u002F`, `cnos.cdd\u002Fskills\u002Fcdd\u002Foperator\u002F`, or elsewhere that contradicts this skill, this skill governs and the other surface is patched to reference this one.\n\n---\n\n## 5. Empirical anchors\n\nThe dispatch + implementation-contract doctrine has empirical anchors across the cnos#388–#412 wave:\n\n- **[cnos#389](https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fissues\u002F389)** — Python-not-Go. α implemented V in Python despite cnos being Go-native. γ's prompt did not name \"language\" as a pinned axis; δ did not catch the omission at routing; α improvised; β APPROVE-d on behavior-only AC oracles. The diff drifted from the (implicit) architectural shape; the cycle merged in the wrong language.\n- **[cnos#391](https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fissues\u002F391)** — wrong package scoping + separate binary. α placed the Go port in a separate binary at the wrong package path. γ's prompt under-specified package scoping and CLI integration target; δ did not catch the omission; α improvised on both axes. cnos#391 is also the empirical anchor for the **mid-flight rescue mechanism** (the `gamma-clarification.md` mechanism crystallized here as a γ→in-flight-α channel; canonical home at [`cnos.handoff\u002Fskills\u002Fhandoff\u002Fmid-flight\u002FSKILL.md`](..\u002Fmid-flight\u002FSKILL.md), landed under Sub 4 of cnos#404 \u002F cnos#418).\n- **[cnos#392](https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fissues\u002F392)** — recovery cycle. First cycle where δ pinned the 7-axis implementation contract at dispatch as an ad-hoc operator action. The cycle succeeded specifically because of it; the `cdd-iteration.md` F1–F4 forecast the four patches cnos#393 ships.\n- **[cnos#393](https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fissues\u002F393)** — codification. Made the `## Implementation contract` block a first-class γ obligation in the dispatch prompt; made δ-as-inward-membrane doctrine; declared the four-surface mesh (γ template \u002F δ enrichment \u002F α constraint \u002F β verification). This skill is the cnos.handoff-resident extraction of that doctrine.\n- **[cnos#397](https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fissues\u002F397)** — Phase 4a of cnos#366. Relocated the δ-inward-membrane substance from `operator\u002FSKILL.md §3a` to `delta\u002FSKILL.md §2`; unified the two-sided membrane framing (outward §1 + inward §2) and the override semantics in one role-skill home.\n- **#406–#412 wave** — the post-codification cycles that exercised the doctrine in practice. Every cycle in the wave was dispatched with a populated 7-axis implementation contract; β's Rule 7 verification fired in production; no post-codification cycle in the wave shipped the wrong-shape failure mode that anchored cnos#389\u002F#391.\n\n---\n\n## 6. Verify\n\n### 6.1. Prompt envelope check (per cycle, at dispatch time)\n\n- Does the α prompt name the role, project, role-skill file (`Load …`), issue (`gh issue view \u003CN> --json title,body,state,comments`), branch (`Branch: cycle\u002F\u003CN>`), and Tier 3 skills?\n- Does the α prompt include the `## Implementation contract` section with all 7 rows populated (no \"TBD\")?\n- Does the β prompt name the role, project, role-skill file, issue, branch?\n- Does the prompt avoid paraphrasing the issue or restating the algorithm?\n\n### 6.2. δ-inward review check (per α dispatch)\n\n- Did δ review the `## Implementation contract` section row-by-row before routing?\n- For any row δ filled, is the enrichment logged in `.cdd\u002Funreleased\u002F{N}\u002Fgamma-clarification.md`?\n- If δ escalated an undecidable row to operator-as-human, is the escalation noted (in `gamma-clarification.md` or the issue)?\n\n### 6.3. Mid-cycle re-pin check (per re-pin event)\n\n- Did γ write a `gamma-clarification.md` entry naming the axis, new value, date, and affected ACs\u002Fnon-goals\u002Fconstraints?\n- Did γ commit and push to `cycle\u002F{N}` before signaling the re-pin?\n\n### 6.4. β verification check (at APPROVE time)\n\n- Did β confirm each pinned axis against the diff?\n- Are non-conformances flagged with severity D, classification `implementation-contract`?\n\n---\n\n## 7. Related documents\n\n- `cnos.handoff\u002Fskills\u002Fhandoff\u002FHANDOFF.md` — package contract; this skill is one sub-surface.\n- `cnos.handoff\u002Fskills\u002Fhandoff\u002Fcross-repo\u002FSKILL.md` — Sub 2 \u002F cnos#416 (landed). Cross-repo coordination wire-format; structural precedent for this skill's frontmatter shape.\n- `cnos.handoff\u002Fskills\u002Fhandoff\u002Fmid-flight\u002FSKILL.md` — Sub 4 of cnos#404 (landed under cnos#418). The `gamma-clarification.md` rescue mechanism; this skill cites it for mid-cycle re-pinning.\n- `cnos.handoff\u002Fskills\u002Fhandoff\u002Fartifact-channel\u002FSKILL.md` — Sub 4 of cnos#404 (landed under cnos#418). The `.cdd\u002Funreleased\u002F{N}\u002F` per-role write ownership; this skill cites it as the channel `gamma-clarification.md` lives on.\n- `cnos.handoff\u002Fskills\u002Fhandoff\u002Freceipt-stream\u002FSKILL.md` — Sub 5 of cnos#404 (forthcoming). The cross-cycle `cdd-iteration.md` aggregator; this skill cites it for empirical-anchor receipt-stream context.\n- `cnos.cdd\u002Fskills\u002Fcdd\u002Fgamma\u002FSKILL.md` — γ role-skill; γ's coordination loop (selection, branch pre-flight, scaffold gate, polling, unblock) lives here; cites this skill for the dispatch-prompt template and the implementation-contract injection rule.\n- `cnos.cdd\u002Fskills\u002Fcdd\u002Falpha\u002FSKILL.md §3.6` — α constraint; cites this skill for the schema and authority.\n- `cnos.cdd\u002Fskills\u002Fcdd\u002Fbeta\u002FSKILL.md §Role Rules Rule 7` — β verification; cites this skill for the schema and authority.\n- `cnos.cdd\u002Fskills\u002Fcdd\u002Fdelta\u002FSKILL.md §2` — δ-inward role-side pointer; cites this skill as canonical for the inward-membrane doctrine.\n- `cnos.cdd\u002Fskills\u002Fcdd\u002Foperator\u002FSKILL.md §3a` — operator-side pointer; cites this skill as canonical for the inward-membrane doctrine.\n- `cnos.cdd\u002Fskills\u002Fcdd\u002Fharness\u002FSKILL.md §1–§2` — dispatch invocation mechanics, observability flags, identity rotation. This skill does not restate them; the dispatch wire-format and the harness substrate are distinct surfaces.\n- `cnos.cds\u002Fskills\u002Fcds\u002FCDS.md §\"Coordination surfaces\"` — software-class binding; cites this skill for the dispatch and implementation-contract surfaces.\n- [cnos#404](https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fissues\u002F404) — parent tracker (handoff\u002Fcoordination extraction wave).\n- [cnos#393](https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fissues\u002F393) — the codification cycle for this surface.\n\n---\n\n## 8. Non-goals\n\n- This skill does NOT own role-local procedure. γ's coordination loop (selection, branch pre-flight, scaffold gate, polling, unblock), α's intake, β's review protocol, δ's outward membrane (BoundaryDecision on receipt + V verdict), and δ's override authority all live in the consumer role-skills under `cnos.cdd\u002Fskills\u002Fcdd\u002F`.\n- This skill does NOT own the mid-flight rescue mechanism. The `gamma-clarification.md` cache-bust semantics, the in-flight α\u002Fβ polling protocol, and the file's reader\u002Fauthoring rules live at [`cnos.handoff\u002Fskills\u002Fhandoff\u002Fmid-flight\u002FSKILL.md`](..\u002Fmid-flight\u002FSKILL.md) (Sub 4 of cnos#404 \u002F cnos#418). This skill cites the mechanism for contract re-pinning; mid-flight owns the mechanism.\n- This skill does NOT own the artifact-channel rules. The `.cdd\u002Funreleased\u002F{N}\u002F` per-role write ownership, the sequential α→β→γ flow, and the frozen-snapshot rule on merge live at [`cnos.handoff\u002Fskills\u002Fhandoff\u002Fartifact-channel\u002FSKILL.md`](..\u002Fartifact-channel\u002FSKILL.md) (Sub 4 of cnos#404 \u002F cnos#418). This skill cites the channel as the place `gamma-clarification.md` lives.\n- This skill does NOT own CCNF-O orchestration. How cycles compose into waves, roadmaps, gates, and joins is Track A of cnos#405; the dispatch wire-format transports work *within* a cycle (γ → α\u002Fβ), not *across* cycles.\n- This skill does NOT own runtime execution. The dispatch invocation primitive (`cn dispatch`, `claude -p`), observability flags, identity rotation, and timeout recovery live in `cnos.cdd\u002Fskills\u002Fcdd\u002Fharness\u002FSKILL.md`. This skill is the prompt; harness is the runtime that routes the prompt.\n- This skill does NOT type the 7-axis implementation contract into a CUE schema. Whether to lift the Markdown table into `schemas\u002Fhandoff\u002Fimplementation-contract.cue` is deferred; if a future cycle pressures the type-lift, the Markdown template references the schema by `$ref` then.\n\n---\n\n## 9. Kata\n\n### Scenario\n\nγ is scaffolding cycle\u002F{N} against a freshly-quality-gated issue. The issue body declares the gap, ACs, oracle, and evidence. γ has filed `gamma-scaffold.md` to `cycle\u002F{N}`. γ is about to author the α dispatch prompt; δ is the routing actor.\n\n### Task\n\n1. Produce the α prompt at the wire-format shape.\n2. Populate the `## Implementation contract` section.\n3. Hand off to δ for inward-membrane review.\n4. Detect and recover from one unpinned row.\n\n### Expected reasoning\n\n1. **Prompt envelope.** γ writes the α prompt with: role declaration (`You are α`); project pin; role-skill load line (`Load src\u002Fpackages\u002Fcnos.cdd\u002Fskills\u002Fcdd\u002Falpha\u002FSKILL.md and follow its load order`); issue reference (`Issue: gh issue view \u003CN> --json title,body,state,comments`); branch line (`Branch: cycle\u002F\u003CN>`); Tier 3 skill list (`Tier 3 skills: src\u002Fpackages\u002Fcnos.core\u002Fskills\u002Fwrite\u002FSKILL.md, …`).\n\n2. **Implementation contract section.** γ injects the 7-axis Markdown table. γ populates: Language = `Go` (repo convention); CLI integration target = `cn` subcommand (repo convention); Package scoping = `src\u002Fgo\u002Finternal\u002Fcdd\u002F\u003Cfeature>\u002F` (consistent with the cycle's gap); Existing-binary disposition = `preserve` (no existing binary changes); Runtime dependencies = `None` (Go-native; no external deps); JSON\u002Fwire contract preservation = `preserve as-is`; Backward-compat invariant = `existing rules preserved; new content additive`.\n\n3. **δ-inward review.** γ hands the prompt to δ. δ reviews the contract row-by-row. δ finds every row populated; δ routes the α prompt via `cn dispatch`.\n\n4. **Unpinned row + recovery.** Suppose γ instead left \"JSON\u002Fwire contract preservation\" empty because the cycle's effect on the wire contract was unclear. δ catches the empty row at routing time. δ has two paths:\n   - **(a)** δ fills the row per repo conventions: the cycle does not touch the wire format → row = \"preserve as-is\". δ logs the enrichment in `.cdd\u002Funreleased\u002F{N}\u002Fgamma-clarification.md` and routes the α prompt.\n   - **(b)** If the cycle's effect on the wire format is genuinely undecidable (e.g. the cycle's design question *is* whether to change the wire shape), δ blocks dispatch and escalates to operator-as-human. δ does not route until the row is pinned.\n\n### Common failures\n\n- Dispatching α with the implementation-contract section omitted entirely (\"the issue body covers it\").\n- Dispatching with rows populated as \"TBD\" \u002F \"see issue\" \u002F \"α decides\".\n- δ routing without reviewing the contract section.\n- γ silently mutating a pinned row mid-cycle without writing `gamma-clarification.md`.\n- α picking a value for an unpinned row instead of surfacing to γ\u002Fδ.\n- β APPROVE-ing on behavior-only ACs without checking the diff against the contract.\n\n### Verification\n\n- The α prompt envelope carries every wire-format element (role, project, load line, issue, branch, Tier 3 skills, contract section).\n- Every contract row is populated; no \"TBD\".\n- If δ filled a row, the enrichment is logged in `gamma-clarification.md`.\n- If a mid-cycle re-pin happens, `gamma-clarification.md` records it before the cycle-branch transition that signals the re-pin.\n\n### Reflection\n\nA second α reading this kata's output should be able to begin coding without consulting γ's reasoning transcript or chat backlog. Every load-bearing decision is on the prompt envelope, in the issue body, or in the artifact channel — never in chat.\n\n---\n\n**End of skill.**\n",{"name":5,"calls":53,"scope":55,"inputs":56,"parent":38,"outputs":61,"requires":66,"triggers":68,"visibility":78,"description":7,"kata_surface":79,"calls_dynamic":80,"artifact_class":83,"governing_question":84},[54],"HANDOFF.md","task-local",[57,58,59,60],"γ-authored dispatch prompt at scaffold time","cycle issue body","repo conventions (language, package paths, integration target)","the active sub-issue's protocol exemption (if any)",[62,63,64,65],"α-ready \u002F β-ready dispatch prompt with populated implementation-contract section","δ-enriched dispatch prompt (when γ leaves a row unpopulated)","mid-flight `gamma-clarification.md` entry (when a contract axis re-pins mid-cycle)","escalation to operator-as-human (when a contract row is genuinely undecidable)",[67],"active CDD-class cycle exists with a quality-gated issue, a cycle branch on origin, and `gamma-scaffold.md` filed",[5,69,70,71,72,73,74,75,76,77],"dispatch-prompt","implementation-contract","inward-membrane","prompt template","prompt rules","alpha prompt","beta prompt","gamma prompt","7 axes","public","embedded",[81],{"source":82},"cnos.cdd cell-runtime role contracts (gamma\u002Falpha\u002Fbeta\u002Fdelta\u002Foperator), dispatched at cycle runtime by the consumer protocol package","skill","How does γ hand a cycle to α\u002Fβ without leakage — naming the issue, the branch, the Tier 3 skills, and the 7-axis implementation contract — and what δ does when the contract is under-pinned at routing time?","main","fb527e6c4bfb75c71fa75d6471b3aa3da32106d4","src\u002Fpackages\u002Fcnos.handoff\u002Fskills\u002Fhandoff\u002Fdispatch",0,"https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos","https:\u002F\u002Fgithub.com\u002Fusurobor","Coherence engineer. Building git-CN.","2026-11-07 14:25:44",{"source":8,"skillName":5,"commands":94,"prompt":104,"zipAvailable":105},[95,98,101],{"tool":96,"command":97},"npx","npx skills add usurobor\u002Fcnos --skill dispatch",{"tool":99,"command":100},"bunx","bunx skills add usurobor\u002Fcnos --skill dispatch",{"tool":102,"command":103},"pnpm","pnpm dlx skills add usurobor\u002Fcnos --skill dispatch","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fblob\u002Fmain\u002Fsrc\u002Fpackages\u002Fcnos.handoff\u002Fskills\u002Fhandoff\u002Fdispatch\u002FSKILL.md",true,[107,113,119,123,127,131,135,139,143,147,153,157,161,165,169,173,177,181,185,189,193,197,201,205,209,213,217,221,225,229,233,237],{"path":108,"resourceType":109,"resourceTypeDesc":110,"sizeBytes":111,"sourceHtmlUrl":112},".env.example","OTHER","其他",462,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002F.env.example",{"path":114,"resourceType":115,"resourceTypeDesc":116,"sizeBytes":117,"sourceHtmlUrl":118},"references\u002Faudio-processing.md","REFERENCE","参考文档",1416,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Freferences\u002Faudio-processing.md",{"path":120,"resourceType":115,"resourceTypeDesc":116,"sizeBytes":121,"sourceHtmlUrl":122},"references\u002Fdocument-conversion.md",1410,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Freferences\u002Fdocument-conversion.md",{"path":124,"resourceType":115,"resourceTypeDesc":116,"sizeBytes":125,"sourceHtmlUrl":126},"references\u002Fimage-generation.md",1921,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Freferences\u002Fimage-generation.md",{"path":128,"resourceType":115,"resourceTypeDesc":116,"sizeBytes":129,"sourceHtmlUrl":130},"references\u002Fminimax-generation.md",1966,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Freferences\u002Fminimax-generation.md",{"path":132,"resourceType":115,"resourceTypeDesc":116,"sizeBytes":133,"sourceHtmlUrl":134},"references\u002Fmodels-and-pricing.md",2285,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Freferences\u002Fmodels-and-pricing.md",{"path":136,"resourceType":115,"resourceTypeDesc":116,"sizeBytes":137,"sourceHtmlUrl":138},"references\u002Fvideo-analysis.md",2062,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Freferences\u002Fvideo-analysis.md",{"path":140,"resourceType":115,"resourceTypeDesc":116,"sizeBytes":141,"sourceHtmlUrl":142},"references\u002Fvideo-generation.md",1462,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Freferences\u002Fvideo-generation.md",{"path":144,"resourceType":115,"resourceTypeDesc":116,"sizeBytes":145,"sourceHtmlUrl":146},"references\u002Fvision-understanding.md",1566,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Freferences\u002Fvision-understanding.md",{"path":148,"resourceType":149,"resourceTypeDesc":150,"sizeBytes":151,"sourceHtmlUrl":152},"scripts\u002Fanalyze_constants.py","SCRIPT","脚本",4742,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Fscripts\u002Fanalyze_constants.py",{"path":154,"resourceType":149,"resourceTypeDesc":150,"sizeBytes":155,"sourceHtmlUrl":156},"scripts\u002Fanalyze_core.py",7068,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Fscripts\u002Fanalyze_core.py",{"path":158,"resourceType":149,"resourceTypeDesc":150,"sizeBytes":159,"sourceHtmlUrl":160},"scripts\u002Fapi_key_rotator.py",1711,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Fscripts\u002Fapi_key_rotator.py",{"path":162,"resourceType":149,"resourceTypeDesc":150,"sizeBytes":163,"sourceHtmlUrl":164},"scripts\u002Fcheck_setup.py",3997,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Fscripts\u002Fcheck_setup.py",{"path":166,"resourceType":149,"resourceTypeDesc":150,"sizeBytes":167,"sourceHtmlUrl":168},"scripts\u002Fdocument_converter.py",5271,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Fscripts\u002Fdocument_converter.py",{"path":170,"resourceType":149,"resourceTypeDesc":150,"sizeBytes":171,"sourceHtmlUrl":172},"scripts\u002Fenv_utils.py",2039,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Fscripts\u002Fenv_utils.py",{"path":174,"resourceType":149,"resourceTypeDesc":150,"sizeBytes":175,"sourceHtmlUrl":176},"scripts\u002Fgemini_analyze.py",3086,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Fscripts\u002Fgemini_analyze.py",{"path":178,"resourceType":149,"resourceTypeDesc":150,"sizeBytes":179,"sourceHtmlUrl":180},"scripts\u002Fgemini_generate.py",6241,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Fscripts\u002Fgemini_generate.py",{"path":182,"resourceType":149,"resourceTypeDesc":150,"sizeBytes":183,"sourceHtmlUrl":184},"scripts\u002Fmedia_optimizer.py",2939,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Fscripts\u002Fmedia_optimizer.py",{"path":186,"resourceType":149,"resourceTypeDesc":150,"sizeBytes":187,"sourceHtmlUrl":188},"scripts\u002Fminimax_api_client.py",4760,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Fscripts\u002Fminimax_api_client.py",{"path":190,"resourceType":149,"resourceTypeDesc":150,"sizeBytes":191,"sourceHtmlUrl":192},"scripts\u002Fminimax_generate.py",8023,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Fscripts\u002Fminimax_generate.py",{"path":194,"resourceType":149,"resourceTypeDesc":150,"sizeBytes":195,"sourceHtmlUrl":196},"scripts\u002Fopenrouter_fallback.py",4010,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Fscripts\u002Fopenrouter_fallback.py",{"path":198,"resourceType":149,"resourceTypeDesc":150,"sizeBytes":199,"sourceHtmlUrl":200},"scripts\u002Fprovider_router.py",6835,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Fscripts\u002Fprovider_router.py",{"path":202,"resourceType":149,"resourceTypeDesc":150,"sizeBytes":203,"sourceHtmlUrl":204},"scripts\u002Frequirements.txt",244,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Fscripts\u002Frequirements.txt",{"path":206,"resourceType":149,"resourceTypeDesc":150,"sizeBytes":207,"sourceHtmlUrl":208},"scripts\u002Ftests\u002Fenv_isolation.py",250,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Fscripts\u002Ftests\u002Fenv_isolation.py",{"path":210,"resourceType":149,"resourceTypeDesc":150,"sizeBytes":211,"sourceHtmlUrl":212},"scripts\u002Ftests\u002Frun_tests.py",1378,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Fscripts\u002Ftests\u002Frun_tests.py",{"path":214,"resourceType":149,"resourceTypeDesc":150,"sizeBytes":215,"sourceHtmlUrl":216},"scripts\u002Ftests\u002Ftest_check_setup.py",3900,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Fscripts\u002Ftests\u002Ftest_check_setup.py",{"path":218,"resourceType":149,"resourceTypeDesc":150,"sizeBytes":219,"sourceHtmlUrl":220},"scripts\u002Ftests\u002Ftest_gemini_analyze.py",14211,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Fscripts\u002Ftests\u002Ftest_gemini_analyze.py",{"path":222,"resourceType":149,"resourceTypeDesc":150,"sizeBytes":223,"sourceHtmlUrl":224},"scripts\u002Ftests\u002Ftest_gemini_generate.py",9306,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Fscripts\u002Ftests\u002Ftest_gemini_generate.py",{"path":226,"resourceType":149,"resourceTypeDesc":150,"sizeBytes":227,"sourceHtmlUrl":228},"scripts\u002Fvideo_generator.py",2761,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Fscripts\u002Fvideo_generator.py",{"path":230,"resourceType":115,"resourceTypeDesc":116,"sizeBytes":231,"sourceHtmlUrl":232},"workflows\u002Faudio-transcription.md",1234,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Fworkflows\u002Faudio-transcription.md",{"path":234,"resourceType":115,"resourceTypeDesc":116,"sizeBytes":235,"sourceHtmlUrl":236},"workflows\u002Fdocument-extraction.md",1313,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Fworkflows\u002Fdocument-extraction.md",{"path":238,"resourceType":115,"resourceTypeDesc":116,"sizeBytes":239,"sourceHtmlUrl":240},"workflows\u002Fimage-analysis.md",1188,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002Fpackages\u002Fmewkit\u002Fsrc\u002Fmigrate\u002Fmodules\u002Fcursor\u002Froot\u002F.cursor\u002Fskills\u002Fmk-multimodal\u002Fworkflows\u002Fimage-analysis.md",[242,256,272,294,309,326],{"skillNo":243,"name":244,"nameZh":6,"description":245,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":246,"categories":247,"keywords":248,"publishedAt":48},"01M6CF8RWQPM0VXZG06XMR0FFX","issues\u002Ftriage","Issue triage doctrine pointer. Use when classifying a new issue, deciding dispatch eligibility, or deciding whether to close\u002Fsupersede\u002Fdefer.","https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fblob\u002Fmain\u002Fsrc\u002Fpackages\u002Fcnos.issues\u002Fskills\u002Ftriage\u002FSKILL.md",[],[249,250,251,252,253,41,254,78,36,5,34,255],"triage","issues","issues triage","issue triage","SET","decision","doctrine",{"skillNo":257,"name":258,"nameZh":6,"description":259,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":260,"categories":261,"keywords":262,"publishedAt":48},"01M6CF8PJ812DD4APZ3WE8X67B","issues\u002Ftaxonomy","Issue label taxonomy pointer. Use when classifying an issue's kind\u002Farea\u002Fpriority\u002Feffort\u002Fstatus\u002Fprotocol\u002Fdispatch labels, or when the board needs to interpret them.","https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fblob\u002Fmain\u002Fsrc\u002Fpackages\u002Fcnos.issues\u002Fskills\u002Ftaxonomy\u002FSKILL.md",[],[250,263,264,265,266,267,253,268,78,269,36,5,270,34,271],"taxonomy","issues taxonomy","github","status","protocol","open","board","github issue","issue labels",{"skillNo":273,"name":274,"nameZh":6,"description":275,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":276,"categories":277,"keywords":282,"publishedAt":48},"01M6CF8KBMZ4D0CDJQ3PF1YVTP","issues\u002Fmap","Issue-board (Issue Pivot) generation domain. Use when reasoning about `cn issues map`'s fetch, taxonomy-parse, effort-computation, and render pipeline, or about the board's JSON\u002FHTML output contract.","https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fblob\u002Fmain\u002Fsrc\u002Fpackages\u002Fcnos.issues\u002Fskills\u002Fmap\u002FSKILL.md",[278,281],{"categoryNo":279,"categoryName":280,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},[250,283,265,284,285,286,253,287,263,268,41,288,289,269,290,291,292,293,36,34],"issues map","reasoning","data","pipeline","api","json","README","edit","interactive","fetch","generated",{"skillNo":295,"name":250,"nameZh":6,"description":296,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":297,"categories":298,"keywords":299,"publishedAt":48},"01M6CF8CZQH7G7B7RZPANQWR4G","cnos.issues package entrypoint. Use when reasoning about issue taxonomy, the Issue Pivot \u002F issue-board (`cn issues map`), the read-only CDS issue-state evaluator (`cn issues fsm evaluate`), or the current command-dispatch disposition of issue tooling.","https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fblob\u002Fmain\u002Fsrc\u002Fpackages\u002Fcnos.issues\u002FSKILL.md",[],[250,265,300,301,302,303,304,46,305,263,268,41,254,39,289,306,36,307,5,308],"pr","current state","run","artifacts","state","boundary","command","only","cds",{"skillNo":310,"name":311,"nameZh":6,"description":312,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":313,"categories":314,"keywords":315,"publishedAt":48},"01M6CF896XKSRQVB1CSHY8GSXB","receipt-stream","Cross-cycle receipt-stream doctrine for protocol-iteration. Use when γ closes a cycle and writes the per-cycle iteration artifact (`cdd-iteration.md`), when γ updates the cross-cycle aggregator at `.cdd\u002Fiterations\u002FINDEX.md`, when ε reads the receipt stream across cycles to surface protocol-gap patterns, when a finding's disposition lands a cross-repo patch and the cross-repo trace bundle attaches, or when a courtesy empty-findings stub is written for a `protocol_gap_count == 0` cycle.","https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fblob\u002Fmain\u002Fsrc\u002Fpackages\u002Fcnos.handoff\u002Fskills\u002Fhandoff\u002Freceipt-stream\u002FSKILL.md",[],[316,38,303,267,317,41,318,319,320,78,29,321,322,323,36,79,324,325,32,255],"receipt stream","index","learning","format","trace","closeout","read","channel","patch","shape",{"skillNo":327,"name":328,"nameZh":6,"description":329,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":330,"categories":331,"keywords":332,"publishedAt":48},"01M6CF84VCBME6RK8V6HAVDM8Z","mid-flight","Mid-flight γ→in-flight-α rescue channel. Use when γ needs to change a load-bearing fact (pinned axis, scope, AC, blocker) after α has begun coding, when γ edits the cycle's GitHub issue body mid-cycle, or when a spec change lands on origin\u002Fmain while α\u002Fβ polling sessions are in-flight.","https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fblob\u002Fmain\u002Fsrc\u002Fpackages\u002Fcnos.handoff\u002Fskills\u002Fhandoff\u002Fmid-flight\u002FSKILL.md",[],[333,265,334,335,336,337,41,338,339,39,29,322,36,307,5,340,270,341,30,342],"mid flight","change","sessions","file","cache","pin","coordination","up","Legacy","artifact channel"]