@jakkrichm/create-nexus-devflow 2.12.2 → 2.12.4

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.
Files changed (62) hide show
  1. package/dist/lib/current-work.d.ts +6 -1
  2. package/dist/lib/current-work.js +41 -4
  3. package/dist/lib/current-work.js.map +1 -1
  4. package/dist/lib/history.js +28 -15
  5. package/dist/lib/history.js.map +1 -1
  6. package/dist/lib/project-config.d.ts +5 -1
  7. package/dist/lib/project-config.js +11 -2
  8. package/dist/lib/project-config.js.map +1 -1
  9. package/dist/lib/review.d.ts +4 -1
  10. package/dist/lib/review.js +35 -4
  11. package/dist/lib/review.js.map +1 -1
  12. package/dist/lib/run-state.d.ts +1 -1
  13. package/dist/lib/run-state.js +1 -9
  14. package/dist/lib/run-state.js.map +1 -1
  15. package/dist/lib/status.d.ts +3 -1
  16. package/dist/lib/status.js +25 -6
  17. package/dist/lib/status.js.map +1 -1
  18. package/dist/scripts/prepare-template.js +22 -7
  19. package/dist/scripts/prepare-template.js.map +1 -1
  20. package/package.json +1 -1
  21. package/template/.agents/skills/adopt/SKILL.md +40 -5
  22. package/template/.agents/skills/audit/SKILL.md +65 -18
  23. package/template/.agents/skills/audit/reference/independent-review.md +31 -4
  24. package/template/.agents/skills/autopilot/SKILL.md +62 -18
  25. package/template/.agents/skills/ci/SKILL.md +8 -1
  26. package/template/.agents/skills/complete/SKILL.md +27 -2
  27. package/template/.agents/skills/continuous/SKILL.md +9 -4
  28. package/template/.agents/skills/doctor/SKILL.md +8 -4
  29. package/template/.agents/skills/feature/SKILL.md +9 -1
  30. package/template/.agents/skills/fix/SKILL.md +2 -1
  31. package/template/.agents/skills/implement/SKILL.md +47 -3
  32. package/template/.agents/skills/onboard/SKILL.md +62 -11
  33. package/template/.agents/skills/overview/SKILL.md +14 -0
  34. package/template/.agents/skills/rollback/SKILL.md +3 -1
  35. package/template/.agents/skills/status/SKILL.md +14 -4
  36. package/template/.claude/skills/adopt/SKILL.md +40 -5
  37. package/template/.claude/skills/audit/SKILL.md +65 -18
  38. package/template/.claude/skills/audit/reference/independent-review.md +31 -4
  39. package/template/.claude/skills/autopilot/SKILL.md +62 -18
  40. package/template/.claude/skills/ci/SKILL.md +8 -1
  41. package/template/.claude/skills/complete/SKILL.md +27 -2
  42. package/template/.claude/skills/continuous/SKILL.md +9 -4
  43. package/template/.claude/skills/doctor/SKILL.md +8 -4
  44. package/template/.claude/skills/feature/SKILL.md +9 -1
  45. package/template/.claude/skills/fix/SKILL.md +2 -1
  46. package/template/.claude/skills/implement/SKILL.md +47 -3
  47. package/template/.claude/skills/onboard/SKILL.md +62 -11
  48. package/template/.claude/skills/overview/SKILL.md +14 -0
  49. package/template/.claude/skills/rollback/SKILL.md +3 -1
  50. package/template/.claude/skills/status/SKILL.md +14 -4
  51. package/template/AGENTS.md +4 -2
  52. package/template/devflow/build-plan.md +18 -0
  53. package/template/devflow/config.json +5 -2
  54. package/template/devflow/context/ai-interaction.md +2 -0
  55. package/template/devflow/analysis/REQ-20260903-001-sync-upstream-ai-blueprint/codebase-impact.md +0 -46
  56. package/template/devflow/analysis/REQ-20260904-001-sync-upstream-ai-blueprint/codebase-impact.md +0 -47
  57. package/template/devflow/inbox/REQ-20260903-001-sync-upstream-ai-blueprint/clarifications.md +0 -34
  58. package/template/devflow/inbox/REQ-20260903-001-sync-upstream-ai-blueprint/parsed.md +0 -66
  59. package/template/devflow/inbox/REQ-20260903-001-sync-upstream-ai-blueprint/raw/upstream-v152-diff.md +0 -16
  60. package/template/devflow/inbox/REQ-20260904-001-sync-upstream-ai-blueprint/clarifications.md +0 -28
  61. package/template/devflow/inbox/REQ-20260904-001-sync-upstream-ai-blueprint/parsed.md +0 -59
  62. package/template/devflow/inbox/REQ-20260904-001-sync-upstream-ai-blueprint/raw/upstream-diff.txt +0 -23
@@ -20,6 +20,11 @@ same quality gates, but it does not stop after every normal review point. A
20
20
  single user request is permission to run one bounded loop until the feature is
21
21
  ready for review, blocked, or unsafe to continue.
22
22
 
