@pjmendonca/devflow 1.19.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.
Files changed (36) hide show
  1. package/.claude/skills/dashboard/SKILL.md +118 -0
  2. package/CHANGELOG.md +21 -0
  3. package/README.md +2 -2
  4. package/bin/devflow-dashboard.js +10 -0
  5. package/bin/devflow-swarm.js +11 -0
  6. package/bin/devflow.js +2 -0
  7. package/package.json +3 -1
  8. package/tooling/.automation/memory/knowledge/kg_integration-test.json +85 -1
  9. package/tooling/.automation/memory/knowledge/kg_test-story.json +284 -2
  10. package/tooling/.automation/memory/shared/shared_integration-test.json +25 -1
  11. package/tooling/.automation/memory/shared/shared_test-story.json +73 -1
  12. package/tooling/.automation/memory/shared/shared_test.json +157 -1
  13. package/tooling/.automation/memory/shared/shared_validation-check.json +27 -1
  14. package/tooling/.automation/validation/history/2026-01-16_val_0b81ec2f.json +41 -0
  15. package/tooling/.automation/validation/history/2026-01-16_val_26c18e64.json +32 -0
  16. package/tooling/.automation/validation/history/2026-01-16_val_32af0152.json +32 -0
  17. package/tooling/.automation/validation/history/2026-01-16_val_353d1569.json +32 -0
  18. package/tooling/.automation/validation/history/2026-01-16_val_39e3c143.json +59 -0
  19. package/tooling/.automation/validation/history/2026-01-16_val_77fb42e4.json +32 -0
  20. package/tooling/.automation/validation/history/2026-01-16_val_a0752656.json +41 -0
  21. package/tooling/.automation/validation/history/2026-01-16_val_a29213b0.json +41 -0
  22. package/tooling/.automation/validation/history/2026-01-16_val_a9375d4c.json +32 -0
  23. package/tooling/.automation/validation/history/2026-01-16_val_c147bbdf.json +32 -0
  24. package/tooling/.automation/validation/history/2026-01-16_val_d06ccf8d.json +32 -0
  25. package/tooling/.automation/validation/history/2026-01-16_val_d6a80295.json +59 -0
  26. package/tooling/.automation/validation/history/2026-01-16_val_dce5005d.json +41 -0
  27. package/tooling/.automation/validation/history/2026-01-16_val_e53b3a63.json +32 -0
  28. package/tooling/scripts/lib/__init__.py +1 -1
  29. package/tooling/scripts/lib/cost_display.py +7 -1
  30. package/tooling/scripts/lib/pair_programming.py +6 -4
  31. package/tooling/scripts/lib/swarm_orchestrator.py +13 -11
  32. package/tooling/scripts/live_dashboard.py +832 -0
  33. package/tooling/scripts/new-doc.py +1 -1
  34. package/tooling/scripts/run-collab.py +2 -2
  35. package/tooling/scripts/run-story.py +21 -9
  36. package/tooling/scripts/setup-checkpoint-service.py +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "story_key": "test-story",
3
- "last_updated": "2026-01-03T14:30:38.028834",
3
+ "last_updated": "2026-01-16T12:33:48.805638",
4
4
  "entries": [
5
5
  {
6
6
  "id": "mem_94d28071",
@@ -901,6 +901,78 @@
901
901
  ],
902
902
  "story_key": "test-story",
903
903
  "references": []
904
+ },
905
+ {
906
+ "id": "mem_21c9ac0d",
907
+ "timestamp": "2026-01-16T12:33:30.870755",
908
+ "agent": "SM",
909
+ "content": "Handed off to DEV: Created story context",
910
+ "tags": [
911
+ "handoff",
912
+ "dev"
913
+ ],
914
+ "story_key": "test-story",
915
+ "references": []
916
+ },
917
+ {
918
+ "id": "mem_e4e645a3",
919
+ "timestamp": "2026-01-16T12:33:30.883295",
920
+ "agent": "DEV",
921
+ "content": "Handed off to REVIEWER: Implementation complete",
922
+ "tags": [
923
+ "handoff",
924
+ "reviewer"
925
+ ],
926
+ "story_key": "test-story",
927
+ "references": []
928
+ },
929
+ {
930
+ "id": "mem_ff22610c",
931
+ "timestamp": "2026-01-16T12:33:30.893913",
932
+ "agent": "SM",
933
+ "content": "Handed off to DEV: Ready for development",
934
+ "tags": [
935
+ "handoff",
936
+ "dev"
937
+ ],
938
+ "story_key": "test-story",
939
+ "references": []
940
+ },
941
+ {
942
+ "id": "mem_9bff4998",
943
+ "timestamp": "2026-01-16T12:33:48.782037",
944
+ "agent": "SM",
945
+ "content": "Handed off to DEV: Created story context",
946
+ "tags": [
947
+ "handoff",
948
+ "dev"
949
+ ],
950
+ "story_key": "test-story",
951
+ "references": []
952
+ },
953
+ {
954
+ "id": "mem_12b6d1eb",
955
+ "timestamp": "2026-01-16T12:33:48.794601",
956
+ "agent": "DEV",
957
+ "content": "Handed off to REVIEWER: Implementation complete",
958
+ "tags": [
959
+ "handoff",
960
+ "reviewer"
961
+ ],
962
+ "story_key": "test-story",
963
+ "references": []
964
+ },
965
+ {
966
+ "id": "mem_db12d518",
967
+ "timestamp": "2026-01-16T12:33:48.805592",
968
+ "agent": "SM",
969
+ "content": "Handed off to DEV: Ready for development",
970
+ "tags": [
971
+ "handoff",
972
+ "dev"
973
+ ],
974
+ "story_key": "test-story",
975
+ "references": []
904
976
  }
