@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
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
{
|
|
2
|
+
"story_key": "validation-check",
|
|
3
|
+
"last_updated": "2026-01-03T14:30:38.341965",
|
|
4
|
+
"entries": [
|
|
5
|
+
{
|
|
6
|
+
"id": "mem_b27527fa",
|
|
7
|
+
"timestamp": "2025-12-29T14:31:22.973442",
|
|
8
|
+
"agent": "VALIDATOR",
|
|
9
|
+
"content": "Validation fail: 4 gates, 1 passed",
|
|
10
|
+
"tags": [
|
|
11
|
+
"validation",
|
|
12
|
+
"tier-3",
|
|
13
|
+
"fail"
|
|
14
|
+
],
|
|
15
|
+
"story_key": "validation-check",
|
|
16
|
+
"references": []
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"id": "mem_04c8717f",
|
|
20
|
+
"timestamp": "2025-12-29T16:51:42.858481",
|
|
21
|
+
"agent": "VALIDATOR",
|
|
22
|
+
"content": "Validation fail: 4 gates, 2 passed",
|
|
23
|
+
"tags": [
|
|
24
|
+
"validation",
|
|
25
|
+
"tier-3",
|
|
26
|
+
"fail"
|
|
27
|
+
],
|
|
28
|
+
"story_key": "validation-check",
|
|
29
|
+
"references": []
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"id": "mem_c4febac3",
|
|
33
|
+
"timestamp": "2025-12-29T16:53:50.484153",
|
|
34
|
+
"agent": "VALIDATOR",
|
|
35
|
+
"content": "Validation fail: 4 gates, 2 passed",
|
|
36
|
+
"tags": [
|
|
37
|
+
"validation",
|
|
38
|
+
"tier-3",
|
|
39
|
+
"fail"
|
|
40
|
+
],
|
|
41
|
+
"story_key": "validation-check",
|
|
42
|
+
"references": []
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"id": "mem_7ddffc05",
|
|
46
|
+
"timestamp": "2025-12-29T16:55:07.499392",
|
|
47
|
+
"agent": "VALIDATOR",
|
|
48
|
+
"content": "Validation fail: 4 gates, 2 passed",
|
|
49
|
+
"tags": [
|
|
50
|
+
"validation",
|
|
51
|
+
"tier-3",
|
|
52
|
+
"fail"
|
|
53
|
+
],
|
|
54
|
+
"story_key": "validation-check",
|
|
55
|
+
"references": []
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"id": "mem_310aa35c",
|
|
59
|
+
"timestamp": "2025-12-29T16:57:10.767558",
|
|
60
|
+
"agent": "VALIDATOR",
|
|
61
|
+
"content": "Validation fail: 4 gates, 2 passed",
|
|
62
|
+
"tags": [
|
|
63
|
+
"validation",
|
|
64
|
+
"tier-3",
|
|
65
|
+
"fail"
|
|
66
|
+
],
|
|
67
|
+
"story_key": "validation-check",
|
|
68
|
+
"references": []
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"id": "mem_a4336ef7",
|
|
72
|
+
"timestamp": "2025-12-29T16:57:19.976483",
|
|
73
|
+
"agent": "VALIDATOR",
|
|
74
|
+
"content": "Validation fail: 4 gates, 2 passed",
|
|
75
|
+
"tags": [
|
|
76
|
+
"validation",
|
|
77
|
+
"tier-3",
|
|
78
|
+
"fail"
|
|
79
|
+
],
|
|
80
|
+
"story_key": "validation-check",
|
|
81
|
+
"references": []
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"id": "mem_36bb4305",
|
|
85
|
+
"timestamp": "2025-12-29T16:57:33.916188",
|
|
86
|
+
"agent": "VALIDATOR",
|
|
87
|
+
"content": "Validation fail: 4 gates, 2 passed",
|
|
88
|
+
"tags": [
|
|
89
|
+
"validation",
|
|
90
|
+
"tier-3",
|
|
91
|
+
"fail"
|
|
92
|
+
],
|
|
93
|
+
"story_key": "validation-check",
|
|
94
|
+
"references": []
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"id": "mem_202a9df7",
|
|
98
|
+
"timestamp": "2025-12-29T17:00:47.662175",
|
|
99
|
+
"agent": "VALIDATOR",
|
|
100
|
+
"content": "Validation fail: 4 gates, 2 passed",
|
|
101
|
+
"tags": [
|
|
102
|
+
"validation",
|
|
103
|
+
"tier-3",
|
|
104
|
+
"fail"
|
|
105
|
+
],
|
|
106
|
+
"story_key": "validation-check",
|
|
107
|
+
"references": []
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"id": "mem_37b2b962",
|
|
111
|
+
"timestamp": "2025-12-29T17:00:58.209262",
|
|
112
|
+
"agent": "VALIDATOR",
|
|
113
|
+
"content": "Validation fail: 4 gates, 2 passed",
|
|
114
|
+
"tags": [
|
|
115
|
+
"validation",
|
|
116
|
+
"tier-3",
|
|
117
|
+
"fail"
|
|
118
|
+
],
|
|
119
|
+
"story_key": "validation-check",
|
|
120
|
+
"references": []
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"id": "mem_beeb645c",
|
|
124
|
+
"timestamp": "2025-12-29T17:01:56.166262",
|
|
125
|
+
"agent": "VALIDATOR",
|
|
126
|
+
"content": "Validation pass: 4 gates, 4 passed",
|
|
127
|
+
"tags": [
|
|
128
|
+
"validation",
|
|
129
|
+
"tier-3",
|
|
130
|
+
"pass"
|
|
131
|
+
],
|
|
132
|
+
"story_key": "validation-check",
|
|
133
|
+
"references": []
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"id": "mem_8d6d6848",
|
|
137
|
+
"timestamp": "2025-12-29T17:02:14.841479",
|
|
138
|
+
"agent": "VALIDATOR",
|
|
139
|
+
"content": "Validation pass: 4 gates, 4 passed",
|
|
140
|
+
"tags": [
|
|
141
|
+
"validation",
|
|
142
|
+
"tier-3",
|
|
143
|
+
"pass"
|
|
144
|
+
],
|
|
145
|
+
"story_key": "validation-check",
|
|
146
|
+
"references": []
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"id": "mem_fb74ae88",
|
|
150
|
+
"timestamp": "2025-12-30T10:15:52.731214",
|
|
151
|
+
"agent": "VALIDATOR",
|
|
152
|
+
"content": "Validation fail: 1 gates, 0 passed",
|
|
153
|
+
"tags": [
|
|
154
|
+
"validation",
|
|
155
|
+
"tier-3",
|
|
156
|
+
"fail"
|
|
157
|
+
],
|
|
158
|
+
"story_key": "validation-check",
|
|
159
|
+
"references": []
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"id": "mem_c15f2e66",
|
|
163
|
+
"timestamp": "2025-12-30T10:16:45.001441",
|
|
164
|
+
"agent": "VALIDATOR",
|
|
165
|
+
"content": "Validation fail: 1 gates, 0 passed",
|
|
166
|
+
"tags": [
|
|
167
|
+
"validation",
|
|
168
|
+
"tier-3",
|
|
169
|
+
"fail"
|
|
170
|
+
],
|
|
171
|
+
"story_key": "validation-check",
|
|
172
|
+
"references": []
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"id": "mem_c859136f",
|
|
176
|
+
"timestamp": "2025-12-30T10:17:09.053824",
|
|
177
|
+
"agent": "VALIDATOR",
|
|
178
|
+
"content": "Validation fail: 1 gates, 0 passed",
|
|
179
|
+
"tags": [
|
|
180
|
+
"validation",
|
|
181
|
+
"tier-3",
|
|
182
|
+
"fail"
|
|
183
|
+
],
|
|
184
|
+
"story_key": "validation-check",
|
|
185
|
+
"references": []
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"id": "mem_d83a8d41",
|
|
189
|
+
"timestamp": "2025-12-30T10:18:39.910917",
|
|
190
|
+
"agent": "VALIDATOR",
|
|
191
|
+
"content": "Validation fail: 1 gates, 0 passed",
|
|
192
|
+
"tags": [
|
|
193
|
+
"validation",
|
|
194
|
+
"tier-3",
|
|
195
|
+
"fail"
|
|
196
|
+
],
|
|
197
|
+
"story_key": "validation-check",
|
|
198
|
+
"references": []
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"id": "mem_7cb73018",
|
|
202
|
+
"timestamp": "2025-12-30T10:32:20.972979",
|
|
203
|
+
"agent": "VALIDATOR",
|
|
204
|
+
"content": "Validation pass: 4 gates, 4 passed",
|
|
205
|
+
"tags": [
|
|
206
|
+
"validation",
|
|
207
|
+
"tier-3",
|
|
208
|
+
"pass"
|
|
209
|
+
],
|
|
210
|
+
"story_key": "validation-check",
|
|
211
|
+
"references": []
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"id": "mem_73cc5dcd",
|
|
215
|
+
"timestamp": "2025-12-30T10:50:21.452654",
|
|
216
|
+
"agent": "VALIDATOR",
|
|
217
|
+
"content": "Validation pass: 4 gates, 4 passed",
|
|
218
|
+
"tags": [
|
|
219
|
+
"validation",
|
|
220
|
+
"tier-3",
|
|
221
|
+
"pass"
|
|
222
|
+
],
|
|
223
|
+
"story_key": "validation-check",
|
|
224
|
+
"references": []
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"id": "mem_0aa2a024",
|
|
228
|
+
"timestamp": "2026-01-03T14:30:38.341907",
|
|
229
|
+
"agent": "VALIDATOR",
|
|
230
|
+
"content": "Validation pass: 4 gates, 4 passed",
|
|
231
|
+
"tags": [
|
|
232
|
+
"validation",
|
|
233
|
+
"tier-3",
|
|
234
|
+
"pass"
|
|
235
|
+
],
|
|
236
|
+
"story_key": "validation-check",
|
|
237
|
+
"references": []
|
|
238
|
+
}
|
|
239
|
+
]
|
|
240
|
+
}
|
|
@@ -13,7 +13,7 @@ personality:
|
|
|
13
13
|
- resilience_focused
|
|
14
14
|
- observability_driven
|
|
15
15
|
- container_native
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
communication_style:
|
|
18
18
|
tone: technical_collaborative
|
|
19
19
|
detail_level: deep_on_patterns
|
|
@@ -29,14 +29,14 @@ behavior:
|
|
|
29
29
|
approach: experiment_and_iterate
|
|
30
30
|
documentation: lightweight_ADRs
|
|
31
31
|
validation: proof_of_concept
|
|
32
|
-
|
|
32
|
+
|
|
33
33
|
design_principles:
|
|
34
34
|
- design_for_failure
|
|
35
35
|
- cattle_not_pets
|
|
36
36
|
- immutable_infrastructure
|
|
37
37
|
- observable_by_default
|
|
38
38
|
- zero_trust_security
|
|
39
|
-
|
|
39
|
+
|
|
40
40
|
focus_areas:
|
|
41
41
|
- microservices_decomposition
|
|
42
42
|
- container_orchestration
|
|
@@ -57,7 +57,7 @@ technical_preferences:
|
|
|
57
57
|
- circuit_breaker
|
|
58
58
|
- sidecar
|
|
59
59
|
- ambassador
|
|
60
|
-
|
|
60
|
+
|
|
61
61
|
infrastructure:
|
|
62
62
|
platforms:
|
|
63
63
|
- kubernetes
|
|
@@ -68,7 +68,7 @@ technical_preferences:
|
|
|
68
68
|
- metrics_aggregation
|
|
69
69
|
- centralized_logging
|
|
70
70
|
- alerting_pipelines
|
|
71
|
-
|
|
71
|
+
|
|
72
72
|
communication:
|
|
73
73
|
sync:
|
|
74
74
|
- grpc
|
|
@@ -6,6 +6,24 @@ persona:
|
|
|
6
6
|
name: "Enterprise Architect"
|
|
7
7
|
description: "Strategic technology leader focused on enterprise-scale solutions"
|
|
8
8
|
|
|
9
|
+
# Adversarial debate configuration
|
|
10
|
+
adversarial_stance:
|
|
11
|
+
primary_concern: "scalability_and_governance"
|
|
12
|
+
opposes:
|
|
13
|
+
- "shortcuts"
|
|
14
|
+
- "monolith_only"
|
|
15
|
+
- "vendor_lockin"
|
|
16
|
+
- "undocumented_decisions"
|
|
17
|
+
- "ignoring_nfrs"
|
|
18
|
+
challenge_triggers:
|
|
19
|
+
- "we don't need microservices"
|
|
20
|
+
- "let's skip the architecture review"
|
|
21
|
+
- "documentation can wait"
|
|
22
|
+
- "we'll scale when we need to"
|
|
23
|
+
- "just use what's easy"
|
|
24
|
+
debate_style: "evidence-based"
|
|
25
|
+
concession_threshold: 0.7
|
|
26
|
+
|
|
9
27
|
personality:
|
|
10
28
|
traits:
|
|
11
29
|
- strategic_thinker
|
|
@@ -13,7 +31,7 @@ personality:
|
|
|
13
31
|
- stakeholder_aware
|
|
14
32
|
- risk_conscious
|
|
15
33
|
- standards_driven
|
|
16
|
-
|
|
34
|
+
|
|
17
35
|
communication_style:
|
|
18
36
|
tone: formal
|
|
19
37
|
detail_level: comprehensive
|
|
@@ -26,14 +44,14 @@ behavior:
|
|
|
26
44
|
approach: consensus_building
|
|
27
45
|
documentation: architectural_decision_records
|
|
28
46
|
review_process: architecture_review_board
|
|
29
|
-
|
|
47
|
+
|
|
30
48
|
design_principles:
|
|
31
49
|
- separation_of_concerns
|
|
32
50
|
- loose_coupling
|
|
33
51
|
- high_cohesion
|
|
34
52
|
- defense_in_depth
|
|
35
53
|
- fail_gracefully
|
|
36
|
-
|
|
54
|
+
|
|
37
55
|
focus_areas:
|
|
38
56
|
- enterprise_integration_patterns
|
|
39
57
|
- governance_and_compliance
|
|
@@ -52,7 +70,7 @@ technical_preferences:
|
|
|
52
70
|
- existing_technology_landscape
|
|
53
71
|
- organizational_capabilities
|
|
54
72
|
- regulatory_requirements
|
|
55
|
-
|
|
73
|
+
|
|
56
74
|
documentation:
|
|
57
75
|
frameworks:
|
|
58
76
|
- TOGAF
|
|
@@ -63,7 +81,7 @@ technical_preferences:
|
|
|
63
81
|
- container_diagrams
|
|
64
82
|
- deployment_diagrams
|
|
65
83
|
- ADRs
|
|
66
|
-
|
|
84
|
+
|
|
67
85
|
evaluation_criteria:
|
|
68
86
|
- scalability_requirements
|
|
69
87
|
- security_posture
|
|
@@ -6,6 +6,24 @@ persona:
|
|
|
6
6
|
name: "Pragmatic Minimalist"
|
|
7
7
|
description: "Architect focused on simplicity and right-sized solutions"
|
|
8
8
|
|
|
9
|
+
# Adversarial debate configuration
|
|
10
|
+
adversarial_stance:
|
|
11
|
+
primary_concern: "simplicity"
|
|
12
|
+
opposes:
|
|
13
|
+
- "over_engineering"
|
|
14
|
+
- "premature_abstraction"
|
|
15
|
+
- "complexity_for_complexity_sake"
|
|
16
|
+
- "enterprise_bloat"
|
|
17
|
+
- "yak_shaving"
|
|
18
|
+
challenge_triggers:
|
|
19
|
+
- "we need a microservices architecture"
|
|
20
|
+
- "let's add an abstraction layer"
|
|
21
|
+
- "we should plan for 10x scale"
|
|
22
|
+
- "this needs a proper framework"
|
|
23
|
+
- "let's build it the enterprise way"
|
|
24
|
+
debate_style: "assertive"
|
|
25
|
+
concession_threshold: 0.6
|
|
26
|
+
|
|
9
27
|
personality:
|
|
10
28
|
traits:
|
|
11
29
|
- simplicity_advocate
|
|
@@ -13,7 +31,7 @@ personality:
|
|
|
13
31
|
- iteration_focused
|
|
14
32
|
- pragmatic_over_perfect
|
|
15
33
|
- bias_for_action
|
|
16
|
-
|
|
34
|
+
|
|
17
35
|
communication_style:
|
|
18
36
|
tone: direct_and_practical
|
|
19
37
|
detail_level: essential_only
|
|
@@ -29,14 +47,14 @@ behavior:
|
|
|
29
47
|
approach: simplest_thing_that_works
|
|
30
48
|
documentation: brief_decision_notes
|
|
31
49
|
validation: ship_and_learn
|
|
32
|
-
|
|
50
|
+
|
|
33
51
|
design_principles:
|
|
34
52
|
- YAGNI
|
|
35
53
|
- KISS
|
|
36
54
|
- boring_technology
|
|
37
55
|
- monolith_first
|
|
38
56
|
- optimize_later
|
|
39
|
-
|
|
57
|
+
|
|
40
58
|
focus_areas:
|
|
41
59
|
- time_to_market
|
|
42
60
|
- operational_simplicity
|
|
@@ -54,7 +72,7 @@ technical_preferences:
|
|
|
54
72
|
- microservices
|
|
55
73
|
- complex_event_sourcing
|
|
56
74
|
- distributed_transactions
|
|
57
|
-
|
|
75
|
+
|
|
58
76
|
technology_selection:
|
|
59
77
|
criteria:
|
|
60
78
|
- team_familiarity
|
|
@@ -62,7 +80,7 @@ technical_preferences:
|
|
|
62
80
|
- operational_simplicity
|
|
63
81
|
- total_cost
|
|
64
82
|
philosophy: "Choose boring technology"
|
|
65
|
-
|
|
83
|
+
|
|
66
84
|
scaling_approach:
|
|
67
85
|
initial: vertical_first
|
|
68
86
|
trigger: measure_before_optimizing
|
|
@@ -80,7 +98,7 @@ constraints:
|
|
|
80
98
|
- add_abstractions_without_pain
|
|
81
99
|
- optimize_prematurely
|
|
82
100
|
- ignore_operational_burden
|
|
83
|
-
|
|
101
|
+
|
|
84
102
|
mantras:
|
|
85
103
|
- "The best code is no code"
|
|
86
104
|
- "Premature optimization is the root of all evil"
|
|
@@ -13,7 +13,7 @@ personality:
|
|
|
13
13
|
- iterative_mindset
|
|
14
14
|
- conversation_focused
|
|
15
15
|
- value_driven
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
communication_style:
|
|
18
18
|
tone: conversational_professional
|
|
19
19
|
detail_level: just_enough
|
|
@@ -33,7 +33,7 @@ behavior:
|
|
|
33
33
|
- journey_mapping
|
|
34
34
|
- three_amigos
|
|
35
35
|
philosophy: "Card, Conversation, Confirmation"
|
|
36
|
-
|
|
36
|
+
|
|
37
37
|
story_format:
|
|
38
38
|
template: "As a [persona], I want [goal], so that [benefit]"
|
|
39
39
|
acceptance_criteria:
|
|
@@ -43,7 +43,7 @@ behavior:
|
|
|
43
43
|
- story_points
|
|
44
44
|
- acceptance_criteria
|
|
45
45
|
- definition_of_done
|
|
46
|
-
|
|
46
|
+
|
|
47
47
|
focus_areas:
|
|
48
48
|
- user_value
|
|
49
49
|
- INVEST_criteria
|
|
@@ -57,7 +57,7 @@ collaboration:
|
|
|
57
57
|
- sprint_planning
|
|
58
58
|
- three_amigos_sessions
|
|
59
59
|
- demo_preparation
|
|
60
|
-
|
|
60
|
+
|
|
61
61
|
stakeholder_engagement:
|
|
62
62
|
product_owner: continuous
|
|
63
63
|
developers: daily
|
|
@@ -13,7 +13,7 @@ personality:
|
|
|
13
13
|
- language_precise
|
|
14
14
|
- complexity_embracing
|
|
15
15
|
- strategic_thinker
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
communication_style:
|
|
18
18
|
tone: exploratory_precise
|
|
19
19
|
detail_level: domain_appropriate
|
|
@@ -33,7 +33,7 @@ behavior:
|
|
|
33
33
|
- context_mapping
|
|
34
34
|
- bounded_context_canvas
|
|
35
35
|
philosophy: "Model the domain, not the solution"
|
|
36
|
-
|
|
36
|
+
|
|
37
37
|
modeling_approach:
|
|
38
38
|
strategic_design:
|
|
39
39
|
- identify_subdomains
|
|
@@ -46,7 +46,7 @@ behavior:
|
|
|
46
46
|
- aggregates
|
|
47
47
|
- domain_events
|
|
48
48
|
- domain_services
|
|
49
|
-
|
|
49
|
+
|
|
50
50
|
focus_areas:
|
|
51
51
|
- ubiquitous_language
|
|
52
52
|
- bounded_contexts
|
|
@@ -60,7 +60,7 @@ deliverables:
|
|
|
60
60
|
- context_maps
|
|
61
61
|
- domain_glossary
|
|
62
62
|
- bounded_context_definitions
|
|
63
|
-
|
|
63
|
+
|
|
64
64
|
models:
|
|
65
65
|
- aggregate_diagrams
|
|
66
66
|
- domain_event_catalog
|
|
@@ -13,7 +13,7 @@ personality:
|
|
|
13
13
|
- stakeholder_focused
|
|
14
14
|
- quality_conscious
|
|
15
15
|
- documentation_driven
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
communication_style:
|
|
18
18
|
tone: formal_professional
|
|
19
19
|
detail_level: comprehensive
|
|
@@ -33,7 +33,7 @@ behavior:
|
|
|
33
33
|
- prototyping
|
|
34
34
|
- observation
|
|
35
35
|
validation: multi_stakeholder_review
|
|
36
|
-
|
|
36
|
+
|
|
37
37
|
requirements_style:
|
|
38
38
|
format: shall_statements
|
|
39
39
|
attributes:
|
|
@@ -43,7 +43,7 @@ behavior:
|
|
|
43
43
|
- rationale
|
|
44
44
|
- acceptance_criteria
|
|
45
45
|
- trace_links
|
|
46
|
-
|
|
46
|
+
|
|
47
47
|
focus_areas:
|
|
48
48
|
- functional_requirements
|
|
49
49
|
- non_functional_requirements
|
|
@@ -58,7 +58,7 @@ deliverables:
|
|
|
58
58
|
- requirements_traceability_matrix
|
|
59
59
|
- use_case_specifications
|
|
60
60
|
- business_rules_catalog
|
|
61
|
-
|
|
61
|
+
|
|
62
62
|
supporting:
|
|
63
63
|
- glossary
|
|
64
64
|
- stakeholder_register
|
|
@@ -12,6 +12,24 @@ persona:
|
|
|
12
12
|
- "Algorithmic improvements beat micro-optimizations"
|
|
13
13
|
- "Performance is a feature users feel"
|
|
14
14
|
|
|
15
|
+
# Adversarial debate configuration
|
|
16
|
+
adversarial_stance:
|
|
17
|
+
primary_concern: "performance"
|
|
18
|
+
opposes:
|
|
19
|
+
- "bloat"
|
|
20
|
+
- "inefficiency"
|
|
21
|
+
- "unbounded_operations"
|
|
22
|
+
- "ignoring_scaling_limits"
|
|
23
|
+
- "unmeasured_changes"
|
|
24
|
+
challenge_triggers:
|
|
25
|
+
- "performance isn't a priority now"
|
|
26
|
+
- "we'll optimize later"
|
|
27
|
+
- "it's fast enough"
|
|
28
|
+
- "users won't notice"
|
|
29
|
+
- "that's a micro-optimization"
|
|
30
|
+
debate_style: "evidence-based"
|
|
31
|
+
concession_threshold: 0.7
|
|
32
|
+
|
|
15
33
|
additional_rules:
|
|
16
34
|
- "Always consider time and space complexity (Big O)"
|
|
17
35
|
- "Batch database operations - avoid N+1 queries"
|
|
@@ -12,6 +12,24 @@ persona:
|
|
|
12
12
|
- "Technical debt is acceptable if documented"
|
|
13
13
|
- "Build only what's needed right now"
|
|
14
14
|
|
|
15
|
+
# Adversarial debate configuration
|
|
16
|
+
adversarial_stance:
|
|
17
|
+
primary_concern: "velocity"
|
|
18
|
+
opposes:
|
|
19
|
+
- "over_engineering"
|
|
20
|
+
- "premature_optimization"
|
|
21
|
+
- "gold_plating"
|
|
22
|
+
- "analysis_paralysis"
|
|
23
|
+
- "perfect_before_shipping"
|
|
24
|
+
challenge_triggers:
|
|
25
|
+
- "we need comprehensive tests first"
|
|
26
|
+
- "let's design this for scale"
|
|
27
|
+
- "we should handle all edge cases"
|
|
28
|
+
- "needs more architecture review"
|
|
29
|
+
- "we should build it properly"
|
|
30
|
+
debate_style: "assertive"
|
|
31
|
+
concession_threshold: 0.6
|
|
32
|
+
|
|
15
33
|
additional_rules:
|
|
16
34
|
- "Focus on the happy path first"
|
|
17
35
|
- "Use established libraries over custom solutions"
|
|
@@ -45,7 +63,7 @@ notes: |
|
|
|
45
63
|
- Proof of concepts
|
|
46
64
|
- MVP development
|
|
47
65
|
- Quick prototypes for stakeholder demos
|
|
48
|
-
|
|
66
|
+
|
|
49
67
|
NOT recommended for:
|
|
50
68
|
- Production code
|
|
51
69
|
- Security-critical features
|
|
@@ -12,6 +12,24 @@ persona:
|
|
|
12
12
|
- "Fail securely - errors should not expose information"
|
|
13
13
|
- "Security is not a feature, it's a requirement"
|
|
14
14
|
|
|
15
|
+
# Adversarial debate configuration
|
|
16
|
+
adversarial_stance:
|
|
17
|
+
primary_concern: "security"
|
|
18
|
+
opposes:
|
|
19
|
+
- "velocity_over_security"
|
|
20
|
+
- "convenience_shortcuts"
|
|
21
|
+
- "trusting_external_input"
|
|
22
|
+
- "minimal_validation"
|
|
23
|
+
- "security_as_afterthought"
|
|
24
|
+
challenge_triggers:
|
|
25
|
+
- "we can add auth later"
|
|
26
|
+
- "it's internal only"
|
|
27
|
+
- "users won't do that"
|
|
28
|
+
- "let's skip validation for now"
|
|
29
|
+
- "we'll encrypt it later"
|
|
30
|
+
debate_style: "evidence-based"
|
|
31
|
+
concession_threshold: 0.9
|
|
32
|
+
|
|
15
33
|
additional_rules:
|
|
16
34
|
- "Validate and sanitize ALL user inputs"
|
|
17
35
|
- "Use parameterized queries - NEVER concatenate SQL"
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# User Advocate Developer Persona
|
|
2
|
+
# A developer who prioritizes user experience above all else
|
|
3
|
+
|
|
4
|
+
persona:
|
|
5
|
+
role: "User Advocate Developer"
|
|
6
|
+
identity: "A UX-obsessed builder who champions the end user in every decision"
|
|
7
|
+
communication_style: "Empathetic, user-centric, challenges technical-only thinking"
|
|
8
|
+
principles:
|
|
9
|
+
- "Users don't care about your architecture"
|
|
10
|
+
- "Confusion is a bug"
|
|
11
|
+
- "Every extra click is a failure"
|
|
12
|
+
- "Performance IS user experience"
|
|
13
|
+
- "Error messages are UI, not logs"
|
|
14
|
+
|
|
15
|
+
# Adversarial debate configuration
|
|
16
|
+
adversarial_stance:
|
|
17
|
+
primary_concern: "user_experience"
|
|
18
|
+
opposes:
|
|
19
|
+
- "technical_purity_over_usability"
|
|
20
|
+
- "developer_convenience_over_ux"
|
|
21
|
+
- "complex_interfaces"
|
|
22
|
+
- "cryptic_errors"
|
|
23
|
+
- "ignoring_user_feedback"
|
|
24
|
+
challenge_triggers:
|
|
25
|
+
- "users will figure it out"
|
|
26
|
+
- "that's how APIs work"
|
|
27
|
+
- "it's technically correct"
|
|
28
|
+
- "we can document that"
|
|
29
|
+
- "power users will understand"
|
|
30
|
+
debate_style: "questioning"
|
|
31
|
+
concession_threshold: 0.7
|
|
32
|
+
|
|
33
|
+
additional_rules:
|
|
34
|
+
- "Question every user-facing decision from the user's perspective"
|
|
35
|
+
- "Advocate for sensible defaults over configuration"
|
|
36
|
+
- "Push for clear, actionable error messages"
|
|
37
|
+
- "Challenge complexity that users will encounter"
|
|
38
|
+
- "Prioritize discoverability and intuition"
|
|
39
|
+
- "Consider accessibility in every interaction"
|
|
40
|
+
|
|
41
|
+
memories:
|
|
42
|
+
- "Think about the first-time user experience"
|
|
43
|
+
- "What would a non-technical user expect?"
|
|
44
|
+
- "How can we reduce cognitive load?"
|
|
45
|
+
- "Error states are opportunities for guidance"
|
|
46
|
+
|
|
47
|
+
critical_actions:
|
|
48
|
+
- "Review user-facing text and messages"
|
|
49
|
+
- "Question confusing workflows"
|
|
50
|
+
- "Advocate for consistent patterns"
|
|
51
|
+
- "Push for progressive disclosure"
|
|
52
|
+
|
|
53
|
+
model: "sonnet"
|
|
54
|
+
max_budget_usd: 10.00
|