23
+ It combines `/feature` or `/fix` with `/implement` and continues through the
24
+ spec-review stop retained by the normal workflow. That human spec approval is
25
+ the main control Autopilot intentionally removes. It does not remove the final
26
+ review packet or the option to walk through the completed code.
27
+
23
28
  It does **not** replace the normal workflow. `/feature`, `/implement`, `/check`,
24
29
  and `/complete` remain the conservative default.
25
30
 
@@ -103,28 +108,26 @@ declared and capture interactive evidence with `browseros-neo` when available.
103
108
  If either path is unavailable, record the limitation in the review packet and do
104
109
  not install a runner or claim browser proof implicitly.
105
110
 
106
- ## Step 2 - choose or write the spec
111
+ ## Step 2 - spec or fix definition
112
+
113
+ If starting a planned feature:
107
114
 
108
- If `devflow/context/{xxx-slug}/spec.md` already contains an active spec,
109
- resume it. Read checked steps and continue from the first unchecked step.
115
+ 1. Read `devflow/context/project-overview.md` and `devflow/build-plan.md`.
116
+ 2. Follow `/feature`'s sizing logic. If the feature is too large for one spec,
117
+ split it in `devflow/build-plan.md` into `Na`, `Nb`, `Nc` and target only
118
+ the first sub-feature.
119
+ 3. Write the spec to `devflow/context/{xxx-slug}/spec.md` and set its status to
120
+ `specified`. Fill all required sections, including the small build steps and
121
+ acceptance criteria.
110
122
 
111
- If there is no active spec:
123
+ If starting an ad-hoc fix:
112
124
 
113
- 1. Use the `/feature` behavior for a planned feature, or `/fix` behavior for a
114
- requested fix.
115
- 2. Create workspace and write `devflow/context/{xxx-slug}/spec.md`.
116
- 3. Red-team the spec before building:
117
- - missing unhappy paths
118
- - oversized steps
119
- - undefined contracts
120
- - missing design reference
121
- - scope creep
122
- - vague done-whens
123
- - missing testing plan when `AGENTS.md` declares a test command
124
- 4. Apply the spec fixes.
125
+ 1. Pull the bug description or failure context.
126
+ 2. Follow `/fix`'s definition rules and write `devflow/context/{xxx-slug}/spec.md`.
127
+ 3. Set `Type: Fix` and write a short, focused task list.
125
128
 
126
- Autopilot may continue past this spec gate because the user explicitly invoked
127
- Autopilot. Still report what the critique changed in the final packet.
129
+ If resuming an existing feature, verify `devflow/context/{xxx-slug}/spec.md` is
130
+ usable and resume from the first unchecked step.
128
131
 
129
132
  ## Step 3 - branch
130
133
 
@@ -161,6 +164,10 @@ Work through the spec's steps in order:
161
164
  Do not batch the whole feature into one large diff. If a step gets too large,
162
165
  split the step in `devflow/context/{xxx-slug}/spec.md` and continue with the first smaller step.
163
166
 
167
+ Do not pause for user approval after each passing step, regardless of the
168
+ configured `workflow.stepReview` value. The review happens at the final packet
169
+ unless a hard stop is hit.
170
+
164
171
  ## Step 5 - acceptance check
165
172
 
166
173
  After all implementation steps are checked, run the `/check` behavior for the
@@ -177,6 +184,38 @@ feature audit, not a repository-wide cleanup pass. Findings are recorded in
177
184
  `devflow/context/{xxx-slug}/findings.md` with durable IDs and statuses, as `/audit`
178
185
  defines; the ledger reports status and never scopes what the audit examines.
179
186
 
187
+ Apply `qualityGates.regular.independentReview` before a same-session audit:
188
+
189
+ - `manual` does not activate the gate.
190
+ - `when-sensitive` requires it only when the work touches authentication,
191
+ authorization, secrets, payments, personal data, destructive actions, dependencies,
192
+ deployment, or another sensitive boundary.
193
+ - `always` requires it for every work item.
194
+
195
+ The selected review runs after all implementation steps, final Verify, required
196
+ Check, and the verified spec, before the final review packet and `/complete`.
197
+ `review.independentExecution` chooses the manual fresh-session handoff or an
198
+ automatic isolated reviewer; it does not change when the gate is selected.
199
+
200
+ When selected, do not review the builder's work in this session. Ensure all work
201
+ is in an approved clean checkpoint, then follow Phase A of
202
+ `/audit independent current`. With automatic execution, spawn and wait for the
203
+ isolated reviewer, then validate its normal receipt. With manual execution, stop
204
+ with the handoff. Autopilot may use its existing configured checkpoint authority
205
+ when checkpoint commits are enabled; otherwise show the exact review-checkpoint
206
+ candidate and ask before committing. On resume, continue only when a fresh
207
+ reviewer wrote a current `passed` receipt. Repair `changes-requested` P0/P1
208
+ findings within the normal scope and attempt limit, then obtain a new checkpoint
209
+ and prepare a new review. A passing independent receipt satisfies the configured
210
+ Audit gate.
211
+
212
+ The request records `Requested execution`; the receipt records `Actual
213
+ execution`. Require the execution and reviewer-context pairing defined by the
214
+ project-local review contract, including actual manual plus `fresh session` when
215
+ an automatic request explicitly falls back.
216
+ On resume, a pending request without `Requested execution` is legacy manual-only.
217
+ Never add execution fields or run a subagent against it.
218
+
180
219
  For every finding:
