@jakkrichm/create-nexus-devflow 2.0.16 → 2.0.18

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 (67) hide show
  1. package/dist/bin/create-nexus-devflow.d.ts +2 -1
  2. package/dist/bin/create-nexus-devflow.js +81 -3
  3. package/dist/bin/create-nexus-devflow.js.map +1 -1
  4. package/dist/lib/current-work.d.ts +2 -3
  5. package/dist/lib/current-work.js +93 -66
  6. package/dist/lib/current-work.js.map +1 -1
  7. package/dist/lib/uninstall.d.ts +20 -0
  8. package/dist/lib/uninstall.js +129 -0
  9. package/dist/lib/uninstall.js.map +1 -0
  10. package/dist/scripts/prepare-template.js +120 -10
  11. package/dist/scripts/prepare-template.js.map +1 -1
  12. package/package.json +1 -1
  13. package/template/.agents/skills/00-discover/SKILL.md +2 -2
  14. package/template/.agents/skills/10-define/SKILL.md +24 -140
  15. package/template/.agents/skills/20-spec/SKILL.md +2 -2
  16. package/template/.agents/skills/30-plan/SKILL.md +2 -2
  17. package/template/.agents/skills/50-verify/SKILL.md +2 -2
  18. package/template/.agents/skills/60-report/SKILL.md +1 -1
  19. package/template/.agents/skills/70-release/SKILL.md +19 -143
  20. package/template/.agents/skills/check/SKILL.md +10 -10
  21. package/template/.agents/skills/ci/SKILL.md +1 -1
  22. package/template/.agents/skills/complete/SKILL.md +49 -28
  23. package/template/.agents/skills/deploy/SKILL.md +1 -1
  24. package/template/.agents/skills/devflow/SKILL.md +5 -5
  25. package/template/.agents/skills/feature/SKILL.md +25 -20
  26. package/template/.agents/skills/fix/SKILL.md +25 -19
  27. package/template/.agents/skills/implement/SKILL.md +10 -10
  28. package/template/.agents/skills/insight/SKILL.md +1 -1
  29. package/template/.agents/skills/overview/SKILL.md +3 -3
  30. package/template/.agents/skills/report-html/SKILL.md +3 -3
  31. package/template/.agents/skills/security-review/SKILL.md +1 -1
  32. package/template/.agents/skills/spec/SKILL.md +7 -6
  33. package/template/.agents/skills/spec-driven-development/SKILL.md +2 -2
  34. package/template/.agents/skills/test/SKILL.md +1 -1
  35. package/template/.claude/skills/00-discover/SKILL.md +2 -2
  36. package/template/.claude/skills/10-define/SKILL.md +24 -140
  37. package/template/.claude/skills/20-spec/SKILL.md +2 -2
  38. package/template/.claude/skills/30-plan/SKILL.md +2 -2
  39. package/template/.claude/skills/50-verify/SKILL.md +2 -2
  40. package/template/.claude/skills/60-report/SKILL.md +1 -1
  41. package/template/.claude/skills/70-release/SKILL.md +19 -143
  42. package/template/.claude/skills/check/SKILL.md +10 -10
  43. package/template/.claude/skills/ci/SKILL.md +1 -1
  44. package/template/.claude/skills/complete/SKILL.md +49 -28
  45. package/template/.claude/skills/deploy/SKILL.md +1 -1
  46. package/template/.claude/skills/devflow/SKILL.md +5 -5
  47. package/template/.claude/skills/feature/SKILL.md +25 -20
  48. package/template/.claude/skills/fix/SKILL.md +25 -19
  49. package/template/.claude/skills/implement/SKILL.md +10 -10
  50. package/template/.claude/skills/insight/SKILL.md +1 -1
  51. package/template/.claude/skills/overview/SKILL.md +3 -3
  52. package/template/.claude/skills/report-html/SKILL.md +3 -3
  53. package/template/.claude/skills/security-review/SKILL.md +1 -1
  54. package/template/.claude/skills/spec/SKILL.md +7 -6
  55. package/template/.claude/skills/spec-driven-development/SKILL.md +2 -2
  56. package/template/.claude/skills/test/SKILL.md +1 -1
  57. package/template/AGENTS.md +15 -59
  58. package/template/devflow/context/ai-interaction.md +110 -23
  59. package/template/devflow/context/coding-standards.md +123 -32
  60. package/template/devflow/context/current-feature.md +3 -0
  61. package/template/devflow/context/current-stage.md +6 -6
  62. package/template/devflow/context/findings.md +10 -10
  63. package/template/devflow/context/project-overview.md +18 -32
  64. package/template/devflow/history/HISTORY.md +10 -25
  65. package/template/devflow/ideas.md +9 -5
  66. package/template/devflow/reference/running-id-contract.md +39 -39
  67. package/template/devflow/runs/.gitkeep +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../lib/uninstall.ts"],"names":[],"mappings":"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"}
