@jakkrichm/create-nexus-devflow 2.0.19 → 2.0.21
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/dist/lib/update.js +19 -8
- package/dist/lib/update.js.map +1 -1
- package/package.json +1 -1
- package/template/.agents/skills/00-discover/SKILL.md +28 -116
- package/template/.agents/skills/40-execute/SKILL.md +1 -1
- package/template/.agents/skills/50-verify/SKILL.md +28 -161
- package/template/.agents/skills/60-report/SKILL.md +19 -92
- package/template/.agents/skills/70-release/SKILL.md +36 -11
- package/template/.agents/skills/check/SKILL.md +19 -7
- package/template/.agents/skills/complete/SKILL.md +21 -10
- package/template/.claude/skills/00-discover/SKILL.md +28 -116
- package/template/.claude/skills/40-execute/SKILL.md +1 -1
- package/template/.claude/skills/50-verify/SKILL.md +28 -161
- package/template/.claude/skills/60-report/SKILL.md +19 -92
- package/template/.claude/skills/70-release/SKILL.md +36 -11
- package/template/.claude/skills/check/SKILL.md +19 -7
- package/template/.claude/skills/complete/SKILL.md +21 -10
- package/template/AGENTS.md +1 -1
- package/template/devflow/context/coding-standards.md +40 -29
- package/template/.agents/skills/agent/SKILL.md +0 -165
- package/template/.agents/skills/api-and-interface-design/SKILL.md +0 -294
- package/template/.agents/skills/app-builder/SKILL.md +0 -75
- package/template/.agents/skills/app-builder/agent-coordination.md +0 -71
- package/template/.agents/skills/app-builder/feature-building.md +0 -53
- package/template/.agents/skills/app-builder/project-detection.md +0 -34
- package/template/.agents/skills/app-builder/scaffolding.md +0 -118
- package/template/.agents/skills/app-builder/tech-stack.md +0 -40
- package/template/.agents/skills/app-builder/templates/SKILL.md +0 -39
- package/template/.agents/skills/app-builder/templates/astro-static/TEMPLATE.md +0 -76
- package/template/.agents/skills/app-builder/templates/chrome-extension/TEMPLATE.md +0 -92
- package/template/.agents/skills/app-builder/templates/cli-tool/TEMPLATE.md +0 -88
- package/template/.agents/skills/app-builder/templates/electron-desktop/TEMPLATE.md +0 -88
- package/template/.agents/skills/app-builder/templates/express-api/TEMPLATE.md +0 -83
- package/template/.agents/skills/app-builder/templates/flutter-app/TEMPLATE.md +0 -90
- package/template/.agents/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +0 -90
- package/template/.agents/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +0 -122
- package/template/.agents/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +0 -122
- package/template/.agents/skills/app-builder/templates/nextjs-static/TEMPLATE.md +0 -169
- package/template/.agents/skills/app-builder/templates/nuxt-app/TEMPLATE.md +0 -134
- package/template/.agents/skills/app-builder/templates/python-fastapi/TEMPLATE.md +0 -83
- package/template/.agents/skills/app-builder/templates/react-native-app/TEMPLATE.md +0 -119
- package/template/.agents/skills/architecture/SKILL.md +0 -55
- package/template/.agents/skills/architecture/context-discovery.md +0 -43
- package/template/.agents/skills/architecture/examples.md +0 -94
- package/template/.agents/skills/architecture/pattern-selection.md +0 -68
- package/template/.agents/skills/architecture/patterns-reference.md +0 -50
- package/template/.agents/skills/architecture/trade-off-analysis.md +0 -77
- package/template/.agents/skills/bash-linux/SKILL.md +0 -199
- package/template/.agents/skills/behavioral-modes/SKILL.md +0 -242
- package/template/.agents/skills/brainstorm/SKILL.md +0 -168
- package/template/.agents/skills/changelog/SKILL.md +0 -109
- package/template/.agents/skills/codebase-design/DEEPENING.md +0 -24
- package/template/.agents/skills/codebase-design/DESIGN-IT-TWICE.md +0 -28
- package/template/.agents/skills/codebase-design/SKILL.md +0 -58
- package/template/.agents/skills/commit/SKILL.md +0 -59
- package/template/.agents/skills/competitor-analysis/SKILL.md +0 -66
- package/template/.agents/skills/context-engineering/SKILL.md +0 -290
- package/template/.agents/skills/database-design/SKILL.md +0 -52
- package/template/.agents/skills/database-design/database-selection.md +0 -43
- package/template/.agents/skills/database-design/indexing.md +0 -39
- package/template/.agents/skills/database-design/migrations.md +0 -48
- package/template/.agents/skills/database-design/optimization.md +0 -36
- package/template/.agents/skills/database-design/orm-selection.md +0 -30
- package/template/.agents/skills/database-design/schema-design.md +0 -56
- package/template/.agents/skills/database-design/scripts/schema_validator.py +0 -172
- package/template/.agents/skills/deploy/SKILL.md +0 -63
- package/template/.agents/skills/documentation-and-adrs/SKILL.md +0 -278
- package/template/.agents/skills/domain-modeling/ADR-FORMAT.md +0 -47
- package/template/.agents/skills/domain-modeling/CONTEXT-FORMAT.md +0 -60
- package/template/.agents/skills/domain-modeling/SKILL.md +0 -74
- package/template/.agents/skills/followup/SKILL.md +0 -83
- package/template/.agents/skills/frontend-ui-engineering/SKILL.md +0 -326
- package/template/.agents/skills/frontend-ui-engineering/accessibility-checklist.md +0 -159
- package/template/.agents/skills/goal/SKILL.md +0 -148
- package/template/.agents/skills/handoff/SKILL.md +0 -46
- package/template/.agents/skills/help/SKILL.md +0 -253
- package/template/.agents/skills/i18n-localization/SKILL.md +0 -154
- package/template/.agents/skills/i18n-localization/scripts/i18n_checker.py +0 -241
- package/template/.agents/skills/insight/SKILL.md +0 -42
- package/template/.agents/skills/issue-triage/SKILL.md +0 -115
- package/template/.agents/skills/lint-and-validate/SKILL.md +0 -45
- package/template/.agents/skills/lint-and-validate/scripts/lint_runner.py +0 -184
- package/template/.agents/skills/lint-and-validate/scripts/type_coverage.py +0 -173
- package/template/.agents/skills/mcp-builder/SKILL.md +0 -176
- package/template/.agents/skills/merge/SKILL.md +0 -76
- package/template/.agents/skills/mobile-design/SKILL.md +0 -394
- package/template/.agents/skills/mobile-design/decision-trees.md +0 -516
- package/template/.agents/skills/mobile-design/mobile-backend.md +0 -491
- package/template/.agents/skills/mobile-design/mobile-color-system.md +0 -420
- package/template/.agents/skills/mobile-design/mobile-debugging.md +0 -122
- package/template/.agents/skills/mobile-design/mobile-design-thinking.md +0 -357
- package/template/.agents/skills/mobile-design/mobile-navigation.md +0 -458
- package/template/.agents/skills/mobile-design/mobile-performance.md +0 -767
- package/template/.agents/skills/mobile-design/mobile-testing.md +0 -356
- package/template/.agents/skills/mobile-design/mobile-typography.md +0 -433
- package/template/.agents/skills/mobile-design/platform-android.md +0 -666
- package/template/.agents/skills/mobile-design/platform-ios.md +0 -561
- package/template/.agents/skills/mobile-design/scripts/mobile_audit.py +0 -670
- package/template/.agents/skills/mobile-design/touch-psychology.md +0 -537
- package/template/.agents/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +0 -312
- package/template/.agents/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +0 -240
- package/template/.agents/skills/nextjs-react-expert/3-server-server-side-performance.md +0 -490
- package/template/.agents/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +0 -264
- package/template/.agents/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +0 -581
- package/template/.agents/skills/nextjs-react-expert/6-rendering-rendering-performance.md +0 -432
- package/template/.agents/skills/nextjs-react-expert/7-js-javascript-performance.md +0 -684
- package/template/.agents/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +0 -150
- package/template/.agents/skills/nextjs-react-expert/SKILL.md +0 -286
- package/template/.agents/skills/nextjs-react-expert/scripts/convert_rules.py +0 -222
- package/template/.agents/skills/nextjs-react-expert/scripts/react_performance_checker.py +0 -252
- package/template/.agents/skills/nodejs-best-practices/SKILL.md +0 -333
- package/template/.agents/skills/package-json-generator/SKILL.md +0 -60
- package/template/.agents/skills/package-json-generator/scripts/generate.js +0 -120
- package/template/.agents/skills/package-json-generator/scripts/run.sh +0 -19
- package/template/.agents/skills/parallel-agents/SKILL.md +0 -144
- package/template/.agents/skills/performance-optimization/SKILL.md +0 -299
- package/template/.agents/skills/performance-optimization/performance-checklist.md +0 -113
- package/template/.agents/skills/powershell-windows/SKILL.md +0 -167
- package/template/.agents/skills/pr/SKILL.md +0 -93
- package/template/.agents/skills/prd/SKILL.md +0 -127
- package/template/.agents/skills/preview/SKILL.md +0 -42
- package/template/.agents/skills/python-patterns/SKILL.md +0 -441
- package/template/.agents/skills/research/SKILL.md +0 -143
- package/template/.agents/skills/review/SKILL.md +0 -71
- package/template/.agents/skills/roadmap-strategy/SKILL.md +0 -94
- package/template/.agents/skills/security-review/SKILL.md +0 -63
- package/template/.agents/skills/seo-fundamentals/SKILL.md +0 -129
- package/template/.agents/skills/seo-fundamentals/scripts/seo_checker.py +0 -219
- package/template/.agents/skills/server-management/SKILL.md +0 -161
- package/template/.agents/skills/simplify/SKILL.md +0 -70
- package/template/.agents/skills/skill-development/SKILL.md +0 -86
- package/template/.agents/skills/spec/SKILL.md +0 -39
- package/template/.agents/skills/spec-driven-development/SKILL.md +0 -207
- package/template/.agents/skills/tailwind-patterns/SKILL.md +0 -269
- package/template/.agents/skills/type-design/SKILL.md +0 -84
- package/template/.agents/skills/ui-ux-pro-max/SKILL.md +0 -75
- package/template/.claude/skills/agent/SKILL.md +0 -165
- package/template/.claude/skills/api-and-interface-design/SKILL.md +0 -294
- package/template/.claude/skills/app-builder/SKILL.md +0 -75
- package/template/.claude/skills/app-builder/agent-coordination.md +0 -71
- package/template/.claude/skills/app-builder/feature-building.md +0 -53
- package/template/.claude/skills/app-builder/project-detection.md +0 -34
- package/template/.claude/skills/app-builder/scaffolding.md +0 -118
- package/template/.claude/skills/app-builder/tech-stack.md +0 -40
- package/template/.claude/skills/app-builder/templates/SKILL.md +0 -39
- package/template/.claude/skills/app-builder/templates/astro-static/TEMPLATE.md +0 -76
- package/template/.claude/skills/app-builder/templates/chrome-extension/TEMPLATE.md +0 -92
- package/template/.claude/skills/app-builder/templates/cli-tool/TEMPLATE.md +0 -88
- package/template/.claude/skills/app-builder/templates/electron-desktop/TEMPLATE.md +0 -88
- package/template/.claude/skills/app-builder/templates/express-api/TEMPLATE.md +0 -83
- package/template/.claude/skills/app-builder/templates/flutter-app/TEMPLATE.md +0 -90
- package/template/.claude/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +0 -90
- package/template/.claude/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +0 -122
- package/template/.claude/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +0 -122
- package/template/.claude/skills/app-builder/templates/nextjs-static/TEMPLATE.md +0 -169
- package/template/.claude/skills/app-builder/templates/nuxt-app/TEMPLATE.md +0 -134
- package/template/.claude/skills/app-builder/templates/python-fastapi/TEMPLATE.md +0 -83
- package/template/.claude/skills/app-builder/templates/react-native-app/TEMPLATE.md +0 -119
- package/template/.claude/skills/architecture/SKILL.md +0 -55
- package/template/.claude/skills/architecture/context-discovery.md +0 -43
- package/template/.claude/skills/architecture/examples.md +0 -94
- package/template/.claude/skills/architecture/pattern-selection.md +0 -68
- package/template/.claude/skills/architecture/patterns-reference.md +0 -50
- package/template/.claude/skills/architecture/trade-off-analysis.md +0 -77
- package/template/.claude/skills/bash-linux/SKILL.md +0 -199
- package/template/.claude/skills/behavioral-modes/SKILL.md +0 -242
- package/template/.claude/skills/brainstorm/SKILL.md +0 -168
- package/template/.claude/skills/changelog/SKILL.md +0 -109
- package/template/.claude/skills/codebase-design/DEEPENING.md +0 -24
- package/template/.claude/skills/codebase-design/DESIGN-IT-TWICE.md +0 -28
- package/template/.claude/skills/codebase-design/SKILL.md +0 -58
- package/template/.claude/skills/commit/SKILL.md +0 -59
- package/template/.claude/skills/competitor-analysis/SKILL.md +0 -66
- package/template/.claude/skills/context-engineering/SKILL.md +0 -290
- package/template/.claude/skills/database-design/SKILL.md +0 -52
- package/template/.claude/skills/database-design/database-selection.md +0 -43
- package/template/.claude/skills/database-design/indexing.md +0 -39
- package/template/.claude/skills/database-design/migrations.md +0 -48
- package/template/.claude/skills/database-design/optimization.md +0 -36
- package/template/.claude/skills/database-design/orm-selection.md +0 -30
- package/template/.claude/skills/database-design/schema-design.md +0 -56
- package/template/.claude/skills/database-design/scripts/schema_validator.py +0 -172
- package/template/.claude/skills/deploy/SKILL.md +0 -63
- package/template/.claude/skills/documentation-and-adrs/SKILL.md +0 -278
- package/template/.claude/skills/domain-modeling/ADR-FORMAT.md +0 -47
- package/template/.claude/skills/domain-modeling/CONTEXT-FORMAT.md +0 -60
- package/template/.claude/skills/domain-modeling/SKILL.md +0 -74
- package/template/.claude/skills/followup/SKILL.md +0 -83
- package/template/.claude/skills/frontend-ui-engineering/SKILL.md +0 -326
- package/template/.claude/skills/frontend-ui-engineering/accessibility-checklist.md +0 -159
- package/template/.claude/skills/goal/SKILL.md +0 -148
- package/template/.claude/skills/handoff/SKILL.md +0 -46
- package/template/.claude/skills/help/SKILL.md +0 -253
- package/template/.claude/skills/i18n-localization/SKILL.md +0 -154
- package/template/.claude/skills/i18n-localization/scripts/i18n_checker.py +0 -241
- package/template/.claude/skills/insight/SKILL.md +0 -42
- package/template/.claude/skills/issue-triage/SKILL.md +0 -115
- package/template/.claude/skills/lint-and-validate/SKILL.md +0 -45
- package/template/.claude/skills/lint-and-validate/scripts/lint_runner.py +0 -184
- package/template/.claude/skills/lint-and-validate/scripts/type_coverage.py +0 -173
- package/template/.claude/skills/mcp-builder/SKILL.md +0 -176
- package/template/.claude/skills/merge/SKILL.md +0 -76
- package/template/.claude/skills/mobile-design/SKILL.md +0 -394
- package/template/.claude/skills/mobile-design/decision-trees.md +0 -516
- package/template/.claude/skills/mobile-design/mobile-backend.md +0 -491
- package/template/.claude/skills/mobile-design/mobile-color-system.md +0 -420
- package/template/.claude/skills/mobile-design/mobile-debugging.md +0 -122
- package/template/.claude/skills/mobile-design/mobile-design-thinking.md +0 -357
- package/template/.claude/skills/mobile-design/mobile-navigation.md +0 -458
- package/template/.claude/skills/mobile-design/mobile-performance.md +0 -767
- package/template/.claude/skills/mobile-design/mobile-testing.md +0 -356
- package/template/.claude/skills/mobile-design/mobile-typography.md +0 -433
- package/template/.claude/skills/mobile-design/platform-android.md +0 -666
- package/template/.claude/skills/mobile-design/platform-ios.md +0 -561
- package/template/.claude/skills/mobile-design/scripts/mobile_audit.py +0 -670
- package/template/.claude/skills/mobile-design/touch-psychology.md +0 -537
- package/template/.claude/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +0 -312
- package/template/.claude/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +0 -240
- package/template/.claude/skills/nextjs-react-expert/3-server-server-side-performance.md +0 -490
- package/template/.claude/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +0 -264
- package/template/.claude/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +0 -581
- package/template/.claude/skills/nextjs-react-expert/6-rendering-rendering-performance.md +0 -432
- package/template/.claude/skills/nextjs-react-expert/7-js-javascript-performance.md +0 -684
- package/template/.claude/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +0 -150
- package/template/.claude/skills/nextjs-react-expert/SKILL.md +0 -286
- package/template/.claude/skills/nextjs-react-expert/scripts/convert_rules.py +0 -222
- package/template/.claude/skills/nextjs-react-expert/scripts/react_performance_checker.py +0 -252
- package/template/.claude/skills/nodejs-best-practices/SKILL.md +0 -333
- package/template/.claude/skills/package-json-generator/SKILL.md +0 -60
- package/template/.claude/skills/package-json-generator/scripts/generate.js +0 -120
- package/template/.claude/skills/package-json-generator/scripts/run.sh +0 -19
- package/template/.claude/skills/parallel-agents/SKILL.md +0 -144
- package/template/.claude/skills/performance-optimization/SKILL.md +0 -299
- package/template/.claude/skills/performance-optimization/performance-checklist.md +0 -113
- package/template/.claude/skills/powershell-windows/SKILL.md +0 -167
- package/template/.claude/skills/pr/SKILL.md +0 -93
- package/template/.claude/skills/prd/SKILL.md +0 -127
- package/template/.claude/skills/preview/SKILL.md +0 -42
- package/template/.claude/skills/python-patterns/SKILL.md +0 -441
- package/template/.claude/skills/research/SKILL.md +0 -143
- package/template/.claude/skills/review/SKILL.md +0 -71
- package/template/.claude/skills/roadmap-strategy/SKILL.md +0 -94
- package/template/.claude/skills/security-review/SKILL.md +0 -63
- package/template/.claude/skills/seo-fundamentals/SKILL.md +0 -129
- package/template/.claude/skills/seo-fundamentals/scripts/seo_checker.py +0 -219
- package/template/.claude/skills/server-management/SKILL.md +0 -161
- package/template/.claude/skills/simplify/SKILL.md +0 -70
- package/template/.claude/skills/skill-development/SKILL.md +0 -86
- package/template/.claude/skills/spec/SKILL.md +0 -39
- package/template/.claude/skills/spec-driven-development/SKILL.md +0 -207
- package/template/.claude/skills/tailwind-patterns/SKILL.md +0 -269
- package/template/.claude/skills/type-design/SKILL.md +0 -84
- package/template/.claude/skills/ui-ux-pro-max/SKILL.md +0 -75
|
@@ -8,7 +8,7 @@ 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. 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.
|
|
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` and `CHANGELOG.md`, executes pre-flight smoke checks, performs conventional git commit & merge, and closes the run.
|
|
12
12
|
|
|
13
13
|
## Usage
|
|
14
14
|
|
|
@@ -40,14 +40,39 @@ Before packaging, merging, or releasing:
|
|
|
40
40
|
- Inspect `devflow/context/findings.md`.
|
|
41
41
|
- No Finding of severity `P0` or `P1` in `open` or `fixed` status is permitted.
|
|
42
42
|
- `fixed` still blocks release until reviewed and closed in `50-verify`.
|
|
43
|
-
2. **
|
|
43
|
+
2. **Pre-flight & Deployment Smoke Validation**:
|
|
44
|
+
- Verify environment variables and configuration parameters.
|
|
45
|
+
- Run production build or package smoke check (`npm run build` or `npm run test:package`).
|
|
46
|
+
- Validate that clean state exists with no untracked experimental files.
|
|
47
|
+
3. **2-Stage Approval Separation**:
|
|
44
48
|
- Consent to merge into `main` is strictly separate from consent to `git push` to remote or deploy.
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
-
|
|
50
|
-
|
|
51
|
-
-
|
|
52
|
-
|
|
53
|
-
|
|
49
|
+
|
|
50
|
+
### 1. Changelog & SemVer Version Bump
|
|
51
|
+
|
|
52
|
+
1. Calculate next version according to **Semantic Versioning (SemVer)**:
|
|
53
|
+
- `Major`: Breaking architectural changes, removed public APIs
|
|
54
|
+
- `Minor`: New backward-compatible features added
|
|
55
|
+
- `Patch`: Bug fixes, optimizations, documentation
|
|
56
|
+
2. Append new release entry to `CHANGELOG.md` in [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) format (`Added`, `Changed`, `Fixed`, `Removed`, `Security`).
|
|
57
|
+
|
|
58
|
+
### 2. Conventional Commit & Git Merge
|
|
59
|
+
|
|
60
|
+
1. Stage all release and tracking files.
|
|
61
|
+
2. Commit with conventional format: `chore(release): release {version}` or `feat({scope}): {summary}`.
|
|
62
|
+
3. Squash-merge to base branch (`main`) with explicit user approval.
|
|
63
|
+
|
|
64
|
+
### 3. Archive Run Folder to Categorized History
|
|
65
|
+
|
|
66
|
+
1. Determine Category (`features`, `fixes`, `rollbacks`).
|
|
67
|
+
2. Move directory `devflow/context/current-run/` ➔ `devflow/history/{category}/{xxx-slug}/`.
|
|
68
|
+
3. Clean resolved findings (`closed`, `accepted`, `invalid`) from `devflow/context/findings.md` and append to the release notes.
|
|
69
|
+
4. Append entry to `devflow/history/HISTORY.md` linking to `history/{category}/{xxx-slug}/60-report.md`.
|
|
70
|
+
|
|
71
|
+
### 4. Update Workspace State
|
|
72
|
+
|
|
73
|
+
Set `devflow/context/current-stage.md` to:
|
|
74
|
+
- `Active Discovery ID`: `None`
|
|
75
|
+
- `Active Running ID`: `None (Idle)`
|
|
76
|
+
- `Current Stage`: `Idle (Ready for new run)`
|
|
77
|
+
- `Last Completed Run`: `{ID} ({YYYY-MM-DD})`
|
|
78
|
+
- `Last Updated`: `{YYYY-MM-DD}`
|
|
@@ -8,7 +8,7 @@ argument-hint: "{running-id or workspace path}"
|
|
|
8
8
|
|
|
9
9
|
$ARGUMENTS
|
|
10
10
|
|
|
11
|
-
Quality assurance and multi-lane verification stage in Fast-Track. Validates
|
|
11
|
+
Quality assurance and multi-lane verification stage in Fast-Track. Validates implementation against Acceptance Criteria, executes Scrutinize QA & Security checks, runs test suites, checks for regressions, and records evidence in the Single Living Spec (`devflow/context/current-feature.md`).
|
|
12
12
|
|
|
13
13
|
## Invocations & Aliases
|
|
14
14
|
|
|
@@ -31,15 +31,26 @@ When invoked:
|
|
|
31
31
|
2. Read `devflow/context/current-feature.md`.
|
|
32
32
|
3. Locate `## 1. Specification & Scope` (Acceptance Criteria) and `## 3. Implementation Checklist`.
|
|
33
33
|
|
|
34
|
-
### 2. Multi-lane Verification
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
### 2. Multi-lane Verification & Scrutinize QA
|
|
35
|
+
|
|
36
|
+
Execute verification gates across all lanes:
|
|
37
|
+
|
|
38
|
+
1. **Lane 1: Typecheck & Static Code Quality**:
|
|
37
39
|
- Run typecheck and linting (e.g. `npm run typecheck`, `npm run lint`).
|
|
38
|
-
|
|
40
|
+
- Confirm 0 type errors, 0 lint warnings.
|
|
41
|
+
2. **Lane 2: Automated Test Suites (TDD Gate)**:
|
|
39
42
|
- Run automated unit and integration tests (e.g. `npm test`).
|
|
40
|
-
|
|
43
|
+
- Confirm 100% tests pass with no disabled/skipped tests.
|
|
44
|
+
3. **Lane 3: Scrutinize & Edge Cases Review**:
|
|
45
|
+
- **Boundary Conditions**: Check empty collections, 0/1 limits, off-by-one errors.
|
|
46
|
+
- **Null / Undefined Safety**: Verify optional chaining and nullish coalescing.
|
|
47
|
+
- **Error Handling & Propagation**: Verify errors are logged and handled without swallow.
|
|
48
|
+
4. **Lane 4: Security & Hygiene Audit**:
|
|
49
|
+
- **Secrets Check**: No hardcoded API keys, passwords, or tokens in source code.
|
|
50
|
+
- **Injection & Sanitization**: Ensure inputs are validated and parameterized.
|
|
51
|
+
5. **Lane 5: Manual Scenario Proof**:
|
|
41
52
|
- Verify specific scenarios against Acceptance Criteria (`AC-1`, `AC-2`).
|
|
42
|
-
-
|
|
53
|
+
- Provide concrete walkthrough: "Where to go", "What to run/click", "What to expect".
|
|
43
54
|
|
|
44
55
|
### 3. Update Living Spec (`current-feature.md`)
|
|
45
56
|
Append or update `## 5. Verification Evidence` in `devflow/context/current-feature.md` in **Thai (`th`)**:
|
|
@@ -48,6 +59,7 @@ Append or update `## 5. Verification Evidence` in `devflow/context/current-featu
|
|
|
48
59
|
## 5. Verification Evidence
|
|
49
60
|
- **Typecheck & Linter**: Passed (0 errors, 0 warnings)
|
|
50
61
|
- **Automated Test Suites**: All tests passed (e.g. 12/12 passed, 0 failed)
|
|
62
|
+
- **Scrutinize & Security Audit**: Clean (No boundary issues, 0 secrets, safe inputs)
|
|
51
63
|
- **Acceptance Criteria Verification**:
|
|
52
64
|
- [x] AC-1: {ผลการตรวจสอบเงื่อนไขที่ 1 ผ่าน 100%}
|
|
53
65
|
- [x] AC-2: {ผลการตรวจสอบเงื่อนไขที่ 2 ผ่าน 100%}
|
|
@@ -8,7 +8,7 @@ argument-hint: "{running-id or workspace path}"
|
|
|
8
8
|
|
|
9
9
|
$ARGUMENTS
|
|
10
10
|
|
|
11
|
-
Final delivery, safety pass, archive, and run closure stage in Fast-Track. Validates verification status, archives `devflow/context/current-feature.md` to `devflow/history/{features|fixes|rollbacks}/{xxx-slug}.md`, resets the stub, performs git merge, and closes the run **without auto-generating HTML reports**.
|
|
11
|
+
Final delivery, safety pass, archive, and run closure stage in Fast-Track. Validates verification status, archives `devflow/context/current-feature.md` to `devflow/history/{features|fixes|rollbacks}/{xxx-slug}.md`, resets the stub, updates changelog, performs conventional commit & git merge, and closes the run **without auto-generating HTML reports**.
|
|
12
12
|
|
|
13
13
|
## Invocations & Aliases
|
|
14
14
|
|
|
@@ -62,20 +62,30 @@ When invoked:
|
|
|
62
62
|
_Nothing in progress. Run /feature, /fix, or /rollback to start._
|
|
63
63
|
```
|
|
64
64
|
|
|
65
|
-
### 4. Update Master Ledger (`HISTORY.md`)
|
|
66
|
-
Append a new row to `devflow/history/HISTORY.md` under `## 📜 Master Release Log`:
|
|
67
|
-
```markdown
|
|
68
|
-
| {YYYY-MM-DD} | `{ID}` | {Category} | {Title} | `{commit_hash}` | `Released` | [`{xxx-slug}.md`]({category}/{xxx-slug}.md) |
|
|
69
|
-
```
|
|
65
|
+
### 4. Update Master Ledger (`HISTORY.md`) & CHANGELOG.md
|
|
66
|
+
1. Append a new row to `devflow/history/HISTORY.md` under `## 📜 Master Release Log`:
|
|
67
|
+
```markdown
|
|
68
|
+
| {YYYY-MM-DD} | `{ID}` | {Category} | {Title} | `{commit_hash}` | `Released` | [`{xxx-slug}.md`]({category}/{xxx-slug}.md) |
|
|
69
|
+
```
|
|
70
|
+
2. **Keep a Changelog & SemVer**:
|
|
71
|
+
- If `CHANGELOG.md` exists, append a new version block following SemVer principles:
|
|
72
|
+
- `Major (+1.0.0)`: Breaking architectural changes or API removal
|
|
73
|
+
- `Minor (0.+1.0)`: New user-facing feature additions (`Added`)
|
|
74
|
+
- `Patch (0.0.+1)`: Bug fixes (`Fixed`), documentation (`Docs`), or tweaks (`Changed`)
|
|
70
75
|
|
|
71
76
|
### 5. Policy on HTML Reports (Strict Rule)
|
|
72
77
|
> [!IMPORTANT]
|
|
73
78
|
> **No Auto-Generated HTML**: ห้ามสร้างไฟล์ `report.html` หรือ `60-report.html` แบบอัตโนมัติในขั้นตอนนี้โดยเด็ดขาด!
|
|
74
79
|
> หากผู้ใช้ต้องการดู HTML Dashboard สวยงาม ให้แจ้งผู้ใช้ว่าสามารถเรียกคำสั่งแยกได้: `/report:html`
|
|
75
80
|
|
|
76
|
-
### 6. Git Merge & Branch Cleanup
|
|
77
|
-
1.
|
|
78
|
-
|
|
81
|
+
### 6. Conventional Commits, Git Merge & Branch Cleanup
|
|
82
|
+
1. **Conventional Commits Format**:
|
|
83
|
+
- Stage relevant files explicitly.
|
|
84
|
+
- Use imperative mood: `<type>(<scope>): <short imperative summary>` (e.g. `feat(auth): add password reset flow`, `fix(cli): handle missing config gracefully`).
|
|
85
|
+
- Types: `feat`, `fix`, `docs`, `refactor`, `test`, `chore`.
|
|
86
|
+
2. **Squash-Merge**:
|
|
87
|
+
- Squash-merge feature branch into target base branch (`main` / `master`) with explicit user approval.
|
|
88
|
+
- Clean up short-lived feature branch.
|
|
79
89
|
|
|
80
90
|
### 7. Close Active Run
|
|
81
91
|
Update `devflow/context/current-stage.md`:
|
|
@@ -86,9 +96,10 @@ Update `devflow/context/current-stage.md`:
|
|
|
86
96
|
- `Last Completed Run`: `{ID} ({YYYY-MM-DD})`
|
|
87
97
|
- `Last Updated`: `{YYYY-MM-DD}`
|
|
88
98
|
|
|
89
|
-
### 8. Output Completion Report
|
|
99
|
+
### 8. Output Completion Report & PR Template
|
|
90
100
|
Report to the user:
|
|
91
101
|
- Run successfully completed and merged
|
|
92
102
|
- Archived path: `devflow/history/{category}/{xxx-slug}.md`
|
|
93
103
|
- Standalone HTML command tip: `/report:html` (if HTML view is desired)
|
|
104
|
+
- Pull Request summary block (if PR creation is needed)
|
|
94
105
|
- Workspace is now Idle and ready for the next task.
|
|
@@ -30,31 +30,11 @@ Use this when:
|
|
|
30
30
|
Write the primary discovery artifact to:
|
|
31
31
|
|
|
32
32
|
```text
|
|
33
|
-
devflow/discoveries/{DISCOVERY_ID}-{slug}00-discover.md
|
|
33
|
+
devflow/discoveries/{DISCOVERY_ID}-{slug}/00-discover.md
|
|
34
34
|
```
|
|
35
35
|
|
|
36
|
-
using:
|
|
37
|
-
|
|
38
|
-
```text
|
|
39
|
-
.agent/resources/schemas/discover.template.md
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
Before writing `00-discover.md`, read `artifact_language` from `discover.template.md` and produce the artifact in that language.
|
|
43
|
-
|
|
44
36
|
A Discovery ID uses a separate namespace such as `DISC-YYYYMMDD-NNN`. It is not a Running ID and must not reserve a numeric delivery run.
|
|
45
37
|
|
|
46
|
-
## Required Section Content
|
|
47
|
-
|
|
48
|
-
Before completing any generated artifact:
|
|
49
|
-
|
|
50
|
-
- preserve every heading required by the selected template
|
|
51
|
-
- write concrete information under every heading
|
|
52
|
-
- when no information exists or the section does not apply, write exactly `-`
|
|
53
|
-
- never leave a heading immediately followed by another heading with no body content
|
|
54
|
-
- remove template placeholders from the final artifact
|
|
55
|
-
- do not invent facts merely to avoid using `-`
|
|
56
|
-
- re-read the saved artifact and verify every heading satisfies this rule
|
|
57
|
-
|
|
58
38
|
## Process
|
|
59
39
|
|
|
60
40
|
### Loop Contract
|
|
@@ -62,111 +42,43 @@ Before completing any generated artifact:
|
|
|
62
42
|
Run discovery as a decision-and-routing loop, not as task initialization.
|
|
63
43
|
|
|
64
44
|
- **Intent**: understand the request, select proportionate supporting inquiry, and decide whether the idea should enter delivery definition.
|
|
65
|
-
- **Context**: read the request,
|
|
45
|
+
- **Context**: read the request, discovery artifact when resuming, project context, constraints, and available evidence.
|
|
66
46
|
- **Action**: restate the problem, identify the decision-blocking uncertainty, select `Brainstorm`, `PRD`, `Research`, `Debug`, or direct decision, then synthesize returned findings.
|
|
67
47
|
- **Observation**: use concrete evidence such as option tradeoffs, product framing, research results, root cause, stakeholder constraints, open questions, and visible risk.
|
|
68
|
-
- **Adjustment**: invoke only the companion route needed to resolve the current uncertainty; every companion invoked by Discover must return to this Discovery ID for synthesis.
|
|
69
48
|
- **Stop Condition**: stop when the selected route and evidence are recorded, open questions are visible, and the decision is `Proceed`, `Defer`, or `Reject`.
|
|
70
|
-
- **Handoff**: only an approved `Proceed` discovery may hand off to `10-define {discovery_id}`.
|
|
71
|
-
|
|
72
|
-
### 1.
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
-
|
|
76
|
-
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
|
|
84
|
-
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
- `Research` when facts, codebase evidence, feasibility, or external constraints are missing
|
|
93
|
-
- `Debug` when the request begins with a failure and root cause is unknown
|
|
94
|
-
- direct decision when the request and evidence are already clear
|
|
95
|
-
|
|
96
|
-
Routes are not mutually exclusive, but do not stack them by default. Record why each selected route is necessary. Pass the Discovery ID to the companion and require its output to link back to the discovery.
|
|
97
|
-
|
|
98
|
-
### 4. Synthesize Returned Findings
|
|
99
|
-
|
|
100
|
-
After each companion route:
|
|
101
|
-
|
|
102
|
-
- update `00-discover.md` with the durable findings and source path
|
|
103
|
-
- reassess whether another route is materially necessary
|
|
104
|
-
- return to the Discover decision rather than jumping directly to `10-define`
|
|
105
|
-
|
|
106
|
-
### 5. Decide
|
|
49
|
+
- **Handoff**: only an approved `Proceed` discovery may hand off to `10-define {discovery_id}`.
|
|
50
|
+
|
|
51
|
+
### 1. Supporting Routes & Built-in Lenses
|
|
52
|
+
|
|
53
|
+
1. **Brainstorming Lens (Divergent & Convergent)**:
|
|
54
|
+
- Formulate 2-3 viable options.
|
|
55
|
+
- Construct a **Trade-off Comparison Table**:
|
|
56
|
+
| Option | Pros | Cons | Recommendation |
|
|
57
|
+
| :--- | :--- | :--- | :--- |
|
|
58
|
+
2. **Research & Empirical Proof Lens**:
|
|
59
|
+
- Inspect existing codebase patterns with search tools (`grep_search`, `rg`).
|
|
60
|
+
- Conduct external web search if library feasibility or API contracts are uncertain.
|
|
61
|
+
- Record verifiable empirical facts.
|
|
62
|
+
3. **PRD & Scoping Lens**:
|
|
63
|
+
- Problem Statement & Target User Persona.
|
|
64
|
+
- Core User Stories (`As a... I want to... So that...`).
|
|
65
|
+
- In-Scope vs. Out-of-Scope boundaries.
|
|
66
|
+
4. **Issue & Bug Triage Lens**:
|
|
67
|
+
- Classify severity (`Critical/Blocker`, `Major`, `Minor`).
|
|
68
|
+
- Determine whether root-cause analysis (`debug`) is required before spec.
|
|
69
|
+
|
|
70
|
+
### 2. Decision & Approval Gate
|
|
107
71
|
|
|
108
72
|
Set one decision:
|
|
109
|
-
|
|
110
73
|
- `Proceed`: enough value and evidence exist to define delivery work
|
|
111
74
|
- `Defer`: the idea remains relevant but timing, evidence, or ownership is not ready
|
|
112
75
|
- `Reject`: the idea should not proceed under the current framing
|
|
113
76
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
### 6. Write `00-discover.md`
|
|
117
|
-
|
|
118
|
-
- preserve the template headings
|
|
119
|
-
- follow the configured `artifact_language`
|
|
120
|
-
- replace placeholders with concrete context
|
|
121
|
-
- record selected routes, returned findings, open questions, decision, and rationale
|
|
122
|
-
- keep `related_runs` empty until `10-define` materializes approved slices
|
|
123
|
-
|
|
124
|
-
### 7. Manual Review Gate
|
|
125
|
-
|
|
126
|
-
Before `10-define`:
|
|
127
|
-
|
|
128
|
-
- confirm the selected route and evidence are sufficient
|
|
129
|
-
- confirm the decision is `Proceed`
|
|
130
|
-
- set `Approval Status` to `Approved`
|
|
131
|
-
|
|
132
|
-
Do not allocate Running IDs when the decision or approval is pending.
|
|
77
|
+
### 3. Write `00-discover.md`
|
|
133
78
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
Report:
|
|
137
|
-
|
|
138
|
-
- Discovery ID and artifact path
|
|
139
|
-
- request and problem summary
|
|
140
|
-
- selected support route and why
|
|
141
|
-
- important findings and open questions
|
|
142
|
-
- `Proceed`, `Defer`, or `Reject` decision
|
|
143
|
-
- recommended next step, including `10-define {discovery_id}` only when Proceed is approved
|
|
144
|
-
|
|
145
|
-
## Relationship To DevFlow 2.0
|
|
146
|
-
|
|
147
|
-
- Classification: Mainline discovery stage
|
|
148
|
-
- Previous state: request intake
|
|
149
|
-
- Next state: `10-define {discovery_id}` only after approved Proceed
|
|
150
|
-
- Common companion routes: `Brainstorm`, `PRD`, `Research`, `Debug`
|
|
151
|
-
- Running ID lifecycle: begins in `10-define`, not in Discover
|
|
152
|
-
|
|
153
|
-
## Sources
|
|
154
|
-
|
|
155
|
-
- `AGENTS.md`
|
|
156
|
-
- `docs/workspace-artifacts.md`
|
|
157
|
-
- `.agent/resources/schemas/discover.template.md`
|
|
79
|
+
Record selected routes, returned findings, open questions, decision, and rationale.
|
|
158
80
|
|
|
159
81
|
## Next Workflow Recommendation
|
|
160
82
|
|
|
161
|
-
- **Primary**:
|
|
162
|
-
- **
|
|
163
|
-
- `Brainstorm {discovery_id}` for unresolved options
|
|
164
|
-
- `PRD {discovery_id}` for product framing
|
|
165
|
-
- `Research {discovery_id}` for missing evidence
|
|
166
|
-
- `Debug {discovery_id}` for unknown root cause
|
|
167
|
-
- no next command when the decision is Defer or Reject
|
|
168
|
-
|
|
169
|
-
## Nexus Event
|
|
170
|
-
|
|
171
|
-
- Use `grill-with-docs` when focused clarification could change the decision or selected route.
|
|
172
|
-
- Use `prototype` when runnable evidence is the fastest way to settle feasibility.
|
|
83
|
+
- **Primary**: `10-define {discovery_id}` only after approved Proceed
|
|
84
|
+
- **Defer/Reject**: No next command needed
|
|
@@ -76,7 +76,7 @@ Use the original coder discipline, adapted to 2.0:
|
|
|
76
76
|
|
|
77
77
|
If tests are `Required`:
|
|
78
78
|
|
|
79
|
-
1. **TDD Cycle (RED)**: ออกแบบและเขียนตัวเทสต์ให้พังก่อน (หรือเขียนโครงสร้างเทสต์ที่คาดหวังผลลัพธ์ที่ถูกต้อง)
|
|
79
|
+
1. **TDD Cycle (RED)**: ออกแบบและเขียนตัวเทสต์ให้พังก่อน (หรือเขียนโครงสร้างเทสต์ที่คาดหวังผลลัพธ์ที่ถูกต้อง) ตามแนวทางใน [coding-standards.md](file:///devflow/context/coding-standards.md)
|
|
80
80
|
2. **GREEN**: เขียนโค้ดระบบจริงให้สอดคล้องเพื่อให้เทสต์ผ่าน
|
|
81
81
|
3. **REFACTOR**: ปรับปรุงโครงสร้างโค้ดโดยยังคงรันเทสต์ผ่านอย่างต่อเนื่อง
|
|
82
82
|
|
|
@@ -2,9 +2,10 @@
|
|
|
2
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
6
|
# Phase 50: Verify Quality
|
|
6
7
|
|
|
7
|
-
Review implementation quality, run validation, produce a verification report, and route the task forward or back to implementation.
|
|
8
|
+
Review implementation quality, run multi-lane validation, produce a verification report, and route the task forward or back to implementation.
|
|
8
9
|
|
|
9
10
|
## Usage
|
|
10
11
|
|
|
@@ -16,173 +17,39 @@ Review implementation quality, run validation, produce a verification report, an
|
|
|
16
17
|
|
|
17
18
|
Use `50-verify.md` as the primary verification artifact.
|
|
18
19
|
Use `50-verify-impact.md` as an optional companion artifact when the run changes behavior, touches core logic, crosses integration boundaries, or needs explicit rollback and client impact analysis.
|
|
19
|
-
Before writing either verification artifact, read `artifact_language` from the matching template and produce the markdown output in that language.
|
|
20
|
-
|
|
21
|
-
Use these commands only to keep workflow status aligned with the task engine:
|
|
22
|
-
|
|
23
|
-
Record verification start, results, open issues, and approval direction directly in `50-verify.md`. Use the stage markdown itself to indicate whether the work is ready for human review or needs to return to implementation.
|
|
24
|
-
If an impact report is needed, create it in the same task directory and summarize its conclusions from `50-verify.md`.
|
|
25
|
-
Keep the verification checklist aligned with the same soft-gate state so downstream report and release stages can see the current approval direction without re-reading the full verify narrative.
|
|
26
|
-
|
|
27
|
-
## Required Section Content
|
|
28
|
-
|
|
29
|
-
Before completing any generated artifact:
|
|
30
|
-
|
|
31
|
-
- preserve every heading required by the selected template
|
|
32
|
-
- write concrete information under every heading
|
|
33
|
-
- when no information exists or the section does not apply, write exactly `-`
|
|
34
|
-
- never leave a heading immediately followed by another heading with no body content
|
|
35
|
-
- remove template placeholders from the final artifact
|
|
36
|
-
- do not invent facts merely to avoid using `-`
|
|
37
|
-
- re-read the saved artifact and verify every heading satisfies this rule
|
|
38
|
-
|
|
39
|
-
## Process
|
|
40
|
-
|
|
41
|
-
### Loop Contract
|
|
42
|
-
|
|
43
|
-
Run verification as an evidence review loop, not as a single pass/fail guess.
|
|
44
|
-
|
|
45
|
-
- **Intent**: decide whether the implementation satisfies the spec and plan without introducing unacceptable regression risk.
|
|
46
|
-
- **Context**: read `20-spec.md`, `30-plan.md`, `40-execute.md`, checklist state, changed files, test decisions, and available command/manual evidence.
|
|
47
|
-
- **Action**: run or inspect validation, compare implementation evidence against the contract, review risk areas, and record findings by severity.
|
|
48
|
-
- **Observation**: use concrete evidence from test output, validation output, diff review, manual checks, skipped checks, and impact notes.
|
|
49
|
-
- **Adjustment**: if evidence is missing or failing, request targeted implementation follow-up, route to `Debug`, or return to `40-execute` with the exact evidence gap.
|
|
50
|
-
- **Stop Condition**: stop only with a clear verdict: pass, fail, or blocked; include the evidence, residual risks, and next route.
|
|
51
|
-
- **Handoff**: `50-verify.md` must tell `60-report` why the work is ready, or tell `40-execute` exactly what must change before verification resumes.
|
|
52
|
-
|
|
53
|
-
### 1. Context Gathering
|
|
54
|
-
|
|
55
|
-
Read:
|
|
56
20
|
|
|
57
|
-
|
|
58
|
-
- `30-plan.md`
|
|
59
|
-
- `40-execute.md`
|
|
60
|
-
- `checklists/verification-checklist.md` when present
|
|
61
|
-
- changed files
|
|
62
|
-
- test output, command output, screenshots, or manual-check evidence
|
|
21
|
+
## Process & Quality Gates
|
|
63
22
|
|
|
64
|
-
###
|
|
23
|
+
### 1. Senior QA Review & Multi-Lane Verification
|
|
65
24
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
### 3. QA Review & Findings Ledger Verification
|
|
69
|
-
|
|
70
|
-
Use the senior QA reviewer discipline, adapted to DevFlow 2.0 and Blueprint quality gates:
|
|
71
|
-
|
|
72
|
-
- **STRICT MANDATE (กฎเหล็ก Unit Test)**: ตรวจสอบว่าโค้ดใหม่หรือการแก้ไข Bug (ที่มี behavior change) มีการสร้างหรืออัปเดต Unit Test คู่กันมาด้วยหรือไม่ หากไม่มีให้ทำเครื่องหมายว่า FAIL ทันที
|
|
73
|
-
- **EMPIRICAL PROOF CONTRACT (หลักฐานเชิงประจักษ์)**: ห้ามเคลมว่า "ผ่าน" หรือ "ทำงานได้" โดยไม่มีหลักฐานรูปธรรม — ต้องระบุ Command, Test Output, Route, Screenshot, หรือ Log จริงที่พิสูจน์ผลลัพธ์
|
|
74
|
-
- **FINDINGS LEDGER STATE MACHINE (`findings.md`)**:
|
|
75
|
-
- ตรวจสอบ `devflow/context/findings.md`
|
|
76
|
-
- ตรวจสอบสถานะ: `open` ➔ `fixed` ➔ `closed` (เฉพาะการตรวจซ้ำใน `50-verify` เท่านั้นที่สามารถเลื่อนสถานะ `fixed` เป็น `closed` ได้)
|
|
77
|
-
- **P0/P1 HARD GATE**: หากพบ Finding ระดับ P0 หรือ P1 ในสถานะ `open` หรือ `fixed` ที่ยังไม่ได้ถูกแก้ไข/ตรวจซ้ำ ให้ตัดสินเป็น FAIL ทันที
|
|
78
|
-
- **MANUAL TRY GUIDE**: สรุปขั้นตอนการทดสอบด้วยมือสำหรับมนุษย์ (Where to go, What to click, What to expect) ไว้อย่างชัดเจน
|
|
79
|
-
- compare claimed implementation evidence against the spec, plan, diff, and test decisions before forming a verdict
|
|
80
|
-
- correctness, readability, architecture (DIP, SRP, Loose Coupling), security, and performance
|
|
81
|
-
- test coverage (และตรวจสอบว่าไม่มีการ skip หรือ disable เทสต์)
|
|
82
|
-
- test decision alignment and scope discipline
|
|
83
|
-
|
|
84
|
-
Run project validation commands when available: lint, tests, typecheck, build, or targeted commands from the plan.
|
|
85
|
-
|
|
86
|
-
For test-decision alignment, verify that planned verification was actually executed and that the evidence matches the claimed result.
|
|
87
|
-
Use `review` for a two-axis standards/spec review, `diagnosing-bugs` when a failure needs root cause analysis, and `silent-failure-audit` when the risk is false-positive success.
|
|
88
|
-
|
|
89
|
-
### 4. Verification Report
|
|
90
|
-
|
|
91
|
-
Create or update `50-verify.md` in the task directory.
|
|
92
|
-
Create or update `50-verify-impact.md` when the run includes behavior changes, client-facing flow changes, integration risk, or rollback considerations worth reviewing separately.
|
|
93
|
-
|
|
94
|
-
Base the structure on:
|
|
95
|
-
|
|
96
|
-
```text
|
|
97
|
-
.agent/resources/schemas/verify.template.md
|
|
98
|
-
.agent/resources/schemas/verify-impact.template.md
|
|
99
|
-
```
|
|
25
|
+
Execute verification across all essential quality dimensions:
|
|
100
26
|
|
|
101
|
-
|
|
102
|
-
|
|
27
|
+
1. **Lane 1: Typecheck & Static Code Quality**:
|
|
28
|
+
- Run typecheck and static analysis (`tsc --noEmit`, `npm run lint`).
|
|
29
|
+
2. **Lane 2: Automated Test Suites (TDD Gate)**:
|
|
30
|
+
- Run automated unit and integration tests (`npm test`).
|
|
31
|
+
- Confirm 100% test pass rate with zero disabled or skipped tests.
|
|
32
|
+
3. **Lane 3: Scrutinize QA & Edge Cases Review**:
|
|
33
|
+
- **Boundary Conditions**: Check empty inputs, 0/1 counts, off-by-one errors.
|
|
34
|
+
- **Null / Undefined Safety**: Verify nullish handling and strict type invariants.
|
|
35
|
+
- **Error Handling & Propagation**: Verify errors provide actionable diagnostics without swallowing.
|
|
36
|
+
4. **Lane 4: Security & Hygiene Audit**:
|
|
37
|
+
- **Secrets Check**: Ensure no hardcoded credentials or API keys exist.
|
|
38
|
+
- **Input Sanitization**: Ensure parameterized queries and validated inputs.
|
|
39
|
+
5. **Lane 5: Findings Ledger State Machine (`findings.md`)**:
|
|
40
|
+
- Inspect `devflow/context/findings.md`.
|
|
41
|
+
- **P0/P1 HARD GATE**: Any Finding of severity `P0` or `P1` in `open` or `fixed` status unconditionally blocks pass.
|
|
42
|
+
6. **Lane 6: Manual Scenario Proof**:
|
|
43
|
+
- Provide clear manual verification instructions: "Where to go", "What to run/click", "What to expect".
|
|
103
44
|
|
|
104
|
-
|
|
45
|
+
### 2. Decision & Route
|
|
105
46
|
|
|
106
|
-
-
|
|
107
|
-
- evidence
|
|
108
|
-
- loop observation, adjustment, stop condition, and handoff notes
|
|
109
|
-
- test-decision alignment
|
|
110
|
-
- checklist alignment and any stale status corrections
|
|
111
|
-
- approval gate summary copied into the verification checklist when relevant
|
|
112
|
-
- findings grouped by severity
|
|
113
|
-
- manual checks required
|
|
114
|
-
- recommended next action
|
|
115
|
-
- impact report summary or explicit note that no impact report was needed
|
|
116
|
-
|
|
117
|
-
### 5. Decision
|
|
118
|
-
|
|
119
|
-
**STRICT GATING (CRITICAL FAIL)**: หากพบว่าไม่มีการสร้าง/แก้ไข Unit Test ตามกฎ Unit Test Mandate หรือรันเทสต์แล้วไม่ผ่านทั้งหมด **บังคับให้ตัดสินเป็น FAIL ทันที**
|
|
120
|
-
|
|
121
|
-
If pass:
|
|
122
|
-
|
|
123
|
-
- route to `60-report`
|
|
124
|
-
|
|
125
|
-
If fail:
|
|
126
|
-
|
|
127
|
-
- route back to `40-execute` with exact failed evidence, missing checks, or required changes
|
|
128
|
-
|
|
129
|
-
Use `Debug` when investigation is needed before implementation can resume.
|
|
130
|
-
|
|
131
|
-
### 6. Manual Review Soft Gate
|
|
132
|
-
|
|
133
|
-
Verification is the main human review checkpoint for implemented work.
|
|
134
|
-
If the evidence is incomplete or `Approval Status` remains pending:
|
|
135
|
-
|
|
136
|
-
- warn that release is not yet ready for confident handoff
|
|
137
|
-
- recommend additional review or a return to `40-execute`
|
|
138
|
-
- keep `60-report` as a soft recommendation only
|
|
47
|
+
- **Pass**: Route to `60-report {ID}`.
|
|
48
|
+
- **Fail**: Route back to `40-execute {ID}` with exact failure evidence and remediation steps.
|
|
139
49
|
|
|
140
50
|
## Output
|
|
141
51
|
|
|
142
52
|
Report:
|
|
143
|
-
|
|
144
|
-
-
|
|
145
|
-
-
|
|
146
|
-
- commands run
|
|
147
|
-
- validation status
|
|
148
|
-
- impact and rollback analysis when `50-verify-impact.md` is present
|
|
149
|
-
- next command: `60-report {ID}` if pass, or `40-execute {ID}` if fail
|
|
150
|
-
|
|
151
|
-
## Relationship To DevFlow 2.0
|
|
152
|
-
|
|
153
|
-
- Classification: Mainline workflow
|
|
154
|
-
- Previous state: `40-execute`
|
|
155
|
-
- Next state: `60-report` when evidence is sufficient
|
|
156
|
-
- Common companion commands: `Debug`, `Test`, `QA-Orchestrate`, `PR-Review`, `Agent`, `Wiki`
|
|
157
|
-
- Support skills: `review`, `diagnosing-bugs`, `tdd`, and `silent-failure-audit` for focused verification lanes
|
|
158
|
-
|
|
159
|
-
## Sources
|
|
160
|
-
|
|
161
|
-
- `AGENTS.md`
|
|
162
|
-
- `docs/workspace-artifacts.md`
|
|
163
|
-
- `.agent/resources/schemas/verify.template.md`
|
|
164
|
-
- `.agent/resources/schemas/verify-impact.template.md`
|
|
165
|
-
- Related commands: `40-execute`, `Debug`, `Test`, `QA-Orchestrate`, `PR-Review`, `Agent`, `60-report`
|
|
166
|
-
|
|
167
|
-
## Next Workflow Recommendation
|
|
168
|
-
|
|
169
|
-
- **Primary**: `60-report {ID}` when verification passes, or `40-execute {ID}` when verification fails.
|
|
170
|
-
- **Why**: Verification decides whether work moves forward to the final report stage or loops back for fixes.
|
|
171
|
-
- **Alternatives**:
|
|
172
|
-
- `Debug` - choose this when the failure needs root cause analysis before more implementation.
|
|
173
|
-
- `review` - choose this when changed work needs standards and spec review as separate axes.
|
|
174
|
-
- `Wiki project ingest devflow/runs/{ID}-*50-verify.md` - choose this when verification reveals reusable project knowledge.
|
|
175
|
-
|
|
176
|
-
## Nexus Event
|
|
177
|
-
|
|
178
|
-
- Use `Debug` when failures need deeper investigation before rework.
|
|
179
|
-
- Use `PR-Review`, `QA-Orchestrate`, or `Agent code-reviewer` when a narrower review lane would change the verification decision quality.
|
|
180
|
-
- Use `Wiki` when verified findings should become reusable project knowledge before the run continues.
|
|
181
|
-
|
|
182
|
-
## Wiki Update Recommendation
|
|
183
|
-
|
|
184
|
-
- **Needed**: `yes` when QA confirms a reusable lesson, regression pattern, manual check, or validation command.
|
|
185
|
-
- **Scope**: `project` unless QA reveals a DevFlow framework rule.
|
|
186
|
-
- **Reason**: Verified QA evidence is one of the safest sources for project wiki updates.
|
|
187
|
-
- **Suggested Command**: `Wiki project ingest devflow/runs/{ID}-*50-verify.md`
|
|
188
|
-
|
|
53
|
+
- QA verdict across all verification lanes
|
|
54
|
+
- Evidence commands and outputs
|
|
55
|
+
- Next command: `60-report {ID}` (if pass) or `40-execute {ID}` (if fail)
|