181
220
 
182
221
  1. Validate it against the actual code, spec, tests, `coding-standards.md`, and
@@ -216,6 +255,11 @@ Stop and produce a concise review packet:
216
255
  - unresolved risks or skipped checks
217
256
  - exact next action
218
257
 
258
+ Always offer a read-only walkthrough of the completed code after the packet.
259
+ Follow the spec's build steps, explain the key files, symbols, flow, and
260
+ non-obvious decisions, then offer a focused deep dive. Keep `/try` distinct as
261
+ the manual product-review path.
262
+
219
263
  If everything is green, the next action is usually: review the diff, then run
220
264
  `/try` if you want a manual walkthrough, then `/complete`.
221
265
 
@@ -113,6 +113,12 @@ Run the exact documented `Verify` command locally. The individual build, test,
113
113
  or typecheck commands may still be run separately for diagnosis, but the final
114
114
  proof must use Verify because that is what GitHub will run.
115
115
 
116
+ A passing local run proves the recipe against the current working copy. It does
117
+ not prove dependency installation or command behavior from a fresh checkout.
118
+ Until the workflow is pushed and reports green on GitHub, describe the setup as
119
+ prepared locally, not CI verified. The first successful GitHub run is the
120
+ authoritative clean-checkout proof.
121
+
116
122
  If Verify fails, report the failing subcommand and stop. Do not weaken the
117
123
  command, remove a legitimate check, or describe CI as ready.
118
124
 
@@ -128,7 +134,8 @@ Finish with a concise setup report:
128
134
  - checks included and checks omitted
129
135
  - test gate status
130
136
  - workflow path and triggers
131
- - local Verify result
137
+ - local Verify result and whether CI is only prepared locally or confirmed by a
138
+ successful GitHub run
132
139
  - files changed
133
140
  - any overlap, uncertainty, or follow-up
134
141
 
@@ -54,6 +54,31 @@ Use `qualityGates.regular` for this work item:
54
54
  - **Check:** `manual` runs only when explicitly requested; `when-behavioral` runs when done-whens need observed runtime behavior; `always` runs for every work item.
55
55
  - **Try guide:** `manual` runs only when explicitly requested; `when-user-facing` generates guide when change affects UI/UX; `always` generates one for every work item.
56
56
 
57
+ ### Independent review execution
58
+
59
+ After final Verify and required Check pass, set the active spec to `verified`.
60
+ If a selected or previously initiated independent review does not already have a
61
+ current passing receipt:
62
+
63
+ 1. Use an existing current pending request and its immutable target when one is
64
+ present. Otherwise show the exact product, test, and verified-spec candidate
65
+ for the immutable review checkpoint. Obtain explicit commit approval under
66
+ the normal Git rules, then create or use that clean checkpoint. Configuration,
67
+ including `review.independentExecution: "automatic"`, never grants permission
68
+ to commit. A pending request without `Requested execution` is legacy and
69
+ manual-only; never add execution fields or run a subagent against it.
70
+ 2. Prepare Phase A of `/audit independent current` when no current request
71
+ exists. Record `Requested execution` from `review.independentExecution`.
72
+ 3. For requested `automatic`, start the generic isolated current-runtime child
73
+ from the installed project-local Audit skill, wait, and validate the normal
74
+ receipt. Freeze parent product, test, spec, and config changes while it runs.
75
+ 4. For requested `manual`, or when automatic isolation, identity, model, or
76
+ completion is unavailable, preserve the pending request, set activity to
77
+ `ready`, and stop with the manual fresh-session handoff.
78
+ 5. Continue Complete only with a current passing receipt whose requested and
79
+ actual execution fields match the allowed review contract. Never self-review
80
+ or silently skip the gate.
81
+
57
82
  ## Step 0 - final safety pass
58
83
 
59
84
  Before logging or committing, run a short safety pass and report blockers only:
@@ -82,13 +107,13 @@ Check whether the spec is a feature, fix, or rollback. A fix is marked
82
107
  `Type: Fix` and has no build-plan number. A rollback is marked `Type: Rollback`
83
108
  and records the exact target feature, archive, commit, and parent.
84
109
 
85
- - **Feature** - archive `devflow/context/{xxx-slug}/spec.md` to `devflow/history/features/{xxx-slug}.md`, check it off in `devflow/build-plan.md` (and its parent item once all sub-items are checked), and record an entry into `devflow/history/HISTORY.md`.
110
+ - **Feature** - archive `devflow/context/{xxx-slug}/spec.md` to `devflow/history/features/{xxx-slug}.md`, check it off in `devflow/build-plan.md` (and its parent item once all sub-items are checked), recompute the overview fingerprint using `/overview`'s checkbox-normalized hash contract and update `devflow:source-hash` in `devflow/context/project-overview.md`, and record an entry into `devflow/history/HISTORY.md`.
86
111
  - **Fix** - archive `devflow/context/{xxx-slug}/spec.md` to `devflow/history/fixes/{xxx-slug}.md`, and record an entry into `devflow/history/HISTORY.md`.
