@jakkrichm/create-nexus-devflow 2.17.6 → 2.17.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/dist/lib/tooling/commands/scan-doc-contract.js +0 -1
- package/dist/lib/tooling/commands/scan-doc-contract.js.map +1 -1
- package/dist/scripts/prepare-template.js +1 -1
- package/dist/scripts/prepare-template.js.map +1 -1
- package/package.json +1 -1
- package/template/.agents/skills/audit/SKILL.md +2 -0
- package/template/.agents/skills/brainstorm/SKILL.md +5 -4
- package/template/.agents/skills/check/reference/verify.md +6 -0
- package/template/.agents/skills/complete/SKILL.md +2 -0
- package/template/.agents/skills/discovery/SKILL.md +9 -0
- package/template/.agents/skills/doctor/SKILL.md +2 -0
- package/template/.agents/skills/feature/SKILL.md +3 -1
- package/template/.agents/skills/grill/SKILL.md +6 -1
- package/template/.agents/skills/implement/SKILL.md +6 -1
- package/template/.agents/skills/test/SKILL.md +26 -0
- package/template/.claude/skills/audit/SKILL.md +2 -0
- package/template/.claude/skills/brainstorm/SKILL.md +5 -4
- package/template/.claude/skills/check/reference/verify.md +6 -0
- package/template/.claude/skills/complete/SKILL.md +2 -0
- package/template/.claude/skills/discovery/SKILL.md +11 -3
- package/template/.claude/skills/doctor/SKILL.md +2 -0
- package/template/.claude/skills/feature/SKILL.md +3 -1
- package/template/.claude/skills/grill/SKILL.md +6 -1
- package/template/.claude/skills/implement/SKILL.md +6 -1
- package/template/.claude/skills/test/SKILL.md +26 -0
- package/template/devflow/context/coding-standards.md +62 -2
- package/template/devflow/context/glossary.md +20 -0
- package/template/devflow/decisions/README.md +15 -1
- package/template/devflow/reference/feature-spec-template.md +8 -0
- package/template/devflow/reference/help-playbook-protocol.md +8 -8
- package/template/devflow/reference/slicing-archetypes.md +105 -0
- package/template/devflow/docs/USAGE.md +0 -195
- package/template/devflow/docs/diagrams/nexus-devflow-architecture.html +0 -14821
- package/template/devflow/docs/diagrams/nexus-devflow-architecture.json +0 -80
- package/template/devflow/docs/diagrams/nexus-devflow-lifecycle.html +0 -14860
- package/template/devflow/docs/diagrams/nexus-devflow-lifecycle.json +0 -88
- package/template/devflow/docs/examples/living-spec/adr.example.md +0 -43
- package/template/devflow/docs/examples/living-spec/current-feature.example.md +0 -113
- package/template/devflow/docs/examples/living-spec/discovery.example.md +0 -45
- package/template/devflow/docs/examples/living-spec/ideas.example.md +0 -22
- package/template/devflow/docs/governance-rules.md +0 -39
- package/template/devflow/docs/manual-review-workflow-spec.md +0 -116
- package/template/devflow/docs/markdown-metadata-contract.md +0 -140
- package/template/devflow/docs/quickstart.md +0 -124
- package/template/devflow/docs/release-process.md +0 -52
- package/template/devflow/docs/skill-selection-policy.md +0 -65
- package/template/devflow/docs/workflow-surface-map.md +0 -86
package/README.md
CHANGED
|
@@ -68,11 +68,11 @@ red-capable feedback loop and does not modify source. Architecture review follow
|
|
|
68
68
|
Deep Modules principles: small public interfaces, hidden implementation
|
|
69
69
|
complexity, and stable seams.
|
|
70
70
|
|
|
71
|
-
Maintainer contracts and examples are available in the
|
|
72
|
-
[governance rules](https://github.
|
|
73
|
-
[Markdown metadata](https://github.
|
|
74
|
-
[manual review workflow](https://github.
|
|
75
|
-
[Living Spec examples](https://github.
|
|
71
|
+
Maintainer contracts and examples are available in the official documentation:
|
|
72
|
+
[governance rules](https://jakkrich.github.io/nexus-devflow/governance-rules/),
|
|
73
|
+
[Markdown metadata](https://jakkrich.github.io/nexus-devflow/markdown-metadata-contract/),
|
|
74
|
+
[manual review workflow](https://jakkrich.github.io/nexus-devflow/manual-review/), and
|
|
75
|
+
[Living Spec examples](https://jakkrich.github.io/nexus-devflow/living-spec-examples/).
|
|
76
76
|
|
|
77
77
|
---
|
|
78
78
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan-doc-contract.js","sourceRoot":"","sources":["../../../../lib/tooling/commands/scan-doc-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,OAAO,GAAG;IACd,WAAW;IACX,UAAU;IACV,MAAM;IACN,
|
|
1
|
+
{"version":3,"file":"scan-doc-contract.js","sourceRoot":"","sources":["../../../../lib/tooling/commands/scan-doc-contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -71,7 +71,7 @@ async function copyEntry(entry, inventory) {
|
|
|
71
71
|
matchesPrefix(normalized, "devflow/brainstorms") ||
|
|
72
72
|
matchesPrefix(normalized, "devflow/backups") ||
|
|
73
73
|
matchesPrefix(normalized, "devflow/reports") ||
|
|
74
|
-
matchesPrefix(normalized, "devflow/
|
|
74
|
+
matchesPrefix(normalized, "devflow/reference/playbooks") ||
|
|
75
75
|
matchesPrefix(normalized, "devflow/research") ||
|
|
76
76
|
matchesPrefix(normalized, "prototypes") ||
|
|
77
77
|
matchesPrefix(normalized, "evals") ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare-template.js","sourceRoot":"","sources":["../../scripts/prepare-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAEL,sBAAsB,EACtB,yBAAyB,EAC1B,MAAM,gCAAgC,CAAC;AAExC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACvD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AAExD,MAAM,OAAO,GAAG;IACd,WAAW;IACX,WAAW;IACX,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;CACV,CAAC;AAEF,SAAS,aAAa,CAAC,QAAgB,EAAE,MAAc;IACrD,OAAO,QAAQ,KAAK,MAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;AAClE,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,KAAa,EAAE,SAA6B;IACnE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE;YAC1B,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;gBACd,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACpE,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC;oBACtD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAI,aAAa,CAAC,UAAU,EAAE,gBAAgB,CAAC,EAAE,CAAC;oBAChD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IACE,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC;oBACzC,UAAU,KAAK,iBAAiB;oBAChC,UAAU,KAAK,qCAAqC;oBACpD,UAAU,KAAK,qCAAqC;oBACpD,UAAU,KAAK,mCAAmC;oBAClD,UAAU,KAAK,6BAA6B,EAC5C,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IACE,UAAU,CAAC,UAAU,CAAC,2BAA2B,CAAC;oBAClD,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EACjC,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IACE,UAAU,CAAC,UAAU,CAAC,wBAAwB,CAAC;oBAC/C,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EACjC,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IACE,UAAU,CAAC,UAAU,CAAC,4BAA4B,CAAC;oBACnD,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EACjC,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IACE,UAAU,CAAC,UAAU,CAAC,sBAAsB,CAAC;oBAC7C,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAChC,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EACjC,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IACE,UAAU,CAAC,UAAU,CAAC,oBAAoB,CAAC;oBAC3C,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAChC,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EACjC,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IACE,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC;oBACzC,aAAa,CAAC,UAAU,EAAE,eAAe,CAAC;oBAC1C,aAAa,CAAC,UAAU,EAAE,kBAAkB,CAAC;oBAC7C,aAAa,CAAC,UAAU,EAAE,iBAAiB,CAAC;oBAC5C,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC;oBACxC,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC;oBACzC,aAAa,CAAC,UAAU,EAAE,oBAAoB,CAAC;oBAC/C,aAAa,CAAC,UAAU,EAAE,qBAAqB,CAAC;oBAChD,aAAa,CAAC,UAAU,EAAE,iBAAiB,CAAC;oBAC5C,aAAa,CAAC,UAAU,EAAE,iBAAiB,CAAC;oBAC5C,aAAa,CAAC,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"prepare-template.js","sourceRoot":"","sources":["../../scripts/prepare-template.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -301,8 +301,10 @@ expectations. Apply only the selected lens or lenses:
|
|
|
301
301
|
- *Question Intent & Simpler Alternatives*: State what the change actually attempts in one sentence. Ask: is there a simpler, smaller, or more elegant way to achieve the same goal (reusing existing code, config vs code, solving at a different layer)?
|
|
302
302
|
- *Full Call-Path Tracing*: Follow the call graph through real code paths (entry point → call sites → branches taken → state mutated → exit/side effect), including unchanged code on either side of the diff where bugs hide.
|
|
303
303
|
- *Verify Claims & Edge Cases*: Does the traced path actually produce the claimed behavior? What inputs/states would break it (concurrency, retries, null/unicode/huge payloads, ordering)? What does it silently change?
|
|
304
|
+
- *Assumed Decision Debt Check*: Scan `devflow/decisions/` for any ADR with `Status: Assumed`. Flag unratified assumptions as `Q-xxx` (P2) to ensure ratification before production handoff.
|
|
304
305
|
- *No Rubber-Stamping*: "LGTM" is prohibited. State what was traced, what was verified, and what evidence supports the verdict.
|
|
305
306
|
|
|
307
|
+
|
|
306
308
|
Do not nitpick harmless style differences unless they signal drift from the local
|
|
307
309
|
patterns. Prefer a short list of real findings over a broad list of guesses.
|
|
308
310
|
|
|
@@ -29,10 +29,11 @@ Use this when:
|
|
|
29
29
|
- Identify technical, business, or timeline constraints.
|
|
30
30
|
|
|
31
31
|
### 2. Option Formulation (Divergent Phase)
|
|
32
|
-
Provide at least 2-3 materially distinct approaches:
|
|
33
|
-
- **Option A (Standard / Conservative)**: Low risk, proven pattern, minimal changes.
|
|
34
|
-
- **Option B (Modern / Optimized)**: Best-practice architecture, balanced trade-off, scalable.
|
|
35
|
-
- **Option C (Alternative /
|
|
32
|
+
Provide at least 2-3 materially distinct approaches. Where applicable, map each option to its **Slicing Archetype** ([`devflow/reference/slicing-archetypes.md`](file:///d:/Projects/devtools/nexus-devflow/devflow/reference/slicing-archetypes.md)):
|
|
33
|
+
- **Option A (Standard / Conservative)**: Low risk, proven pattern, minimal changes (e.g. *Skateboard* or *Tracer Bullet*).
|
|
34
|
+
- **Option B (Modern / Optimized)**: Best-practice architecture, balanced trade-off, scalable (e.g. *Journey*).
|
|
35
|
+
- **Option C (Alternative / Fast-Feedback)**: High innovation, simplified scope, or UX-first (e.g. *Facade*).
|
|
36
|
+
|
|
36
37
|
|
|
37
38
|
### 3. Trade-off Comparison Matrix
|
|
38
39
|
Construct a structured evaluation table:
|
|
@@ -82,6 +82,12 @@ that evidence path is unavailable, mark the claim unverifiable instead of
|
|
|
82
82
|
passing it from build output. With `when-available`, use the strongest available
|
|
83
83
|
evidence and report any gap plainly.
|
|
84
84
|
|
|
85
|
+
### AC-to-Test Traceability Verification:
|
|
86
|
+
Cross-reference each Acceptance Criterion (`- [ ] **AC-N**`) in `spec.md` against the test suite's executed assertions and observable evidence:
|
|
87
|
+
- Match tagged test cases (e.g. `it('AC-1: ...')`) to their respective criteria.
|
|
88
|
+
- Ensure 100% of defined acceptance criteria have empirical proof before issuing a `verified` status.
|
|
89
|
+
|
|
90
|
+
|
|
85
91
|
## Step 4 - report
|
|
86
92
|
|
|
87
93
|
Give a short, honest verdict, one line per checklist item:
|
|
@@ -106,6 +106,8 @@ Before logging or committing, run a short safety pass and report blockers only:
|
|
|
106
106
|
- no P0 or P1 finding in `devflow/context/{xxx-slug}/findings.md` is `open` or `fixed`.
|
|
107
107
|
`fixed` still blocks on purpose: the repair exists but no review has looked at
|
|
108
108
|
it - run `/audit` to close it. The only waivers are `accepted` or `invalid`.
|
|
109
|
+
- any `Status: Assumed` ADR in `devflow/decisions/` has been surfaced with its ratification plan noted.
|
|
110
|
+
|
|
109
111
|
|
|
110
112
|
Do not claim "passed", "verified", or "working" without naming the command,
|
|
111
113
|
route, screenshot, or output that proves it. Stop before Step 1 if required
|
|
@@ -81,6 +81,15 @@ devflow/discoveries/{DISCOVERY_ID}-{slug}/discovery.md
|
|
|
81
81
|
- **For interactive system architecture, dataflows, state transitions, and sequence traces**: Use `archify` (`.agents/skills/archify/SKILL.md`) to compile validated interactive HTML artifacts with dark/light themes, motion, and route probes.
|
|
82
82
|
- **For editorial, business, quadrant, or broad diagram types**: Use `diagram-design` (`.agents/skills/diagram-design/SKILL.md`).
|
|
83
83
|
- Save diagram artifacts to `devflow/discoveries/{DISCOVERY_ID}-{slug}/diagrams/{name}.html` and reference them directly in `discovery.md`.
|
|
84
|
+
7. **🧩 Slicing & Decomposition Lens (4 Slicing Archetypes)**:
|
|
85
|
+
- When breaking down a large initiative into sub-features or milestones, evaluate against [`devflow/reference/slicing-archetypes.md`](file:///d:/Projects/devtools/nexus-devflow/devflow/reference/slicing-archetypes.md):
|
|
86
|
+
- **Skateboard**: Minimal functional loop (prove core logic end-to-end with minimal UI).
|
|
87
|
+
- **Facade**: Rich UI/DX with mock backend (validate user flow & interaction first).
|
|
88
|
+
- **Tracer Bullet**: Deep vertical slice across all layers (DB -> API -> UI) for 1 happy path.
|
|
89
|
+
- **Journey**: Slice along natural user workflow milestones.
|
|
90
|
+
- Recommend the primary Archetype for each proposed sub-feature in `discovery.md`.
|
|
91
|
+
|
|
92
|
+
|
|
84
93
|
|
|
85
94
|
### Decision & Approval Gate:
|
|
86
95
|
Set one visible decision:
|
|
@@ -164,6 +164,8 @@ Gather these, then summarize. Do not dump file contents.
|
|
|
164
164
|
last commit subject, and whether the branch is ahead of upstream.
|
|
165
165
|
- If the directory is not a git repo, report that as a setup issue and keep
|
|
166
166
|
going.
|
|
167
|
+
9. **Token Economics & Session Cost Audit**
|
|
168
|
+
- When session transcript is available, report token efficiency, cache hit rate, and estimated model costs using `npm run analyze:tokens` or `scripts/analyze-token-usage.ts`.
|
|
167
169
|
|
|
168
170
|
## Output
|
|
169
171
|
|
|
@@ -102,6 +102,8 @@ the data model, stack, and conventions. Decide how big the feature is:
|
|
|
102
102
|
those sub-items back under the parent in `build-plan.md` as an indented
|
|
103
103
|
checklist (`4a`, `4b`, `4c` ...). Spec only the **first** sub-feature now; the
|
|
104
104
|
rest get picked up on later `/feature` runs.
|
|
105
|
+
*Use the **4 Slicing Archetypes** ([`devflow/reference/slicing-archetypes.md`](file:///d:/Projects/devtools/nexus-devflow/devflow/reference/slicing-archetypes.md)) to guide the split: 🛹 Skateboard (core logic first), 🎭 Facade (UI/DX mock first), 🎯 Tracer Bullet (end-to-end slice), or 🧭 Journey (workflow steps).*
|
|
106
|
+
|
|
105
107
|
|
|
106
108
|
Two levels of breakdown - don't confuse them:
|
|
107
109
|
|
|
@@ -198,7 +200,7 @@ Before the user reads it, turn on the spec yourself and try to break it. The
|
|
|
198
200
|
cheapest place to catch a scope problem or an oversized step is here, before any
|
|
199
201
|
code exists. Run the draft against these questions:
|
|
200
202
|
|
|
201
|
-
- **Coverage.** What does this feature need that no step delivers? Push on the
|
|
203
|
+
- **Coverage & Input Mapping.** What does this feature need that no step delivers? Run a mechanical **Input Coverage Test**: does every value this build produces, displays, or computes have a named source (input, DB column, formula, or settled decision) in the spec? Push on the
|
|
202
204
|
unhappy paths the happy-path spec skipped: empty / missing / malformed input,
|
|
203
205
|
the error / loading / empty states, the first-run case, failure of anything
|
|
204
206
|
external it calls.
|
|
@@ -70,10 +70,14 @@ Allocate the next sequential ID (`ADR-001`, `ADR-002`, ...) and create `devflow/
|
|
|
70
70
|
```markdown
|
|
71
71
|
# ADR-xxx: {Title}
|
|
72
72
|
|
|
73
|
-
- **Status**: Accepted
|
|
73
|
+
- **Status**: Accepted | Assumed (Fast-tracked Assumption)
|
|
74
74
|
- **Date**: {YYYY-MM-DD}
|
|
75
75
|
- **Context**: {Why was this decision needed? What problem does it solve?}
|
|
76
76
|
- **Decision**: {What did we decide to do?}
|
|
77
|
+
- **Assumption Metadata** *(Required when Status is Assumed)*:
|
|
78
|
+
- **Assumption**: {What was assumed to unblock progress}
|
|
79
|
+
- **Risk Level & Blast Radius**: {Risk if assumption fails}
|
|
80
|
+
- **Ratification Plan**: {Trigger, date, or test to ratify as Accepted or Rejected}
|
|
77
81
|
- **Alternatives Considered**:
|
|
78
82
|
- *Option 1*: {Pros / Cons}
|
|
79
83
|
- *Option 2*: {Pros / Cons}
|
|
@@ -82,6 +86,7 @@ Allocate the next sequential ID (`ADR-001`, `ADR-002`, ...) and create `devflow/
|
|
|
82
86
|
- *Trade-offs / Risks*: {Costs, constraints, or follow-ups}
|
|
83
87
|
```
|
|
84
88
|
|
|
89
|
+
|
|
85
90
|
---
|
|
86
91
|
|
|
87
92
|
## 4. Closing & Handoff
|
|
@@ -93,7 +93,12 @@ feature was started earlier and interrupted (often a cleared context). The spec
|
|
|
93
93
|
its ticked steps are files, so pick up where it left off: read which steps are done,
|
|
94
94
|
check the git branch and `git status`/log to see what is committed and what is still
|
|
95
95
|
in the working tree, then continue from the **first unchecked step** instead of
|
|
96
|
-
|
|
96
|
+
### Step 0 - Mechanical Input Coverage Pre-flight Gate
|
|
97
|
+
|
|
98
|
+
Before touching code or executing build tasks, perform a positive **Input Coverage Test** against the active Living Spec:
|
|
99
|
+
- Enumerate every value, state, or data field this implementation must produce, compute, or display (from the acceptance criteria and spec design).
|
|
100
|
+
- For each required value, verify that the spec explicitly names where it comes from (e.g. database schema/column, API request parameter, calculated derivation from a named source, or explicit prior architectural decision).
|
|
101
|
+
- **Anti-Hallucination Guard**: Any required value with no named source is an **Owed Decision**. Do NOT rationalize it as "just wiring" and do NOT silently invent an ad-hoc provider, schema field, or business rule. Stop and route to `/grill` or request user clarification before proceeding.
|
|
97
102
|
|
|
98
103
|
## Step 1 - branch
|
|
99
104
|
|
|
@@ -87,6 +87,32 @@ When generating or logging test runs during `/implement` or `/check`:
|
|
|
87
87
|
|
|
88
88
|
---
|
|
89
89
|
|
|
90
|
+
## 7. 5-Tier Test File Classification Strategy
|
|
91
|
+
|
|
92
|
+
Do not write identical test patterns for all file types. Classify files into 5 distinct tiers:
|
|
93
|
+
|
|
94
|
+
| Tier | Category / File Paths | Recommended Test Strategy | What NOT to do |
|
|
95
|
+
| :--- | :--- | :--- | :--- |
|
|
96
|
+
| 🧠 **Tier 1** | **Pure Logic & Algorithms**<br>`src/utils/`, `src/services/`, `lib/` | Fast in-memory Unit Tests with 100% boundary & edge cases coverage. Use TDD (Red-Green-Refactor). | Do not over-mock pure mathematical or transformation functions. |
|
|
97
|
+
| 🎨 **Tier 2** | **UI Components**<br>`src/components/`, `src/pages/` | Component rendering, event dispatching, visual verification via Playwright / BrowserOS Neo. | **Prohibited**: Do not write trivial unit tests that merely assert static HTML tags exist. |
|
|
98
|
+
| 🔌 **Tier 3** | **API & Data Integration**<br>`src/api/`, route handlers, DB models | Contract tests, schema validation (Zod), HTTP status codes, error payload shapes. | Do not test external third-party network APIs without isolated fakes. |
|
|
99
|
+
| ⚙️ **Tier 4** | **Config & Build Tooling**<br>`*.json`, `*.yaml`, `scripts/` | Static contract validation (`npm run check:static`), budget linters (`npm run check:budgets`), smoke tests. | Do not skip static validation on build tool modifications. |
|
|
100
|
+
| 📝 **Tier 5** | **Documentation & Prose**<br>`*.md`, `devflow/docs/` | Structural checks, markdown contract scans, and link integrity verification. | Do not write artificial unit test suites for documentation files. |
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## 8. Acceptance Criteria (`AC-N`) Traceability Protocol
|
|
105
|
+
|
|
106
|
+
To guarantee 100% spec fidelity, every automated test suite must trace back to the active Living Spec:
|
|
107
|
+
- **Test Title Tagging**: Prefix test titles or describe blocks with the target Acceptance Criterion:
|
|
108
|
+
```typescript
|
|
109
|
+
it('AC-1: enforces 32KB byte budget on SKILL.md files', async () => { ... });
|
|
110
|
+
it('AC-2: returns exit code 1 when budget violation occurs', async () => { ... });
|
|
111
|
+
```
|
|
112
|
+
- **Traceability Verification**: During `/check`, cross-reference every `- [ ] AC-N` against the passing test assertion name to ensure zero untracked requirements.
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
90
116
|
## Relationship To DevFlow 2.6.x
|
|
91
117
|
|
|
92
118
|
- **Classification**: Companion command & Engineering standard
|
|
@@ -300,8 +300,10 @@ expectations. Apply only the selected lens or lenses:
|
|
|
300
300
|
- *Question Intent & Simpler Alternatives*: State what the change actually attempts in one sentence. Ask: is there a simpler, smaller, or more elegant way to achieve the same goal (reusing existing code, config vs code, solving at a different layer)?
|
|
301
301
|
- *Full Call-Path Tracing*: Follow the call graph through real code paths (entry point → call sites → branches taken → state mutated → exit/side effect), including unchanged code on either side of the diff where bugs hide.
|
|
302
302
|
- *Verify Claims & Edge Cases*: Does the traced path actually produce the claimed behavior? What inputs/states would break it (concurrency, retries, null/unicode/huge payloads, ordering)? What does it silently change?
|
|
303
|
+
- *Assumed Decision Debt Check*: Scan `devflow/decisions/` for any ADR with `Status: Assumed`. Flag unratified assumptions as `Q-xxx` (P2) to ensure ratification before production handoff.
|
|
303
304
|
- *No Rubber-Stamping*: "LGTM" is prohibited. State what was traced, what was verified, and what evidence supports the verdict.
|
|
304
305
|
|
|
306
|
+
|
|
305
307
|
Do not nitpick harmless style differences unless they signal drift from the local
|
|
306
308
|
patterns. Prefer a short list of real findings over a broad list of guesses.
|
|
307
309
|
|
|
@@ -29,10 +29,11 @@ Use this when:
|
|
|
29
29
|
- Identify technical, business, or timeline constraints.
|
|
30
30
|
|
|
31
31
|
### 2. Option Formulation (Divergent Phase)
|
|
32
|
-
Provide at least 2-3 materially distinct approaches:
|
|
33
|
-
- **Option A (Standard / Conservative)**: Low risk, proven pattern, minimal changes.
|
|
34
|
-
- **Option B (Modern / Optimized)**: Best-practice architecture, balanced trade-off, scalable.
|
|
35
|
-
- **Option C (Alternative /
|
|
32
|
+
Provide at least 2-3 materially distinct approaches. Where applicable, map each option to its **Slicing Archetype** ([`devflow/reference/slicing-archetypes.md`](file:///d:/Projects/devtools/nexus-devflow/devflow/reference/slicing-archetypes.md)):
|
|
33
|
+
- **Option A (Standard / Conservative)**: Low risk, proven pattern, minimal changes (e.g. *Skateboard* or *Tracer Bullet*).
|
|
34
|
+
- **Option B (Modern / Optimized)**: Best-practice architecture, balanced trade-off, scalable (e.g. *Journey*).
|
|
35
|
+
- **Option C (Alternative / Fast-Feedback)**: High innovation, simplified scope, or UX-first (e.g. *Facade*).
|
|
36
|
+
|
|
36
37
|
|
|
37
38
|
### 3. Trade-off Comparison Matrix
|
|
38
39
|
Construct a structured evaluation table:
|
|
@@ -82,6 +82,12 @@ that evidence path is unavailable, mark the claim unverifiable instead of
|
|
|
82
82
|
passing it from build output. With `when-available`, use the strongest available
|
|
83
83
|
evidence and report any gap plainly.
|
|
84
84
|
|
|
85
|
+
### AC-to-Test Traceability Verification:
|
|
86
|
+
Cross-reference each Acceptance Criterion (`- [ ] **AC-N**`) in `spec.md` against the test suite's executed assertions and observable evidence:
|
|
87
|
+
- Match tagged test cases (e.g. `it('AC-1: ...')`) to their respective criteria.
|
|
88
|
+
- Ensure 100% of defined acceptance criteria have empirical proof before issuing a `verified` status.
|
|
89
|
+
|
|
90
|
+
|
|
85
91
|
## Step 4 - report
|
|
86
92
|
|
|
87
93
|
Give a short, honest verdict, one line per checklist item:
|
|
@@ -106,6 +106,8 @@ Before logging or committing, run a short safety pass and report blockers only:
|
|
|
106
106
|
- no P0 or P1 finding in `devflow/context/{xxx-slug}/findings.md` is `open` or `fixed`.
|
|
107
107
|
`fixed` still blocks on purpose: the repair exists but no review has looked at
|
|
108
108
|
it - run `/audit` to close it. The only waivers are `accepted` or `invalid`.
|
|
109
|
+
- any `Status: Assumed` ADR in `devflow/decisions/` has been surfaced with its ratification plan noted.
|
|
110
|
+
|
|
109
111
|
|
|
110
112
|
Do not claim "passed", "verified", or "working" without naming the command,
|
|
111
113
|
route, screenshot, or output that proves it. Stop before Step 1 if required
|
|
@@ -77,10 +77,18 @@ devflow/discoveries/{DISCOVERY_ID}-{slug}/discovery.md
|
|
|
77
77
|
- Codebase-grounded interactive inquiry to clarify entity boundaries, data flows, and edge cases.
|
|
78
78
|
- Record agreed terminology in `devflow/context/glossary.md` and major architecture decisions in `devflow/decisions/ADR-xxx-{slug}.md`.
|
|
79
79
|
6. **🎨 Visual Architecture & Diagram Design Lens (`archify` / `diagram-design`)**:
|
|
80
|
-
- When exploring system topologies, legacy IT modernizations, sequence flows, data platform pipelines, state machines, or user journeys, check for `archify` or `diagram-design` in `.
|
|
81
|
-
- **For interactive system architecture, dataflows, state transitions, and sequence traces**: Use `archify` (`.
|
|
82
|
-
- **For editorial, business, quadrant, or broad diagram types**: Use `diagram-design` (`.
|
|
80
|
+
- When exploring system topologies, legacy IT modernizations, sequence flows, data platform pipelines, state machines, or user journeys, check for `archify` or `diagram-design` in `.claude/skills/`.
|
|
81
|
+
- **For interactive system architecture, dataflows, state transitions, and sequence traces**: Use `archify` (`.claude/skills/archify/SKILL.md`) to compile validated interactive HTML artifacts with dark/light themes, motion, and route probes.
|
|
82
|
+
- **For editorial, business, quadrant, or broad diagram types**: Use `diagram-design` (`.claude/skills/diagram-design/SKILL.md`).
|
|
83
83
|
- Save diagram artifacts to `devflow/discoveries/{DISCOVERY_ID}-{slug}/diagrams/{name}.html` and reference them directly in `discovery.md`.
|
|
84
|
+
7. **🧩 Slicing & Decomposition Lens (4 Slicing Archetypes)**:
|
|
85
|
+
- When breaking down a large initiative into sub-features or milestones, evaluate against [`devflow/reference/slicing-archetypes.md`](file:///d:/Projects/devtools/nexus-devflow/devflow/reference/slicing-archetypes.md):
|
|
86
|
+
- **Skateboard**: Minimal functional loop (prove core logic end-to-end with minimal UI).
|
|
87
|
+
- **Facade**: Rich UI/DX with mock backend (validate user flow & interaction first).
|
|
88
|
+
- **Tracer Bullet**: Deep vertical slice across all layers (DB -> API -> UI) for 1 happy path.
|
|
89
|
+
- **Journey**: Slice along natural user workflow milestones.
|
|
90
|
+
- Recommend the primary Archetype for each proposed sub-feature in `discovery.md`.
|
|
91
|
+
|
|
84
92
|
|
|
85
93
|
### Decision & Approval Gate:
|
|
86
94
|
Set one visible decision:
|
|
@@ -164,6 +164,8 @@ Gather these, then summarize. Do not dump file contents.
|
|
|
164
164
|
last commit subject, and whether the branch is ahead of upstream.
|
|
165
165
|
- If the directory is not a git repo, report that as a setup issue and keep
|
|
166
166
|
going.
|
|
167
|
+
9. **Token Economics & Session Cost Audit**
|
|
168
|
+
- When session transcript is available, report token efficiency, cache hit rate, and estimated model costs using `npm run analyze:tokens` or `scripts/analyze-token-usage.ts`.
|
|
167
169
|
|
|
168
170
|
## Output
|
|
169
171
|
|
|
@@ -102,6 +102,8 @@ the data model, stack, and conventions. Decide how big the feature is:
|
|
|
102
102
|
those sub-items back under the parent in `build-plan.md` as an indented
|
|
103
103
|
checklist (`4a`, `4b`, `4c` ...). Spec only the **first** sub-feature now; the
|
|
104
104
|
rest get picked up on later `/feature` runs.
|
|
105
|
+
*Use the **4 Slicing Archetypes** ([`devflow/reference/slicing-archetypes.md`](file:///d:/Projects/devtools/nexus-devflow/devflow/reference/slicing-archetypes.md)) to guide the split: 🛹 Skateboard (core logic first), 🎭 Facade (UI/DX mock first), 🎯 Tracer Bullet (end-to-end slice), or 🧭 Journey (workflow steps).*
|
|
106
|
+
|
|
105
107
|
|
|
106
108
|
Two levels of breakdown - don't confuse them:
|
|
107
109
|
|
|
@@ -198,7 +200,7 @@ Before the user reads it, turn on the spec yourself and try to break it. The
|
|
|
198
200
|
cheapest place to catch a scope problem or an oversized step is here, before any
|
|
199
201
|
code exists. Run the draft against these questions:
|
|
200
202
|
|
|
201
|
-
- **Coverage.** What does this feature need that no step delivers? Push on the
|
|
203
|
+
- **Coverage & Input Mapping.** What does this feature need that no step delivers? Run a mechanical **Input Coverage Test**: does every value this build produces, displays, or computes have a named source (input, DB column, formula, or settled decision) in the spec? Push on the
|
|
202
204
|
unhappy paths the happy-path spec skipped: empty / missing / malformed input,
|
|
203
205
|
the error / loading / empty states, the first-run case, failure of anything
|
|
204
206
|
external it calls.
|
|
@@ -70,10 +70,14 @@ Allocate the next sequential ID (`ADR-001`, `ADR-002`, ...) and create `devflow/
|
|
|
70
70
|
```markdown
|
|
71
71
|
# ADR-xxx: {Title}
|
|
72
72
|
|
|
73
|
-
- **Status**: Accepted
|
|
73
|
+
- **Status**: Accepted | Assumed (Fast-tracked Assumption)
|
|
74
74
|
- **Date**: {YYYY-MM-DD}
|
|
75
75
|
- **Context**: {Why was this decision needed? What problem does it solve?}
|
|
76
76
|
- **Decision**: {What did we decide to do?}
|
|
77
|
+
- **Assumption Metadata** *(Required when Status is Assumed)*:
|
|
78
|
+
- **Assumption**: {What was assumed to unblock progress}
|
|
79
|
+
- **Risk Level & Blast Radius**: {Risk if assumption fails}
|
|
80
|
+
- **Ratification Plan**: {Trigger, date, or test to ratify as Accepted or Rejected}
|
|
77
81
|
- **Alternatives Considered**:
|
|
78
82
|
- *Option 1*: {Pros / Cons}
|
|
79
83
|
- *Option 2*: {Pros / Cons}
|
|
@@ -82,6 +86,7 @@ Allocate the next sequential ID (`ADR-001`, `ADR-002`, ...) and create `devflow/
|
|
|
82
86
|
- *Trade-offs / Risks*: {Costs, constraints, or follow-ups}
|
|
83
87
|
```
|
|
84
88
|
|
|
89
|
+
|
|
85
90
|
---
|
|
86
91
|
|
|
87
92
|
## 4. Closing & Handoff
|
|
@@ -93,7 +93,12 @@ feature was started earlier and interrupted (often a cleared context). The spec
|
|
|
93
93
|
its ticked steps are files, so pick up where it left off: read which steps are done,
|
|
94
94
|
check the git branch and `git status`/log to see what is committed and what is still
|
|
95
95
|
in the working tree, then continue from the **first unchecked step** instead of
|
|
96
|
-
|
|
96
|
+
### Step 0 - Mechanical Input Coverage Pre-flight Gate
|
|
97
|
+
|
|
98
|
+
Before touching code or executing build tasks, perform a positive **Input Coverage Test** against the active Living Spec:
|
|
99
|
+
- Enumerate every value, state, or data field this implementation must produce, compute, or display (from the acceptance criteria and spec design).
|
|
100
|
+
- For each required value, verify that the spec explicitly names where it comes from (e.g. database schema/column, API request parameter, calculated derivation from a named source, or explicit prior architectural decision).
|
|
101
|
+
- **Anti-Hallucination Guard**: Any required value with no named source is an **Owed Decision**. Do NOT rationalize it as "just wiring" and do NOT silently invent an ad-hoc provider, schema field, or business rule. Stop and route to `/grill` or request user clarification before proceeding.
|
|
97
102
|
|
|
98
103
|
## Step 1 - branch
|
|
99
104
|
|
|
@@ -87,6 +87,32 @@ When generating or logging test runs during `/implement` or `/check`:
|
|
|
87
87
|
|
|
88
88
|
---
|
|
89
89
|
|
|
90
|
+
## 7. 5-Tier Test File Classification Strategy
|
|
91
|
+
|
|
92
|
+
Do not write identical test patterns for all file types. Classify files into 5 distinct tiers:
|
|
93
|
+
|
|
94
|
+
| Tier | Category / File Paths | Recommended Test Strategy | What NOT to do |
|
|
95
|
+
| :--- | :--- | :--- | :--- |
|
|
96
|
+
| 🧠 **Tier 1** | **Pure Logic & Algorithms**<br>`src/utils/`, `src/services/`, `lib/` | Fast in-memory Unit Tests with 100% boundary & edge cases coverage. Use TDD (Red-Green-Refactor). | Do not over-mock pure mathematical or transformation functions. |
|
|
97
|
+
| 🎨 **Tier 2** | **UI Components**<br>`src/components/`, `src/pages/` | Component rendering, event dispatching, visual verification via Playwright / BrowserOS Neo. | **Prohibited**: Do not write trivial unit tests that merely assert static HTML tags exist. |
|
|
98
|
+
| 🔌 **Tier 3** | **API & Data Integration**<br>`src/api/`, route handlers, DB models | Contract tests, schema validation (Zod), HTTP status codes, error payload shapes. | Do not test external third-party network APIs without isolated fakes. |
|
|
99
|
+
| ⚙️ **Tier 4** | **Config & Build Tooling**<br>`*.json`, `*.yaml`, `scripts/` | Static contract validation (`npm run check:static`), budget linters (`npm run check:budgets`), smoke tests. | Do not skip static validation on build tool modifications. |
|
|
100
|
+
| 📝 **Tier 5** | **Documentation & Prose**<br>`*.md`, `devflow/docs/` | Structural checks, markdown contract scans, and link integrity verification. | Do not write artificial unit test suites for documentation files. |
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## 8. Acceptance Criteria (`AC-N`) Traceability Protocol
|
|
105
|
+
|
|
106
|
+
To guarantee 100% spec fidelity, every automated test suite must trace back to the active Living Spec:
|
|
107
|
+
- **Test Title Tagging**: Prefix test titles or describe blocks with the target Acceptance Criterion:
|
|
108
|
+
```typescript
|
|
109
|
+
it('AC-1: enforces 32KB byte budget on SKILL.md files', async () => { ... });
|
|
110
|
+
it('AC-2: returns exit code 1 when budget violation occurs', async () => { ... });
|
|
111
|
+
```
|
|
112
|
+
- **Traceability Verification**: During `/check`, cross-reference every `- [ ] AC-N` against the passing test assertion name to ensure zero untracked requirements.
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
90
116
|
## Relationship To DevFlow 2.6.x
|
|
91
117
|
|
|
92
118
|
- **Classification**: Companion command & Engineering standard
|
|
@@ -203,7 +203,7 @@ Testing is a core quality gate in Nexus-DevFlow, not an afterthought:
|
|
|
203
203
|
|
|
204
204
|
## 12. HTML Documentation & Theming Standards (Light Theme Mandate)
|
|
205
205
|
|
|
206
|
-
All generated HTML artifacts across the framework (Contextual Help Playbooks `devflow/
|
|
206
|
+
All generated HTML artifacts across the framework (Contextual Help Playbooks `devflow/reference/playbooks/{skill}.html`, Standalone Reports `report-html`, Architecture & Workflow Diagrams `archify` / `diagram-design`, and UI Prototypes/Mockups) MUST strictly adhere to the **Paper/Ink Light Theme Design System**:
|
|
207
207
|
|
|
208
208
|
- **Mandatory Default `data-theme="light"`**:
|
|
209
209
|
- All HTML documents must start with `<html lang="th" data-theme="light">`.
|
|
@@ -245,6 +245,66 @@ All generated HTML artifacts across the framework (Contextual Help Playbooks `de
|
|
|
245
245
|
- Fonts: Google Sans (`'Google Sans'`, `'Google Sans Text'`) for display headers and body text, `'JetBrains Mono'` for code and monospaced data.
|
|
246
246
|
- Full support for `prefers-reduced-motion: reduce` and clear `:focus-visible` outlines.
|
|
247
247
|
- **Master Reference Template**:
|
|
248
|
-
- Refer to `devflow/
|
|
248
|
+
- Refer to `devflow/reference/playbooks/template.html` as the authoritative, reusable component reference for all playbook and HTML documentation generation.
|
|
249
249
|
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
## 13. Prompt Token Economy & Mechanical Input Coverage Standards
|
|
253
|
+
|
|
254
|
+
- **Skill Byte Budgets & Prompt Hygiene**:
|
|
255
|
+
- **Size Ceilings**: `SKILL.md` must not exceed **32 KB**, support/reference markdown files must not exceed **24 KB**, and frontmatter `description` must not exceed **400 characters**.
|
|
256
|
+
- **Every Line Must Earn Its Keep**: If an agent naturally behaves correctly by default, avoid adding redundant prose. Instruct directly without philosophical justification.
|
|
257
|
+
- **Completion Summaries (Lead with Essentials)**:
|
|
258
|
+
- **Headline**: One-line summary of what was accomplished.
|
|
259
|
+
- **Next**: Exactly one next recommended command or action.
|
|
260
|
+
- **Heads up**: Active blockers, decision debt, or critical items needing user attention (omitted when empty).
|
|
261
|
+
- **Pointer**: Link to the detailed artifact rather than repeating large text blocks.
|
|
262
|
+
- **No Checklist Spam**: Avoid dumping lists of obvious successes (`Semantic HTML: OK`, `Keyboard: OK`).
|
|
263
|
+
- **Mechanical Input Coverage Principle (Anti-Hallucination Gate)**:
|
|
264
|
+
- Before implementation, enumerate all values and states that the code must produce or display.
|
|
265
|
+
- Each value must have an explicitly named source (Database column, Input argument, Calculated derivation, or Settled architectural decision).
|
|
266
|
+
- Any required value lacking a named source represents an **Owed Decision**; agents are prohibited from making unrecorded architectural choices or guessing implementations under the guise of "just wiring". Stop and route to `/grill` or request user clarification.
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
## 14. Architectural Slicing & Assumed Decision Governance
|
|
271
|
+
|
|
272
|
+
- **4 Slicing Archetypes Framework (`devflow/reference/slicing-archetypes.md`)**:
|
|
273
|
+
- When decomposing large roadmaps or splitting oversized features, select from the 4 standard archetypes:
|
|
274
|
+
- **Skateboard**: Minimal functional loop (prove core logic end-to-end with minimal UI).
|
|
275
|
+
- **Facade**: Rich UI/DX with mock backend (validate user flow & interaction first).
|
|
276
|
+
- **Tracer Bullet**: Deep vertical slice across all layers (DB -> API -> UI) for 1 happy path.
|
|
277
|
+
- **Journey**: Slice along natural user workflow milestones.
|
|
278
|
+
- Avoid purely technical layer slicing (e.g. DB only or backend only) that leaves work unverifiable in a single delivery run.
|
|
279
|
+
- **Assumed Decision Debt Lifecycle (`Status: Assumed`)**:
|
|
280
|
+
- For fast-tracking development when user confirmation is pending, record decisions in ADRs (`devflow/decisions/`) with `Status: Assumed`.
|
|
281
|
+
- Every assumed decision MUST specify `Assumption`, `Risk Level & Blast Radius`, and `Ratification Plan`.
|
|
282
|
+
- Untracked architectural assumptions are strictly prohibited.
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
## 15. Test File Classification & AC Traceability Standards
|
|
287
|
+
|
|
288
|
+
- **5-Tier Test Classification**:
|
|
289
|
+
- **Tier 1: Pure Logic & Algorithms** (`src/utils/`, `services/`, `lib/`): Fast in-memory Unit Tests, 100% boundary & edge cases coverage. Use TDD.
|
|
290
|
+
- **Tier 2: UI Components** (`src/components/`, `src/pages/`): Component mounting & event interaction, visual verification via Playwright / BrowserOS Neo. Prohibit trivial unit tests for static HTML markup.
|
|
291
|
+
- **Tier 3: API & Data Integration** (`src/api/`, route handlers, DB models): Contract tests, schema validation (Zod), status codes, payload shapes.
|
|
292
|
+
- **Tier 4: Config & Build Tooling** (`*.json`, `*.yaml`, `scripts/`): Static contract validation (`npm run check:static`), budget linters (`npm run check:budgets`), smoke tests.
|
|
293
|
+
- **Tier 5: Documentation & Prose** (`*.md`, `docs/`, `scripts/data/`): Structural checks, markdown contract scans, link integrity verification.
|
|
294
|
+
- **Acceptance Criteria (`AC-N`) Traceability**:
|
|
295
|
+
- All automated test suites and assertion descriptions must explicitly include the target Acceptance Criterion tag (e.g. `it('AC-1: ...')`).
|
|
296
|
+
- During `/check`, verify that 100% of defined acceptance criteria in the active living spec have matching passing empirical proof.
|
|
297
|
+
|
|
298
|
+
---
|
|
250
299
|
|
|
300
|
+
## 16. Token Economy & Cost Optimization Standards
|
|
301
|
+
|
|
302
|
+
- **Token Economics Visibility**:
|
|
303
|
+
- Leverage `npm run analyze:tokens` (or `scripts/analyze-token-usage.ts`) to audit session token usage across Main Thread vs Subagents.
|
|
304
|
+
- Track the 4 token dimensions: **Fresh Input Tokens**, **Prompt Cache Write Tokens**, **Prompt Cache Read Tokens (Hits)**, and **Output Tokens**.
|
|
305
|
+
- **Prompt Caching Optimization**:
|
|
306
|
+
- Structure documentation and context files with immutable headers first so LLM providers can achieve high prompt cache hit rates (>60%).
|
|
307
|
+
- Ensure living specs and references stay compact (under byte budgets) to prevent prompt cache misses and unnecessary token churn.
|
|
308
|
+
- **Cost Metrics & Savings**:
|
|
309
|
+
- Track estimated model costs (USD) against model pricing catalogs (Claude 3.7/3.5 Sonnet, Gemini 2.5 Pro/Flash, GPT-4o).
|
|
310
|
+
- Aim for >50% cost savings through effective prompt caching reuse.
|
|
@@ -29,3 +29,23 @@
|
|
|
29
29
|
- **Definition**: สรุปผลการเปลี่ยนแปลง, บทเรียนที่ได้รับ (Lessons Learned), และการตัดสินใจสำคัญที่บันทึกไว้ในตอนปิดรอบการพัฒนา
|
|
30
30
|
- **Constraints**: บันทึกอัตโนมัติใน Living Spec ก่อนที่จะทำการ Squash Merge และ Archive
|
|
31
31
|
- **Aliases / Related**: Delivery Digest, Retrospective Log
|
|
32
|
+
|
|
33
|
+
### 4 Slicing Archetypes
|
|
34
|
+
- **Definition**: รูปแบบมาตรฐาน 4 ประการในการแบ่งย่อยฟีเจอร์ (Skateboard, Facade, Tracer Bullet, Journey) เพื่อให้ได้รอบการส่งมอบที่เล็ก ทดสอบได้จริง และไม่ติดขัด Technical Layer Dependency
|
|
35
|
+
- **Constraints**: ใช้งานใน `/discovery`, `/brainstorm`, และ `/feature` (Step 2)
|
|
36
|
+
- **Aliases / Related**: `slicing-archetypes.md`, Feature Decomposition, Slicing Strategy
|
|
37
|
+
|
|
38
|
+
### Assumed Decision Debt
|
|
39
|
+
- **Definition**: หนี้การตัดสินใจที่เกิดขึ้นจากการตั้งสมมติฐานทางสถาปัตยกรรมชั่วคราว (`Status: Assumed` ใน ADR) เพื่อให้การพัฒนาเดินหน้าได้อย่างรวดเร็ว (Fast-track) โดยไม่สะดุด
|
|
40
|
+
- **Constraints**: ต้องระบุ Assumption, Risk Level, และ Ratification Plan กำกับเสมอ และต้องได้รับการตรวจทาน/ยืนยัน (Ratified) ก่อนปล่อยสู่ Production
|
|
41
|
+
- **Aliases / Related**: Assumed ADR, Decision Debt, Fast-track Assumption
|
|
42
|
+
|
|
43
|
+
### AC-to-Test Traceability Matrix
|
|
44
|
+
- **Definition**: ตารางเชื่อมโยงระหว่างข้อกำหนด Acceptance Criteria (`AC-N`) ใน Living Spec กับ Automated Test Cases และหลักฐานเชิงประจักษ์ เพื่อให้มั่นใจว่าทุกข้อกำหนดได้รับการทดสอบและพิสูจน์จริงแบบ 1-to-1
|
|
45
|
+
- **Constraints**: ใช้ระบุใน Living Spec (`spec.md`), ตรวจทานใน `/check`, และกำกับด้วย `AC-N` Tag ในโค้ดทดสอบ
|
|
46
|
+
- **Aliases / Related**: Traceability Matrix, AC Mapping, Spec Verification Trace
|
|
47
|
+
|
|
48
|
+
### Prompt Caching Rate & Billed-Equivalent Cost
|
|
49
|
+
- **Definition**: ดัชนีวัดประสิทธิภาพการใช้ Token ของ AI Coding Agent โดยแยกแยะระหว่าง Fresh Input Tokens, Cache Creation (Write), Cache Read (Prompt Caching Hits), และ Output Tokens เพื่อคำนวณต้นทุนจริง (USD) และ % ส่วนลดที่ประหยัดได้จาก Prompt Caching
|
|
50
|
+
- **Constraints**: วิเคราะห์ผ่าน `scripts/analyze-token-usage.ts` และคำสั่ง `npm run analyze:tokens`
|
|
51
|
+
- **Aliases / Related**: Token Economics, Cost Units, Cache Hit Rate
|
|
@@ -11,10 +11,14 @@ Each ADR is named `ADR-xxx-{slug}.md` (e.g. `ADR-001-database-schema-migration.m
|
|
|
11
11
|
```markdown
|
|
12
12
|
# ADR-xxx: {Title}
|
|
13
13
|
|
|
14
|
-
- **Status**: Accepted | Proposed | Deprecated | Superseded by ADR-yyy
|
|
14
|
+
- **Status**: `Accepted` | `Proposed` | `Assumed` (Fast-tracked Assumption) | `Deprecated` | `Superseded by ADR-yyy`
|
|
15
15
|
- **Date**: YYYY-MM-DD
|
|
16
16
|
- **Context**: Problem statement, background, and why this decision was needed.
|
|
17
17
|
- **Decision**: The selected architectural approach or invariant.
|
|
18
|
+
- **Assumption Metadata** *(Mandatory when Status is `Assumed`)*:
|
|
19
|
+
- **Assumption**: ข้อสมมติฐานทางเทคนิคที่ตั้งขึ้นเพื่อปลดบล็อกการทำงานชั่วคราว
|
|
20
|
+
- **Risk Level & Blast Radius**: ระดับความเสี่ยงและขอบเขตผลกระทบหากข้อสมมติไม่ถูกต้อง
|
|
21
|
+
- **Ratification Plan**: เงื่อนไข, วันที่ หรือเหตุการณ์ที่จะทำการทวนสอบ (Ratify) เพื่อเปลี่ยนสถานะเป็น `Accepted` หรือ `Rejected`
|
|
18
22
|
- **Alternatives Considered**:
|
|
19
23
|
- *Option 1*: Pros / Cons
|
|
20
24
|
- *Option 2*: Pros / Cons
|
|
@@ -22,3 +26,13 @@ Each ADR is named `ADR-xxx-{slug}.md` (e.g. `ADR-001-database-schema-migration.m
|
|
|
22
26
|
- *Positive*: Benefits and capabilities unlocked
|
|
23
27
|
- *Trade-offs / Risks*: Costs, complexity, or constraints
|
|
24
28
|
```
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## ⚡ Assumed Decision Debt Policy
|
|
33
|
+
|
|
34
|
+
เมื่อทีมหรือ Agent จำเป็นต้องเดินหน้าพัฒนาอย่างรวดเร็ว (Fast-track) โดยที่ข้อสรุปทางสถาปัตยกรรมยังไม่ได้รับการยืนยัน 100% จากผู้ใช้ ให้บันทึก ADR ด้วย `Status: Assumed` พร้อมกรอก **Assumption Metadata** ให้ครบถ้วน
|
|
35
|
+
|
|
36
|
+
> [!WARNING]
|
|
37
|
+
> **Zero Untracked Decision Debt**: ทุก ADR ที่มีสถานะ `Assumed` จะถูกตรวจสอบโดย `/audit` และ `/complete` เพื่อแจ้งเตือนให้ทีมยืนยัน (Ratify) หรือปรับแก้ก่อนส่งมอบขึ้น Production เสมอ
|
|
38
|
+
|
|
@@ -71,6 +71,14 @@
|
|
|
71
71
|
- [ ] **AC-1**: {Empirical proof for AC-1}
|
|
72
72
|
- [ ] **AC-2**: {Empirical proof for AC-2}
|
|
73
73
|
|
|
74
|
+
### 🔗 Axis 3: AC-to-Test Traceability Matrix
|
|
75
|
+
|
|
76
|
+
| Acceptance Criterion | File Tier | Automated Test Case / Assertion | Verification Command | Status |
|
|
77
|
+
| :--- | :--- | :--- | :--- | :---: |
|
|
78
|
+
| **AC-1** | Tier 1 (Logic) / Tier 2 (UI) | `it('AC-1: ...')` | `npm test` | ⏳ Pending |
|
|
79
|
+
| **AC-2** | Tier 3 (API) / Tier 4 (Tooling) | `it('AC-2: ...')` | `npm run check:static` | ⏳ Pending |
|
|
80
|
+
|
|
81
|
+
|
|
74
82
|
---
|
|
75
83
|
|
|
76
84
|
## 5. Delivery Verification & Independent Receipt
|