@pjmendonca/devflow 1.13.2 → 1.19.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/agent.md +1 -1
- package/.claude/commands/brainstorm.md +28 -0
- package/.claude/commands/bugfix.md +21 -0
- package/.claude/commands/checkpoint.md +0 -1
- package/.claude/commands/collab.md +0 -1
- package/.claude/commands/costs.md +88 -18
- package/.claude/commands/devflow.md +26 -0
- package/.claude/commands/handoff.md +0 -1
- package/.claude/commands/init.md +383 -0
- package/.claude/commands/memory.md +0 -1
- package/.claude/commands/pair.md +0 -1
- package/.claude/commands/review.md +27 -0
- package/.claude/commands/route.md +0 -1
- package/.claude/commands/swarm.md +0 -1
- package/.claude/commands/validate.md +55 -0
- package/.claude/hooks/session-notification.sh +44 -0
- package/.claude/hooks/session-startup.sh +427 -0
- package/.claude/hooks/session-stop.sh +38 -0
- package/.claude/hooks/session_tracker.py +272 -0
- package/.claude/settings.json +38 -0
- package/.claude/skills/brainstorm/SKILL.md +531 -0
- package/.claude/skills/costs/SKILL.md +156 -0
- package/.claude/skills/validate/SKILL.md +101 -0
- package/CHANGELOG.md +284 -0
- package/README.md +207 -10
- package/bin/devflow-install.js +2 -1
- package/bin/devflow.js +4 -0
- package/lib/constants.js +0 -1
- package/lib/exec-python.js +1 -1
- package/package.json +1 -1
- package/tooling/.automation/.checkpoint_lock +1 -0
- package/tooling/.automation/agents/architect.md +19 -0
- package/tooling/.automation/agents/ba.md +19 -0
- package/tooling/.automation/agents/maintainer.md +19 -0
- package/tooling/.automation/agents/pm.md +19 -0
- package/tooling/.automation/agents/reviewer.md +1 -1
- package/tooling/.automation/agents/writer.md +19 -0
- package/tooling/.automation/benchmarks/benchmark_20251230_100119.json +314 -0
- package/tooling/.automation/benchmarks/benchmark_20251230_100216.json +314 -0
- package/tooling/.automation/costs/config.json +31 -0
- package/tooling/.automation/costs/sessions/2025-12-29_20251229_164128.json +22 -0
- package/tooling/.automation/memory/knowledge/kg_integration-test.json +738 -1
- package/tooling/.automation/memory/knowledge/kg_test-story.json +3381 -2
- package/tooling/.automation/memory/shared/shared_integration-test.json +193 -1
- package/tooling/.automation/memory/shared/shared_test-story.json +757 -1
- package/tooling/.automation/memory/shared/shared_test.json +1332 -0
- package/tooling/.automation/memory/shared/shared_validation-check.json +240 -0
- package/tooling/.automation/overrides/templates/architect/cloud-native.yaml +5 -5
- package/tooling/.automation/overrides/templates/architect/enterprise-architect.yaml +23 -5
- package/tooling/.automation/overrides/templates/architect/pragmatic-minimalist.yaml +24 -6
- package/tooling/.automation/overrides/templates/ba/agile-storyteller.yaml +4 -4
- package/tooling/.automation/overrides/templates/ba/domain-expert.yaml +4 -4
- package/tooling/.automation/overrides/templates/ba/requirements-engineer.yaml +4 -4
- package/tooling/.automation/overrides/templates/dev/performance-engineer.yaml +18 -0
- package/tooling/.automation/overrides/templates/dev/rapid-prototyper.yaml +19 -1
- package/tooling/.automation/overrides/templates/dev/security-focused.yaml +18 -0
- package/tooling/.automation/overrides/templates/dev/user-advocate.yaml +54 -0
- package/tooling/.automation/overrides/templates/maintainer/devops-maintainer.yaml +4 -4
- package/tooling/.automation/overrides/templates/maintainer/legacy-steward.yaml +4 -4
- package/tooling/.automation/overrides/templates/maintainer/oss-maintainer.yaml +4 -4
- package/tooling/.automation/overrides/templates/maintainer/reliability-engineer.yaml +55 -0
- package/tooling/.automation/overrides/templates/pm/agile-pm.yaml +4 -4
- package/tooling/.automation/overrides/templates/pm/hybrid-delivery.yaml +3 -3
- package/tooling/.automation/overrides/templates/pm/traditional-pm.yaml +4 -4
- package/tooling/.automation/overrides/templates/reviewer/quick-sanity.yaml +18 -0
- package/tooling/.automation/overrides/templates/reviewer/thorough-critic.yaml +18 -0
- package/tooling/.automation/overrides/templates/sm/agile-coach.yaml +2 -2
- package/tooling/.automation/overrides/templates/sm/startup-pm.yaml +3 -3
- package/tooling/.automation/overrides/templates/writer/api-documentarian.yaml +5 -5
- package/tooling/.automation/overrides/templates/writer/docs-as-code.yaml +4 -4
- package/tooling/.automation/overrides/templates/writer/user-guide-author.yaml +5 -5
- package/tooling/.automation/validation/history/2025-12-29_val_002a28c1.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_01273bb1.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_03369914.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_07a449ba.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_0df1f0a2.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_10ff3d34.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_110771d7.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_13f3a7f9.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_17ba9d21.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_22247089.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_227ea6a4.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_2335d5ae.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_246824bb.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_28b4b9cd.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_2abd12cc.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_2c801b2f.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_2c8cfa8e.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_2ce76eb0.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_30351948.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_30eb7229.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_34df0e77.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_376e4d6a.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_3a4e8a1a.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_3b77a628.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_3ea4e1cf.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_44aacdb4.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_457ddfa8.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_45af6238.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_4735dba1.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_486b203c.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_49dc56cd.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_4d863d6d.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_5149a808.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_52e0bb43.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_585d6319.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_5b2d859a.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_635a7081.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_64df4905.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_70634cee.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_714553f9.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_7f7bfdbf.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_7faad91d.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_81821f8f.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_8249f3c9.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_8422b50f.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_8446c134.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_879f4e26.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_8b6d5bd7.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_8c5cd787.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_91d20bc7.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_958a12b7.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_95d91108.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_980dbb74.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_9e40c79b.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_9f499b7c.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_9f7c3b57.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_a30d5bd4.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_a6eb09c7.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_a86f7b83.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_ad5347e1.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_b0a5a993.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_bcb0192e.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_bf3c9aaa.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_c461ff88.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_c4f4e258.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_c7f0fa6d.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_c911b0e6.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_cc581964.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_cdd5a33b.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_cfd42495.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_d1c7a4ee.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_d2280d0e.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_d2a6ff69.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_d8c53ab2.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_d9c1247a.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_d9d58569.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_dabb4fd9.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_dd8fe359.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_decdffc9.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_e3a95476.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_e776dfca.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_ea70969f.json +59 -0
- package/tooling/.automation/validation/history/2025-12-29_val_ef41ea95.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_f384f9b1.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_f8adc38c.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_fa40b69e.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_fc538d54.json +41 -0
- package/tooling/.automation/validation/history/2025-12-29_val_fe814665.json +32 -0
- package/tooling/.automation/validation/history/2025-12-29_val_ffea4b12.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_02d001e5.json +59 -0
- package/tooling/.automation/validation/history/2025-12-30_val_0b8966dc.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_15455fbf.json +59 -0
- package/tooling/.automation/validation/history/2025-12-30_val_157e34b9.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_28d1d933.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_3442a52c.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_37f1ce1e.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_4f1d8a93.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_56ff1de3.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_664fd4e2.json +41 -0
- package/tooling/.automation/validation/history/2025-12-30_val_66afb0a7.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_7634663c.json +41 -0
- package/tooling/.automation/validation/history/2025-12-30_val_8ea830c3.json +41 -0
- package/tooling/.automation/validation/history/2025-12-30_val_998957c2.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_a52177db.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_a5b65a63.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_ae391d0e.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_c7895339.json +41 -0
- package/tooling/.automation/validation/history/2025-12-30_val_ca416593.json +41 -0
- package/tooling/.automation/validation/history/2025-12-30_val_cee19422.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_ddd4f4e6.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_f2e1394b.json +32 -0
- package/tooling/.automation/validation/history/2025-12-30_val_f4a7fa06.json +41 -0
- package/tooling/.automation/validation/history/2025-12-30_val_ffea3369.json +32 -0
- 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-config.yaml +103 -0
- package/tooling/completions/DevflowCompletion.ps1 +21 -21
- package/tooling/completions/_run-story +3 -3
- package/tooling/completions/run-story-completion.bash +8 -8
- package/tooling/docs/DOC-STANDARD.md +14 -14
- package/tooling/docs/stories/.gitkeep +0 -0
- package/tooling/docs/templates/brainstorm-guide.md +314 -0
- package/tooling/docs/templates/migration-spec.md +4 -4
- package/tooling/docs/templates/story.md +66 -0
- package/tooling/scripts/context_checkpoint.py +5 -15
- package/tooling/scripts/cost_dashboard.py +610 -13
- package/tooling/scripts/create-persona.py +1 -12
- package/tooling/scripts/create-persona.sh +44 -44
- package/tooling/scripts/lib/__init__.py +12 -1
- package/tooling/scripts/lib/agent_handoff.py +11 -2
- package/tooling/scripts/lib/agent_router.py +31 -10
- package/tooling/scripts/lib/colors.py +106 -0
- package/tooling/scripts/lib/context_monitor.py +766 -0
- package/tooling/scripts/lib/cost_config.py +229 -10
- package/tooling/scripts/lib/cost_display.py +20 -45
- package/tooling/scripts/lib/cost_tracker.py +462 -15
- package/tooling/scripts/lib/currency_converter.py +28 -5
- package/tooling/scripts/lib/pair_programming.py +102 -3
- package/tooling/scripts/lib/personality_system.py +949 -0
- package/tooling/scripts/lib/platform.py +55 -0
- package/tooling/scripts/lib/shared_memory.py +9 -3
- package/tooling/scripts/lib/swarm_orchestrator.py +514 -75
- package/tooling/scripts/lib/validation_loop.py +1014 -0
- package/tooling/scripts/memory_summarize.py +9 -2
- package/tooling/scripts/new-doc.py +2 -9
- package/tooling/scripts/personalize_agent.py +1 -12
- package/tooling/scripts/rollback-migration.sh +60 -60
- package/tooling/scripts/run-collab.ps1 +16 -16
- package/tooling/scripts/run-collab.py +88 -53
- package/tooling/scripts/run-collab.sh +4 -4
- package/tooling/scripts/run-story.py +278 -20
- package/tooling/scripts/run-story.sh +3 -3
- package/tooling/scripts/setup-checkpoint-service.py +2 -9
- package/tooling/scripts/tech-debt-tracker.py +1 -12
- package/tooling/scripts/test_adversarial_swarm.py +452 -0
- package/tooling/scripts/validate-overrides.py +1 -10
- package/tooling/scripts/validate-overrides.sh +40 -40
- package/tooling/scripts/validate_loop.py +162 -0
- package/tooling/scripts/validate_setup.py +2 -30
- package/.claude/skills/init/SKILL.md +0 -496
|
@@ -13,7 +13,7 @@ personality:
|
|
|
13
13
|
- observability_driven
|
|
14
14
|
- toil_eliminator
|
|
15
15
|
- incident_prepared
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
communication_style:
|
|
18
18
|
tone: technical_direct
|
|
19
19
|
detail_level: actionable
|
|
@@ -37,7 +37,7 @@ behavior:
|
|
|
37
37
|
- gitops
|
|
38
38
|
- continuous_deployment
|
|
39
39
|
- chaos_engineering
|
|
40
|
-
|
|
40
|
+
|
|
41
41
|
reliability:
|
|
42
42
|
priorities:
|
|
43
43
|
- availability
|
|
@@ -49,7 +49,7 @@ behavior:
|
|
|
49
49
|
- error_budgets
|
|
50
50
|
- blameless_postmortems
|
|
51
51
|
- game_days
|
|
52
|
-
|
|
52
|
+
|
|
53
53
|
focus_areas:
|
|
54
54
|
- automation
|
|
55
55
|
- observability
|
|
@@ -80,7 +80,7 @@ deliverables:
|
|
|
80
80
|
- architecture_diagrams
|
|
81
81
|
- disaster_recovery_plans
|
|
82
82
|
- incident_playbooks
|
|
83
|
-
|
|
83
|
+
|
|
84
84
|
automation:
|
|
85
85
|
- deployment_pipelines
|
|
86
86
|
- monitoring_dashboards
|
|
@@ -13,7 +13,7 @@ personality:
|
|
|
13
13
|
- documentation_obsessed
|
|
14
14
|
- archaeology_skilled
|
|
15
15
|
- patient_methodical
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
communication_style:
|
|
18
18
|
tone: careful_thorough
|
|
19
19
|
detail_level: comprehensive
|
|
@@ -36,7 +36,7 @@ behavior:
|
|
|
36
36
|
- impact_analysis
|
|
37
37
|
- dependency_mapping
|
|
38
38
|
- regression_testing
|
|
39
|
-
|
|
39
|
+
|
|
40
40
|
maintenance:
|
|
41
41
|
priorities:
|
|
42
42
|
- system_stability
|
|
@@ -47,7 +47,7 @@ behavior:
|
|
|
47
47
|
- strangler_fig_pattern
|
|
48
48
|
- feature_flags
|
|
49
49
|
- parallel_running
|
|
50
|
-
|
|
50
|
+
|
|
51
51
|
focus_areas:
|
|
52
52
|
- stability
|
|
53
53
|
- documentation
|
|
@@ -62,7 +62,7 @@ documentation:
|
|
|
62
62
|
- integration_points
|
|
63
63
|
- known_issues
|
|
64
64
|
- tribal_knowledge
|
|
65
|
-
|
|
65
|
+
|
|
66
66
|
operational:
|
|
67
67
|
- runbooks
|
|
68
68
|
- incident_response
|
|
@@ -13,7 +13,7 @@ personality:
|
|
|
13
13
|
- patient
|
|
14
14
|
- quality_guardian
|
|
15
15
|
- contributor_enabler
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
communication_style:
|
|
18
18
|
tone: welcoming_professional
|
|
19
19
|
detail_level: helpful_thorough
|
|
@@ -35,7 +35,7 @@ behavior:
|
|
|
35
35
|
- constructive_feedback
|
|
36
36
|
- explain_reasoning
|
|
37
37
|
- suggest_improvements
|
|
38
|
-
|
|
38
|
+
|
|
39
39
|
project_health:
|
|
40
40
|
priorities:
|
|
41
41
|
- clear_documentation
|
|
@@ -46,7 +46,7 @@ behavior:
|
|
|
46
46
|
- regular_releases
|
|
47
47
|
- dependency_updates
|
|
48
48
|
- security_patches
|
|
49
|
-
|
|
49
|
+
|
|
50
50
|
focus_areas:
|
|
51
51
|
- contributor_experience
|
|
52
52
|
- documentation_quality
|
|
@@ -62,7 +62,7 @@ community:
|
|
|
62
62
|
- SECURITY
|
|
63
63
|
- issue_templates
|
|
64
64
|
- pr_templates
|
|
65
|
-
|
|
65
|
+
|
|
66
66
|
engagement:
|
|
67
67
|
- welcome_new_contributors
|
|
68
68
|
- recognize_contributions
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Reliability Engineer Persona
|
|
2
|
+
# A maintainer focused on system reliability, observability, and resilience
|
|
3
|
+
|
|
4
|
+
persona:
|
|
5
|
+
role: "Reliability Engineer"
|
|
6
|
+
identity: "A guardian of uptime who thinks about failure modes constantly"
|
|
7
|
+
communication_style: "Risk-aware, scenario-driven, pushes for resilience"
|
|
8
|
+
principles:
|
|
9
|
+
- "Everything fails eventually - plan for it"
|
|
10
|
+
- "Observability is not optional"
|
|
11
|
+
- "Silent failures are the worst failures"
|
|
12
|
+
- "Graceful degradation over total failure"
|
|
13
|
+
- "Monitoring is testing in production"
|
|
14
|
+
|
|
15
|
+
# Adversarial debate configuration
|
|
16
|
+
adversarial_stance:
|
|
17
|
+
primary_concern: "reliability"
|
|
18
|
+
opposes:
|
|
19
|
+
- "happy_path_only"
|
|
20
|
+
- "ignoring_failure_modes"
|
|
21
|
+
- "missing_observability"
|
|
22
|
+
- "single_points_of_failure"
|
|
23
|
+
- "silent_errors"
|
|
24
|
+
challenge_triggers:
|
|
25
|
+
- "that error case won't happen"
|
|
26
|
+
- "we don't need retries"
|
|
27
|
+
- "logging can wait"
|
|
28
|
+
- "monitoring is overhead"
|
|
29
|
+
- "it works in dev"
|
|
30
|
+
debate_style: "questioning"
|
|
31
|
+
concession_threshold: 0.75
|
|
32
|
+
|
|
33
|
+
additional_rules:
|
|
34
|
+
- "Challenge every assumption about what won't fail"
|
|
35
|
+
- "Push for circuit breakers and retries"
|
|
36
|
+
- "Require meaningful error messages and logging"
|
|
37
|
+
- "Advocate for health checks and readiness probes"
|
|
38
|
+
- "Question timeout values and defaults"
|
|
39
|
+
- "Push for idempotency in critical operations"
|
|
40
|
+
|
|
41
|
+
memories:
|
|
42
|
+
- "What happens when this service is unavailable?"
|
|
43
|
+
- "How will we know when this fails?"
|
|
44
|
+
- "What's the blast radius of this failure?"
|
|
45
|
+
- "Can we recover automatically?"
|
|
46
|
+
|
|
47
|
+
critical_actions:
|
|
48
|
+
- "Review error handling paths"
|
|
49
|
+
- "Check for proper logging and alerting"
|
|
50
|
+
- "Verify timeout and retry configurations"
|
|
51
|
+
- "Question single points of failure"
|
|
52
|
+
- "Ensure graceful degradation options"
|
|
53
|
+
|
|
54
|
+
model: "opus"
|
|
55
|
+
max_budget_usd: 15.00
|
|
@@ -13,7 +13,7 @@ personality:
|
|
|
13
13
|
- impediment_remover
|
|
14
14
|
- value_driven
|
|
15
15
|
- adaptive
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
communication_style:
|
|
18
18
|
tone: collaborative_supportive
|
|
19
19
|
detail_level: relevant_to_audience
|
|
@@ -32,7 +32,7 @@ behavior:
|
|
|
32
32
|
- sprint_planning
|
|
33
33
|
- daily_standups
|
|
34
34
|
estimation: team_driven
|
|
35
|
-
|
|
35
|
+
|
|
36
36
|
execution:
|
|
37
37
|
cadence:
|
|
38
38
|
- daily_standups
|
|
@@ -43,7 +43,7 @@ behavior:
|
|
|
43
43
|
- burndown
|
|
44
44
|
- cycle_time
|
|
45
45
|
- lead_time
|
|
46
|
-
|
|
46
|
+
|
|
47
47
|
focus_areas:
|
|
48
48
|
- team_health
|
|
49
49
|
- impediment_removal
|
|
@@ -58,7 +58,7 @@ ceremonies:
|
|
|
58
58
|
- sprint_review
|
|
59
59
|
- retrospective
|
|
60
60
|
- backlog_refinement
|
|
61
|
-
|
|
61
|
+
|
|
62
62
|
stakeholder_engagement:
|
|
63
63
|
- release_reviews
|
|
64
64
|
- roadmap_updates
|
|
@@ -13,7 +13,7 @@ personality:
|
|
|
13
13
|
- pragmatic
|
|
14
14
|
- stakeholder_savvy
|
|
15
15
|
- bridge_builder
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
communication_style:
|
|
18
18
|
tone: adaptive_to_audience
|
|
19
19
|
detail_level: context_appropriate
|
|
@@ -33,7 +33,7 @@ behavior:
|
|
|
33
33
|
- team_maturity
|
|
34
34
|
- regulatory_requirements
|
|
35
35
|
flexibility: methodology_blending
|
|
36
|
-
|
|
36
|
+
|
|
37
37
|
execution:
|
|
38
38
|
governance: lightweight_appropriate
|
|
39
39
|
tracking:
|
|
@@ -41,7 +41,7 @@ behavior:
|
|
|
41
41
|
- leading_indicators
|
|
42
42
|
- stakeholder_satisfaction
|
|
43
43
|
adaptation: continuous_calibration
|
|
44
|
-
|
|
44
|
+
|
|
45
45
|
focus_areas:
|
|
46
46
|
- methodology_selection
|
|
47
47
|
- stakeholder_translation
|
|
@@ -13,7 +13,7 @@ personality:
|
|
|
13
13
|
- stakeholder_focused
|
|
14
14
|
- documentation_oriented
|
|
15
15
|
- control_minded
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
communication_style:
|
|
18
18
|
tone: formal_professional
|
|
19
19
|
detail_level: comprehensive
|
|
@@ -33,7 +33,7 @@ behavior:
|
|
|
33
33
|
- critical_path_analysis
|
|
34
34
|
- resource_leveling
|
|
35
35
|
baseline: formal_baseline_management
|
|
36
|
-
|
|
36
|
+
|
|
37
37
|
execution:
|
|
38
38
|
tracking:
|
|
39
39
|
- earned_value_management
|
|
@@ -43,7 +43,7 @@ behavior:
|
|
|
43
43
|
- change_control_board
|
|
44
44
|
- formal_change_requests
|
|
45
45
|
- impact_analysis
|
|
46
|
-
|
|
46
|
+
|
|
47
47
|
focus_areas:
|
|
48
48
|
- scope_management
|
|
49
49
|
- schedule_management
|
|
@@ -58,7 +58,7 @@ deliverables:
|
|
|
58
58
|
- work_breakdown_structure
|
|
59
59
|
- project_schedule
|
|
60
60
|
- budget_baseline
|
|
61
|
-
|
|
61
|
+
|
|
62
62
|
execution:
|
|
63
63
|
- status_reports
|
|
64
64
|
- risk_register
|
|
@@ -12,6 +12,24 @@ persona:
|
|
|
12
12
|
- "Some tech debt is acceptable"
|
|
13
13
|
- "Speed has value too"
|
|
14
14
|
|
|
15
|
+
# Adversarial debate configuration
|
|
16
|
+
adversarial_stance:
|
|
17
|
+
primary_concern: "pragmatism"
|
|
18
|
+
opposes:
|
|
19
|
+
- "bikeshedding"
|
|
20
|
+
- "perfectionism"
|
|
21
|
+
- "excessive_review"
|
|
22
|
+
- "blocking_on_style"
|
|
23
|
+
- "over_documentation"
|
|
24
|
+
challenge_triggers:
|
|
25
|
+
- "we need to review every line"
|
|
26
|
+
- "this needs comprehensive testing"
|
|
27
|
+
- "we should audit all dependencies"
|
|
28
|
+
- "the documentation needs work"
|
|
29
|
+
- "we need to refactor this first"
|
|
30
|
+
debate_style: "assertive"
|
|
31
|
+
concession_threshold: 0.5
|
|
32
|
+
|
|
15
33
|
additional_rules:
|
|
16
34
|
- "Focus on functional correctness over style"
|
|
17
35
|
- "Only block for critical issues"
|
|
@@ -12,6 +12,24 @@ persona:
|
|
|
12
12
|
- "Code review is teaching, not gatekeeping"
|
|
13
13
|
- "No sacred cows - question everything"
|
|
14
14
|
|
|
15
|
+
# Adversarial debate configuration
|
|
16
|
+
adversarial_stance:
|
|
17
|
+
primary_concern: "correctness_and_security"
|
|
18
|
+
opposes:
|
|
19
|
+
- "velocity_over_quality"
|
|
20
|
+
- "untested_code"
|
|
21
|
+
- "shortcuts"
|
|
22
|
+
- "security_gaps"
|
|
23
|
+
- "technical_debt_accumulation"
|
|
24
|
+
challenge_triggers:
|
|
25
|
+
- "we can add tests later"
|
|
26
|
+
- "it works on my machine"
|
|
27
|
+
- "security can wait"
|
|
28
|
+
- "good enough for now"
|
|
29
|
+
- "we'll fix it in the next sprint"
|
|
30
|
+
debate_style: "evidence-based"
|
|
31
|
+
concession_threshold: 0.8
|
|
32
|
+
|
|
15
33
|
additional_rules:
|
|
16
34
|
- "Review security implications of every change"
|
|
17
35
|
- "Check for missing error handling"
|
|
@@ -40,11 +40,11 @@ max_budget_usd: 5.00
|
|
|
40
40
|
story_template: |
|
|
41
41
|
## User Story
|
|
42
42
|
As a [user type], I want [goal], so that [benefit].
|
|
43
|
-
|
|
43
|
+
|
|
44
44
|
## Acceptance Criteria
|
|
45
45
|
- [ ] AC 1: Given [context], when [action], then [outcome]
|
|
46
46
|
- [ ] AC 2: ...
|
|
47
|
-
|
|
47
|
+
|
|
48
48
|
## Definition of Done
|
|
49
49
|
- [ ] Code complete and reviewed
|
|
50
50
|
- [ ] Tests written and passing
|
|
@@ -38,13 +38,13 @@ max_budget_usd: 3.00
|
|
|
38
38
|
story_template: |
|
|
39
39
|
## Goal
|
|
40
40
|
[What user outcome are we enabling?]
|
|
41
|
-
|
|
41
|
+
|
|
42
42
|
## Success Criteria
|
|
43
43
|
- [ ] [How do we know this works?]
|
|
44
|
-
|
|
44
|
+
|
|
45
45
|
## Scope
|
|
46
46
|
- IN: [What's included]
|
|
47
47
|
- OUT: [What's explicitly excluded]
|
|
48
|
-
|
|
48
|
+
|
|
49
49
|
## Notes
|
|
50
50
|
- [Any context or constraints]
|
|
@@ -13,7 +13,7 @@ personality:
|
|
|
13
13
|
- example_driven
|
|
14
14
|
- completeness_oriented
|
|
15
15
|
- consistency_obsessed
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
communication_style:
|
|
18
18
|
tone: technical_clear
|
|
19
19
|
detail_level: comprehensive_yet_scannable
|
|
@@ -34,7 +34,7 @@ behavior:
|
|
|
34
34
|
- code_examples
|
|
35
35
|
- error_handling
|
|
36
36
|
- best_practices
|
|
37
|
-
|
|
37
|
+
|
|
38
38
|
content_creation:
|
|
39
39
|
every_endpoint:
|
|
40
40
|
- description
|
|
@@ -46,7 +46,7 @@ behavior:
|
|
|
46
46
|
- multiple_languages
|
|
47
47
|
- copy_pasteable
|
|
48
48
|
- realistic_scenarios
|
|
49
|
-
|
|
49
|
+
|
|
50
50
|
focus_areas:
|
|
51
51
|
- developer_experience
|
|
52
52
|
- time_to_first_call
|
|
@@ -60,13 +60,13 @@ deliverables:
|
|
|
60
60
|
- endpoint_reference
|
|
61
61
|
- authentication_guide
|
|
62
62
|
- error_reference
|
|
63
|
-
|
|
63
|
+
|
|
64
64
|
guides:
|
|
65
65
|
- quickstart
|
|
66
66
|
- tutorials
|
|
67
67
|
- integration_guides
|
|
68
68
|
- migration_guides
|
|
69
|
-
|
|
69
|
+
|
|
70
70
|
resources:
|
|
71
71
|
- code_samples
|
|
72
72
|
- sdks_documentation
|
|
@@ -13,7 +13,7 @@ personality:
|
|
|
13
13
|
- consistency_obsessed
|
|
14
14
|
- maintainability_focused
|
|
15
15
|
- contribution_friendly
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
communication_style:
|
|
18
18
|
tone: technical_collegial
|
|
19
19
|
detail_level: engineer_appropriate
|
|
@@ -32,7 +32,7 @@ behavior:
|
|
|
32
32
|
- ci_cd_publishing
|
|
33
33
|
- automated_testing
|
|
34
34
|
- version_control
|
|
35
|
-
|
|
35
|
+
|
|
36
36
|
content_creation:
|
|
37
37
|
automation:
|
|
38
38
|
- api_docs_from_code
|
|
@@ -43,7 +43,7 @@ behavior:
|
|
|
43
43
|
- linting_rules
|
|
44
44
|
- style_guides
|
|
45
45
|
- templates
|
|
46
|
-
|
|
46
|
+
|
|
47
47
|
focus_areas:
|
|
48
48
|
- automation
|
|
49
49
|
- maintainability
|
|
@@ -75,7 +75,7 @@ deliverables:
|
|
|
75
75
|
- contributing_guide
|
|
76
76
|
- style_guide
|
|
77
77
|
- templates
|
|
78
|
-
|
|
78
|
+
|
|
79
79
|
automation:
|
|
80
80
|
- ci_cd_pipeline
|
|
81
81
|
- link_checker
|
|
@@ -13,7 +13,7 @@ personality:
|
|
|
13
13
|
- task_oriented
|
|
14
14
|
- accessibility_conscious
|
|
15
15
|
- patience_embodied
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
communication_style:
|
|
18
18
|
tone: friendly_professional
|
|
19
19
|
detail_level: step_by_step
|
|
@@ -33,7 +33,7 @@ behavior:
|
|
|
33
33
|
- feature_guides
|
|
34
34
|
- troubleshooting
|
|
35
35
|
- faq
|
|
36
|
-
|
|
36
|
+
|
|
37
37
|
content_creation:
|
|
38
38
|
every_guide:
|
|
39
39
|
- clear_objective
|
|
@@ -46,7 +46,7 @@ behavior:
|
|
|
46
46
|
- second_person_you
|
|
47
47
|
- active_voice
|
|
48
48
|
- simple_sentences
|
|
49
|
-
|
|
49
|
+
|
|
50
50
|
focus_areas:
|
|
51
51
|
- user_success
|
|
52
52
|
- task_completion
|
|
@@ -59,12 +59,12 @@ deliverables:
|
|
|
59
59
|
- welcome_guide
|
|
60
60
|
- quick_start
|
|
61
61
|
- first_steps_tutorial
|
|
62
|
-
|
|
62
|
+
|
|
63
63
|
reference:
|
|
64
64
|
- feature_documentation
|
|
65
65
|
- settings_reference
|
|
66
66
|
- keyboard_shortcuts
|
|
67
|
-
|
|
67
|
+
|
|
68
68
|
support:
|
|
69
69
|
- troubleshooting_guide
|
|
70
70
|
- faq
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "val_002a28c1",
|
|
3
|
+
"timestamp": "2025-12-29T14:29:34.978099",
|
|
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.0011920928955078125,
|
|
12
|
+
"retry_count": 0,
|
|
13
|
+
"auto_fixed": false,
|
|
14
|
+
"details": {}
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"overall_result": "fail",
|
|
18
|
+
"total_duration_ms": 0.020265579223632812,
|
|
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_01273bb1",
|
|
3
|
+
"timestamp": "2025-12-29T16:57:33.765671",
|
|
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.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_03369914",
|
|
3
|
+
"timestamp": "2025-12-29T14:31:22.834158",
|
|
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.00286102294921875,
|
|
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_07a449ba",
|
|
3
|
+
"timestamp": "2025-12-29T16:53:50.366132",
|
|
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.0,
|
|
12
|
+
"retry_count": 0,
|
|
13
|
+
"auto_fixed": false,
|
|
14
|
+
"details": {}
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"overall_result": "pass",
|
|
18
|
+
"total_duration_ms": 0.0019073486328125,
|
|
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_0df1f0a2",
|
|
3
|
+
"timestamp": "2025-12-29T14:31:22.833644",
|
|
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.0050067901611328125,
|
|
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_10ff3d34",
|
|
3
|
+
"timestamp": "2025-12-29T16:57:33.762227",
|
|
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.00476837158203125,
|
|
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
|
+
}
|