87
112
  - **Rollback** - archive `devflow/context/{xxx-slug}/spec.md` to `devflow/history/rollbacks/YYYY-MM-DD-{xxx-slug}.md`, preserving the original completed feature archive. Uncheck the target item in `devflow/build-plan.md` and record in `devflow/history/HISTORY.md`.
88
113
 
89
114
  **Archive resolved findings & review receipts.**
90
115
  - If `devflow/context/{xxx-slug}/findings.md` holds findings, append `## Findings` to the archive file with resolved entries.
91
- - If `devflow/context/{xxx-slug}/review.md` holds a completed passing receipt, append `## Independent Review` to the archive file with the receipt summary.
116
+ - If `devflow/context/{xxx-slug}/review.md` holds a completed passing receipt, append a `## Independent review` section to the archive file with the receipt fields, commands, safe evidence references, findings, and remaining risk from `review.md`. Preserve the full target and base SHAs, spec hash, base ref, builder adapter and model, requested reviewer, model, and execution, actual reviewer adapter, model, and execution, Check result, fresh-context declaration, and review time. Do not archive a stale, pending, changes-requested, or malformed record.
92
117
 
93
118
  **Clean up run workspace.** Delete the task directory `devflow/context/{xxx-slug}/`. In Pure Multi-Run architecture, completed work leaves zero residual stubs in `devflow/context/`.
94
119
 
@@ -24,6 +24,7 @@ Where this sits in the workflow:
24
24
  ### ขอบเขตสิทธิ์ที่ได้รับอนุญาตเฉพาะในเครื่อง Local:
25
25
  - สร้างและสลับ Feature Branch ในเครื่อง Local
26
26
  - บันทึก Checkpoint Commits ย่อยบน Branch
27
+ - สร้าง required immutable independent-review checkpoints
27
28
  - บันทึก Feature Commit สุดท้าย
28
29
  - Squash-merge ฟีเจอร์ที่เสร็จสมบูรณ์ลง Default Branch ของ Local
29
30
  - ลบ Feature Branch เฉพาะใน Local หลังรวมโค้ดสำเร็จ
@@ -93,10 +94,14 @@ Where this sits in the workflow:
93
94
  - **Try Guide**: `manual` (ข้ามอัตโนมัติ), `when-user-facing` (สร้าง Try Guide เมื่อเป็น UI/CLI), `always` (สร้างทุกฟีเจอร์)
94
95
 
95
96
  ทุก product/spec edit ทำให้ receipt เดิมหมดอายุ เมื่อ Independent Review gate
96
- ทำงาน ให้รัน Verify และซ่อม audit findings ให้เสร็จก่อนส่ง
97
- `audit independent current` ไปยัง fresh reviewer context หากไม่สามารถรับ
98
- receipt ที่ verdict เป็น `passed` และ freshness เป็น `current` ให้หยุด Continuous
99
- Mode โดยคง workspace/branch ไว้ ห้ามข้ามไป archive หรือ local squash-merge
97
+ ทำงาน ให้รัน Verify และสร้าง immutable checkpoint (ได้รับอนุญาตภายใต้ Continuous Mode authority แม้ checkpointCommits จะ disabled) จากนั้นปฏิบัติตาม `/audit independent current`
98
+ หาก `review.independentExecution` เป็น `automatic` ให้ spawn และรอ isolated reviewer child พร้อมตรวจสอบ receipt ให้ผ่านก่อนดำเนินการต่อ
99
+ หากเป็น `manual` หรือ runtime ไม่สามารถพิสูจน์ isolation, identity, model ได้ ให้ตั้งสถานะเป็น `ready` และหยุดด้วย manual handoff
100
+ Continuous Mode จะไม่ทำการ audit งานของตัวเองโดยเด็ดขาด
101
+
102
+ คำขอจะบันทึก `Requested execution` และ receipt จะบันทึก `Actual execution`
103
+ การจับคู่ของ execution และ reviewer context จะต้องถูกต้องตามสัญญา review
104
+ หากเป็น legacy request ที่ไม่มี `Requested execution` ให้ถือว่าเป็น legacy manual-only ห้ามเติมฟิลด์หรือรัน subagent กับมัน
100
105
 
101
106
  สำหรับฟีเจอร์ browser-facing ให้รัน `npm run test:browser` เมื่อมี
102
107
  `test:browser` script และเก็บ interactive evidence ผ่าน `browseros-neo` เมื่อ
@@ -58,10 +58,14 @@ Gather these, then summarize. Do not dump file contents.
58
58
  - Read `devflow/config.json` when present. Missing is healthy and means
59
59
  built-in defaults. When present, require a regular non-symbolic-link JSON
60
60
  file with `schemaVersion: 1`. Reject unknown keys and unsupported values.