@@ -26,11 +26,26 @@ async function copyEntry(entry) {
26
26
  !normalized.endsWith("README.md")) {
27
27
  return false;
28
28
  }
29
+ if (normalized.startsWith("devflow/history/features/") &&
30
+ !normalized.endsWith("README.md")) {
31
+ return false;
32
+ }
33
+ if (normalized.startsWith("devflow/history/fixes/") &&
34
+ !normalized.endsWith("README.md")) {
35
+ return false;
36
+ }
37
+ if (normalized.startsWith("devflow/history/rollbacks/") &&
38
+ !normalized.endsWith("README.md")) {
39
+ return false;
40
+ }
29
41
  if (normalized.startsWith("devflow/discoveries/") &&
30
42
  !normalized.endsWith(".gitkeep") &&
31
43
  !normalized.endsWith("README.md")) {
32
44
  return false;
33
45
  }
46
+ if (normalized.startsWith("devflow/research/")) {
47
+ return false;
48
+ }
34
49
  if (normalized.includes(".agents/skills/sync-upstream") ||
35
50
  normalized.includes(".claude/skills/sync-upstream")) {
36
51
  return false;
@@ -46,16 +61,21 @@ async function copyEntry(entry) {
46
61
  }
47
62
  }
48
63
  async function ensureEmptyDirectories() {
49
- const runsDir = path.join(templateRoot, "devflow", "runs");
50
64
  const discDir = path.join(templateRoot, "devflow", "discoveries");
51
- await fs.mkdir(runsDir, { recursive: true });
65
+ const featDir = path.join(templateRoot, "devflow", "history", "features");
66
+ const fixDir = path.join(templateRoot, "devflow", "history", "fixes");
67
+ const rollDir = path.join(templateRoot, "devflow", "history", "rollbacks");
52
68
  await fs.mkdir(discDir, { recursive: true });
53
- await fs.writeFile(path.join(runsDir, ".gitkeep"), "", "utf8");
69
+ await fs.mkdir(featDir, { recursive: true });
70
+ await fs.mkdir(fixDir, { recursive: true });
71
+ await fs.mkdir(rollDir, { recursive: true });
54
72
  await fs.writeFile(path.join(discDir, ".gitkeep"), "", "utf8");
55
73
  }
