intentdna 1.2.0 → 1.2.2
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/cli/commands/init.d.ts +2 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +206 -13
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +81 -0
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/sync.d.ts.map +1 -1
- package/dist/cli/commands/sync.js +43 -1
- package/dist/cli/commands/sync.js.map +1 -1
- package/dist/cli/index.js +6 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/compiler/cascade.d.ts +8 -1
- package/dist/compiler/cascade.d.ts.map +1 -1
- package/dist/compiler/cascade.js +40 -4
- package/dist/compiler/cascade.js.map +1 -1
- package/dist/compiler/compile.d.ts.map +1 -1
- package/dist/compiler/compile.js +28 -0
- package/dist/compiler/compile.js.map +1 -1
- package/dist/compiler/workflow.d.ts.map +1 -1
- package/dist/compiler/workflow.js +2 -0
- package/dist/compiler/workflow.js.map +1 -1
- package/dist/runtime/hooks.d.ts.map +1 -1
- package/dist/runtime/hooks.js +141 -1
- package/dist/runtime/hooks.js.map +1 -1
- package/dist/runtime/skill-adapter.d.ts.map +1 -1
- package/dist/runtime/skill-adapter.js +5 -1
- package/dist/runtime/skill-adapter.js.map +1 -1
- package/dist/runtime/workflow-runner.d.ts.map +1 -1
- package/dist/runtime/workflow-runner.js +13 -0
- package/dist/runtime/workflow-runner.js.map +1 -1
- package/dist/schema/types.d.ts +36 -0
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/schema/validate.d.ts +1 -0
- package/dist/schema/validate.d.ts.map +1 -1
- package/dist/schema/validate.js +57 -4
- package/dist/schema/validate.js.map +1 -1
- package/dist/templates/api-backend.dna.yaml +1 -0
- package/dist/templates/brainstorming-first.dna.yaml +1 -0
- package/dist/templates/branch-finishing.dna.yaml +1 -0
- package/dist/templates/code-review-pipeline.dna.yaml +13 -0
- package/dist/templates/devops-cicd.dna.yaml +1 -0
- package/dist/templates/documentation-writer.dna.yaml +1 -0
- package/dist/templates/enterprise-baseline.dna.yaml +1 -0
- package/dist/templates/flutter-behavior-lock.dna.yaml +18 -0
- package/dist/templates/flutter-refactoring-rescue.dna.yaml +14 -0
- package/dist/templates/flutter-rewrite.dna.yaml +55 -16
- package/dist/templates/frontend-quality.dna.yaml +1 -0
- package/dist/templates/full-pipeline.dna.yaml +27 -0
- package/dist/templates/mobile-dev.dna.yaml +1 -0
- package/dist/templates/monorepo-governance.dna.yaml +1 -0
- package/dist/templates/multi-perspective-review.dna.yaml +14 -0
- package/dist/templates/pr-submitter.dna.yaml +1 -0
- package/dist/templates/safe-refactoring.dna.yaml +1 -0
- package/dist/templates/secure-dev.dna.yaml +1 -0
- package/dist/templates/subagent-parallel.dna.yaml +18 -0
- package/dist/templates/systematic-debugging.dna.yaml +1 -0
- package/dist/templates/tdd-strict.dna.yaml +1 -0
- package/dist/templates/verification-loop.dna.yaml +1 -0
- package/dist/templates/yolo-with-guardrails.dna.yaml +1 -0
- package/package.json +1 -1
package/dist/schema/validate.js
CHANGED
|
@@ -186,7 +186,7 @@ function validateRole(name, role, geneNames) {
|
|
|
186
186
|
}
|
|
187
187
|
return errors;
|
|
188
188
|
}
|
|
189
|
-
function validateWorkflow(workflow, roleNames, pathPrefix) {
|
|
189
|
+
function validateWorkflow(workflow, roleNames, pathPrefix, modeNames) {
|
|
190
190
|
const errors = [];
|
|
191
191
|
const path = pathPrefix ?? "workflow";
|
|
192
192
|
// name required
|
|
@@ -225,6 +225,13 @@ function validateWorkflow(workflow, roleNames, pathPrefix) {
|
|
|
225
225
|
message: `step references unknown role '${step.role}'`,
|
|
226
226
|
});
|
|
227
227
|
}
|
|
228
|
+
// step.mode optional but must exist in modes if specified
|
|
229
|
+
if (step.mode && modeNames && modeNames.size > 0 && !modeNames.has(step.mode)) {
|
|
230
|
+
errors.push({
|
|
231
|
+
path: `${stepPath}.mode`,
|
|
232
|
+
message: `step references unknown mode '${step.mode}'`,
|
|
233
|
+
});
|
|
234
|
+
}
|
|
228
235
|
// depends_on: check for empty strings in first pass
|
|
229
236
|
for (const dep of step.depends_on ?? []) {
|
|
230
237
|
if (!dep) {
|
|
@@ -235,6 +242,34 @@ function validateWorkflow(workflow, roleNames, pathPrefix) {
|
|
|
235
242
|
if (step.prompt !== undefined && (typeof step.prompt !== "string" || !step.prompt)) {
|
|
236
243
|
errors.push({ path: `${stepPath}.prompt`, message: "prompt must be a non-empty string" });
|
|
237
244
|
}
|
|
245
|
+
// checkpoints validation
|
|
246
|
+
if (step.checkpoints) {
|
|
247
|
+
if (!Array.isArray(step.checkpoints)) {
|
|
248
|
+
errors.push({ path: `${stepPath}.checkpoints`, message: "checkpoints must be an array" });
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
const knownAsserts = new Set(["clean_working_tree", "no_test_regression", "lint_passing", "build_passing"]);
|
|
252
|
+
for (let j = 0; j < step.checkpoints.length; j++) {
|
|
253
|
+
const cp = step.checkpoints[j];
|
|
254
|
+
const cpPath = `${stepPath}.checkpoints[${j}]`;
|
|
255
|
+
if (!cp.assert) {
|
|
256
|
+
errors.push({ path: `${cpPath}.assert`, message: "checkpoint requires 'assert'" });
|
|
257
|
+
}
|
|
258
|
+
else if (!knownAsserts.has(cp.assert) && !cp.command) {
|
|
259
|
+
errors.push({
|
|
260
|
+
path: `${cpPath}.assert`,
|
|
261
|
+
message: `unknown assert '${cp.assert}' — provide a 'command' for custom checkpoints`,
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
if (!cp.message) {
|
|
265
|
+
errors.push({ path: `${cpPath}.message`, message: "checkpoint requires 'message'" });
|
|
266
|
+
}
|
|
267
|
+
if (cp.action && cp.action !== "block" && cp.action !== "warn") {
|
|
268
|
+
errors.push({ path: `${cpPath}.action`, message: "checkpoint action must be 'block' or 'warn'" });
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
}
|
|
238
273
|
}
|
|
239
274
|
// Second pass: validate depends_on references against all step ids
|
|
240
275
|
for (let i = 0; i < workflow.steps.length; i++) {
|
|
@@ -326,6 +361,16 @@ export function validateDNA(dna) {
|
|
|
326
361
|
if (dna.type && !validTypes.includes(dna.type)) {
|
|
327
362
|
errors.push({ path: "type", message: `must be one of: ${validTypes.join(", ")}` });
|
|
328
363
|
}
|
|
364
|
+
// Validate namespace (optional, format check)
|
|
365
|
+
const warnings = [];
|
|
366
|
+
if (dna.namespace !== undefined) {
|
|
367
|
+
if (typeof dna.namespace !== "string" || !/^[a-z][a-z0-9]{1,7}$/.test(dna.namespace)) {
|
|
368
|
+
errors.push({ path: "namespace", message: "must be 2-8 lowercase alphanumeric chars, starting with a letter" });
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
else if (dna.roles && Object.keys(dna.roles).length > 0) {
|
|
372
|
+
warnings.push({ path: "namespace", message: "recommended when DNA defines roles (prevents name collisions)" });
|
|
373
|
+
}
|
|
329
374
|
// Validate genes
|
|
330
375
|
const geneNames = new Set(Object.keys(dna.genes ?? {}));
|
|
331
376
|
for (const [name, gene] of Object.entries(dna.genes ?? {})) {
|
|
@@ -339,6 +384,13 @@ export function validateDNA(dna) {
|
|
|
339
384
|
for (const [name, role] of Object.entries(dna.roles ?? {})) {
|
|
340
385
|
errors.push(...validateRole(name, role, geneNames));
|
|
341
386
|
}
|
|
387
|
+
// Validate modes
|
|
388
|
+
for (const [name, mode] of Object.entries(dna.modes ?? {})) {
|
|
389
|
+
const modePath = `modes.${name}`;
|
|
390
|
+
if (!mode.description) {
|
|
391
|
+
errors.push({ path: `${modePath}.description`, message: "mode requires 'description'" });
|
|
392
|
+
}
|
|
393
|
+
}
|
|
342
394
|
// Validate workflow / workflows (mutually exclusive)
|
|
343
395
|
if (dna.workflow !== undefined && dna.workflows !== undefined) {
|
|
344
396
|
errors.push({
|
|
@@ -347,12 +399,13 @@ export function validateDNA(dna) {
|
|
|
347
399
|
});
|
|
348
400
|
}
|
|
349
401
|
const roleNamesSet = new Set(Object.keys(dna.roles ?? {}));
|
|
402
|
+
const modeNamesSet = new Set(Object.keys(dna.modes ?? {}));
|
|
350
403
|
if (dna.workflow && !dna.workflows) {
|
|
351
|
-
errors.push(...validateWorkflow(dna.workflow, roleNamesSet, "workflow"));
|
|
404
|
+
errors.push(...validateWorkflow(dna.workflow, roleNamesSet, "workflow", modeNamesSet));
|
|
352
405
|
}
|
|
353
406
|
if (dna.workflows && !dna.workflow) {
|
|
354
407
|
for (const [wfName, wfDef] of Object.entries(dna.workflows)) {
|
|
355
|
-
errors.push(...validateWorkflow(wfDef, roleNamesSet, `workflows.${wfName}
|
|
408
|
+
errors.push(...validateWorkflow(wfDef, roleNamesSet, `workflows.${wfName}`, modeNamesSet));
|
|
356
409
|
}
|
|
357
410
|
}
|
|
358
411
|
// Validate epigenetic markers
|
|
@@ -374,6 +427,6 @@ export function validateDNA(dna) {
|
|
|
374
427
|
errors.push({ path: "cascade.priority", message: "priority must be non-negative" });
|
|
375
428
|
}
|
|
376
429
|
}
|
|
377
|
-
return { valid: errors.length === 0, errors };
|
|
430
|
+
return { valid: errors.length === 0, errors, warnings: warnings.length > 0 ? warnings : undefined };
|
|
378
431
|
}
|
|
379
432
|
//# sourceMappingURL=validate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/schema/validate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/schema/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ version: "0.1.0"
|
|
|
6
6
|
id: template_code_review_pipeline
|
|
7
7
|
name: Code Review Pipeline
|
|
8
8
|
type: project
|
|
9
|
+
namespace: crp
|
|
9
10
|
|
|
10
11
|
cascade:
|
|
11
12
|
inherits: ["species:default"]
|
|
@@ -70,16 +71,28 @@ roles:
|
|
|
70
71
|
|
|
71
72
|
contexts: {}
|
|
72
73
|
|
|
74
|
+
modes:
|
|
75
|
+
implement:
|
|
76
|
+
description: "Implement features and write tests. Write to src/ and test/."
|
|
77
|
+
scope:
|
|
78
|
+
write: ["src/**", "test/**"]
|
|
79
|
+
review:
|
|
80
|
+
description: "Review code. Read-only, no modifications."
|
|
81
|
+
tool_permissions:
|
|
82
|
+
deny: [Edit, Write, NotebookEdit]
|
|
83
|
+
|
|
73
84
|
workflow:
|
|
74
85
|
name: review-cycle
|
|
75
86
|
description: Implement then review with retry on failure
|
|
76
87
|
steps:
|
|
77
88
|
- id: implement
|
|
78
89
|
role: implementer
|
|
90
|
+
mode: implement
|
|
79
91
|
description: Implement the feature
|
|
80
92
|
prompt: "Implement task {{task_id}} according to the design document."
|
|
81
93
|
- id: review
|
|
82
94
|
role: reviewer
|
|
95
|
+
mode: review
|
|
83
96
|
description: Review the implementation
|
|
84
97
|
prompt: "Review all changes for task {{task_id}}. Output PASS or FAIL."
|
|
85
98
|
transitions:
|
|
@@ -7,6 +7,7 @@ version: "0.1.0"
|
|
|
7
7
|
id: template_flutter_behavior_lock
|
|
8
8
|
name: Flutter Behavior Lock
|
|
9
9
|
type: project
|
|
10
|
+
namespace: fbl
|
|
10
11
|
|
|
11
12
|
cascade:
|
|
12
13
|
inherits: ["species:default"]
|
|
@@ -51,6 +52,20 @@ genes:
|
|
|
51
52
|
|
|
52
53
|
contexts: {}
|
|
53
54
|
|
|
55
|
+
modes:
|
|
56
|
+
scan:
|
|
57
|
+
description: "Read v1 source, output behavior docs. No code modification."
|
|
58
|
+
tool_permissions:
|
|
59
|
+
deny: [Edit, Write, NotebookEdit]
|
|
60
|
+
test:
|
|
61
|
+
description: "Write behavior tests. Only write to test/ and docs/."
|
|
62
|
+
scope:
|
|
63
|
+
write: ["test/**", "docs/behavior/**"]
|
|
64
|
+
verify:
|
|
65
|
+
description: "Device verification via adb. Read-only."
|
|
66
|
+
tool_permissions:
|
|
67
|
+
deny: [Edit, Write, NotebookEdit]
|
|
68
|
+
|
|
54
69
|
roles:
|
|
55
70
|
scanner:
|
|
56
71
|
description: Reads v1 source code, outputs behavior document for one module
|
|
@@ -108,15 +123,18 @@ workflows:
|
|
|
108
123
|
steps:
|
|
109
124
|
- id: scan
|
|
110
125
|
role: scanner
|
|
126
|
+
mode: scan
|
|
111
127
|
description: Scan one v1 module, output behavior document
|
|
112
128
|
prompt: "Scan module '{{module}}' in {{v1_path}}. Output behavior document to {{output_path}}/{{module}}.md. Then immediately proceed to write_tests step — do not stop."
|
|
113
129
|
- id: write_tests
|
|
114
130
|
role: test_writer
|
|
131
|
+
mode: test
|
|
115
132
|
depends_on: [scan]
|
|
116
133
|
description: Write unit tests, run baseline, append results to behavior doc
|
|
117
134
|
prompt: "Read {{output_path}}/{{module}}.md. Write tests in {{test_path}}/{{module}}/ for v2 code at {{v2_path}}. Run tests and record pass/fail as baseline in the behavior doc. Then immediately proceed to qa_verify step."
|
|
118
135
|
- id: qa_verify
|
|
119
136
|
role: qa_verifier
|
|
137
|
+
mode: verify
|
|
120
138
|
depends_on: [write_tests]
|
|
121
139
|
description: End-to-end verification on device via adb (optional)
|
|
122
140
|
prompt: "Verify '{{module}}' module on device. Use adb screencap + logcat. Append results to {{output_path}}/{{module}}.md. Skip if no device connected but note in summary."
|
|
@@ -7,6 +7,7 @@ version: "0.1.0"
|
|
|
7
7
|
id: template_flutter_refactoring_rescue
|
|
8
8
|
name: Flutter Refactoring Rescue
|
|
9
9
|
type: project
|
|
10
|
+
namespace: frr
|
|
10
11
|
|
|
11
12
|
cascade:
|
|
12
13
|
inherits: ["species:default"]
|
|
@@ -88,6 +89,16 @@ genes:
|
|
|
88
89
|
|
|
89
90
|
contexts: {}
|
|
90
91
|
|
|
92
|
+
modes:
|
|
93
|
+
trace:
|
|
94
|
+
description: "Trace broken chains in v1 and v2. Read-only analysis."
|
|
95
|
+
tool_permissions:
|
|
96
|
+
deny: [Edit, Write, NotebookEdit]
|
|
97
|
+
fix:
|
|
98
|
+
description: "Fix identified breakpoints. Write to lib/ only."
|
|
99
|
+
scope:
|
|
100
|
+
write: ["lib/**"]
|
|
101
|
+
|
|
91
102
|
roles:
|
|
92
103
|
investigator:
|
|
93
104
|
description: Reads v1 code and traces the broken chain — never writes code
|
|
@@ -126,15 +137,18 @@ workflows:
|
|
|
126
137
|
steps:
|
|
127
138
|
- id: trace
|
|
128
139
|
role: investigator
|
|
140
|
+
mode: trace
|
|
129
141
|
description: Trace the broken chain in v1 and v2, identify first breakpoint
|
|
130
142
|
prompt: "Trace the call chain for '{{feature}}' in v1 ({{v1_path}}) and v2 ({{v2_path}}). Find where v2 breaks."
|
|
131
143
|
- id: fix
|
|
132
144
|
role: surgeon
|
|
145
|
+
mode: fix
|
|
133
146
|
depends_on: [trace]
|
|
134
147
|
description: Fix the identified breakpoint
|
|
135
148
|
prompt: "Fix the breakpoint identified by investigator. Copy logic from v1, change one file only."
|
|
136
149
|
- id: verify
|
|
137
150
|
role: investigator
|
|
151
|
+
mode: trace
|
|
138
152
|
depends_on: [fix]
|
|
139
153
|
description: Verify the fix with adb
|
|
140
154
|
prompt: "Run the feature on device. adb screencap + logcat. Compare with v1 behavior."
|
|
@@ -6,6 +6,7 @@ version: "0.1.0"
|
|
|
6
6
|
id: template_flutter_rewrite
|
|
7
7
|
name: Flutter Rewrite (Unified)
|
|
8
8
|
type: project
|
|
9
|
+
namespace: frw
|
|
9
10
|
|
|
10
11
|
cascade:
|
|
11
12
|
inherits: ["species:default"]
|
|
@@ -99,6 +100,28 @@ genes:
|
|
|
99
100
|
|
|
100
101
|
contexts: {}
|
|
101
102
|
|
|
103
|
+
modes:
|
|
104
|
+
scan:
|
|
105
|
+
description: "Read v1 source, generate behavior docs. No code modification."
|
|
106
|
+
tool_permissions:
|
|
107
|
+
deny: [Edit, Write, NotebookEdit]
|
|
108
|
+
test:
|
|
109
|
+
description: "Write behavior tests for v2. Only write to test/ and docs/."
|
|
110
|
+
scope:
|
|
111
|
+
write: ["test/**", "docs/behavior/**"]
|
|
112
|
+
investigate:
|
|
113
|
+
description: "Trace broken call chains. Read-only analysis."
|
|
114
|
+
tool_permissions:
|
|
115
|
+
deny: [Edit, Write, NotebookEdit]
|
|
116
|
+
fix:
|
|
117
|
+
description: "Fix identified breakpoints. Write to lib/ and v2/ only."
|
|
118
|
+
scope:
|
|
119
|
+
write: ["lib/**", "v2/**"]
|
|
120
|
+
align:
|
|
121
|
+
description: "Align v2 core with v1 infrastructure. Write to core only."
|
|
122
|
+
scope:
|
|
123
|
+
write: ["v2/packages/core/**"]
|
|
124
|
+
|
|
102
125
|
roles:
|
|
103
126
|
# ── Phase 0/3: behavior-lock 角色 ──
|
|
104
127
|
scanner:
|
|
@@ -116,7 +139,7 @@ roles:
|
|
|
116
139
|
- Do NOT read v2 code — only v1
|
|
117
140
|
|
|
118
141
|
test_writer:
|
|
119
|
-
description: Reads behavior document, writes
|
|
142
|
+
description: Reads behavior document, writes tests for all layers (logic + widget).
|
|
120
143
|
tool_permissions:
|
|
121
144
|
allow: [Read, Edit, Write, Grep, Glob, Bash]
|
|
122
145
|
scope:
|
|
@@ -126,9 +149,10 @@ roles:
|
|
|
126
149
|
- Read the behavior document for the module
|
|
127
150
|
- Write one test file per page/screen
|
|
128
151
|
- Each user action = one test case
|
|
129
|
-
- Test
|
|
152
|
+
- "Test ALL layers: state/notifier logic, widget rendering, navigation"
|
|
153
|
+
- "Widget tests: use WidgetTester, wrap with ProviderScope, mock dependencies"
|
|
130
154
|
- Run tests after writing — record baseline
|
|
131
|
-
- Red tests are expected
|
|
155
|
+
- Red tests are expected (implementation doesn't exist yet)
|
|
132
156
|
|
|
133
157
|
# ── Phase 4: rescue 角色 ──
|
|
134
158
|
investigator:
|
|
@@ -146,21 +170,22 @@ roles:
|
|
|
146
170
|
- Never suggest code changes
|
|
147
171
|
|
|
148
172
|
surgeon:
|
|
149
|
-
description: Fixes
|
|
173
|
+
description: Fixes breakpoints and builds missing layers by understanding v1 intent and rewriting in v2 style.
|
|
150
174
|
tool_permissions:
|
|
151
175
|
allow: [Read, Edit, Write, Grep, Glob, Bash]
|
|
152
176
|
scope:
|
|
153
177
|
read: ["**/*"]
|
|
154
|
-
write: ["lib/**", "v2/**"]
|
|
178
|
+
write: ["lib/**", "v2/**", "test/**"]
|
|
155
179
|
instructions:
|
|
156
|
-
- Fix only the identified breakpoint
|
|
180
|
+
- Fix only the identified breakpoint or missing implementation
|
|
157
181
|
- Read v1 to understand intent, rewrite in v2 framework style
|
|
158
182
|
- Do not copy v1 code verbatim — adapt to v2 architecture
|
|
159
|
-
-
|
|
183
|
+
- "Logic layer: implement notifier/state, make logic tests pass"
|
|
184
|
+
- "Widget layer: copy widget from v1, only change state binding (Obx→Consumer, Get.to→context.go)"
|
|
185
|
+
- "Widget test infra: set up ProviderScope + mock providers + GoRouter test config when needed"
|
|
160
186
|
- After each change, run tests
|
|
161
187
|
- If fix doesn't work, revert and re-analyze
|
|
162
188
|
- Never "improve" code — preserve exact behavior
|
|
163
|
-
- "UI files: copy from v1, only change state binding syntax (Obx→Consumer, Get.to→context.go)"
|
|
164
189
|
|
|
165
190
|
# ── Core align 角色 ──
|
|
166
191
|
core_aligner:
|
|
@@ -180,31 +205,44 @@ roles:
|
|
|
180
205
|
workflows:
|
|
181
206
|
behavior-lock:
|
|
182
207
|
name: Behavior Lock
|
|
183
|
-
description: "Scan v1 module $ARGUMENTS, generate behavior doc and tests for v2"
|
|
208
|
+
description: "Scan v1 module $ARGUMENTS, generate behavior doc and tests for v2, commit"
|
|
184
209
|
steps:
|
|
185
210
|
- id: scan
|
|
186
211
|
role: scanner
|
|
212
|
+
mode: scan
|
|
187
213
|
description: "Scan v1 module in {{v1_path}}/. Output behavior doc to {{behavior_docs}}/$ARGUMENTS.md. List all user actions with call chains."
|
|
188
214
|
prompt: "Scan module '$ARGUMENTS' in {{v1_path}}/. For each page, list: action → function() → return value. Output to {{behavior_docs}}/$ARGUMENTS.md. Then immediately proceed to write_tests."
|
|
189
215
|
- id: write_tests
|
|
190
216
|
role: test_writer
|
|
217
|
+
mode: test
|
|
191
218
|
depends_on: [scan]
|
|
192
|
-
description: "Read {{behavior_docs}}/$ARGUMENTS.md, write tests in {{test_path}}/$ARGUMENTS/, run baseline."
|
|
193
|
-
prompt: "Read {{behavior_docs}}/$ARGUMENTS.md. Write tests in {{test_path}}/$ARGUMENTS/. Run tests, record red/green baseline. Append baseline to behavior doc."
|
|
219
|
+
description: "Read {{behavior_docs}}/$ARGUMENTS.md, write tests in {{test_path}}/$ARGUMENTS/, run baseline, commit."
|
|
220
|
+
prompt: "Read {{behavior_docs}}/$ARGUMENTS.md. Write tests in {{test_path}}/$ARGUMENTS/. Test ALL layers: logic, widget, navigation. Run tests, record red/green baseline. Append baseline to behavior doc. Git commit: behavior-lock($ARGUMENTS): X tests (Y red, Z skipped)"
|
|
194
221
|
|
|
195
222
|
rescue:
|
|
196
223
|
name: Rescue
|
|
197
|
-
description: "Fix v2 module $ARGUMENTS
|
|
224
|
+
description: "Fix v2 module $ARGUMENTS — logic layer first, then widget layer, commit when done"
|
|
198
225
|
steps:
|
|
199
226
|
- id: investigate
|
|
200
227
|
role: investigator
|
|
201
|
-
|
|
202
|
-
|
|
228
|
+
mode: investigate
|
|
229
|
+
description: "Run tests, assess current state, pick next targets."
|
|
230
|
+
prompt: "Run tests in {{test_path}}/$ARGUMENTS/. Categorize all non-passing tests: 1) RED (failing) — highest priority, fix first. 2) SKIPPED-logic — state/notifier/service tests, fix second. 3) SKIPPED-widget — widget/UI/navigation tests, fix after logic is done. For the highest priority category, pick a batch of related tests. Trace: what does v1 do vs what does v2 do? Find the breakpoints. Report findings and the plan for this round."
|
|
203
231
|
- id: fix
|
|
204
232
|
role: surgeon
|
|
233
|
+
mode: fix
|
|
205
234
|
depends_on: [investigate]
|
|
206
|
-
description: "Fix the
|
|
207
|
-
|
|
235
|
+
description: "Fix the identified issues. Handle both logic and widget layers."
|
|
236
|
+
checkpoints:
|
|
237
|
+
- assert: clean_working_tree
|
|
238
|
+
message: "Commit all changes before proceeding to report step"
|
|
239
|
+
prompt: "Fix the identified breakpoints. Read v1 in {{v1_path}}/. Rewrite in v2 style in {{v2_path}}/. Logic tests: implement notifier/state/service code. Widget tests: copy widget from v1, change bindings (Obx→Consumer, Get.to→context.go), set up widget test infra (ProviderScope, mock providers, GoRouter) if needed. Run tests after each fix. Red→green or Skipped→green = done. Still failing = revert and re-analyze. Maximize test coverage per round. When done, commit all changes: rescue($ARGUMENTS): round N — X passed (+Y)"
|
|
240
|
+
- id: report
|
|
241
|
+
role: investigator
|
|
242
|
+
mode: investigate
|
|
243
|
+
depends_on: [fix]
|
|
244
|
+
description: "Summarize round, guide next steps."
|
|
245
|
+
prompt: "Run full test suite in {{test_path}}/$ARGUMENTS/. Report: 1) passed/skipped/failed delta vs last round. 2) List remaining skipped tests by category (logic vs widget vs platform). 3) If skipped tests remain, end with: Run /rescue $ARGUMENTS to continue. 4) If all tests pass, end with: Module $ARGUMENTS rescue complete."
|
|
208
246
|
|
|
209
247
|
core-align:
|
|
210
248
|
name: Core Align
|
|
@@ -212,5 +250,6 @@ workflows:
|
|
|
212
250
|
steps:
|
|
213
251
|
- id: align
|
|
214
252
|
role: core_aligner
|
|
253
|
+
mode: align
|
|
215
254
|
description: "Compare {{v1_path}}/ and {{v2_path}}/core/ module by module. Fix mismatches."
|
|
216
255
|
prompt: "Compare v1 ({{v1_path}}/) and v2 core ({{v2_path}}/core/lib/). List mismatches. Fix by copying v1 logic, only changing DI (GetX→Riverpod). Run flutter analyze after each fix."
|
|
@@ -6,6 +6,7 @@ version: "0.1.0"
|
|
|
6
6
|
id: template_full_pipeline
|
|
7
7
|
name: Full Development Pipeline
|
|
8
8
|
type: project
|
|
9
|
+
namespace: fp
|
|
9
10
|
|
|
10
11
|
cascade:
|
|
11
12
|
inherits: ["species:default"]
|
|
@@ -99,25 +100,51 @@ roles:
|
|
|
99
100
|
|
|
100
101
|
contexts: {}
|
|
101
102
|
|
|
103
|
+
modes:
|
|
104
|
+
plan:
|
|
105
|
+
description: "Read requirements, produce design docs. No source code edits."
|
|
106
|
+
tool_permissions:
|
|
107
|
+
deny: [Edit]
|
|
108
|
+
scope:
|
|
109
|
+
write: ["docs/tasks/**"]
|
|
110
|
+
implement:
|
|
111
|
+
description: "Implement features. Write to src/ and test/."
|
|
112
|
+
scope:
|
|
113
|
+
write: ["src/**", "test/**"]
|
|
114
|
+
test:
|
|
115
|
+
description: "Run and fix tests. Write to test/ only."
|
|
116
|
+
scope:
|
|
117
|
+
write: ["test/**"]
|
|
118
|
+
review:
|
|
119
|
+
description: "Review code. No source code edits."
|
|
120
|
+
tool_permissions:
|
|
121
|
+
deny: [Edit]
|
|
122
|
+
scope:
|
|
123
|
+
write: ["docs/reviews/**"]
|
|
124
|
+
|
|
102
125
|
workflow:
|
|
103
126
|
name: dev-pipeline
|
|
104
127
|
description: Plan, implement, test, review cycle with retry
|
|
105
128
|
steps:
|
|
106
129
|
- id: plan
|
|
107
130
|
role: planner
|
|
131
|
+
mode: plan
|
|
108
132
|
description: Read task and produce design document
|
|
109
133
|
run_if: "round == 1"
|
|
110
134
|
prompt: "Read task {{task_id}} from BOARD.md. Produce a design document."
|
|
111
135
|
- id: implement
|
|
112
136
|
role: implementer
|
|
137
|
+
mode: implement
|
|
113
138
|
description: Implement according to design
|
|
114
139
|
prompt: "Implement task {{task_id}} following the design document."
|
|
115
140
|
- id: test
|
|
116
141
|
role: tester
|
|
142
|
+
mode: test
|
|
117
143
|
description: Run tests and fix failures
|
|
118
144
|
prompt: "Run tests. Fix failures. Add missing tests for {{task_id}}."
|
|
119
145
|
- id: review
|
|
120
146
|
role: reviewer
|
|
147
|
+
mode: review
|
|
121
148
|
description: Review and output verdict
|
|
122
149
|
prompt: "Review changes for {{task_id}}. Output PASS or FAIL."
|
|
123
150
|
transitions:
|
|
@@ -7,6 +7,7 @@ version: "0.1.0"
|
|
|
7
7
|
id: template_multi_perspective_review
|
|
8
8
|
name: Multi-Perspective Review
|
|
9
9
|
type: project
|
|
10
|
+
namespace: mpr
|
|
10
11
|
|
|
11
12
|
cascade:
|
|
12
13
|
inherits: ["species:default"]
|
|
@@ -93,17 +94,30 @@ roles:
|
|
|
93
94
|
- Document trade-offs and accepted risks
|
|
94
95
|
- If unclear, escalate to human
|
|
95
96
|
|
|
97
|
+
modes:
|
|
98
|
+
debate:
|
|
99
|
+
description: "Argue for or against proposed change. Read-only."
|
|
100
|
+
tool_permissions:
|
|
101
|
+
deny: [Edit, Write, NotebookEdit]
|
|
102
|
+
decide:
|
|
103
|
+
description: "Make final decision. Read-only."
|
|
104
|
+
tool_permissions:
|
|
105
|
+
deny: [Edit, Write, NotebookEdit]
|
|
106
|
+
|
|
96
107
|
workflows:
|
|
97
108
|
debate-review:
|
|
98
109
|
name: Debate Review
|
|
99
110
|
steps:
|
|
100
111
|
- id: advocate
|
|
101
112
|
role: advocate
|
|
113
|
+
mode: debate
|
|
102
114
|
description: Argue for the proposed change
|
|
103
115
|
- id: critique
|
|
104
116
|
role: critic
|
|
117
|
+
mode: debate
|
|
105
118
|
description: Argue against the proposed change
|
|
106
119
|
- id: decide
|
|
107
120
|
role: arbiter
|
|
121
|
+
mode: decide
|
|
108
122
|
depends_on: [advocate, critique]
|
|
109
123
|
description: Final decision with rationale
|