@curdx/flow 2.3.11 → 3.1.0
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/CHANGELOG.md +21 -34
- package/LICENSE +1 -1
- package/README.md +28 -79
- package/dist/index.mjs +995 -0
- package/package.json +33 -42
- package/.claude-plugin/marketplace.json +0 -48
- package/.claude-plugin/plugin.json +0 -70
- package/agent-preamble/preamble.md +0 -314
- package/agents/flow-adversary.md +0 -202
- package/agents/flow-architect.md +0 -197
- package/agents/flow-brownfield-analyst.md +0 -142
- package/agents/flow-debugger.md +0 -321
- package/agents/flow-edge-hunter.md +0 -288
- package/agents/flow-executor.md +0 -269
- package/agents/flow-orchestrator.md +0 -145
- package/agents/flow-planner.md +0 -246
- package/agents/flow-product-designer.md +0 -159
- package/agents/flow-qa-engineer.md +0 -282
- package/agents/flow-researcher.md +0 -165
- package/agents/flow-reviewer.md +0 -303
- package/agents/flow-security-auditor.md +0 -401
- package/agents/flow-triage-analyst.md +0 -272
- package/agents/flow-ui-researcher.md +0 -229
- package/agents/flow-ux-designer.md +0 -221
- package/agents/flow-verifier.md +0 -349
- package/bin/curdx-flow +0 -5
- package/bin/curdx-flow.js +0 -54
- package/cli/README.md +0 -104
- package/cli/doctor-workflow.js +0 -483
- package/cli/doctor.js +0 -73
- package/cli/help.js +0 -59
- package/cli/install-bundled-mcps.js +0 -37
- package/cli/install-companions.js +0 -19
- package/cli/install-context7-config.js +0 -80
- package/cli/install-curdx-plugin.js +0 -96
- package/cli/install-language.js +0 -35
- package/cli/install-next-steps.js +0 -29
- package/cli/install-options.js +0 -9
- package/cli/install-paths.js +0 -52
- package/cli/install-recommended-plugins.js +0 -104
- package/cli/install-required-plugins.js +0 -57
- package/cli/install-self-update.js +0 -62
- package/cli/install-workflow.js +0 -209
- package/cli/install.js +0 -101
- package/cli/lib/claude-commands.js +0 -41
- package/cli/lib/claude-ops.js +0 -47
- package/cli/lib/claude.js +0 -183
- package/cli/lib/config.js +0 -24
- package/cli/lib/doctor-claude-settings.js +0 -1186
- package/cli/lib/doctor-report.js +0 -978
- package/cli/lib/doctor-runtime-environment.js +0 -196
- package/cli/lib/frontmatter.js +0 -44
- package/cli/lib/json-schema.js +0 -57
- package/cli/lib/logging.js +0 -25
- package/cli/lib/process.js +0 -60
- package/cli/lib/prompts.js +0 -135
- package/cli/lib/runtime.js +0 -107
- package/cli/lib/semver.js +0 -109
- package/cli/lib/version.js +0 -12
- package/cli/protocols-body.md +0 -22
- package/cli/protocols.js +0 -162
- package/cli/registry.js +0 -123
- package/cli/router.js +0 -49
- package/cli/uninstall-actions.js +0 -360
- package/cli/uninstall-workflow.js +0 -146
- package/cli/uninstall.js +0 -42
- package/cli/upgrade-workflow.js +0 -80
- package/cli/upgrade.js +0 -91
- package/cli/utils.js +0 -40
- package/gates/adversarial-review-gate.md +0 -219
- package/gates/coverage-audit-gate.md +0 -182
- package/gates/devex-gate.md +0 -254
- package/gates/edge-case-gate.md +0 -194
- package/gates/karpathy-gate.md +0 -130
- package/gates/security-gate.md +0 -218
- package/gates/tdd-gate.md +0 -182
- package/gates/test-quality-gate.md +0 -59
- package/gates/verification-gate.md +0 -179
- package/hooks/hooks.json +0 -58
- package/hooks/scripts/common.sh +0 -46
- package/hooks/scripts/inject-karpathy.sh +0 -53
- package/hooks/scripts/quick-mode-guard.sh +0 -68
- package/hooks/scripts/session-start.sh +0 -90
- package/hooks/scripts/stop-watcher.sh +0 -230
- package/hooks/scripts/subagent-artifact-guard.sh +0 -159
- package/hooks/scripts/subagent-statusline.sh +0 -105
- package/knowledge/artifact-output-discipline.md +0 -24
- package/knowledge/artifact-summary-contracts.md +0 -50
- package/knowledge/atomic-commits.md +0 -262
- package/knowledge/claude-code-runtime-contracts.md +0 -219
- package/knowledge/epic-decomposition.md +0 -307
- package/knowledge/execution-strategies.md +0 -303
- package/knowledge/karpathy-guidelines.md +0 -219
- package/knowledge/planning-reviews.md +0 -211
- package/knowledge/poc-first-workflow.md +0 -223
- package/knowledge/review-feedback-intake.md +0 -57
- package/knowledge/spec-driven-development.md +0 -180
- package/knowledge/systematic-debugging.md +0 -378
- package/knowledge/two-stage-review.md +0 -249
- package/knowledge/wave-execution.md +0 -403
- package/monitors/monitors.json +0 -8
- package/monitors/scripts/flow-state-monitor.sh +0 -99
- package/output-styles/curdx-evidence-first.md +0 -34
- package/schemas/agent-frontmatter.schema.json +0 -63
- package/schemas/config.schema.json +0 -134
- package/schemas/gate-frontmatter.schema.json +0 -30
- package/schemas/hooks.schema.json +0 -115
- package/schemas/output-style-frontmatter.schema.json +0 -22
- package/schemas/plugin-manifest.schema.json +0 -436
- package/schemas/plugin-settings.schema.json +0 -29
- package/schemas/skill-frontmatter.schema.json +0 -177
- package/schemas/spec-frontmatter.schema.json +0 -42
- package/schemas/spec-state.schema.json +0 -147
- package/settings.json +0 -7
- package/skills/brownfield-index/SKILL.md +0 -53
- package/skills/brownfield-index/references/applicability.md +0 -12
- package/skills/brownfield-index/references/handoff.md +0 -8
- package/skills/brownfield-index/references/index-contract.md +0 -10
- package/skills/browser-qa/SKILL.md +0 -39
- package/skills/browser-qa/references/handoff.md +0 -6
- package/skills/browser-qa/references/prerequisites.md +0 -10
- package/skills/browser-qa/references/qa-contract.md +0 -20
- package/skills/cancel/SKILL.md +0 -41
- package/skills/cancel/references/destructive-mode.md +0 -17
- package/skills/cancel/references/reporting.md +0 -18
- package/skills/cancel/references/state-recovery.md +0 -30
- package/skills/cancel/references/target-resolution.md +0 -7
- package/skills/debug/SKILL.md +0 -45
- package/skills/debug/references/context-gathering.md +0 -11
- package/skills/debug/references/failure-guard.md +0 -25
- package/skills/debug/references/intake.md +0 -12
- package/skills/debug/references/phase-workflow.md +0 -34
- package/skills/debug/references/reporting.md +0 -20
- package/skills/epic/SKILL.md +0 -39
- package/skills/epic/references/epic-artifacts.md +0 -20
- package/skills/epic/references/epic-intake.md +0 -9
- package/skills/epic/references/slice-handoff.md +0 -16
- package/skills/fast/SKILL.md +0 -62
- package/skills/fast/references/applicability.md +0 -25
- package/skills/fast/references/clarification.md +0 -20
- package/skills/fast/references/execution-contract.md +0 -56
- package/skills/help/SKILL.md +0 -55
- package/skills/help/references/dispatch.md +0 -20
- package/skills/help/references/overview.md +0 -39
- package/skills/help/references/troubleshoot.md +0 -47
- package/skills/help/references/workflow.md +0 -37
- package/skills/implement/SKILL.md +0 -96
- package/skills/implement/references/error-recovery.md +0 -36
- package/skills/implement/references/linear-execution.md +0 -32
- package/skills/implement/references/preflight.md +0 -43
- package/skills/implement/references/progress-contract.md +0 -32
- package/skills/implement/references/state-init.md +0 -33
- package/skills/implement/references/stop-hook-execution.md +0 -36
- package/skills/implement/references/strategy-router.md +0 -38
- package/skills/implement/references/subagent-execution.md +0 -43
- package/skills/implement/references/wave-execution.md +0 -162
- package/skills/init/SKILL.md +0 -49
- package/skills/init/references/gitignore-and-health.md +0 -26
- package/skills/init/references/next-steps.md +0 -22
- package/skills/init/references/preflight.md +0 -15
- package/skills/init/references/scaffold-contract.md +0 -27
- package/skills/review/SKILL.md +0 -82
- package/skills/review/references/optional-passes.md +0 -48
- package/skills/review/references/preflight.md +0 -38
- package/skills/review/references/report-contract.md +0 -49
- package/skills/review/references/reporting.md +0 -20
- package/skills/review/references/stage-execution.md +0 -32
- package/skills/security-audit/SKILL.md +0 -47
- package/skills/security-audit/references/audit-contract.md +0 -21
- package/skills/security-audit/references/gate-handoff.md +0 -8
- package/skills/security-audit/references/scope-and-depth.md +0 -9
- package/skills/spec/SKILL.md +0 -100
- package/skills/spec/references/artifact-landing.md +0 -31
- package/skills/spec/references/phase-execution.md +0 -50
- package/skills/spec/references/planning-review.md +0 -31
- package/skills/spec/references/preflight-and-routing.md +0 -46
- package/skills/spec/references/reporting.md +0 -21
- package/skills/start/SKILL.md +0 -84
- package/skills/start/references/branch-routing.md +0 -51
- package/skills/start/references/mode-semantics.md +0 -12
- package/skills/start/references/preflight.md +0 -13
- package/skills/start/references/reporting.md +0 -20
- package/skills/start/references/state-seeding.md +0 -44
- package/skills/start/references/workflow-handoff.md +0 -26
- package/skills/status/SKILL.md +0 -41
- package/skills/status/references/gather-contract.md +0 -27
- package/skills/status/references/health-rules.md +0 -27
- package/skills/status/references/output-contract.md +0 -24
- package/skills/status/references/preflight.md +0 -10
- package/skills/status/references/recovery-hints.md +0 -18
- package/skills/ui-sketch/SKILL.md +0 -39
- package/skills/ui-sketch/references/brief-intake.md +0 -10
- package/skills/ui-sketch/references/iteration-handoff.md +0 -5
- package/skills/ui-sketch/references/variant-contract.md +0 -15
- package/skills/verify/SKILL.md +0 -56
- package/skills/verify/references/evidence-workflow.md +0 -39
- package/skills/verify/references/output-contract.md +0 -23
- package/skills/verify/references/preflight.md +0 -11
- package/skills/verify/references/report-handoff.md +0 -35
- package/skills/verify/references/strict-mode.md +0 -12
- package/templates/CONTEXT.md.tmpl +0 -53
- package/templates/PROJECT.md.tmpl +0 -59
- package/templates/ROADMAP.md.tmpl +0 -50
- package/templates/STATE.md.tmpl +0 -49
- package/templates/config.json.tmpl +0 -51
- package/templates/design.md.tmpl +0 -83
- package/templates/progress.md.tmpl +0 -77
- package/templates/requirements.md.tmpl +0 -76
- package/templates/research.md.tmpl +0 -83
- package/templates/tasks.md.tmpl +0 -107
package/templates/design.md.tmpl
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
spec: {{SPEC_NAME}}
|
|
3
|
-
phase: design
|
|
4
|
-
created: {{CREATED_DATE}}
|
|
5
|
-
version: 1.0
|
|
6
|
-
status: in_progress
|
|
7
|
-
depends_on: requirements.md
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Technical Design: {{SPEC_NAME}}
|
|
11
|
-
|
|
12
|
-
> Conclusions from flow-architect. Sequential-thinking is invoked proportional to the genuine tradeoff surface — the chain lives in the thinking tool, not this document.
|
|
13
|
-
>
|
|
14
|
-
> **Fill only the sections that carry real design information for this feature.** Well-known stack assemblies legitimately compress to a stack list + data model + a few real ADs. Delete sections whose honest answer would be "N/A" or "standard for this stack". A forced 13-section template is the bloat pattern this is designed to prevent.
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## Design Overview (one paragraph)
|
|
19
|
-
|
|
20
|
-
<!-- One sentence summary of the approach. -->
|
|
21
|
-
|
|
22
|
-
## Architecture Decisions
|
|
23
|
-
|
|
24
|
-
<!-- Each real decision gets an AD-NN. If a decision is "obvious, no alternative worth listing," use one line and move on. -->
|
|
25
|
-
|
|
26
|
-
### AD-01: ...
|
|
27
|
-
- **Decision**: Use X
|
|
28
|
-
- **Rationale**: ...
|
|
29
|
-
- **Trade-off**: ... (omit if there is no genuine tradeoff)
|
|
30
|
-
|
|
31
|
-
## Component Design
|
|
32
|
-
|
|
33
|
-
<!-- Each component: responsibility, input type, output type, dependencies, error path. Skip if the feature is a single module with no internal boundaries worth naming. -->
|
|
34
|
-
|
|
35
|
-
### Component: {{COMP_NAME}}
|
|
36
|
-
- **Responsibility**: ...
|
|
37
|
-
- **Input**: `interface Input { ... }`
|
|
38
|
-
- **Output**: `interface Output { ... }`
|
|
39
|
-
- **Dependencies**: ...
|
|
40
|
-
- **Errors**: ...
|
|
41
|
-
|
|
42
|
-
## Data Model (if the feature touches persistence or structured data)
|
|
43
|
-
|
|
44
|
-
<!-- SQL schema, TypeScript types, or API payload shape. Delete if the feature has no meaningful data shape. -->
|
|
45
|
-
|
|
46
|
-
## Architecture Diagram (include only when it clarifies; prose often suffices)
|
|
47
|
-
|
|
48
|
-
```mermaid
|
|
49
|
-
flowchart TB
|
|
50
|
-
...
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
## State Machine (include only if the feature has non-trivial state transitions)
|
|
54
|
-
|
|
55
|
-
## Error Path Design (include when error behavior is not obvious)
|
|
56
|
-
|
|
57
|
-
| Scenario | System Response | User-visible |
|
|
58
|
-
|-----|---------|---------|
|
|
59
|
-
| ... | ... | ... |
|
|
60
|
-
|
|
61
|
-
## API Contract (include only if this feature exposes or changes an API)
|
|
62
|
-
|
|
63
|
-
```yaml
|
|
64
|
-
...
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
## Test Matrix (brief — one line per layer)
|
|
68
|
-
|
|
69
|
-
| Layer | Coverage | Tool |
|
|
70
|
-
|---|-----|------|
|
|
71
|
-
| ... | ... | ... |
|
|
72
|
-
|
|
73
|
-
## Risks and Mitigations (include only if risks exist that aren't obvious from the ADs)
|
|
74
|
-
|
|
75
|
-
## Defer to Implementation
|
|
76
|
-
|
|
77
|
-
<!-- Decisions explicitly deferred to when the executor writes the code. -->
|
|
78
|
-
|
|
79
|
-
- ...
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
|
-
_Generated by flow-architect on {{CREATED_DATE}}._
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
# Progress Log: {{SPEC_NAME}}
|
|
2
|
-
|
|
3
|
-
> Living document. The agent appends here every time a task is completed / a gotcha is discovered / a decision is made.
|
|
4
|
-
>
|
|
5
|
-
> On resume after an interruption, the agent reads this file to rebuild context.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Reality Check (current actual state)
|
|
10
|
-
|
|
11
|
-
<!-- At the start of each session, the agent reconciles: expected state vs actual state -->
|
|
12
|
-
|
|
13
|
-
**Last updated**: {{CREATED_DATE}}
|
|
14
|
-
|
|
15
|
-
- Current phase: research
|
|
16
|
-
- Current task: N/A (tasks phase not yet entered)
|
|
17
|
-
- Blockers: none
|
|
18
|
-
|
|
19
|
-
## Reality Check (BEFORE)
|
|
20
|
-
|
|
21
|
-
<!-- For fix/debug specs only: capture the original failure before changing code. -->
|
|
22
|
-
|
|
23
|
-
**Goal type**: N/A
|
|
24
|
-
**Reproduction command**: N/A
|
|
25
|
-
**Failure observed**: N/A
|
|
26
|
-
**Output**: N/A
|
|
27
|
-
**Timestamp**: N/A
|
|
28
|
-
|
|
29
|
-
## Reality Check (AFTER)
|
|
30
|
-
|
|
31
|
-
<!-- For fix/debug specs only: rerun the same command after the fix and compare. -->
|
|
32
|
-
|
|
33
|
-
**Command**: N/A
|
|
34
|
-
**Result**: N/A
|
|
35
|
-
**Comparison**: N/A
|
|
36
|
-
**Verified**: N/A
|
|
37
|
-
|
|
38
|
-
## Completed Tasks
|
|
39
|
-
|
|
40
|
-
<!-- List of completed tasks -->
|
|
41
|
-
|
|
42
|
-
_(not yet started)_
|
|
43
|
-
|
|
44
|
-
## Learnings
|
|
45
|
-
|
|
46
|
-
<!-- Things the agent discovered during execution that are worth remembering (useful for similar future situations) -->
|
|
47
|
-
|
|
48
|
-
### Gotchas
|
|
49
|
-
_(none)_
|
|
50
|
-
|
|
51
|
-
### Patterns that worked
|
|
52
|
-
_(none)_
|
|
53
|
-
|
|
54
|
-
### Approaches that didn't work
|
|
55
|
-
_(none)_
|
|
56
|
-
|
|
57
|
-
## Decisions Made Here
|
|
58
|
-
|
|
59
|
-
<!-- Technical decisions made within this spec (major decisions should be synced to .flow/STATE.md) -->
|
|
60
|
-
|
|
61
|
-
_(none)_
|
|
62
|
-
|
|
63
|
-
## Next Steps
|
|
64
|
-
|
|
65
|
-
<!-- What to do next. Must be filled in before ending the session. -->
|
|
66
|
-
|
|
67
|
-
- [ ] Enter the research phase: run `/curdx-flow:spec --phase=research`
|
|
68
|
-
|
|
69
|
-
## Questions for User
|
|
70
|
-
|
|
71
|
-
<!-- Questions that need user answers -->
|
|
72
|
-
|
|
73
|
-
_(none)_
|
|
74
|
-
|
|
75
|
-
---
|
|
76
|
-
|
|
77
|
-
_Spec initialized by `/curdx-flow:start` on {{CREATED_DATE}}._
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
spec: {{SPEC_NAME}}
|
|
3
|
-
phase: requirements
|
|
4
|
-
created: {{CREATED_DATE}}
|
|
5
|
-
version: 1.0
|
|
6
|
-
status: in_progress
|
|
7
|
-
depends_on: research.md
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Requirements Spec: {{SPEC_NAME}}
|
|
11
|
-
|
|
12
|
-
> **Recommended direction from research**: {{RESEARCH_CONCLUSION}}
|
|
13
|
-
>
|
|
14
|
-
> **Fill only the sections that carry real information for this feature.** Delete or collapse any section whose honest content would be "N/A" or "same as usual". Padding sections with "TBD" is worse than omitting them.
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## User Stories
|
|
19
|
-
|
|
20
|
-
### US-01: ...
|
|
21
|
-
**As** [user role], **I want** [capability], **so that** [business value].
|
|
22
|
-
|
|
23
|
-
**Acceptance criteria**:
|
|
24
|
-
- AC-1.1: [verifiable behavior]
|
|
25
|
-
- AC-1.2: ...
|
|
26
|
-
|
|
27
|
-
<!-- Add more US-NN blocks only if the feature genuinely has multiple independent user flows. -->
|
|
28
|
-
|
|
29
|
-
## Functional Requirements
|
|
30
|
-
|
|
31
|
-
- **FR-01**: The system must ...
|
|
32
|
-
- **FR-02**: ...
|
|
33
|
-
|
|
34
|
-
## Non-Functional Requirements
|
|
35
|
-
|
|
36
|
-
<!--
|
|
37
|
-
Include ONLY the NFR categories that this feature is actually constrained by.
|
|
38
|
-
For a small internal CRUD feature, "Performance / Security / Maintainability / Compatibility" as a four-bucket grid is usually padding.
|
|
39
|
-
Delete categories that have no real requirement, or collapse into one line: "NFR: standard for this stack, no special constraints."
|
|
40
|
-
-->
|
|
41
|
-
|
|
42
|
-
### Performance (if applicable)
|
|
43
|
-
- **NFR-P-01**: ...
|
|
44
|
-
|
|
45
|
-
### Security (if applicable)
|
|
46
|
-
- **NFR-S-01**: ...
|
|
47
|
-
|
|
48
|
-
<!-- Delete Maintainability / Compatibility sections unless they carry a real constraint. -->
|
|
49
|
-
|
|
50
|
-
## Edge Cases and Error Handling
|
|
51
|
-
|
|
52
|
-
<!-- Include rows only for scenarios that actually apply. -->
|
|
53
|
-
|
|
54
|
-
| Scenario | Expected behavior |
|
|
55
|
-
|-----|--------|
|
|
56
|
-
| ... | ... |
|
|
57
|
-
|
|
58
|
-
## Out of Scope
|
|
59
|
-
|
|
60
|
-
- ✗ ...
|
|
61
|
-
|
|
62
|
-
## Success Metrics (if the feature has measurable outcomes)
|
|
63
|
-
|
|
64
|
-
<!-- Delete this section for internal tools or refactors with no user-visible metric. -->
|
|
65
|
-
|
|
66
|
-
- Metric 1: ...
|
|
67
|
-
|
|
68
|
-
## Open Questions
|
|
69
|
-
|
|
70
|
-
<!-- Include only if there are genuinely unresolved questions. Delete when empty. -->
|
|
71
|
-
|
|
72
|
-
1. ...
|
|
73
|
-
|
|
74
|
-
---
|
|
75
|
-
|
|
76
|
-
_Generated by flow-product-designer on {{CREATED_DATE}}._
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
spec: {{SPEC_NAME}}
|
|
3
|
-
phase: research
|
|
4
|
-
created: {{CREATED_DATE}}
|
|
5
|
-
version: 1.0
|
|
6
|
-
status: in_progress
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Research Report: {{SPEC_NAME}}
|
|
10
|
-
|
|
11
|
-
> **Goal**: {{SPEC_GOAL}}
|
|
12
|
-
>
|
|
13
|
-
> **Fill only the sections that carry real information.** For a well-understood feature on a known stack, research legitimately compresses to: goal, one recommended direction, known constraints. Delete sections whose honest content would be "N/A" or "first time, nothing to fetch". Padding this document with "TBD" is worse than omitting sections.
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## Prior Experience (from claude-mem, if relevant)
|
|
18
|
-
|
|
19
|
-
{{CLAUDE_MEM_FINDINGS}}
|
|
20
|
-
|
|
21
|
-
<!-- Delete this section if there are no relevant prior observations. -->
|
|
22
|
-
|
|
23
|
-
## Problem Understanding
|
|
24
|
-
|
|
25
|
-
### Core Problem
|
|
26
|
-
<!-- One sentence. What are we solving? -->
|
|
27
|
-
|
|
28
|
-
### Explicit Assumptions
|
|
29
|
-
<!-- Only real assumptions that matter. Don't list "assumption: we will write code." -->
|
|
30
|
-
|
|
31
|
-
- Assumption 1: ...
|
|
32
|
-
|
|
33
|
-
### Known Constraints
|
|
34
|
-
<!-- Include only the constraints that actually shape the solution. -->
|
|
35
|
-
|
|
36
|
-
- Tech stack: ...
|
|
37
|
-
- Time budget: ...
|
|
38
|
-
- (Compliance, team capability, etc — only if they constrain this feature)
|
|
39
|
-
|
|
40
|
-
## Technical Solution Space
|
|
41
|
-
|
|
42
|
-
<!--
|
|
43
|
-
If one approach is clearly the right call for this stack, write only that approach with its rationale.
|
|
44
|
-
Include alternative options ONLY when there is a genuine tradeoff a thoughtful engineer might disagree on.
|
|
45
|
-
Do not invent Option B and Option C just to fill the template.
|
|
46
|
-
-->
|
|
47
|
-
|
|
48
|
-
### Recommended Approach: ...
|
|
49
|
-
- **Why**: ...
|
|
50
|
-
- **Complexity**: ...
|
|
51
|
-
- **Key APIs verified via context7**: ...
|
|
52
|
-
|
|
53
|
-
### Alternative: ... (include only if a real alternative exists)
|
|
54
|
-
|
|
55
|
-
## Existing Code Analysis (include only if the codebase has relevant prior work)
|
|
56
|
-
|
|
57
|
-
### Reusable Modules
|
|
58
|
-
- `path/to/module` — ...
|
|
59
|
-
|
|
60
|
-
### New Modules Required
|
|
61
|
-
- `path/to/new` — ...
|
|
62
|
-
|
|
63
|
-
## Latest Documentation Summary
|
|
64
|
-
|
|
65
|
-
<!-- Only include libraries whose API is version-sensitive AND used by this feature. Do not cite every library in the stack. -->
|
|
66
|
-
|
|
67
|
-
### {{LIBRARY}}
|
|
68
|
-
- Version: ...
|
|
69
|
-
- Relevant APIs: ...
|
|
70
|
-
- Gotchas: ...
|
|
71
|
-
|
|
72
|
-
## Feasibility
|
|
73
|
-
|
|
74
|
-
- **Verdict**: feasible / risky / not recommended
|
|
75
|
-
- **Main risks**: (only if real risks exist)
|
|
76
|
-
|
|
77
|
-
## Open Questions (delete if none)
|
|
78
|
-
|
|
79
|
-
1. ...
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
|
-
_Generated by flow-researcher on {{CREATED_DATE}}._
|
package/templates/tasks.md.tmpl
DELETED
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
spec: {{SPEC_NAME}}
|
|
3
|
-
phase: tasks
|
|
4
|
-
created: {{CREATED_DATE}}
|
|
5
|
-
version: 1.0
|
|
6
|
-
status: in_progress
|
|
7
|
-
depends_on: design.md
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Task Breakdown: {{SPEC_NAME}}
|
|
11
|
-
|
|
12
|
-
> POC-First is an **orientation, not a mandate**. Use the phases below as an organizing idea and **delete phases that don't apply to this feature**. A bug-fix may be one task. A prototype may skip Phase 2 (refactor) and Phase 5 (evidence handoff). A library may skip the handoff phase entirely. Forcing all five phases for a small feature is the padding pattern this template is designed to prevent.
|
|
13
|
-
>
|
|
14
|
-
> Each task includes whatever of `Do`, `Files`, `Done-when`, `Verify`, `Commit` is needed for the executor to finish it in a single sub-agent dispatch. Verify must be an automated command (no "manual test").
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## Marker Rules
|
|
19
|
-
|
|
20
|
-
- `[ ]` TODO / `[x]` done
|
|
21
|
-
- `[P]` parallel-safe (dispatch in parallel within the same wave)
|
|
22
|
-
- `[VERIFY]` quality checkpoint (flow-verifier agent)
|
|
23
|
-
- `[SEQUENTIAL]` must be serial (breaks the parallel group)
|
|
24
|
-
- `VF` reality verification task for fix/debug specs (BEFORE failure → AFTER pass)
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## Split Rule
|
|
29
|
-
|
|
30
|
-
If a task proves too broad or unsafe during execution, the executor must stop with `TASK_FAILED` and propose up to 3 smaller replacement tasks. The coordinator updates this file; executors do not invent and execute new tasks in the same turn.
|
|
31
|
-
|
|
32
|
-
---
|
|
33
|
-
|
|
34
|
-
## Phase 1: Make It Work (POC)
|
|
35
|
-
|
|
36
|
-
> Goal: end-to-end runnable. Hardcoding is acceptable; skip tests here.
|
|
37
|
-
|
|
38
|
-
<!-- Add only the tasks this feature genuinely needs. Do not invent skeleton tasks to "round out" the phase. -->
|
|
39
|
-
|
|
40
|
-
- [ ] **1.1** ...
|
|
41
|
-
- **Do**: ...
|
|
42
|
-
- **Files**: ...
|
|
43
|
-
- **Done when**: ...
|
|
44
|
-
- **Verify**: ...
|
|
45
|
-
- **Commit**: ...
|
|
46
|
-
- _Requirements_: FR-NN
|
|
47
|
-
|
|
48
|
-
- [ ] **1.X** [VERIFY] End-to-end POC verification
|
|
49
|
-
- **Verify**: `<command>`
|
|
50
|
-
- **Done when**: happy path returns the expected result
|
|
51
|
-
|
|
52
|
-
## Phase 2: Refactoring (delete if the POC is already clean)
|
|
53
|
-
|
|
54
|
-
> Include only if the POC has genuine duplication or structural mud that warrants cleanup. Skip for tiny features.
|
|
55
|
-
|
|
56
|
-
## Phase 3: Testing (TDD red / green / yellow)
|
|
57
|
-
|
|
58
|
-
> Rule: tests first. Red → Green → Yellow. **Collapse red+green into one task when the test and implementation are trivially paired**; split only when the test genuinely precedes a nontrivial implementation.
|
|
59
|
-
> Test quality: primary FR/AC evidence must exercise real behavior. Mock-only, skipped, or assertion-free tests do not count unless backed by integration/e2e coverage or an explicit D-NN waiver.
|
|
60
|
-
|
|
61
|
-
- [ ] **3.X** [RED→GREEN→YELLOW] ...
|
|
62
|
-
|
|
63
|
-
- [ ] **3.X+1** [VERIFY] Coverage check
|
|
64
|
-
- **Verify**: coverage on the changed surface ≥ project standard
|
|
65
|
-
|
|
66
|
-
- [ ] **3.X+2** [VERIFY] Test quality check
|
|
67
|
-
- **Do**: apply `test-quality-gate` to tests used as FR/AC evidence
|
|
68
|
-
- **Done when**: no FR/AC depends solely on mock-only/skipped/assertion-free tests
|
|
69
|
-
- **Verify**: `<test command>` plus grep scan for skipped tests / mock-only evidence
|
|
70
|
-
|
|
71
|
-
## Phase 4: Quality Gates
|
|
72
|
-
|
|
73
|
-
> Include only the checks this project actually runs. `npx eslint` is dead weight if the project uses biome. `tsc --strict` is dead weight for a JS project.
|
|
74
|
-
|
|
75
|
-
- [ ] **4.VF** [VERIFY] VF: Verify original issue resolved (fix/debug specs only)
|
|
76
|
-
- **Do**: 1. Read `Reality Check (BEFORE)` in `.progress.md`; 2. Re-run the same reproduction command; 3. Append `Reality Check (AFTER)` with output and comparison
|
|
77
|
-
- **Files**: `.flow/specs/{{SPEC_NAME}}/.progress.md`
|
|
78
|
-
- **Done when**: AFTER proves the original observed failure is gone
|
|
79
|
-
- **Verify**: `grep -q "Verified: Issue resolved" .flow/specs/{{SPEC_NAME}}/.progress.md`
|
|
80
|
-
- **Commit**: `chore({{SPEC_NAME}}): verify original issue resolved`
|
|
81
|
-
|
|
82
|
-
- [ ] **4.X** [VERIFY] Final health check
|
|
83
|
-
- **Do**: flow-verifier performs goal-driven reverse verification
|
|
84
|
-
- **Done when**: every FR/AC has an automated check
|
|
85
|
-
|
|
86
|
-
## Phase 5: Evidence Handoff (delete for local-only work, scripts, internal tools without a PR flow)
|
|
87
|
-
|
|
88
|
-
- [ ] **5.X** Prepare verification/review handoff
|
|
89
|
-
- **Do**: collect atomic commits, verification report, review report, and residual risk notes
|
|
90
|
-
- **Done when**: a human can open or release with clear evidence and no hidden blockers
|
|
91
|
-
- **Verify**: `test -f .flow/specs/{{SPEC_NAME}}/verification-report.md && test -f .flow/specs/{{SPEC_NAME}}/review-report.md`
|
|
92
|
-
|
|
93
|
-
---
|
|
94
|
-
|
|
95
|
-
## Coverage Audit
|
|
96
|
-
|
|
97
|
-
<!-- flow-planner fills this in. Every FR / AC / AD / D must map to a task, or explicitly defer with reason. -->
|
|
98
|
-
|
|
99
|
-
| Requirement ID | Task(s) | Status |
|
|
100
|
-
|--------|---------|------|
|
|
101
|
-
| FR-01 | ... | ✓ |
|
|
102
|
-
|
|
103
|
-
**Uncovered items must be handled**: add a task, or document the deferral reason in STATE.md.
|
|
104
|
-
|
|
105
|
-
---
|
|
106
|
-
|
|
107
|
-
_Generated by flow-planner on {{CREATED_DATE}}._
|