905
977
  ]
906
978
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "story_key": "test",
3
- "last_updated": "2026-01-03T14:30:38.235634",
3
+ "last_updated": "2026-01-16T12:33:49.018907",
4
4
  "entries": [
5
5
  {
6
6
  "id": "mem_459b587a",
@@ -1327,6 +1327,162 @@
1327
1327
  ],
1328
1328
  "story_key": "test",
1329
1329
  "references": []
1330
+ },
1331
+ {
1332
+ "id": "mem_89eecf3b",
1333
+ "timestamp": "2026-01-16T12:33:31.096819",
1334
+ "agent": "VALIDATOR",
1335
+ "content": "Validation pass: 2 gates, 2 passed",
1336
+ "tags": [
1337
+ "validation",
1338
+ "tier-1",
1339
+ "pass"
1340
+ ],
1341
+ "story_key": "test",
1342
+ "references": []
1343
+ },
1344
+ {
1345
+ "id": "mem_3211a77c",
1346
+ "timestamp": "2026-01-16T12:33:31.098289",
1347
+ "agent": "VALIDATOR",
1348
+ "content": "Validation fail: 2 gates, 1 passed",
1349
+ "tags": [
1350
+ "validation",
1351
+ "tier-1",
1352
+ "fail"
1353
+ ],
1354
+ "story_key": "test",
1355
+ "references": []
1356
+ },
1357
+ {
1358
+ "id": "mem_229ac8b9",
1359
+ "timestamp": "2026-01-16T12:33:31.099487",
1360
+ "agent": "VALIDATOR",
1361
+ "content": "Validation fail: 1 gates, 0 passed",
1362
+ "tags": [
1363
+ "validation",
1364
+ "tier-1",
1365
+ "fail"
1366
+ ],
1367
+ "story_key": "test",
1368
+ "references": []
1369
+ },
1370
+ {
1371
+ "id": "mem_228f00ae",
1372
+ "timestamp": "2026-01-16T12:33:31.100808",
1373
+ "agent": "VALIDATOR",
1374
+ "content": "Validation pass: 1 gates, 1 passed",
1375
+ "tags": [
1376
+ "validation",
1377
+ "tier-1",
1378
+ "pass"
1379
+ ],
1380
+ "story_key": "test",
1381
+ "references": []
1382
+ },
1383
+ {
1384
+ "id": "mem_aa694938",
1385
+ "timestamp": "2026-01-16T12:33:31.101946",
1386
+ "agent": "VALIDATOR",
1387
+ "content": "Validation pass: 1 gates, 1 passed",
1388
+ "tags": [
1389
+ "validation",
1390
+ "tier-3",
1391
+ "pass"
1392
+ ],
1393
+ "story_key": "test",
1394
+ "references": []
1395
+ },
1396
+ {
1397
+ "id": "mem_3dc70b76",
1398
+ "timestamp": "2026-01-16T12:33:31.105274",
1399
+ "agent": "VALIDATOR",
1400
+ "content": "Validation fail: 1 gates, 0 passed",
1401
+ "tags": [
1402
+ "validation",
1403
+ "tier-1",
1404
+ "fail"
1405
+ ],
1406
+ "story_key": "test",
1407
+ "references": []
1408
+ },
1409
+ {
1410
+ "id": "mem_ba55f0a7",
1411
+ "timestamp": "2026-01-16T12:33:49.010662",
1412
+ "agent": "VALIDATOR",
1413
+ "content": "Validation pass: 2 gates, 2 passed",
1414
+ "tags": [
1415
+ "validation",
1416
+ "tier-1",
1417
+ "pass"
1418
+ ],
1419
+ "story_key": "test",
1420
+ "references": []
1421
+ },
1422
+ {
1423
+ "id": "mem_73310bd6",
1424
+ "timestamp": "2026-01-16T12:33:49.011864",
1425
+ "agent": "VALIDATOR",
1426
+ "content": "Validation fail: 2 gates, 1 passed",
1427
+ "tags": [
1428
+ "validation",
1429
+ "tier-1",
1430
+ "fail"
1431
+ ],
1432
+ "story_key": "test",
1433
+ "references": []
1434
+ },
1435
+ {
1436
+ "id": "mem_548ee093",
1437
+ "timestamp": "2026-01-16T12:33:49.013071",
1438
+ "agent": "VALIDATOR",
1439
+ "content": "Validation fail: 1 gates, 0 passed",
1440
+ "tags": [
1441
+ "validation",
1442
+ "tier-1",
1443
+ "fail"
1444
+ ],
1445
+ "story_key": "test",
1446
+ "references": []
1447
+ },
1448
+ {
1449
+ "id": "mem_2c814794",
1450
+ "timestamp": "2026-01-16T12:33:49.014570",
1451
+ "agent": "VALIDATOR",
1452
+ "content": "Validation pass: 1 gates, 1 passed",
1453
+ "tags": [
1454
+ "validation",
1455
+ "tier-1",
1456
+ "pass"
1457
+ ],
1458
+ "story_key": "test",
1459
+ "references": []
1460
+ },
1461
+ {
1462
+ "id": "mem_406b70da",
1463
+ "timestamp": "2026-01-16T12:33:49.015759",
1464
+ "agent": "VALIDATOR",
1465
+ "content": "Validation pass: 1 gates, 1 passed",
1466
+ "tags": [
1467
+ "validation",
1468
+ "tier-3",
1469
+ "pass"
1470
+ ],
1471
+ "story_key": "test",
1472
+ "references": []
1473
+ },
1474
+ {
1475
+ "id": "mem_333caa75",
1476
+ "timestamp": "2026-01-16T12:33:49.018884",
1477
+ "agent": "VALIDATOR",
1478
+ "content": "Validation fail: 1 gates, 0 passed",
1479
+ "tags": [
1480
+ "validation",
1481
+ "tier-1",
1482
+ "fail"
1483
+ ],
1484
+ "story_key": "test",
1485
+ "references": []
1330
1486
  }