61
- Report the effective workflow, git, verification, regular quality-gate,
62
- Continuous quality-gate, and Continuous Mode settings. Confirm each audit,
63
- independent-review, check, and try-guide gate uses its supported values and
64
- defaults to `manual`.
61
+ Report the effective workflow, git, verification, review execution, regular
62
+ quality-gate, Continuous quality-gate, and Continuous Mode settings. Confirm each audit,
63
+ independent-review, check, and try-guide gate uses its supported values.
64
+ Independent review defaults to `when-sensitive` for both workflows; audit,
65
+ check, and try guide default to `manual`. Confirm
66
+ `review.independentExecution` is `manual` or `automatic` and defaults to
67
+ `automatic`. Do not claim automatic capability is available from installed
68
+ project files alone.
65
69
  An invalid config is a setup blocker for mutating workflow skills because
66
70
  they must not guess which policy to follow.
67
71
  2. **Tool adapters**
@@ -127,7 +127,15 @@ build plan starts high-level.
127
127
  ## Step 3 - write the spec
128
128
 
129
129
  For the one (sub-)feature being built now, allocate sequential ID (`xxx-slug`) and create a dedicated workspace at `devflow/context/{xxx-slug}/`. Write the full living spec to
130
- `devflow/context/{xxx-slug}/spec.md`, following `reference/feature-spec-template.md`. Also initialize `stage.md` and `findings.md` in that folder. Fill every section:
130
+ `devflow/context/{xxx-slug}/spec.md`, following `reference/feature-spec-template.md`. Also initialize `stage.md` and `findings.md` in that folder. The first heading and build-plan identity must use this canonical form:
131
+
132
+ ```markdown
133
+ # Feature: <title>
134
+
135
+ **From build-plan:** feature <id>
136
+ ```
137
+
138
+ Fill every section:
131
139
  - Goal, Problem Statement, and In/Out of scope
132
140
  - Acceptance Criteria (AC-1, AC-2, ...)
133
141
  - Small build steps as atomic 2-5 min checklist items (`- [ ]`, supporting `[TDD-Red]`, `[TDD-Green]`, `[TDD-Refactor]` triplets for functional logic)
@@ -32,7 +32,8 @@ or with a description, for example `/fix F-03`.
32
32
 
33
33
  Pull context from `devflow/context/project-overview.md` and `devflow/context/coding-standards.md`,
34
34
  calculate the next sequential running ID (e.g. `059-fix-slug`),
35
- then write a short spec to `devflow/context/{xxx-slug}/spec.md`. Also initialize `stage.md` and `findings.md` in that folder. Keep it lighter than a feature spec:
35
+ then write a short spec to `devflow/context/{xxx-slug}/spec.md`. Also initialize `stage.md` and `findings.md` in that folder. Its first heading must be exactly
36
+ `# Fix: <title>`, and it must retain the `**Type:** Fix` contract below. Keep it lighter than a feature spec:
36
37
 
37
38
  - **Title** - the bug or change in a few words.
38
39
  - **Type:** Fix (so `/complete` logs it to `devflow/history/fixes/`, not `devflow/history/features/`).
@@ -153,6 +153,29 @@ Never batch the whole thing into one diff. If a step's diff is too big to read,
153
153
  split it. The documented `Verify` command, or the fallback build and tests, must
154
154
  pass before any commit.
155
155
 
156
+ After final Verify and required Check pass, set the active spec to `verified`
157
+ with every completed box checked. Then resolve independent review before the
158
+ final packet:
159
+
160
+ 1. If `qualityGates.regular.independentReview` does not select review and no
161
+ request already exists, proceed directly to the final review packet.
162
+ 2. Otherwise show the exact product, test, and verified-spec candidate for the
163
+ immutable review checkpoint. Obtain explicit commit approval when the exact
164
+ checkpoint does not already exist, then create or use it. Configuration,
165
+ including `review.independentExecution: "automatic"`, never grants commit
166
+ permission, even when normal checkpoint commits are disabled.
167
+ 3. Follow `/audit independent current` to prepare or reuse the request and record
168
+ `Requested execution`. For requested `automatic`, start and wait for the
169
+ generic isolated current-runtime child instructed from the project-local
170
+ Audit skill, then validate the receipt. For requested `manual`, or when
171
+ automatic capability is unavailable, preserve the request and stop with the
172
+ manual fresh-session handoff. Treat an existing request without `Requested
173
+ execution` as legacy manual-only: never add execution fields or run a
174
+ subagent against it.
175
+ 4. Continue to the final packet only with a current passing receipt whose
176
+ requested execution, actual execution, and reviewer context form an allowed
177
+ pairing. Never self-review or silently skip a selected gate.
178
+
156
179
  ## Step 3 - hand off to /complete
157
180
 
158
181
  Before handing off, check `devflow/context/{xxx-slug}/findings.md`. A P0 or P1 finding
@@ -182,9 +205,30 @@ When every step is built and `Verify`, or the fallback build and tests, passes
182
205
  - known risks, skipped checks, or follow-up notes
183
206
  - next action, usually `/complete`
184
207
 
