mirror of
https://github.com/Donchitos/Claude-Code-Game-Studios.git
synced 2026-10-16 10:17:06 +00:00
Release 1.1.2 — the default path works end to end
Fix release for 1.1.1: the minimal path end to end, engine commands that run on Godot, Unity and Unreal, hook warnings you can see, and verdicts that say when they could not check. Details in CHANGELOG.md; upgrade steps in UPGRADING.md (v1.1.1 → v1.1.2). Fixes #67 Fixes #131 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WuJn2FdynEybfL5KC697nJ
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
7ed2c3e9c4
commit
b21fa0f7f2
@@ -2,189 +2,307 @@
|
||||
|
||||
## Skill Summary
|
||||
|
||||
`/create-epics` reads all approved GDDs and translates them into EPIC.md files,
|
||||
one per system. Epics are organized by layer (Foundation → Core → Feature →
|
||||
Presentation) and processed in priority order within each layer. Each EPIC.md
|
||||
includes scope, governing ADRs, GDD requirements, engine risk level, and a
|
||||
Definition of Done. The skill asks "May I write" before creating each EPIC file.
|
||||
`/create-epics` reads in-scope GDDs, the architecture document, Accepted ADRs and
|
||||
the TR registry, and turns each system into one epic mapped to an architectural
|
||||
module. Systems are processed in layer order (Foundation → Core → Feature →
|
||||
Presentation), and within a layer in `systems-index.md` order. Each epic is
|
||||
presented (layer, GDD, architecture module, governing ADRs, engine risk, ADR
|
||||
coverage, untraced requirements) and the user is asked "Shall I create Epic:
|
||||
[name]?" before anything is written.
|
||||
|
||||
In `full` review mode, a PR-EPIC gate (producer) runs after drafting epics and
|
||||
before writing any files. In `lean` or `solo` mode, PR-EPIC is skipped and noted.
|
||||
Epics are written to `production/epics/[layer]/EPIC-[name].md`.
|
||||
Epics are written to `production/epics/[epic-slug]/EPIC.md`, each after its own
|
||||
"May I write `production/epics/[epic-slug]/EPIC.md` and add its row to
|
||||
`production/epics/index.md` (creating it if absent)?" ask, which names the index
|
||||
it then creates or updates. An EPIC.md that already exists
|
||||
is never overwritten: the user chooses update-in-place (its Stories table kept) or
|
||||
skip. In `full` review mode the
|
||||
PR-EPIC gate (producer) runs after all epics for the layer are defined and before
|
||||
any file is written; in `lean` and `solo` it is skipped with a note. Review mode
|
||||
comes from `resolve_config` (`review_mode`), overridable per run with `--review`.
|
||||
Verdicts: COMPLETE (N epics written) or BLOCKED (user declined all epics, stopped
|
||||
at the gate, or no eligible systems found).
|
||||
|
||||
---
|
||||
|
||||
## Static Assertions (Structural)
|
||||
|
||||
Verified automatically by `/skill-test static` — no fixture needed.
|
||||
Checked against the SKILL.md by `/skill-test spec` — no fixture needed.
|
||||
|
||||
- [ ] Has required frontmatter fields: `name`, `description`, `argument-hint`, `user-invocable`, `allowed-tools`
|
||||
- [ ] Has ≥2 phase headings
|
||||
- [ ] Contains verdict keywords: CREATED, BLOCKED
|
||||
- [ ] Contains verdict keywords: COMPLETE, BLOCKED
|
||||
- [ ] Contains "May I write" collaborative protocol language (per-epic approval)
|
||||
- [ ] Has a next-step handoff at the end (`/create-stories`)
|
||||
- [ ] Has a next-step handoff at the end (`/create-stories [epic-slug]`)
|
||||
- [ ] Documents PR-EPIC gate behavior: runs in full mode; skipped in lean/solo
|
||||
|
||||
---
|
||||
|
||||
## Director Gate Checks
|
||||
|
||||
In `full` mode: PR-EPIC (producer) gate runs after epics are drafted and before
|
||||
any epic file is written. If PR-EPIC returns CONCERNS, epics are revised before
|
||||
the "May I write" ask.
|
||||
In `full` mode: PR-EPIC (`producer`, `.claude/docs/director-gates/pr-epic.md`)
|
||||
runs once all epics for the current layer are defined and before any epic file is
|
||||
written. Verdicts: REALISTIC → proceed to the write asks; CONCERNS →
|
||||
`AskUserQuestion` with `[A] Proceed as planned` / `[B] Revise epic boundaries` /
|
||||
`[C] Stop`; UNREALISTIC → offer to split or merge epics, revise, present the
|
||||
revised epics again, and re-run the gate before writing. CONCERNS `[B]` likewise
|
||||
re-presents the revised epics before the gate re-runs. NOT ASSESSED [missing
|
||||
input] → never read as REALISTIC: the input is supplied and the gate re-run, or
|
||||
the run goes on with `PR-EPIC: NOT ASSESSED — [input]` stated in the output and
|
||||
the Verdict line.
|
||||
|
||||
In `lean` mode: PR-EPIC is skipped. Output notes: "PR-EPIC skipped — lean mode".
|
||||
In `lean` mode: PR-EPIC is skipped. Output notes: "PR-EPIC skipped — Lean mode."
|
||||
|
||||
In `solo` mode: PR-EPIC is skipped. Output notes: "PR-EPIC skipped — solo mode".
|
||||
In `solo` mode: PR-EPIC is skipped. Output notes: "PR-EPIC skipped — Solo mode."
|
||||
|
||||
---
|
||||
|
||||
## Test Cases
|
||||
|
||||
### Case 1: Happy Path — Two approved GDDs create two EPIC files
|
||||
### Case 1: Happy Path — Two approved GDDs create two epics
|
||||
|
||||
**Fixture:**
|
||||
- `design/gdd/systems-index.md` exists with 2 systems listed
|
||||
- Both systems have approved GDDs in `design/gdd/`
|
||||
- `docs/architecture/architecture.md` exists with matching modules
|
||||
- At least one Accepted ADR exists for each system
|
||||
- `production/session-state/review-mode.txt` contains `lean`
|
||||
- `project.yaml`: `engine.name: Godot`, `modes.workflow: full`, `modes.review_mode: lean`
|
||||
- `design/gdd/systems-index.md` lists 2 Foundation systems
|
||||
- Both systems have Approved GDDs in `design/gdd/`, each with a `## Summary`
|
||||
- `docs/architecture/architecture.md` has a module for each system
|
||||
- Accepted ADRs cover every TR-ID for both systems in `docs/architecture/tr-registry.yaml`;
|
||||
the first system has two governing ADRs whose Engine Compatibility rates
|
||||
Knowledge Risk LOW and HIGH
|
||||
- `docs/architecture/control-manifest.md` exists
|
||||
- No `production/epics/` directory
|
||||
|
||||
**Input:** `/create-epics`
|
||||
**Input:** `/create-epics layer: foundation`
|
||||
|
||||
**Expected behavior:**
|
||||
1. Skill reads systems index and both GDDs
|
||||
2. Drafts 2 EPIC definitions (layer, GDD path, ADRs, requirements, engine risk)
|
||||
3. PR-EPIC gate is skipped (lean mode) — noted in output
|
||||
4. For each epic: asks "May I write `production/epics/[layer]/EPIC-[name].md`?"
|
||||
5. After approval: writes both EPIC files
|
||||
1. Globs `design/gdd/*.md` (excluding systems-index and other non-system docs)
|
||||
to establish N, then Greps `^## Summary` to scope the Foundation systems
|
||||
2. Reads the 2 in-scope GDDs, `architecture.md`, the Decision / GDD Requirements
|
||||
Addressed / Engine Compatibility sections of the in-scope ADRs, the TR
|
||||
registry and the manifest header; reports "Loaded 2 GDDs, [M] ADRs, engine: …"
|
||||
3. For each system: presents the epic block and asks "Shall I create Epic: [name]?"
|
||||
4. Notes "PR-EPIC skipped — Lean mode."
|
||||
5. For each epic: asks "May I write `production/epics/[epic-slug]/EPIC.md` and
|
||||
add its row to `production/epics/index.md` (creating it if absent)?" and writes
|
||||
both after approval
|
||||
6. Creates or updates `production/epics/index.md`
|
||||
7. Verdict: COMPLETE — 2 epic(s) written; next step `/create-stories [epic-slug]`
|
||||
|
||||
**Assertions:**
|
||||
- [ ] Epic summary is shown before any write ask
|
||||
- [ ] "May I write" is asked per-epic (not once for all epics together)
|
||||
- [ ] Each EPIC.md contains: layer, GDD path, governing ADRs, requirements table, Definition of Done
|
||||
- [ ] PR-EPIC skip is noted in output
|
||||
- [ ] `production/epics/index.md` is updated after writing
|
||||
- [ ] Skill does NOT write EPIC files without per-epic approval
|
||||
- [ ] Each epic block is shown and "Shall I create Epic: [name]?" asked before any write ask
|
||||
- [ ] "May I write" is asked per epic (not once for both)
|
||||
- [ ] Files land at `production/epics/[epic-slug]/EPIC.md`
|
||||
- [ ] Each EPIC.md contains Layer, GDD path, Architecture Module, Governing ADRs table, GDD Requirements table, Definition of Done
|
||||
- [ ] The first epic's Engine Risk is HIGH — the highest among its governing ADRs, not the first or the average
|
||||
- [ ] The Definition of Done asks Logic and Integration stories for passing tests under `tests/` (the Godot test root) and Visual/Feel and UI stories for retained screenshots in `production/qa/evidence/` — each screen touched for UI, plus a lead sign-off for Visual/Feel
|
||||
- [ ] "PR-EPIC skipped — Lean mode." appears; no producer is spawned
|
||||
- [ ] `production/epics/index.md` is created or updated after writing, and only after an ask that named it
|
||||
- [ ] Verdict is COMPLETE and names `/create-stories [epic-slug]`
|
||||
|
||||
---
|
||||
|
||||
### Case 2: Failure Path — No approved GDDs found
|
||||
### Case 2: Failure Path — No system GDDs found
|
||||
|
||||
**Fixture:**
|
||||
- `design/gdd/systems-index.md` exists
|
||||
- No GDDs in `design/gdd/` have approved status (all are Draft or In Progress)
|
||||
- `project.yaml`: `modes.workflow: full`
|
||||
- `design/gdd/` contains only `game-concept.md` and `systems-index.md` (no
|
||||
system GDDs)
|
||||
|
||||
**Input:** `/create-epics`
|
||||
**Input:** `/create-epics all`
|
||||
|
||||
**Expected behavior:**
|
||||
1. Skill reads systems index and attempts to find approved GDDs
|
||||
2. No approved GDDs found
|
||||
3. Skill outputs: "No approved GDDs to convert. GDDs must be Approved before creating epics."
|
||||
4. Skill suggests running `/design-system` and completing GDD approval first
|
||||
5. Skill exits without creating any EPIC files
|
||||
1. Globs `design/gdd/*.md` excluding the non-system docs — N = 0
|
||||
2. Reports "No system GDDs found in `design/gdd/` — run `/design-system` first"
|
||||
and stops
|
||||
3. No epic is presented, no gate runs, no file is written
|
||||
|
||||
**Assertions:**
|
||||
- [ ] Skill stops cleanly with a clear message when no approved GDDs exist
|
||||
- [ ] No EPIC files are written
|
||||
- [ ] Skill recommends the correct next action
|
||||
- [ ] Verdict is BLOCKED
|
||||
- [ ] `game-concept.md` and `systems-index.md` are not counted as system GDDs
|
||||
- [ ] The "No system GDDs found … run `/design-system` first" message is printed
|
||||
- [ ] No "Shall I create Epic" or "May I write" ask is shown and no EPIC.md or index.md is written
|
||||
- [ ] Verdict is BLOCKED (no eligible systems found), not COMPLETE
|
||||
|
||||
---
|
||||
|
||||
### Case 3: Director Gate — Full mode spawns PR-EPIC before writing
|
||||
|
||||
**Fixture:**
|
||||
- 2 approved GDDs exist
|
||||
- `production/session-state/review-mode.txt` contains `full`
|
||||
- 2 Approved GDDs, architecture, ADRs, TR registry and control manifest as in Case 1
|
||||
- `project.yaml`: `modes.workflow: full`, `modes.review_mode: full` — the workflow
|
||||
is pinned because an unset one resolves to `minimal`, where the skill reads the
|
||||
brief instead of the GDDs and the gate never comes into play
|
||||
- PR-EPIC returns REALISTIC
|
||||
|
||||
**Input:** `/create-epics layer: foundation`
|
||||
|
||||
**Full mode expected behavior:**
|
||||
1. Skill drafts both epics
|
||||
2. PR-EPIC gate spawns and reviews the epic drafts
|
||||
3. If PR-EPIC returns APPROVED: "May I write" ask proceeds normally
|
||||
1. Both epics are presented and accepted via "Shall I create Epic: [name]?"
|
||||
2. `producer` is spawned via `Agent` with gate PR-EPIC, receiving the epic
|
||||
structure summary, the layer, milestone timeline and team capacity
|
||||
3. On REALISTIC: the per-epic "May I write" asks proceed
|
||||
4. Epic files are written after approval
|
||||
|
||||
**Assertions (full mode):**
|
||||
- [ ] PR-EPIC gate appears in output as an active gate
|
||||
- [ ] PR-EPIC is spawned once, after both epics are defined
|
||||
- [ ] PR-EPIC runs before any "May I write" ask
|
||||
- [ ] Epic files are NOT written before PR-EPIC completes
|
||||
- [ ] No EPIC.md is written before PR-EPIC resolves
|
||||
|
||||
**Fixture (lean mode):**
|
||||
- Same GDDs
|
||||
- `production/session-state/review-mode.txt` contains `lean`
|
||||
**Fixture (per-run override):**
|
||||
- Same project, `modes.workflow: full`, `modes.review_mode: full`
|
||||
- Input: `/create-epics layer: foundation --review lean`
|
||||
|
||||
**Lean mode expected behavior:**
|
||||
1. Epics are drafted
|
||||
**Override expected behavior:**
|
||||
1. `--review lean` overrides the resolved `full`
|
||||
2. PR-EPIC is skipped — noted in output
|
||||
3. "May I write" ask proceeds directly
|
||||
3. "May I write" asks proceed directly
|
||||
|
||||
**Assertions (lean mode):**
|
||||
- [ ] "PR-EPIC skipped — lean mode" appears in output
|
||||
- [ ] Skill proceeds to "May I write" without waiting for PR-EPIC
|
||||
**Assertions (override):**
|
||||
- [ ] "PR-EPIC skipped — Lean mode." appears in output
|
||||
- [ ] No producer agent is spawned and the write asks follow the epic definitions directly
|
||||
|
||||
---
|
||||
|
||||
### Case 4: Edge Case — Epic already exists for a GDD
|
||||
### Case 4: Edge Case — Untraced requirements at full workflow
|
||||
|
||||
**Fixture:**
|
||||
- `production/epics/[layer]/EPIC-[name].md` already exists for one of the approved GDDs
|
||||
- The other GDD has no existing EPIC file
|
||||
- `project.yaml`: `modes.workflow: full`, `modes.review_mode: solo`
|
||||
- One Approved Foundation GDD whose system has 5 TR-IDs in `tr-registry.yaml`;
|
||||
Accepted ADRs cover 3 of them (2 untraced)
|
||||
|
||||
**Input:** `/create-epics`
|
||||
**Input:** `/create-epics [system-name]`
|
||||
|
||||
**Expected behavior:**
|
||||
1. Skill detects the existing EPIC file for the first system
|
||||
2. Skill offers to update rather than overwrite: "EPIC-[name].md already exists. Update it, or skip?"
|
||||
3. For the second system (no existing file): proceeds normally with "May I write"
|
||||
1. Epic block shows "GDD Requirements Covered by ADRs: 3 / 5" and lists the 2
|
||||
untraced TR-IDs under "Untraced Requirements"
|
||||
2. Warns: "⚠️ 2 requirements in [system] have no ADR. The epic can be created, but
|
||||
`/create-stories` will write their stories with no governing ADR (`ADR: N/A`)
|
||||
and `Status: Ready` — nothing downstream blocks them, so they would be
|
||||
implemented without architectural guidance. Run `/architecture-decision` first
|
||||
if they need a decision, or proceed and accept the gap."
|
||||
3. Asks "Shall I create Epic: [name]?" with `[A] Yes, create it` /
|
||||
`[B] Skip this epic` / `[C] Pause — I need to write ADRs first`
|
||||
4. On [A]: notes "PR-EPIC skipped — Solo mode.", asks "May I write", and the
|
||||
EPIC.md GDD Requirements table marks the 2 rows `❌ No ADR`
|
||||
|
||||
**Assertions:**
|
||||
- [ ] Skill detects existing EPIC files before writing
|
||||
- [ ] User is offered "update" or "skip" options — not auto-overwritten
|
||||
- [ ] The new system's EPIC is created normally without conflict
|
||||
- [ ] Coverage count and the 2 untraced TR-IDs are shown before the create ask
|
||||
- [ ] The untraced-requirements warning names `/architecture-decision` and says what actually happens downstream: the stories are written `Ready` with no governing ADR — it does not claim they will be Blocked
|
||||
- [ ] Option `[C] Pause — I need to write ADRs first` is offered
|
||||
- [ ] The written EPIC.md marks the untraced rows `❌ No ADR` (not silently dropped)
|
||||
|
||||
---
|
||||
|
||||
### Case 5: Director Gate — PR-EPIC returns CONCERNS
|
||||
|
||||
**Fixture:**
|
||||
- 2 approved GDDs exist
|
||||
- `production/session-state/review-mode.txt` contains `full`
|
||||
- PR-EPIC gate returns CONCERNS (e.g., scope of one epic is too large)
|
||||
- 2 Approved GDDs, architecture, ADRs, TR registry and control manifest as in Case 1
|
||||
- `project.yaml`: `modes.workflow: full`, `modes.review_mode: full`
|
||||
- PR-EPIC returns CONCERNS (one epic's scope is too large)
|
||||
|
||||
**Input:** `/create-epics`
|
||||
**Input:** `/create-epics layer: foundation`
|
||||
|
||||
**Expected behavior:**
|
||||
1. PR-EPIC gate spawns and returns CONCERNS with specific feedback
|
||||
2. Skill surfaces the concerns to the user before any write ask
|
||||
3. User is given options: revise epics, accept concerns and proceed, or stop
|
||||
4. If user revises: updated epic drafts are shown before the "May I write" ask
|
||||
5. Skill does NOT write epics while CONCERNS are unaddressed
|
||||
1. PR-EPIC is spawned and returns CONCERNS with specific feedback
|
||||
2. Skill presents the producer's assessment before any write ask
|
||||
3. `AskUserQuestion`: "Producer raised concerns about the epic structure. How do
|
||||
you want to proceed?" with `[A] Proceed as planned — I accept the producer's
|
||||
concerns` / `[B] Revise epic boundaries — split or merge as recommended` /
|
||||
`[C] Stop — I want to reconsider the scope`
|
||||
4. [B]: epic definitions are revised from Step 4 and PR-EPIC is re-run
|
||||
5. [C]: stops with Verdict: BLOCKED — user wants to reconsider epic scope
|
||||
|
||||
**Assertions:**
|
||||
- [ ] CONCERNS from PR-EPIC are shown to the user before writing
|
||||
- [ ] Skill does NOT auto-write epics when CONCERNS are returned
|
||||
- [ ] User is given a clear choice to revise, proceed, or stop
|
||||
- [ ] Revised epic drafts are re-shown after revision before final approval
|
||||
- [ ] The producer's CONCERNS are shown to the user before any "May I write" ask
|
||||
- [ ] Skill does NOT write epics while the gate is unresolved
|
||||
- [ ] All three options ([A] proceed / [B] revise / [C] stop) are offered
|
||||
- [ ] Choosing [B] re-presents the revised epics and re-runs PR-EPIC before any write ask
|
||||
- [ ] Choosing [C] ends with Verdict: BLOCKED and no files written
|
||||
|
||||
---
|
||||
|
||||
### Case 6: Edge Case — An EPIC.md already exists for one system
|
||||
|
||||
**Fixture:**
|
||||
- As Case 1 (`modes.workflow: full`, `modes.review_mode: lean`)
|
||||
- `production/epics/[first-slug]/EPIC.md` already exists, with
|
||||
`**Stories**: 3 stories` in its header and a 3-row `## Stories` table;
|
||||
`production/epics/index.md` has its row with `3 stories`
|
||||
- The second system has no EPIC.md
|
||||
|
||||
**Input:** `/create-epics layer: foundation`
|
||||
|
||||
**Expected behavior:**
|
||||
1. Both epics are presented and accepted via "Shall I create Epic: [name]?"
|
||||
2. For the first system the skill does not overwrite: it asks "An EPIC.md already
|
||||
exists for [name]. Update it in place, or skip it?" with `[A] Update in place —
|
||||
keep its Stories table` / `[B] Skip this epic`; the user picks [A]
|
||||
3. The update rewrites the header fields other than `Stories`, the Overview,
|
||||
Governing ADRs, GDD Requirements and Definition of Done, and leaves the
|
||||
`**Stories**` line and the `## Stories` table as they were
|
||||
4. For the second system the normal "May I write `…/EPIC.md` and add its row to
|
||||
`production/epics/index.md`…?" ask follows
|
||||
5. `production/epics/index.md` keeps one row for the first epic, still `3 stories`,
|
||||
and gains a row for the second
|
||||
|
||||
**Assertions:**
|
||||
- [ ] The existing file is detected before any write, and update / skip is offered — it is not overwritten
|
||||
- [ ] After the update, the `**Stories**` header line and all 3 `## Stories` rows are unchanged
|
||||
- [ ] The index has no duplicate row for the first epic and does not reset it to `Not yet created`
|
||||
- [ ] The second system's EPIC.md is written only after its own "May I write" ask
|
||||
|
||||
---
|
||||
|
||||
### Case 7: Standard tier — GDDs without `## Summary`, one untraced non-critical requirement
|
||||
|
||||
**Fixture:**
|
||||
- `project.yaml`: `modes.workflow: standard`, `modes.review_mode: solo`
|
||||
- `design/gdd/systems-index.md` lists one Foundation and one Core system; both
|
||||
GDDs predate `## Summary` (the Summary scan matches none of them)
|
||||
- `docs/architecture/architecture.md` has a module for each system, and
|
||||
`docs/architecture/tr-registry.yaml` holds both systems' TR-IDs
|
||||
- The Foundation system's TR-IDs are covered by an Accepted Foundation-layer ADR;
|
||||
one of the Core system's TR-IDs has no ADR
|
||||
- `docs/architecture/control-manifest.md` does not exist
|
||||
|
||||
**Input:** `/create-epics all`
|
||||
|
||||
**Expected behavior:**
|
||||
1. Globs `design/gdd/*.md` for N = 2; the `^## Summary` scan returns 0 matches
|
||||
2. Notes once: "No `## Summary` sections found across 2 GDDs — scoping from
|
||||
`systems-index.md` instead of Summary." and full-reads both in-scope GDDs
|
||||
3. Proceeds without the control manifest (read if present, not required at
|
||||
`standard`)
|
||||
4. The Core epic lists its untraced TR-ID under "Untraced Requirements" as
|
||||
information only — no ⚠️ untraced-requirements warning, nothing blocked
|
||||
5. Notes "PR-EPIC skipped — Solo mode."; each epic is written after its own ask
|
||||
|
||||
**Assertions:**
|
||||
- [ ] A zero-match Summary scan is reported as such and both systems stay in scope — it is not read as "nothing in scope"
|
||||
- [ ] The missing control manifest does not stop the run at `standard`
|
||||
- [ ] The untraced non-critical requirement is listed, but the ⚠️ warning is not emitted
|
||||
- [ ] Both epics are written, each after its own "May I write" ask
|
||||
|
||||
---
|
||||
|
||||
## Protocol Compliance
|
||||
|
||||
- [ ] Epic drafts shown to user before any "May I write" ask
|
||||
- [ ] "May I write" asked per-epic, not once for the entire batch
|
||||
- [ ] Epic definitions shown to user before any "May I write" ask
|
||||
- [ ] "May I write" asked per epic, not once for the entire batch
|
||||
- [ ] An existing EPIC.md is updated in place or skipped by the user's choice — never overwritten
|
||||
- [ ] PR-EPIC gate (if active) runs before write asks — not after
|
||||
- [ ] Skipped gates noted by name and mode in output
|
||||
- [ ] EPIC.md content sourced only from GDDs, ADRs, and architecture docs — nothing invented
|
||||
- [ ] Ends with next-step handoff: `/create-stories [epic-slug]` per created epic
|
||||
- [ ] Never creates stories; ends with next-step handoff `/create-stories [epic-slug]` per created epic
|
||||
|
||||
---
|
||||
|
||||
## Coverage Notes
|
||||
|
||||
- Processing of Core, Feature, and Presentation layers follows the same per-epic
|
||||
pattern as Foundation — layer-specific ordering is not independently tested.
|
||||
- Engine risk level assignment (LOW/MEDIUM/HIGH) from governing ADRs is
|
||||
validated implicitly via Case 1's fixture structure.
|
||||
- The `layer: [name]` and `[system-name]` argument modes follow the same approval
|
||||
pattern as the default (all systems) mode.
|
||||
- Feature and Presentation layers follow the same per-epic pattern as Foundation
|
||||
and Core — layer-specific ordering is not independently tested.
|
||||
- The `minimal` tier (optional; decomposes from `design/game-brief.md`, stops
|
||||
without one) is not given a fixture.
|
||||
- The `## Summary` partial-adoption row (0 < M < N) is not separately tested; the
|
||||
zero-match row is Case 7.
|
||||
- PR-EPIC UNREALISTIC handling (revise, present the revised epics again, re-run
|
||||
the gate), a NOT ASSESSED gate answer, and the no-argument "Which layer or
|
||||
system…" ask are not separately tested.
|
||||
|
||||
Reference in New Issue
Block a user