56
- async function sanitizeAgentsEntryFile(filePath) {
74
+ async function sanitizeStarterFiles() {
75
+ // 1. Sanitize AGENTS.md
57
76
  try {
58
- let content = await fs.readFile(filePath, "utf8");
77
+ const agentsPath = path.join(templateRoot, "AGENTS.md");
78
+ let agentsContent = await fs.readFile(agentsPath, "utf8");
59
79
  const maintainerCommandsRegex = /## Verification & Commands[\s\S]*$/;
60
80
  const starterCommands = `## Commands
61
81
 
@@ -64,14 +84,104 @@ async function sanitizeAgentsEntryFile(filePath) {
64
84
  - Test: \`npm test\`
65
85
  - Verify: \`npm run check\` (Run \`/onboard\` to auto-configure)
66
86
  `;
67
- content = content.replace(maintainerCommandsRegex, starterCommands);
68
- await fs.writeFile(filePath, content, "utf8");
87
+ agentsContent = agentsContent.replace(maintainerCommandsRegex, starterCommands);
88
+ await fs.writeFile(agentsPath, agentsContent, "utf8");
69
89
  }
70
90
  catch (error) {
71
- if (error.code !== "ENOENT") {
91
+ if (error.code !== "ENOENT")
72
92
  throw error;
73
- }
74
93
  }
94
+ // 2. Clean Starter HISTORY.md
95
+ const starterHistory = `# Master Release History Ledger
96
+
97
+ This master ledger tracks all released delivery runs, milestones, and rollbacks in chronological order. Each entry is recorded during \`/complete\` or \`70-release\` and links to its exact Git commit hash, release status, category, and archived delivery artifacts.
98
+
99
+ ---
100
+
101
+ ## 📜 Master Release Log
102
+
103
+ | Completed Date | Run ID | Category | Title | Git Commit | Status | Archive Link |
104
+ | :--- | :--- | :--- | :--- | :--- | :--- | :--- |
105
+ | _No shipped runs yet_ | - | - | Run \`/feature\` or \`/00-discover\` to start your first delivery run | - | - | - |
106
+
107
+ ---
108
+
109
+ ## 🗄️ History Categories (The Core 3 Model)
110
+
111
+ - **\`features/\`**: New user-facing features, enhancements, architecture migrations, refactoring, and tooling/infra.
112
+ - **\`fixes/\`**: Bug fixes, hotfixes, regressions, security patches, and performance optimizations.
113
+ - **\`rollbacks/\`**: Safe feature reversal and rollback execution records.
114
+ `;
115
+ await fs.writeFile(path.join(templateRoot, "devflow", "history", "HISTORY.md"), starterHistory, "utf8");
116
+ // 3. Clean Starter ideas.md
117
+ const starterIdeas = `# 🔮 Centralized Idea Inbox & Backlog
118
+
119
+ > Record, analyze, and prioritize feature ideas before starting active delivery.
120
+ > Use the \`/idea\` command to quickly capture and evaluate new ideas.
121
+
122
+ ---
123
+
124
+ ## 💡 Active Idea Inbox
125
+
126
+ | ID | Title | Value (1-5) | Feasibility (1-5) | Status | Notes |
127
+ | :--- | :--- | :---: | :---: | :--- | :--- |
128
+ | _No pending ideas_ | - | - | - | Use \`/idea <your idea>\` to capture | - |
129
+
130
+ ---
131
+
132
+ ## 📦 Archived / Shipped Ideas
133
+
134
+ | ID | Title | Shipped In | Completed Date |
135
+ | :--- | :--- | :--- | :--- |
136
+ `;
137
+ await fs.writeFile(path.join(templateRoot, "devflow", "ideas.md"), starterIdeas, "utf8");
138
+ // 4. Clean Starter project-overview.md
139
+ const starterOverview = `# Project Overview & Source of Truth
140
+
141
+ > Living context artifact automatically synchronized with codebase reality and DevFlow delivery history.
142
+ > Run \`/onboard\` (for new projects) or \`/adopt\` (for existing codebases) to populate this file.
143
+
144
+ ---
145
+
146
+ ## 1. Project Purpose & Target Users
147
+ - Describe what this application does, who it is for, and the problems it solves.
148
+
149
+ ## 2. Architecture & Directory Layout
150
+ - Visual directory layout and overview of core modules.
151
+
152
+ ## 3. Technology Stack & Key Tooling
153
+ - Frameworks, languages, databases, ORMs, package managers, and runtime environment.
154
+
155
+ ## 4. Concrete Data Models & Entities
156
+ - Core entities, database schemas, API interfaces, and types.
157
+
158
+ ## 5. Shipped Capabilities & Milestones
159
+ - Verified features and components currently functional in the codebase.
160
+
161
+ ## 6. Verified Commands & Developer Workflow
162
+ - Dev Server, Build, Test, Lint, and Verify commands.
163
+
164
+ ## 7. Known Architectural Focus Areas
165
+ - Upcoming priorities, refactoring targets, or known technical considerations.
166
+ `;
167
+ await fs.writeFile(path.join(templateRoot, "devflow", "context", "project-overview.md"), starterOverview, "utf8");
168
+ // 5. Clean Starter current-stage.md
169
+ const starterStage = `# Current DevFlow Run Status
170
+
171
+ - **Active Discovery ID**: \`None\`
172
+ - **Active Running ID**: \`None\`
173
+ - **Current Stage**: \`Idle (Ready for new /feature, /fix, /00-discover, or /10-define)\`
174
+ - **Living Spec**: \`None\`
175
+ - **Last Completed Run**: \`None\`
176
+ - **Last Updated**: \`None\`
177
+ `;
178
+ await fs.writeFile(path.join(templateRoot, "devflow", "context", "current-stage.md"), starterStage, "utf8");
179
+ // 6. Clean Starter current-feature.md
180
+ const starterFeature = `# Current Feature
181
+
182
+ _Nothing in progress. Run /feature, /fix, or /rollback to start._
183
+ `;
184
+ await fs.writeFile(path.join(templateRoot, "devflow", "context", "current-feature.md"), starterFeature, "utf8");
75
185
  }
76
186
  async function main() {
77
187
  await fs.rm(templateRoot, { recursive: true, force: true, maxRetries: 5, retryDelay: 200 });
@@ -80,7 +190,7 @@ async function main() {
80
190
  await copyEntry(entry);
81
191
  }
82
192
  await ensureEmptyDirectories();
83
- await sanitizeAgentsEntryFile(path.join(templateRoot, "AGENTS.md"));
193
+ await sanitizeStarterFiles();
84
194
  }
85
195
  main().catch((error) => {
86
196
  console.error(error instanceof Error ? error.message : String(error));
@@ -1 +1 @@
1
- {"version":3,"file":"prepare-template.js","sourceRoot":"","sources":["../../scripts/prepare-template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepare-template.js","sourceRoot":"","sources":["../../scripts/prepare-template.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jakkrichm/create-nexus-devflow",
3
- "version": "2.0.16",
3
+ "version": "2.0.18",
4
4
  "description": "Installer package for Nexus-DevFlow agentic workflow layer.",
5
5
  "license": "MIT",
6
6
  "author": "Jakkrich",
@@ -1,5 +1,5 @@
1
- ---name: 00-discover
2
-
1
+ ---
2
+ name: 00-discover
3
3
  description: "[Devflow] Discover stage in DevFlow 2.0 - explore a request, route supporting inquiry, and decide whether delivery work should begin without allocating a running ID."
4
4
  argument-hint: "{title, request, or discovery-id}"
5
5
  ---
@@ -1,6 +1,6 @@
1
- ---name: 10-define
2
-
3
- description: "[Devflow] Define stage in DevFlow 2.0 - turn an approved discovery into one or more bounded delivery runs with stable scope."
1
+ ---
2
+ name: 10-define
3
+ description: "[Devflow] Define stage in DevFlow 2.0 - turn an approved discovery into a bounded delivery run in context/current-run with stable scope."
4
4
  argument-hint: "{approved discovery-id, discovery path, running-id, or run path}"
5
5
  ---
6
6
 
@@ -8,23 +8,21 @@ argument-hint: "{approved discovery-id, discovery path, running-id, or run path}
8
8
 
9
9
  $ARGUMENTS
10
10
 
11
- Convert an approved `Proceed` discovery into bounded delivery slices. Allocate one Running ID per independently specifiable and reviewable slice, then write one `10-define.md` contract per generated run. This is the first stage that creates Running IDs.
11
+ Convert an approved `Proceed` discovery into a bounded delivery run. Checks the Single Active Run Guardrail, allocates a sequential ID without prefix (`xxx-slug`), and writes `devflow/context/current-run/10-define.md`.
12
12
 
13
13
  ## Usage
14
14
 
15
15
  ```text
16
16
  10-define {discovery-id or discovery path}
17
- 10-define {running-id or run path}
17
+ 10-define {id or run path}
18
18
  ```
19
19
 
20
- Use a Discovery ID to materialize new delivery runs. Use an existing Running ID only to revise or split a definition that already exists.
21
-
22
20
  ## Markdown-First Contract
23
21
 
24
- For every approved delivery slice, write:
22
+ For the active delivery run, write:
25
23
 
26
24
  ```text
27
- devflow/runs/{ID}-{slug}10-define.md
25
+ devflow/context/current-run/10-define.md
28
26
  ```
29
27
 
30
28
  using:
@@ -33,138 +31,24 @@ using:
33
31
  .agent/resources/schemas/define.template.md
34
32
  ```
35
33
 
36
- Before writing any `10-define.md`, read `artifact_language` from `define.template.md` and produce every generated artifact in that language.
37
-
38
- ## Required Section Content
39
-
40
- Before completing any generated artifact:
41
-
42
- - preserve every heading required by the selected template
43
- - write concrete information under every heading
44
- - when no information exists or the section does not apply, write exactly `-`
45
- - never leave a heading immediately followed by another heading with no body content
46
- - remove template placeholders from the final artifact
47
- - do not invent facts merely to avoid using `-`
48
- - re-read the saved artifact and verify every heading satisfies this rule
49
-
50
- ## Process
51
-
52
- ### Loop Contract
53
-
54
- Run definition as a scope-stabilization and run-allocation loop.
55
-
56
- - **Intent**: turn an approved discovery into the smallest coherent set of delivery runs that can each be specified, planned, implemented, and verified without carrying the entire initiative context.
57
- - **Context**: read the approved `00-discover.md`, linked Brainstorm/PRD/Research/Debug outputs, project-wide rules, existing run IDs, and dependencies between candidate slices.
58
- - **Action**: lock initiative and scope boundaries, decompose delivery slices, review the run map, allocate collision-free Running IDs, and write one `10-define.md` per slice.
59
- - **Observation**: use independent acceptance boundaries, release boundaries, ownership, dependencies, context size, cross-domain coupling, and reviewability as evidence for splitting or combining slices.
60
- - **Adjustment**: merge slices that are only implementation tasks; split slices that require separate specs, releases, ownership, or large independent context; return to `00-discover` if the decision or product direction is still unstable.
61
- - **Stop Condition**: stop when the run map is approved, IDs are materialized without collision, each run has stable in/out scope, and every generated run can proceed independently to `20-spec {running_id}`.
62
- - **Handoff**: each `10-define.md` must identify its source Discovery ID, sibling runs, dependencies, scope, non-goals, and exact next command.
63
-
64
- ### 1. Validate The Discovery Gate
34
+ ## Process & Quality Gates
65
35
 
66
- For new delivery work, require:
36
+ ### 1. Single Active Run Guardrail (One Thing at a Time)
37
+ 1. Inspect `devflow/context/current-stage.md`, `devflow/context/current-feature.md`, and `devflow/context/current-run/`.
38
+ 2. If an active uncompleted run exists:
39
+ - **HALT and reject opening a new define stage**.
40
+ - Warn the user to complete or close the active run with `/complete` or `70-release` first.
67
41
 
42
+ ### 2. Validate The Discovery Gate
43
+ Require:
68
44
  - `Decision: Proceed`
69
45
  - `Approval Status: Approved`
70
- - a resolvable Discovery ID and `00-discover.md`
71
-
72
- If either gate is missing, do not create a Running ID. Return to `00-discover {discovery_id}`.
73
-
74
- ### 2. Build The Delivery Run Map
75
-
76
- Define candidate slices around coherent delivery outcomes, not small tasks.
77
-
78
- Create separate runs when work has materially independent:
79
-
80
- - acceptance or verification boundaries
81
- - release or rollback boundaries
82
- - domain context or ownership
83
- - dependency sequencing
84
- - implementation context large enough to threaten reliable planning or review
85
-
86
- Keep ordinary subtasks inside `30-plan` and checklists.
87
-
88
- For every slice record:
89
-
90
- - title and slug
91
- - outcome and scope boundary
92
- - exclusions
93
- - dependencies
94
- - shared project constraints
95
- - reason it deserves one Running ID
96
-
97
- ### 3. Review Before Allocation
98
-
99
- Present the proposed run map for human review before consuming numeric IDs when the split is large, disputed, or high risk. A single clear slice may proceed directly when approval is already explicit.
100
-
101
- ### 4. Allocate Running IDs
102
-
103
- - inspect `devflow/runs/` immediately before allocation
104
- - choose sequential IDs after the highest existing numeric Running ID
105
- - never reuse a gap merely because it is available
106
- - create each target directory immediately to reserve it
107
- - recheck for collisions before writing artifacts
108
- - if any collision occurs, stop, rescan, and allocate a fresh contiguous range
109
-
110
- One invocation may create one or many Running IDs. Record the complete allocation back into the source discovery's `related_runs` and allocated-run section.
111
-
112
- ### 5. Write One `10-define.md` Per Run
113
-
114
- - preserve template headings
115
- - set `source_discovery`
116
- - identify sibling runs and dependencies
117
- - carry forward only the project context needed by this slice
118
- - make scope, non-goals, assumptions, and success criteria explicit
119
- - keep implementation tasks out of Define
120
-
121
- ### 6. Split An Existing Run When Necessary
122
-
123
- If an existing definition is too broad:
124
-
125
- - propose a replacement run map
126
- - preserve traceability to the original run and discovery
127
- - allocate new IDs only after approval
128
- - mark the old definition as `Superseded` and list its replacement runs
129
- - do not silently fork scope during `20-spec`
130
-
131
- ### 7. Manual Review Gate
132
-
133
- Before recommending `20-spec`, confirm each generated definition independently. Approval of one run must not imply approval of every sibling run.
134
-
135
- ## Output
136
-
137
- Report:
138
-
139
- - source Discovery ID
140
- - proposed and allocated run map
141
- - workspace path for every generated run
142
- - scope and dependency summary per run
143
- - any superseded run
144
- - exact `20-spec {running_id}` commands for approved runs
145
-
146
- ## Relationship To DevFlow 2.0
147
-
148
- - Classification: Mainline workflow and Running ID creation boundary
149
- - Previous state: approved `00-discover`
150
- - Next state: `20-spec {running_id}` per generated run
151
- - Running ID lifecycle: starts here
152
-
153
- ## Sources
154
-
155
- - `AGENTS.md`
156
- - `docs/workspace-artifacts.md`
157
- - `.agent/resources/schemas/define.template.md`
158
-
159
- ## Next Workflow Recommendation
160
-
161
- - **Primary**: `20-spec {running_id}` for each approved run
162
- - **Alternatives**:
163
- - `00-discover {discovery_id}` when the go/no-go decision or direction is unstable
164
- - `Research {discovery_id}` when evidence still blocks a reliable split
165
- - `grill-with-docs` when boundaries or terminology remain ambiguous
166
-
167
- ## Nexus Event
168
-
169
- - Use `domain-modeling` when sibling runs need shared language or durable architectural decisions.
170
- - Use `planning-and-task-breakdown` only after the delivery boundary is stable; small tasks belong in `30-plan`, not separate Running IDs.
46
+ - A resolvable Discovery ID and `00-discover.md`
47
+
48
+ ### 3. Allocate Sequential ID
49
+ - Inspect `devflow/history/HISTORY.md` and allocate sequential ID without prefix (e.g. `022-{slug}`).
50
+ - Create directory `devflow/context/current-run/` if it does not exist.
51
+ - Write `devflow/context/current-run/10-define.md`.
52
+ - Update `devflow/context/current-stage.md`:
53
+ - `Active Running ID`: `{ID}`
54
+ - `Current Stage`: `10-define (Completed -> Ready for 20-spec)`
@@ -1,5 +1,5 @@
1
- ---name: 20-spec
2
-
1
+ ---
2
+ name: 20-spec
3
3
  description: "[Devflow] Spec stage in DevFlow 2.0 - write the formal markdown-first specification from a stable definition."
4
4
  argument-hint: "{running-id or workspace path}"
5
5
  ---
@@ -1,5 +1,5 @@
1
- ---name: 30-plan
2
-
1
+ ---
2
+ name: 30-plan
3
3
  description: "[Devflow] Plan stage in DevFlow 2.0 - transform 20-spec.md into an executable task breakdown with test decisions."
4
4
  ---
5
5
  # Phase 30: Plan Implementation
@@ -1,5 +1,5 @@
1
- ---name: 50-verify
2
-
1
+ ---
2
+ name: 50-verify
3
3
  description: "[Devflow] Verify stage in DevFlow 2.0 - perform senior QA review, record evidence, and decide pass or return-to-implement."
4
4
  ---
5
5
  # Phase 50: Verify Quality
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: 60-report
3
- description: "[Devflow] Report stage in DevFlow 2.0 - produce standardized markdown summary report for the completed run."
3
+ description: "[Devflow] Report stage in DevFlow 2.0 - produce standardized markdown and HTML summary report for the completed run."
4
4
  argument-hint: "{running-id or workspace path}"
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
- ---name: 70-release
2
-
3
- description: "[Devflow] Release stage in DevFlow 2.0 - package verified work for delivery, git merge, PR, or deployment."
1
+ ---
2
+ name: 70-release
3
+ description: "[Devflow] Release stage in DevFlow 2.0 - package verified work for delivery, archive run to categorized history, git merge, PR, or deployment."
4
4
  argument-hint: "{running-id or workspace path}"
5
5
  ---
6
6
 
@@ -8,26 +8,20 @@ argument-hint: "{running-id or workspace path}"
8
8
 
9
9
  $ARGUMENTS
10
10
 
11
- Package approved work for delivery after the report stage has captured the final verified story. This stage turns report sign-off into release-ready execution and handoff.
11
+ Package approved work for delivery after the report stage has captured the final verified story. Archives the active run from `devflow/context/current-run/` to `devflow/history/{features|fixes|rollbacks}/{xxx-slug}/`, updates `HISTORY.md`, performs git merge, and closes the run.
12
12
 
13
13
  ## Usage
14
14
 
15
15
  ```text
16
- 70-release {running-id or workspace path}
16
+ 70-release {id or workspace path}
17
17
  ```
18
18
 
19
- Use this when:
20
-
21
- - `60-report` is complete
22
- - the work needs release execution or a release-facing handoff packet
23
- - downstream stakeholders need delivery notes instead of raw implementation detail
24
-
25
19
  ## Markdown-First Contract
26
20
 
27
21
  Write the primary stage artifact to:
28
22
 
29
23
  ```text
30
- devflow/runs/{ID}-{slug}70-release.md
24
+ devflow/context/current-run/70-release.md
31
25
  ```
32
26
 
33
27
  using:
@@ -36,142 +30,24 @@ using:
36
30
  .agent/resources/schemas/release.template.md
37
31
  ```
38
32
 
39
- Before writing `70-release.md`, read `artifact_language` from `release.template.md` and produce the artifact in that language.
40
-
41
- ## Required Section Content
42
-
43
- Before completing any generated artifact:
44
-
45
- - preserve every heading required by the selected template
46
- - write concrete information under every heading
47
- - when no information exists or the section does not apply, write exactly `-`
48
- - never leave a heading immediately followed by another heading with no body content
49
- - remove template placeholders from the final artifact
50
- - do not invent facts merely to avoid using `-`
51
- - re-read the saved artifact and verify every heading satisfies this rule
52
-
53
- ## Process
54
-
55
- ### Loop Contract
56
-
57
- Run release as a readiness-packaging loop, not as a celebratory summary.
58
-
59
- - **Intent**: convert verified work into a clear release, PR, merge, deploy, or handoff packet without hiding unresolved risk.
60
- - **Context**: read `50-verify.md`, `50-verify-impact.md` when present, `40-execute.md`, `20-spec.md`, checklist state, and any PR, deploy, merge, or handoff notes.
61
- - **Action**: summarize delivered scope, user/system impact, readiness state, validation evidence, rollback or mitigation notes, and follow-up items.
62
- - **Observation**: use concrete evidence such as verify verdict, failed or skipped checks, impact notes, residual risks, merge/deploy constraints, and checklist status.
63
- - **Adjustment**: if release readiness becomes uncertain, return to `50-verify`; if fixes are required, return to `40-execute`; if context must transfer, use `handoff`.
64
- - **Stop Condition**: stop when the release state is explicit, evidence supports readiness, residual risks and follow-ups are named, and the next delivery or reporting route is clear.
65
- - **Handoff**: `70-release.md` must close the mainline run or tell the next reader what shipped, what did not ship, what evidence supports readiness, and what follow-ups remain.
33
+ ## Process & Quality Gates
66
34
 
67
35
  ### 0. Step 0 Safety Pass & Findings Ledger Gate
68
36
 
69
37
  Before packaging, merging, or releasing:
70
38
 
71
39
  1. **Findings Ledger Blockers**:
72
- - ตรวจสอบ `devflow/context/findings.md`
73
- - ต้องไม่มี Finding ระดับ P0 หรือ P1 ในสถานะ `open` หรือ `fixed` ค้างอยู่
74
- - สถานะ `fixed` ยังคงบล็อก release เสมอจนกว่าจะผ่านการ Review ใน `50-verify` เพื่อเลื่อนเป็น `closed`
40
+ - Inspect `devflow/context/findings.md`.
41
+ - No Finding of severity `P0` or `P1` in `open` or `fixed` status is permitted.
42
+ - `fixed` still blocks release until reviewed and closed in `50-verify`.
75
43
  2. **2-Stage Approval Separation**:
76
- - การขออนุมัติ Merge เข้า `main` หรือ `master` เป็นการอนุมัติขั้นแรก
77
- - **การ Push ไปยัง Remote หรือ Deploy จะต้องขออนุมัติแยกต่างหากอย่างชัดเจน (Merge approval DOES NOT equal Push approval)**
44
+ - Consent to merge into `main` is strictly separate from consent to `git push` to remote or deploy.
78
45
  3. **Archive Resolved Findings**:
79
- - ย้ายรายการ Findings ที่ปิดแล้ว (`closed`, `accepted`, `invalid`) ไปบันทึกในเอกสาร Release และรีเซ็ต `findings.md` ให้สะอาด
80
- 4. **Append to Master History Ledger**:
81
- - บันทึก Entry ใหม่ลงใน `devflow/history/HISTORY.md` พร้อมระบุ Running ID, Title, วันที่, Git Commit Hash / Tag, สถานะ (`Released`), และลิงก์ไปยังรายงานสรุป `60-report.md`
82
-
83
- ### 1. Load Verified Context
84
-
85
- Read:
86
-
87
- - `60-report.md`
88
- - `50-verify.md`
89
- - `40-execute.md`
90
- - `20-spec.md`
91
- - `devflow/context/findings.md`
92
- - any PR, deploy, merge, or handoff notes already captured
93
-
94
- ### 2. Package The Release Outcome
95
-
96
- Summarize:
97
-
98
- - what is being delivered
99
- - what changed in user or system terms
100
- - what state the work is in for PR, deploy, merge, or handoff
101
- - resolved and archived findings
102
- - what follow-up items remain
103
-
104
- ### 3. Write `70-release.md`
105
-
106
- Keep the language understandable for someone who did not do the work.
107
- Follow the `artifact_language` configured in `release.template.md`.
108
-
109
- Prefer clear release-note style wording:
110
-
111
- - what was added
112
- - what changed
113
- - what was fixed
114
- - what is intentionally deferred
115
- - archived findings summary
116
-
117
- ### 4. Confirm Readiness & 2-Stage Execution
118
-
119
- If release readiness changes because unresolved issues are found:
120
-
121
- - route back to `50-verify` or `40-execute`
122
-
123
- Do not package unfinished work as release-ready through wording tricks.
124
- When executing git operations:
125
- 1. Obtain explicit user confirmation before merging.
126
- 2. Obtain separate explicit user confirmation before running `git push` or deployment.
127
-
128
- ### 5. Manual Review Soft Gate
129
-
130
- Before closing the mainline run, warn when release approval is still pending.
131
- If release blockers, operator questions, or handoff approvals remain open:
132
-
133
- - mark them visibly in `70-release.md`
134
- - recommend human confirmation before closing the phase
135
- - keep the mainline closeout as a soft recommendation only
136
-
137
- ## Output
138
-
139
- Report:
140
-
141
- - delivered scope
142
- - release, PR, merge, deploy, or handoff state
143
- - follow-up items
144
- - recommended next step
145
-
146
- ## Relationship To DevFlow 2.0
147
-
148
- - Classification: Mainline workflow
149
- - Previous state: `60-report`
150
- - Next state: End of the mainline run when release packaging or handoff is complete
151
- - Common companion commands: `Commit`, `PR`, `Deploy`, `Changelog`, `Merge`, `Wiki`, `overview`
152
- - Support skills: `resolving-merge-conflicts`, `handoff`, and `setup-pre-commit` when release packaging needs conflict resolution, transfer notes, or local quality gates
153
-
154
- ## Sources
155
-
156
- - `AGENTS.md`
157
- - `docs/workspace-artifacts.md`
158
- - `.agent/resources/schemas/release.template.md`
159
- - Related commands: `60-report`, `Commit`, `PR`, `Deploy`, `Changelog`, `Merge`, `Wiki`, `overview`
160
-
161
- ## Next Workflow Recommendation
162
-
163
- - **Primary**: End of Timeline flow (or run `/overview` to sync living project context)
164
- - **Why**: The report is already complete, and this phase is the final release-facing execution step.
165
- - **Alternatives**:
166
- - `overview` - choose this to immediately sync newly shipped capabilities into `devflow/context/project-overview.md`.
167
- - `60-report` - choose this when the release package diverges from the approved report and the summary must be refreshed first.
168
- - `50-verify` - choose this when release readiness becomes uncertain.
169
- - `40-execute` - choose this when additional fixes are needed before release can proceed.
170
- - `handoff` - choose this when release-ready context must move to another session, agent, or stakeholder packet.
171
-
172
- ## Nexus Event
173
-
174
- - Use `Commit`, `PR`, `Deploy`, `Merge`, `Changelog`, or `overview` when release execution still needs a concrete lane.
175
- - Return to `60-report` when release notes, scope, or handoff wording diverge from the approved summary.
176
- - Return to `50-verify` or `40-execute` when release readiness changes because unresolved issues are discovered.
177
-
46
+ - Move resolved findings (`closed`, `accepted`, `invalid`) into release archive notes and clean `findings.md`.
47
+ 4. **Archive Run Folder to Categorized History**:
48
+ - Determine Category (`features`, `fixes`, `rollbacks`).
49
+ - Move directory `devflow/context/current-run/` (or `devflow/runs/{xxx-slug}/`) ➔ `devflow/history/{category}/{xxx-slug}/`.
50
+ 5. **Append to Master History Ledger**:
51
+ - Append entry to `devflow/history/HISTORY.md` linking to `history/{category}/{xxx-slug}/60-report.md`.
52
+ 6. **Update Workspace State**:
53
+ - Set `devflow/context/current-stage.md` to `Idle`.