design
Produce the design artifact for a substantial change: incoherence, challenged assumption, impact graph, acceptance criteria, and leverage.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Produce the design artifact for a substantial change: incoherence, challenged assumption, impact graph, acceptance criteria, and leverage.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
α role in CDD. Implements the selected change, produces the review-ready artifact set, and writes α close-out.
β role in CDD. Reviews the change, merges on approval, and writes β close-out. δ owns the release boundary (tag/deploy/disconnect).
Compatibility pointer. Cross-repo handoff doctrine has moved to cnos.handoff/skills/handoff/cross-repo/SKILL.md as of cnos#416 (Sub 2 of cnos#404 handoff extraction).
δ role-skill. Owns the two-sided coherence-cell membrane (outward boundary decision on receipt + V verdict; inward implementation-contract enrichment at dispatch) and the override authority that compose with V's verdict per RECEIPT-VALIDATION.md.
ε role in CDD — the CDD-specific instantiation of the generic ε doctrine. Reads receipt streams across cycles, surfaces `cdd-*-gap` findings, applies MCA discipline, and writes `cdd-iteration.md` when the cycle's receipt has `protocol_gap_count > 0`.
γ role in CDD. Coordination + closure + triage. γ produces dispatch prompts, unblocks via artifact facts, runs post-release assessment, triages findings, and declares cycle closure. δ executes dispatch; harness owns the mechanics.
| name | design |
| description | Produce the design artifact for a substantial change: incoherence, challenged assumption, impact graph, acceptance criteria, and leverage. |
| artifact_class | skill |
| kata_surface | embedded |
| governing_question | How does α turn a named incoherence into a design that is explicit about impact, authority, leverage, and cost? |
| visibility | internal |
| parent | cdd |
| triggers | ["design"] |
| scope | task-local |
| inputs | ["named incoherence","active constraints","affected surfaces","challenged assumption"] |
| outputs | ["design artifact with impact graph","acceptance criteria","file changes","leverage and negative leverage"] |
| requires | ["substantial change or explicit design need"] |
| calls | [] |
Coherent design: every decision traces to a named incoherence, and every artifact affected by the decision is enumerated before implementation begins.
If you can't name the incoherence, you don't have a design problem. If you can't enumerate what your change affects, you don't have a design — you have a guess.
1.1. Identify the parts
1.2. Articulate how they fit
1.3. Name the failure mode
State the incoherence precisely before proposing anything.
2.1. Name the incoherence, not the feature
2.2. Distinguish schema from population
1.0.0" (population problem)2.3. Show evidence
2.4. Enumerate all failure modes
cn update version comparison is broken" (one failure mode)x64 vs x86_64), version-only comparison (no same-version patches)" (all three)Identify what governs before proposing what changes.
3.1. Name existing contracts
3.2. Name the abstraction level
3.3. Name what can't change
cn deps restore — schema stays, population changes"3.4. Name the architecture assumption you are challenging
This section is not optional. Trace everything the change touches.
4.1. Enumerate downstream consumers
cnos.cds/skills/cds/CDS.md §"Assessment" → §"PRA contents" defines metrics → post-release template must render them → review skill must tag findings by type"4.2. Enumerate upstream producers
4.3. Enumerate copies and embeddings
src/packages/cnos.cdd/skills/cdd/CDD.md is the canonical source; docs/gamma/cdd/CDD.md is a human-facing pointer and must continue to point to the right canonical path"4.4. Name authority relationships
cnos.cds/skills/cds/CDS.md is the normative source for the software-cycle lifecycle algorithm (CDD.md owns the generic CCNF kernel). Role skills (alpha/, beta/, gamma/) expand execution detail for their role. Each fact lives in exactly one place — skills do not restate canonical rules, they add role-local detail that CDS.md does not cover."4.5. Trace rule changes through all embeddings
cnos.cds/skills/cds/CDS.md §"Assessment" → §"PRA contents" → check: post-release template (SKILL.md), post-release procedure (Step 5.5), review skill taxonomy (§5.1), self-coherence report format"The minimum change that closes the gap.
5.1. Start with types
cn cdd status command" (interface without model)type memory_backend = Git_threads | State_files | External of uri — makes the design space explicit before choosing an interface5.2. One source of truth, N derived artifacts
5.3. Derive state from artifacts, not parallel bookkeeping
state/cdd/*.json" (separate state store that drifts)5.4. Mechanize invariants, not judgment
5.5. Name the leverage
5.6. Name the negative leverage
5.7. Price any new process overhead
5.8. State the automation boundary
5.9. Simplest thing that closes all failure modes
5.10. Name what you're not doing
ACs are the contract between design and implementation.
6.1. Map each AC to a specific file and check
grep -rn for version string returns exactly one source file (VERSION)" (file + check + pass/fail)6.2. No charitable interpretation
src/packages/cnos.cdd/skills/cdd/post-release/SKILL.md → §4 Review Quality section → present: yes"6.3. Cover the impact graph
6.4. Include the negative
The design doc is the origin artifact in the CDD pipeline. Plan, issue, and review reference it.
8.1. Design owns gap, constraints, proposal, impact graph, ACs
8.2. Design does not own implementation order or step-level ACs
8.3. Design does not own the problem summary for external consumers
8.4. When companion artifacts exist, link to them
List every file that needs to change, grouped by action.
9.1. Create / Generate / Edit / Delete
VERSION. Generate: version module. Edit: core library, package manifest, dependency config, system config, runtime contract, 3 test files."9.2. Name the specific change per file
default_manifest_for_profile uses current first-party version, not ^1.0.0; lockfile_for_manifest uses exact version + cnos_commit"# [Title]
**Issue:** #NN
**Version:** X.Y.Z
**Mode:** MCA / MCI
**Active Skills:** [2–3 governing skills for this change]
**Engineering Level:** L5 / L6 / L7 *(optional — if used, must be paired with active skills)*
## Problem
[Named incoherence with evidence]
## Constraints
[Existing contracts, abstraction levels, what can't change]
## Challenged Assumption
[Which boundary / ownership model / architecture assumption is being replaced]
## Impact Graph
[Downstream consumers, upstream producers, copies, authority relationships]
## Proposal
[Types → interface → workflow, with design principles governing trade-offs]
## Leverage
[What future work becomes easier / unnecessary / safer]
## Negative Leverage
[What gets heavier, riskier, or more complex]
## Alternatives Considered
| Option | Pros | Cons | Decision |
## Process Cost / Automation Boundary
[If this adds process/artifacts/gates: who pays, who consumes, what should be automated]
## Non-goals
[What V1 deliberately excludes]
## File Changes
[Create / Generate / Edit — specific file, specific change]
## Acceptance Criteria
- [ ] [file + check + pass/fail]
## Known Debt
[What remains after this change]
## CDD Trace
| Step | Artifact | Skills loaded | Decision |
|------|----------|--------------|----------|
| 0 Observe | — | — | [observation inputs and selected signal] |
| 1 Select | — | — | [selected gap] |
| 4 Gap | this artifact | — | [named incoherence] |
| 5 Mode | this artifact | [active skills] | [work shape, level if used, mode] |
| 6 Artifacts | [artifact name] | — | [design/plan/tests/docs progress] |
If this design artifact is the primary branch artifact for a substantial cycle, it must carry the CDD Trace.
If another artifact is the primary branch artifact, point to it explicitly.
Before requesting review:
Scenario: A new transport adapter is proposed. Produce a design doc.
Verify: Does the impact graph cover every consumer? Does every AC map to a file? Is the challenged assumption named, not implied?