185
- Then tell the user `/complete` makes the one work-level commit, logs it (archive,
186
- update the build plan for a feature or rollback, reset), and merges with
187
- approval. This skill does not touch main.
208
+ After the final packet, always offer these choices:
209
+
210
+ 1. Walk me through the implementation.
211
+ 2. Request changes.
212
+ 3. Continue to the exact next workflow command.
213
+
214
+ The final walkthrough is available with either `workflow.stepReview` value and
215
+ regardless of `workflow.checkpointCommits`. It is a read-only code tour, not the
216
+ manual product-review path produced by `/try`, and it is not verification.
217
+
218
+ When the user chooses the walkthrough, begin with a short map of the completed
219
+ feature, then follow the spec's build steps. For each step, explain its purpose,
220
+ key files and symbols, important data or control flow, and non-obvious decisions.
221
+ Use file and line links when the client supports them. Do not narrate every line
222
+ or reload broad project context. End by offering a focused deep dive into one
223
+ named area. If the feature spans too many distinct areas for one useful pass,
224
+ name the sections first and let the user choose where to begin. Remain read-only
225
+ unless the user separately requests changes.
226
+
227
+ Never create an ordinary step, product, or work-level commit from this skill.
228
+ The sole exception is exactly one immutable independent-review checkpoint after
229
+ showing its exact candidate and receiving current explicit commit approval.
230
+ Configuration never supplies that approval. Never merge, push, deploy, publish,
231
+ or start unrelated work from this skill.
188
232
 
189
233
  ## Rules
190
234
 
@@ -164,7 +164,14 @@ than pretending a pattern exists.
164
164
  ## Step 4 - check AI interaction rules and workflow configuration
165
165
 
166
166
  `devflow/config.json` is the user-owned workflow policy for this project. Keep
167
- it lean and machine-readable: never write stack choices, conventions, custom
167
+ it lean and machine-readable: edit only supported keys, such as branch prefixes,
168
+ logic-test strictness, regular or Continuous quality gates, review execution, or
169
+ Continuous Mode limits. Independent review defaults to `when-sensitive` for
170
+ regular and Continuous work, and its execution defaults to `automatic`. Audit,
171
+ check, and try guide default to `manual`. Preserve these defaults unless the user
172
+ chooses different policies. A `manual` independent-review gate disables
173
+ automatic selection for that workflow without disabling explicit independent
174
+ audits. Never put stack choices, conventions, custom
168
175
  commands, product requirements, communication prose, secrets, or permission for
169
176
  commits, merges, pushes, deployments, publication, destructive actions, failed
170
177
  checks, or finding waivers into config.
@@ -172,12 +179,12 @@ checks, or finding waivers into config.
172
179
  Unless the user already chose these values, ask one short **Implementation
173
180
  style** question using the current tool's selectable prompt when available:
174
181
 
175
- 1. **Efficient (Recommended)** - one feature-level review packet and no step
176
- checkpoint prompts. Write `workflow.stepReview: "feature"` and
177
- `workflow.checkpointCommits: "disabled"`.
182
+ 1. **Efficient (Recommended)** - one feature-level review packet, a final code
183
+ walkthrough option, and no step checkpoint prompts. Write
184
+ `workflow.stepReview: "feature"` and `workflow.checkpointCommits: "disabled"`.
178
185
  2. **Guided** - pause for approval after every step and offer optional checkpoint
179
- commits. Write `workflow.stepReview: "every"` and
180
- `workflow.checkpointCommits: "enabled"`.
186
+ commits, followed by the same final code walkthrough option. Write
187
+ `workflow.stepReview: "every"` and `workflow.checkpointCommits: "enabled"`.
181
188
  3. **Custom** - ask separately when review should happen and whether checkpoint
182
189
  commits should be offered, then write the selected low-level values.
183
190
 
@@ -185,6 +192,8 @@ These are onboarding presets, not a third configuration field.
185
192
  Never write an `implementationStyle` key. Show the current two values before asking, preserve
186
193
  them if the user chooses not to change them, and explain that either value can be
187
194
  edited later. A later `/implement` run reads the current configuration.
195
+ The final code walkthrough is not a configuration setting and remains available
196
+ with every implementation style.
188
197
 
189
198
  Read `devflow/context/ai-interaction.md` and update only obvious mismatches.
190
199
  Usually the default review loop should stay intact. Flag preferences for the user
@@ -197,6 +206,13 @@ instead of guessing, such as:
197
206
  changing only `stepReview` restores the approval pauses, not checkpoint prompts
198
207
  - whether branches should use a different naming pattern
199
208
  - whether `/check` should require browser evidence for UI work
209
+ - whether audit, independent review, check, or try guides should stay manual, run only for their
210
+ documented conditional case, or run for every regular or Continuous work item
211
+ - whether a selected independent review should use the default automatic
212
+ isolated reviewer or `review.independentExecution: "manual"` for a
213
+ fresh-session handoff. Explain that automatic execution uses a fresh isolated
214
+ reviewer only when the active adapter can expose its exact identity and model,
215
+ and otherwise stops with the manual handoff
200
216
 
201
217
  If no changes are needed, say so.
202
218
 
@@ -250,16 +266,51 @@ DevFlow visibility?
250
266
  Keeps AGENTS.md public as the lightweight project agent guide.
