@pjmendonca/devflow 1.18.0 → 1.20.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/.claude/commands/brainstorm.md +28 -0
- package/.claude/commands/init.md +102 -6
- package/.claude/skills/brainstorm/SKILL.md +531 -0
- package/.claude/skills/dashboard/SKILL.md +118 -0
- package/CHANGELOG.md +62 -0
- package/README.md +2 -2
- package/bin/devflow-dashboard.js +10 -0
- package/bin/devflow-swarm.js +11 -0
- package/bin/devflow.js +2 -0
- package/package.json +3 -1
- package/tooling/.automation/memory/knowledge/kg_integration-test.json +116 -1
- package/tooling/.automation/memory/knowledge/kg_test-story.json +392 -2
- package/tooling/.automation/memory/shared/shared_integration-test.json +37 -1
- package/tooling/.automation/memory/shared/shared_test-story.json +109 -1
- package/tooling/.automation/memory/shared/shared_test.json +235 -1
- package/tooling/.automation/memory/shared/shared_validation-check.json +40 -1
- package/tooling/.automation/validation/history/2026-01-03_val_1287a74c.json +41 -0
- package/tooling/.automation/validation/history/2026-01-03_val_3b24071f.json +32 -0
- package/tooling/.automation/validation/history/2026-01-03_val_44d77573.json +32 -0
- package/tooling/.automation/validation/history/2026-01-03_val_5b31dc51.json +32 -0
- package/tooling/.automation/validation/history/2026-01-03_val_74267244.json +32 -0
- package/tooling/.automation/validation/history/2026-01-03_val_8b2d95c7.json +59 -0
- package/tooling/.automation/validation/history/2026-01-03_val_d875b297.json +41 -0
- package/tooling/.automation/validation/history/2026-01-16_val_0b81ec2f.json +41 -0
- package/tooling/.automation/validation/history/2026-01-16_val_26c18e64.json +32 -0
- package/tooling/.automation/validation/history/2026-01-16_val_32af0152.json +32 -0
- package/tooling/.automation/validation/history/2026-01-16_val_353d1569.json +32 -0
- package/tooling/.automation/validation/history/2026-01-16_val_39e3c143.json +59 -0
- package/tooling/.automation/validation/history/2026-01-16_val_77fb42e4.json +32 -0
- package/tooling/.automation/validation/history/2026-01-16_val_a0752656.json +41 -0
- package/tooling/.automation/validation/history/2026-01-16_val_a29213b0.json +41 -0
- package/tooling/.automation/validation/history/2026-01-16_val_a9375d4c.json +32 -0
- package/tooling/.automation/validation/history/2026-01-16_val_c147bbdf.json +32 -0
- package/tooling/.automation/validation/history/2026-01-16_val_d06ccf8d.json +32 -0
- package/tooling/.automation/validation/history/2026-01-16_val_d6a80295.json +59 -0
- package/tooling/.automation/validation/history/2026-01-16_val_dce5005d.json +41 -0
- package/tooling/.automation/validation/history/2026-01-16_val_e53b3a63.json +32 -0
- package/tooling/docs/stories/.gitkeep +0 -0
- package/tooling/docs/templates/brainstorm-guide.md +314 -0
- package/tooling/docs/templates/story.md +66 -0
- package/tooling/scripts/lib/__init__.py +1 -1
- package/tooling/scripts/lib/cost_display.py +7 -1
- package/tooling/scripts/lib/pair_programming.py +6 -4
- package/tooling/scripts/lib/swarm_orchestrator.py +13 -11
- package/tooling/scripts/live_dashboard.py +832 -0
- package/tooling/scripts/new-doc.py +1 -1
- package/tooling/scripts/run-collab.py +2 -2
- package/tooling/scripts/run-story.py +21 -9
- package/tooling/scripts/setup-checkpoint-service.py +1 -1
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "val_353d1569",
|
|
3
|
+
"timestamp": "2026-01-16T12:33:49.015664",
|
|
4
|
+
"story_key": "test",
|
|
5
|
+
"tier": 3,
|
|
6
|
+
"gate_results": [
|
|
7
|
+
{
|
|
8
|
+
"gate_name": "test",
|
|
9
|
+
"result": "pass",
|
|
10
|
+
"message": "Validation passed",
|
|
11
|
+
"duration_ms": 0.00095367431640625,
|
|
12
|
+
"retry_count": 0,
|
|
13
|
+
"auto_fixed": false,
|
|
14
|
+
"details": {}
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"overall_result": "pass",
|
|
18
|
+
"total_duration_ms": 0.0030994415283203125,
|
|
19
|
+
"passed": true,
|
|
20
|
+
"context": {
|
|
21
|
+
"story_key": "test",
|
|
22
|
+
"iteration": 0,
|
|
23
|
+
"max_iterations": 3,
|
|
24
|
+
"accumulated_issues": [],
|
|
25
|
+
"accumulated_fixes": [],
|
|
26
|
+
"cost_so_far": 0.0,
|
|
27
|
+
"time_elapsed_seconds": 0.0,
|
|
28
|
+
"phase": "",
|
|
29
|
+
"from_agent": "",
|
|
30
|
+
"to_agent": ""
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "val_39e3c143",
|
|
3
|
+
"timestamp": "2026-01-16T12:33:31.213652",
|
|
4
|
+
"story_key": "validation-check",
|
|
5
|
+
"tier": 3,
|
|
6
|
+
"gate_results": [
|
|
7
|
+
{
|
|
8
|
+
"gate_name": "tests_pass",
|
|
9
|
+
"result": "pass",
|
|
10
|
+
"message": "Validation passed",
|
|
11
|
+
"duration_ms": 547.9390621185303,
|
|
12
|
+
"retry_count": 0,
|
|
13
|
+
"auto_fixed": false,
|
|
14
|
+
"details": {}
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"gate_name": "lint_clean",
|
|
18
|
+
"result": "pass",
|
|
19
|
+
"message": "Validation passed",
|
|
20
|
+
"duration_ms": 15.115022659301758,
|
|
21
|
+
"retry_count": 0,
|
|
22
|
+
"auto_fixed": false,
|
|
23
|
+
"details": {}
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"gate_name": "types_valid",
|
|
27
|
+
"result": "pass",
|
|
28
|
+
"message": "Validation passed",
|
|
29
|
+
"duration_ms": 14.427900314331055,
|
|
30
|
+
"retry_count": 0,
|
|
31
|
+
"auto_fixed": false,
|
|
32
|
+
"details": {}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"gate_name": "version_synced",
|
|
36
|
+
"result": "pass",
|
|
37
|
+
"message": "Validation passed",
|
|
38
|
+
"duration_ms": 28.658151626586914,
|
|
39
|
+
"retry_count": 0,
|
|
40
|
+
"auto_fixed": false,
|
|
41
|
+
"details": {}
|
|
42
|
+
}
|
|
43
|
+
],
|
|
44
|
+
"overall_result": "pass",
|
|
45
|
+
"total_duration_ms": 606.2383651733398,
|
|
46
|
+
"passed": true,
|
|
47
|
+
"context": {
|
|
48
|
+
"story_key": "validation-check",
|
|
49
|
+
"iteration": 0,
|
|
50
|
+
"max_iterations": 3,
|
|
51
|
+
"accumulated_issues": [],
|
|
52
|
+
"accumulated_fixes": [],
|
|
53
|
+
"cost_so_far": 0.0,
|
|
54
|
+
"time_elapsed_seconds": 0.0,
|
|
55
|
+
"phase": "tier_3",
|
|
56
|
+
"from_agent": "",
|
|
57
|
+
"to_agent": ""
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "val_77fb42e4",
|
|
3
|
+
"timestamp": "2026-01-16T12:33:31.100717",
|
|
4
|
+
"story_key": "test",
|
|
5
|
+
"tier": 1,
|
|
6
|
+
"gate_results": [
|
|
7
|
+
{
|
|
8
|
+
"gate_name": "test",
|
|
9
|
+
"result": "pass",
|
|
10
|
+
"message": "Validation passed",
|
|
11
|
+
"duration_ms": 0.00095367431640625,
|
|
12
|
+
"retry_count": 0,
|
|
13
|
+
"auto_fixed": false,
|
|
14
|
+
"details": {}
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"overall_result": "pass",
|
|
18
|
+
"total_duration_ms": 0.0030994415283203125,
|
|
19
|
+
"passed": true,
|
|
20
|
+
"context": {
|
|
21
|
+
"story_key": "test",
|
|
22
|
+
"iteration": 0,
|
|
23
|
+
"max_iterations": 3,
|
|
24
|
+
"accumulated_issues": [],
|
|
25
|
+
"accumulated_fixes": [],
|
|
26
|
+
"cost_so_far": 0.0,
|
|
27
|
+
"time_elapsed_seconds": 0.0,
|
|
28
|
+
"phase": "",
|
|
29
|
+
"from_agent": "",
|
|
30
|
+
"to_agent": ""
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "val_a0752656",
|
|
3
|
+
"timestamp": "2026-01-16T12:33:49.010481",
|
|
4
|
+
"story_key": "test",
|
|
5
|
+
"tier": 1,
|
|
6
|
+
"gate_results": [
|
|
7
|
+
{
|
|
8
|
+
"gate_name": "gate1",
|
|
9
|
+
"result": "pass",
|
|
10
|
+
"message": "Validation passed",
|
|
11
|
+
"duration_ms": 0.0,
|
|
12
|
+
"retry_count": 0,
|
|
13
|
+
"auto_fixed": false,
|
|
14
|
+
"details": {}
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"gate_name": "gate2",
|
|
18
|
+
"result": "pass",
|
|
19
|
+
"message": "Validation passed",
|
|
20
|
+
"duration_ms": 0.0,
|
|
21
|
+
"retry_count": 0,
|
|
22
|
+
"auto_fixed": false,
|
|
23
|
+
"details": {}
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
"overall_result": "pass",
|
|
27
|
+
"total_duration_ms": 0.005245208740234375,
|
|
28
|
+
"passed": true,
|
|
29
|
+
"context": {
|
|
30
|
+
"story_key": "test",
|
|
31
|
+
"iteration": 0,
|
|
32
|
+
"max_iterations": 3,
|
|
33
|
+
"accumulated_issues": [],
|
|
34
|
+
"accumulated_fixes": [],
|
|
35
|
+
"cost_so_far": 0.0,
|
|
36
|
+
"time_elapsed_seconds": 0.0,
|
|
37
|
+
"phase": "",
|
|
38
|
+
"from_agent": "",
|
|
39
|
+
"to_agent": ""
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "val_a29213b0",
|
|
3
|
+
"timestamp": "2026-01-16T12:33:31.098127",
|
|
4
|
+
"story_key": "test",
|
|
5
|
+
"tier": 1,
|
|
6
|
+
"gate_results": [
|
|
7
|
+
{
|
|
8
|
+
"gate_name": "pass",
|
|
9
|
+
"result": "pass",
|
|
10
|
+
"message": "Validation passed",
|
|
11
|
+
"duration_ms": 0.0,
|
|
12
|
+
"retry_count": 0,
|
|
13
|
+
"auto_fixed": false,
|
|
14
|
+
"details": {}
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"gate_name": "fail",
|
|
18
|
+
"result": "fail",
|
|
19
|
+
"message": "Validation failed",
|
|
20
|
+
"duration_ms": 0.0011920928955078125,
|
|
21
|
+
"retry_count": 0,
|
|
22
|
+
"auto_fixed": false,
|
|
23
|
+
"details": {}
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
"overall_result": "fail",
|
|
27
|
+
"total_duration_ms": 0.0059604644775390625,
|
|
28
|
+
"passed": false,
|
|
29
|
+
"context": {
|
|
30
|
+
"story_key": "test",
|
|
31
|
+
"iteration": 0,
|
|
32
|
+
"max_iterations": 3,
|
|
33
|
+
"accumulated_issues": [],
|
|
34
|
+
"accumulated_fixes": [],
|
|
35
|
+
"cost_so_far": 0.0,
|
|
36
|
+
"time_elapsed_seconds": 0.0,
|
|
37
|
+
"phase": "",
|
|
38
|
+
"from_agent": "",
|
|
39
|
+
"to_agent": ""
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "val_a9375d4c",
|
|
3
|
+
"timestamp": "2026-01-16T12:33:49.014473",
|
|
4
|
+
"story_key": "test",
|
|
5
|
+
"tier": 1,
|
|
6
|
+
"gate_results": [
|
|
7
|
+
{
|
|
8
|
+
"gate_name": "test",
|
|
9
|
+
"result": "pass",
|
|
10
|
+
"message": "Validation passed",
|
|
11
|
+
"duration_ms": 0.0011920928955078125,
|
|
12
|
+
"retry_count": 0,
|
|
13
|
+
"auto_fixed": false,
|
|
14
|
+
"details": {}
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"overall_result": "pass",
|
|
18
|
+
"total_duration_ms": 0.0030994415283203125,
|
|
19
|
+
"passed": true,
|
|
20
|
+
"context": {
|
|
21
|
+
"story_key": "test",
|
|
22
|
+
"iteration": 0,
|
|
23
|
+
"max_iterations": 3,
|
|
24
|
+
"accumulated_issues": [],
|
|
25
|
+
"accumulated_fixes": [],
|
|
26
|
+
"cost_so_far": 0.0,
|
|
27
|
+
"time_elapsed_seconds": 0.0,
|
|
28
|
+
"phase": "",
|
|
29
|
+
"from_agent": "",
|
|
30
|
+
"to_agent": ""
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "val_c147bbdf",
|
|
3
|
+
"timestamp": "2026-01-16T12:33:49.012926",
|
|
4
|
+
"story_key": "test",
|
|
5
|
+
"tier": 1,
|
|
6
|
+
"gate_results": [
|
|
7
|
+
{
|
|
8
|
+
"gate_name": "block",
|
|
9
|
+
"result": "fail",
|
|
10
|
+
"message": "Validation failed",
|
|
11
|
+
"duration_ms": 0.00095367431640625,
|
|
12
|
+
"retry_count": 0,
|
|
13
|
+
"auto_fixed": false,
|
|
14
|
+
"details": {}
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"overall_result": "fail",
|
|
18
|
+
"total_duration_ms": 0.016689300537109375,
|
|
19
|
+
"passed": false,
|
|
20
|
+
"context": {
|
|
21
|
+
"story_key": "test",
|
|
22
|
+
"iteration": 0,
|
|
23
|
+
"max_iterations": 3,
|
|
24
|
+
"accumulated_issues": [],
|
|
25
|
+
"accumulated_fixes": [],
|
|
26
|
+
"cost_so_far": 0.0,
|
|
27
|
+
"time_elapsed_seconds": 0.0,
|
|
28
|
+
"phase": "",
|
|
29
|
+
"from_agent": "",
|
|
30
|
+
"to_agent": ""
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "val_d06ccf8d",
|
|
3
|
+
"timestamp": "2026-01-16T12:33:31.101848",
|
|
4
|
+
"story_key": "test",
|
|
5
|
+
"tier": 3,
|
|
6
|
+
"gate_results": [
|
|
7
|
+
{
|
|
8
|
+
"gate_name": "test",
|
|
9
|
+
"result": "pass",
|
|
10
|
+
"message": "Validation passed",
|
|
11
|
+
"duration_ms": 0.0,
|
|
12
|
+
"retry_count": 0,
|
|
13
|
+
"auto_fixed": false,
|
|
14
|
+
"details": {}
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"overall_result": "pass",
|
|
18
|
+
"total_duration_ms": 0.0021457672119140625,
|
|
19
|
+
"passed": true,
|
|
20
|
+
"context": {
|
|
21
|
+
"story_key": "test",
|
|
22
|
+
"iteration": 0,
|
|
23
|
+
"max_iterations": 3,
|
|
24
|
+
"accumulated_issues": [],
|
|
25
|
+
"accumulated_fixes": [],
|
|
26
|
+
"cost_so_far": 0.0,
|
|
27
|
+
"time_elapsed_seconds": 0.0,
|
|
28
|
+
"phase": "",
|
|
29
|
+
"from_agent": "",
|
|
30
|
+
"to_agent": ""
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "val_d6a80295",
|
|
3
|
+
"timestamp": "2026-01-16T12:33:49.127176",
|
|
4
|
+
"story_key": "validation-check",
|
|
5
|
+
"tier": 3,
|
|
6
|
+
"gate_results": [
|
|
7
|
+
{
|
|
8
|
+
"gate_name": "tests_pass",
|
|
9
|
+
"result": "pass",
|
|
10
|
+
"message": "Validation passed",
|
|
11
|
+
"duration_ms": 504.8868656158447,
|
|
12
|
+
"retry_count": 0,
|
|
13
|
+
"auto_fixed": false,
|
|
14
|
+
"details": {}
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"gate_name": "lint_clean",
|
|
18
|
+
"result": "pass",
|
|
19
|
+
"message": "Validation passed",
|
|
20
|
+
"duration_ms": 15.291213989257812,
|
|
21
|
+
"retry_count": 0,
|
|
22
|
+
"auto_fixed": false,
|
|
23
|
+
"details": {}
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"gate_name": "types_valid",
|
|
27
|
+
"result": "pass",
|
|
28
|
+
"message": "Validation passed",
|
|
29
|
+
"duration_ms": 14.148235321044922,
|
|
30
|
+
"retry_count": 0,
|
|
31
|
+
"auto_fixed": false,
|
|
32
|
+
"details": {}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"gate_name": "version_synced",
|
|
36
|
+
"result": "pass",
|
|
37
|
+
"message": "Validation passed",
|
|
38
|
+
"duration_ms": 28.812885284423828,
|
|
39
|
+
"retry_count": 0,
|
|
40
|
+
"auto_fixed": false,
|
|
41
|
+
"details": {}
|
|
42
|
+
}
|
|
43
|
+
],
|
|
44
|
+
"overall_result": "pass",
|
|
45
|
+
"total_duration_ms": 563.2259845733643,
|
|
46
|
+
"passed": true,
|
|
47
|
+
"context": {
|
|
48
|
+
"story_key": "validation-check",
|
|
49
|
+
"iteration": 0,
|
|
50
|
+
"max_iterations": 3,
|
|
51
|
+
"accumulated_issues": [],
|
|
52
|
+
"accumulated_fixes": [],
|
|
53
|
+
"cost_so_far": 0.0,
|
|
54
|
+
"time_elapsed_seconds": 0.0,
|
|
55
|
+
"phase": "tier_3",
|
|
56
|
+
"from_agent": "",
|
|
57
|
+
"to_agent": ""
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "val_dce5005d",
|
|
3
|
+
"timestamp": "2026-01-16T12:33:31.096647",
|
|
4
|
+
"story_key": "test",
|
|
5
|
+
"tier": 1,
|
|
6
|
+
"gate_results": [
|
|
7
|
+
{
|
|
8
|
+
"gate_name": "gate1",
|
|
9
|
+
"result": "pass",
|
|
10
|
+
"message": "Validation passed",
|
|
11
|
+
"duration_ms": 0.0,
|
|
12
|
+
"retry_count": 0,
|
|
13
|
+
"auto_fixed": false,
|
|
14
|
+
"details": {}
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"gate_name": "gate2",
|
|
18
|
+
"result": "pass",
|
|
19
|
+
"message": "Validation passed",
|
|
20
|
+
"duration_ms": 0.0,
|
|
21
|
+
"retry_count": 0,
|
|
22
|
+
"auto_fixed": false,
|
|
23
|
+
"details": {}
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
"overall_result": "pass",
|
|
27
|
+
"total_duration_ms": 0.0059604644775390625,
|
|
28
|
+
"passed": true,
|
|
29
|
+
"context": {
|
|
30
|
+
"story_key": "test",
|
|
31
|
+
"iteration": 0,
|
|
32
|
+
"max_iterations": 3,
|
|
33
|
+
"accumulated_issues": [],
|
|
34
|
+
"accumulated_fixes": [],
|
|
35
|
+
"cost_so_far": 0.0,
|
|
36
|
+
"time_elapsed_seconds": 0.0,
|
|
37
|
+
"phase": "",
|
|
38
|
+
"from_agent": "",
|
|
39
|
+
"to_agent": ""
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "val_e53b3a63",
|
|
3
|
+
"timestamp": "2026-01-16T12:33:31.099384",
|
|
4
|
+
"story_key": "test",
|
|
5
|
+
"tier": 1,
|
|
6
|
+
"gate_results": [
|
|
7
|
+
{
|
|
8
|
+
"gate_name": "block",
|
|
9
|
+
"result": "fail",
|
|
10
|
+
"message": "Validation failed",
|
|
11
|
+
"duration_ms": 0.0,
|
|
12
|
+
"retry_count": 0,
|
|
13
|
+
"auto_fixed": false,
|
|
14
|
+
"details": {}
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"overall_result": "fail",
|
|
18
|
+
"total_duration_ms": 0.015735626220703125,
|
|
19
|
+
"passed": false,
|
|
20
|
+
"context": {
|
|
21
|
+
"story_key": "test",
|
|
22
|
+
"iteration": 0,
|
|
23
|
+
"max_iterations": 3,
|
|
24
|
+
"accumulated_issues": [],
|
|
25
|
+
"accumulated_fixes": [],
|
|
26
|
+
"cost_so_far": 0.0,
|
|
27
|
+
"time_elapsed_seconds": 0.0,
|
|
28
|
+
"phase": "",
|
|
29
|
+
"from_agent": "",
|
|
30
|
+
"to_agent": ""
|
|
31
|
+
}
|
|
32
|
+
}
|
|
File without changes
|