1331
1487
  ]
1332
1488
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "story_key": "validation-check",
3
- "last_updated": "2026-01-03T14:30:38.341965",
3
+ "last_updated": "2026-01-16T12:33:49.127605",
4
4
  "entries": [
5
5
  {
6
6
  "id": "mem_b27527fa",
@@ -235,6 +235,32 @@
235
235
  ],
236
236
  "story_key": "validation-check",
237
237
  "references": []
238
+ },
239
+ {
240
+ "id": "mem_4c4b8033",
241
+ "timestamp": "2026-01-16T12:33:31.214049",
242
+ "agent": "VALIDATOR",
243
+ "content": "Validation pass: 4 gates, 4 passed",
244
+ "tags": [
245
+ "validation",
246
+ "tier-3",
247
+ "pass"
248
+ ],
249
+ "story_key": "validation-check",
250
+ "references": []
251
+ },
252
+ {
253
+ "id": "mem_ce813b48",
254
+ "timestamp": "2026-01-16T12:33:49.127546",
255
+ "agent": "VALIDATOR",
256
+ "content": "Validation pass: 4 gates, 4 passed",
257
+ "tags": [
258
+ "validation",
259
+ "tier-3",
260
+ "pass"
261
+ ],
262
+ "story_key": "validation-check",
263
+ "references": []
238
264
  }
239
265
  ]
240
266
  }
@@ -0,0 +1,41 @@
1
+ {
2
+ "id": "val_0b81ec2f",
3
+ "timestamp": "2026-01-16T12:33:49.011758",
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.00095367431640625,
21
+ "retry_count": 0,
22
+ "auto_fixed": false,
23
+ "details": {}
24
+ }
25
+ ],
26
+ "overall_result": "fail",
27
+ "total_duration_ms": 0.0040531158447265625,
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_26c18e64",
3
+ "timestamp": "2026-01-16T12:33:31.104962",
4
+ "story_key": "test",
5
+ "tier": 1,
6
+ "gate_results": [
7
+ {
8
+ "gate_name": "fail_gate",
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.0030994415283203125,
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_32af0152",
3
+ "timestamp": "2026-01-16T12:33:49.018779",
4
+ "story_key": "test",
5
+ "tier": 1,
6
+ "gate_results": [
7
+ {
8
+ "gate_name": "fail_gate",
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.0019073486328125,
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_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
+ }