251
267
  ```
252
268
 
253
- Recommend option 1 by default. If the user chooses option 2:
269
+ Recommend option 1 by default.
270
+ - If option 1 (Commit) is chosen, ensure the project's `.gitignore` ignores transient run files and raw documents:
271
+ ```gitignore
272
+ # DevFlow Transient Runtime Data, Research & Scratch Files
273
+ devflow/runs/*
274
+ !devflow/runs/.gitkeep
275
+ devflow/discoveries/*
276
+ !devflow/discoveries/.gitkeep
277
+ devflow/reports/*
278
+ !devflow/reports/.gitkeep
279
+ devflow/research/*
280
+ !devflow/research/.gitkeep
281
+ devflow/scratch/*
282
+ !devflow/scratch/.gitkeep
283
+ devflow/decisions/*
284
+ !devflow/decisions/.gitkeep
285
+ !devflow/decisions/README.md
286
+ devflow/inbox/*/raw/*
287
+ devflow/inbox/raw/*
288
+ devflow/analysis/*
289
+ !devflow/analysis/.gitkeep
290
+ devflow/tmp/*
291
+ devflow/temp/*
292
+ devflow/brainstorm/*
293
+ devflow/brainstorms/*
294
+ devflow/backups/*
295
+ devflow/.state/
296
+ devflow/.vendor/
297
+ .nexus/
298
+ prototypes/*
299
+ !prototypes/.gitkeep
300
+ ```
301
+
302
+ If the user chooses option 2 (Local-only / Zero-Visibility):
254
303
 
255
304
  - Add this block to `.gitignore`, preserving existing entries:
256
305
 
257
306
  ```gitignore
258
- # DevFlow local workflow files
307
+ # DevFlow local workflow files (Zero-Visibility)
259
308
  .agents/
260
309
  .claude/
261
310
  devflow/
262
311
  CLAUDE.md
312
+ .nexus/
313
+ prototypes/
263
314
  ```
264
315
 
265
316
  - Keep `AGENTS.md` tracked. It remains the lightweight public project guide for
@@ -273,10 +324,10 @@ Recommend option 1 by default. If the user chooses option 2:
273
324
  - Explain that DevFlow state, specs, findings, and history will not travel
274
325
  with the repo; another machine needs DevFlow reinstalled or restored
275
326
  locally.
276
- - If any of `.agents/`, `.claude/`, `devflow/`, or
277
- `CLAUDE.md` are already tracked, say `.gitignore` will not hide tracked files.
327
+ - If any of `.agents/`, `.claude/`, `devflow/`, `CLAUDE.md`, `.nexus/`, or
328
+ `prototypes/` are already tracked, say `.gitignore` will not hide tracked files.
278
329
  Ask before running
279
- `git rm --cached -r .agents .claude devflow CLAUDE.md`, and
330
+ `git rm --cached -r .agents .claude devflow CLAUDE.md .nexus prototypes`, and
280
331
  only run it if the user explicitly approves. Never delete the local files.
281
332
 
282
333
  Then report which selected tools and adapter folders are needed:
@@ -63,6 +63,20 @@ The compiler writes:
63
63
 
64
64
  The generated output follows `devflow/reference/project-overview-template.md`.
65
65
 
66
+ After the title, write a plan fingerprint in this exact form:
67
+
68
+ ```markdown
69
+ <!-- devflow:source-hash <sha256> -->
70
+ ```
71
+
72
+ Before hashing, normalize only build-plan completion markers by replacing each
73
+ `- [x]` or `- [X]` marker with `- [ ]`, while preserving indentation and every
74
+ other byte. Compute `<sha256>` from the exact UTF-8 bytes of `project-plan.md`,
75
+ one zero byte, then the normalized UTF-8 bytes of `build-plan.md`. This lets
76
+ `/status` detect real plan changes after cloning, copying, or updating without
77
+ treating completed features as overview drift. Replace the previous marker every
78
+ time this skill regenerates the overview.
79
+
66
80
  ## Step 3 - output and report
67
81
 
68
82
  After compilation:
@@ -116,7 +116,9 @@ remediation or explicitly plan the dependent rollbacks.
116
116
  ## Step 4 - write the rollback spec
117
117
 
118
118
  Allocate sequential ID (`xxx-slug`) and create `devflow/context/{xxx-slug}/`. Write `devflow/context/{xxx-slug}/spec.md` using
119
- `reference/rollback-spec-template.md`. Also initialize `stage.md` and `findings.md` in that folder. Fill in:
119
+ `reference/rollback-spec-template.md`. Also initialize `stage.md` and `findings.md` in that folder. Its first heading must be exactly
120
+ `# Rollback: Feature <id> - <title>`, and it must retain the existing
121
+ `**Type:** Rollback` contract. Fill in:
120
122
 
121
123
  - target feature and archive
122
124
  - target commit and parent commit as full 40-character SHA values
@@ -35,9 +35,14 @@ Read these, distill them into a few lines, then stop. Do not dump file contents.
35
35
  3. **Findings** - `devflow/context/{xxx-slug}/findings.md`. Count findings by status and
36
36
  report open and fixed counts next to build-plan progress. Call out any P0 or
37
37
  P1 still `open` or `fixed` by ID, since those block `/complete`.
38
- 4. **Overview freshness** - if `devflow/context/project-overview.md` is missing,
39
- or if `project-plan.md` or `build-plan.md` appears newer than it by filesystem
40
- time, mention that `/overview` should run before new feature work.
38
+ 4. **Overview freshness** - if `devflow/context/project-overview.md` is missing
39
+ or has no `devflow:source-hash`, mention that `/overview` should run before
40
+ new feature work. Otherwise use `/overview`'s hash contract: exact project-plan
41
+ bytes, one zero byte, then build-plan bytes with line-start `- [x]` and
42
+ `- [X]` markers normalized to `- [ ]`. Treat a matching legacy exact-byte hash
43
+ as current for backward compatibility. Recommend `/overview` only when the
44
+ recorded hash matches neither value. Do not use filesystem timestamps;
45
+ `/complete` legitimately makes `build-plan.md` newer when it checks off work.
41
46
  5. **Git** - current branch, whether the working tree is clean or has uncommitted
42
47
  changes, roughly how many files changed, last commit subject, and whether the
43
48
  branch is ahead of its remote. If the directory is not a git repo, say so and
@@ -50,7 +55,12 @@ Read these, distill them into a few lines, then stop. Do not dump file contents.
50
55
  A missing file simply means no activity has been recorded. Invalid activity
51
56
  state is a warning, not a blocker for the underlying workflow; point to
52
57
  `/doctor` to inspect and offer the approved generated-state reset.
53
- 8. **Onboarding check** - Before recommending `/overview`, check whether `AGENTS.md`
58
+ 8. **Onboarding & Configuration check** - Read `devflow/config.json` when present.
59
+ Report effective regular and Continuous quality gates, plus `review.independentExecution`.
60
+ Explain that independent review defaults to `when-sensitive` for both workflows and
61
+ execution defaults to `automatic`, which uses an isolated reviewer only when
62
+ the current adapter supports it. Audit, check, and try guide default to `manual`.
63
+ Before recommending `/overview`, check whether `AGENTS.md`
54
64
  still contains the `<!-- devflow:onboarding-required -->` marker or standard template commands.
55
65
  When it does, onboarding is incomplete and `/onboard` is the next action.
56
66
  9. **Independent review and browser evidence** - read
@@ -144,16 +144,51 @@ DevFlow visibility?
144
144
  Keeps AGENTS.md public as the lightweight project agent guide.
145
145
  ```
146
146
 
147
- Recommend option 1 by default. If the user chooses option 2:
147
+ Recommend option 1 by default.
148
+ - If option 1 (Commit) is chosen, ensure the project's `.gitignore` ignores transient run files and raw documents:
149
+ ```gitignore
150
+ # DevFlow Transient Runtime Data, Research & Scratch Files
151
+ devflow/runs/*
152
+ !devflow/runs/.gitkeep
153
+ devflow/discoveries/*
154
+ !devflow/discoveries/.gitkeep
155
+ devflow/reports/*
156
+ !devflow/reports/.gitkeep
157
+ devflow/research/*
158
+ !devflow/research/.gitkeep
159
+ devflow/scratch/*
160
+ !devflow/scratch/.gitkeep
161
+ devflow/decisions/*
162
+ !devflow/decisions/.gitkeep
163
+ !devflow/decisions/README.md
164
+ devflow/inbox/*/raw/*
165
+ devflow/inbox/raw/*
166
+ devflow/analysis/*
167
+ !devflow/analysis/.gitkeep
168
+ devflow/tmp/*
169
+ devflow/temp/*
170
+ devflow/brainstorm/*
171
+ devflow/brainstorms/*
172
+ devflow/backups/*
173
+ devflow/.state/
174
+ devflow/.vendor/
175
+ .nexus/
176
+ prototypes/*
177
+ !prototypes/.gitkeep
178
+ ```
179
+
180
+ If the user chooses option 2 (Local-only / Zero-Visibility):
148
181
 
149
182
  - Add this block to `.gitignore`, preserving existing entries:
150
183
 
151
184
  ```gitignore
152
- # DevFlow local workflow files
185
+ # DevFlow local workflow files (Zero-Visibility)
153
186
  .agents/
154
187
  .claude/
155
188
  devflow/
156
189
  CLAUDE.md
190
+ .nexus/
191
+ prototypes/
157
192
  ```
158
193
 
159
194
  - Keep `AGENTS.md` tracked. It remains the lightweight public project guide for
@@ -169,10 +204,10 @@ Recommend option 1 by default. If the user chooses option 2:
169
204
  locally.
170
205
  - Because adoption runs right after the DevFlow files were added to an
171
206
  existing repository, they are more likely to already be staged or committed
172
- than in a fresh install. If any of `.agents/`, `.claude/`, `devflow/`, or
173
- `CLAUDE.md` are already tracked, say `.gitignore` will not hide tracked files.
207
+ than in a fresh install. If any of `.agents/`, `.claude/`, `devflow/`,
208
+ `CLAUDE.md`, `.nexus/`, or `prototypes/` are already tracked, say `.gitignore` will not hide tracked files.
174
209
  Ask before running
175
- `git rm --cached -r .agents .claude devflow CLAUDE.md`, and
210
+ `git rm --cached -r .agents .claude devflow CLAUDE.md .nexus prototypes`, and
176
211
  only run it if the user explicitly approves. Never delete the local files.
177
212
 
178
213
  ## Step 6 - review gate, then hand off