@sienklogic/plan-build-run 2.0.0 → 2.0.1

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 (225) hide show
  1. package/CHANGELOG.md +56 -56
  2. package/CLAUDE.md +149 -149
  3. package/LICENSE +21 -21
  4. package/README.md +247 -247
  5. package/dashboard/bin/cli.js +25 -25
  6. package/dashboard/package.json +34 -34
  7. package/dashboard/public/css/layout.css +406 -406
  8. package/dashboard/public/css/status-colors.css +98 -98
  9. package/dashboard/public/js/htmx-title.js +5 -5
  10. package/dashboard/public/js/sidebar-toggle.js +20 -20
  11. package/dashboard/src/app.js +78 -78
  12. package/dashboard/src/middleware/errorHandler.js +52 -52
  13. package/dashboard/src/middleware/notFoundHandler.js +9 -9
  14. package/dashboard/src/repositories/planning.repository.js +128 -128
  15. package/dashboard/src/routes/events.routes.js +40 -40
  16. package/dashboard/src/routes/index.routes.js +31 -31
  17. package/dashboard/src/routes/pages.routes.js +245 -195
  18. package/dashboard/src/server.js +42 -42
  19. package/dashboard/src/services/dashboard.service.js +222 -222
  20. package/dashboard/src/services/phase.service.js +220 -167
  21. package/dashboard/src/services/project.service.js +57 -57
  22. package/dashboard/src/services/roadmap.service.js +171 -171
  23. package/dashboard/src/services/sse.service.js +58 -58
  24. package/dashboard/src/services/todo.service.js +254 -254
  25. package/dashboard/src/services/watcher.service.js +48 -48
  26. package/dashboard/src/views/coming-soon.ejs +11 -11
  27. package/dashboard/src/views/error.ejs +13 -13
  28. package/dashboard/src/views/index.ejs +5 -5
  29. package/dashboard/src/views/layout.ejs +1 -1
  30. package/dashboard/src/views/partials/dashboard-content.ejs +77 -77
  31. package/dashboard/src/views/partials/footer.ejs +3 -3
  32. package/dashboard/src/views/partials/head.ejs +21 -21
  33. package/dashboard/src/views/partials/header.ejs +12 -12
  34. package/dashboard/src/views/partials/layout-bottom.ejs +15 -15
  35. package/dashboard/src/views/partials/layout-top.ejs +8 -8
  36. package/dashboard/src/views/partials/phase-content.ejs +188 -181
  37. package/dashboard/src/views/partials/phase-doc-content.ejs +38 -0
  38. package/dashboard/src/views/partials/phases-content.ejs +117 -117
  39. package/dashboard/src/views/partials/roadmap-content.ejs +142 -142
  40. package/dashboard/src/views/partials/sidebar.ejs +38 -38
  41. package/dashboard/src/views/partials/todo-create-content.ejs +53 -53
  42. package/dashboard/src/views/partials/todo-detail-content.ejs +38 -38
  43. package/dashboard/src/views/partials/todos-content.ejs +53 -53
  44. package/dashboard/src/views/phase-detail.ejs +5 -5
  45. package/dashboard/src/views/phase-doc.ejs +5 -0
  46. package/dashboard/src/views/phases.ejs +5 -5
  47. package/dashboard/src/views/roadmap.ejs +5 -5
  48. package/dashboard/src/views/todo-create.ejs +5 -5
  49. package/dashboard/src/views/todo-detail.ejs +5 -5
  50. package/dashboard/src/views/todos.ejs +5 -5
  51. package/package.json +57 -57
  52. package/plugins/pbr/.claude-plugin/plugin.json +13 -13
  53. package/plugins/pbr/UI-CONSISTENCY-GAPS.md +61 -61
  54. package/plugins/pbr/agents/codebase-mapper.md +279 -271
  55. package/plugins/pbr/agents/debugger.md +281 -281
  56. package/plugins/pbr/agents/executor.md +428 -407
  57. package/plugins/pbr/agents/general.md +164 -164
  58. package/plugins/pbr/agents/integration-checker.md +169 -141
  59. package/plugins/pbr/agents/plan-checker.md +296 -280
  60. package/plugins/pbr/agents/planner.md +358 -358
  61. package/plugins/pbr/agents/researcher.md +363 -363
  62. package/plugins/pbr/agents/synthesizer.md +230 -230
  63. package/plugins/pbr/agents/verifier.md +489 -454
  64. package/plugins/pbr/commands/begin.md +5 -5
  65. package/plugins/pbr/commands/build.md +5 -5
  66. package/plugins/pbr/commands/config.md +5 -5
  67. package/plugins/pbr/commands/continue.md +5 -5
  68. package/plugins/pbr/commands/debug.md +5 -5
  69. package/plugins/pbr/commands/discuss.md +5 -5
  70. package/plugins/pbr/commands/explore.md +5 -5
  71. package/plugins/pbr/commands/health.md +5 -5
  72. package/plugins/pbr/commands/help.md +5 -5
  73. package/plugins/pbr/commands/import.md +5 -5
  74. package/plugins/pbr/commands/milestone.md +5 -5
  75. package/plugins/pbr/commands/note.md +5 -5
  76. package/plugins/pbr/commands/pause.md +5 -5
  77. package/plugins/pbr/commands/plan.md +5 -5
  78. package/plugins/pbr/commands/quick.md +5 -5
  79. package/plugins/pbr/commands/resume.md +5 -5
  80. package/plugins/pbr/commands/review.md +5 -5
  81. package/plugins/pbr/commands/scan.md +5 -5
  82. package/plugins/pbr/commands/setup.md +5 -5
  83. package/plugins/pbr/commands/status.md +5 -5
  84. package/plugins/pbr/commands/todo.md +5 -5
  85. package/plugins/pbr/contexts/dev.md +27 -27
  86. package/plugins/pbr/contexts/research.md +28 -28
  87. package/plugins/pbr/contexts/review.md +36 -36
  88. package/plugins/pbr/hooks/hooks.json +183 -183
  89. package/plugins/pbr/references/agent-anti-patterns.md +24 -24
  90. package/plugins/pbr/references/agent-interactions.md +134 -134
  91. package/plugins/pbr/references/agent-teams.md +54 -54
  92. package/plugins/pbr/references/checkpoints.md +157 -157
  93. package/plugins/pbr/references/common-bug-patterns.md +13 -13
  94. package/plugins/pbr/references/config-reference.md +441 -0
  95. package/plugins/pbr/references/continuation-format.md +212 -212
  96. package/plugins/pbr/references/deviation-rules.md +112 -112
  97. package/plugins/pbr/references/git-integration.md +226 -226
  98. package/plugins/pbr/references/integration-patterns.md +117 -117
  99. package/plugins/pbr/references/model-profiles.md +99 -99
  100. package/plugins/pbr/references/model-selection.md +31 -31
  101. package/plugins/pbr/references/pbr-rules.md +193 -193
  102. package/plugins/pbr/references/plan-authoring.md +181 -181
  103. package/plugins/pbr/references/plan-format.md +287 -283
  104. package/plugins/pbr/references/planning-config.md +213 -213
  105. package/plugins/pbr/references/questioning.md +214 -214
  106. package/plugins/pbr/references/reading-verification.md +127 -127
  107. package/plugins/pbr/references/stub-patterns.md +160 -160
  108. package/plugins/pbr/references/subagent-coordination.md +119 -119
  109. package/plugins/pbr/references/ui-formatting.md +461 -399
  110. package/plugins/pbr/references/verification-patterns.md +198 -198
  111. package/plugins/pbr/references/wave-execution.md +95 -95
  112. package/plugins/pbr/scripts/auto-continue.js +80 -80
  113. package/plugins/pbr/scripts/check-dangerous-commands.js +136 -136
  114. package/plugins/pbr/scripts/check-doc-sprawl.js +102 -102
  115. package/plugins/pbr/scripts/check-phase-boundary.js +196 -196
  116. package/plugins/pbr/scripts/check-plan-format.js +270 -270
  117. package/plugins/pbr/scripts/check-roadmap-sync.js +322 -252
  118. package/plugins/pbr/scripts/check-skill-workflow.js +262 -262
  119. package/plugins/pbr/scripts/check-state-sync.js +476 -476
  120. package/plugins/pbr/scripts/check-subagent-output.js +144 -144
  121. package/plugins/pbr/scripts/config-schema.json +251 -251
  122. package/plugins/pbr/scripts/context-budget-check.js +287 -287
  123. package/plugins/pbr/scripts/event-handler.js +151 -151
  124. package/plugins/pbr/scripts/event-logger.js +92 -92
  125. package/plugins/pbr/scripts/hook-logger.js +80 -76
  126. package/plugins/pbr/scripts/hooks-schema.json +79 -79
  127. package/plugins/pbr/scripts/log-subagent.js +164 -152
  128. package/plugins/pbr/scripts/log-tool-failure.js +88 -88
  129. package/plugins/pbr/scripts/pbr-tools.js +1378 -1301
  130. package/plugins/pbr/scripts/post-write-dispatch.js +66 -66
  131. package/plugins/pbr/scripts/post-write-quality.js +207 -207
  132. package/plugins/pbr/scripts/pre-bash-dispatch.js +86 -56
  133. package/plugins/pbr/scripts/pre-write-dispatch.js +97 -62
  134. package/plugins/pbr/scripts/progress-tracker.js +281 -228
  135. package/plugins/pbr/scripts/run-hook.js +92 -0
  136. package/plugins/pbr/scripts/session-cleanup.js +254 -254
  137. package/plugins/pbr/scripts/status-line.js +288 -285
  138. package/plugins/pbr/scripts/suggest-compact.js +119 -119
  139. package/plugins/pbr/scripts/task-completed.js +45 -45
  140. package/plugins/pbr/scripts/track-context-budget.js +149 -119
  141. package/plugins/pbr/scripts/validate-commit.js +200 -200
  142. package/plugins/pbr/scripts/validate-plugin-structure.js +183 -172
  143. package/plugins/pbr/scripts/validate-task.js +106 -0
  144. package/plugins/pbr/skills/begin/SKILL.md +594 -545
  145. package/plugins/pbr/skills/begin/templates/PROJECT.md.tmpl +33 -33
  146. package/plugins/pbr/skills/begin/templates/REQUIREMENTS.md.tmpl +18 -18
  147. package/plugins/pbr/skills/begin/templates/STATE.md.tmpl +49 -49
  148. package/plugins/pbr/skills/begin/templates/config.json.tmpl +64 -63
  149. package/plugins/pbr/skills/begin/templates/researcher-prompt.md.tmpl +19 -19
  150. package/plugins/pbr/skills/begin/templates/roadmap-prompt.md.tmpl +30 -30
  151. package/plugins/pbr/skills/begin/templates/synthesis-prompt.md.tmpl +16 -16
  152. package/plugins/pbr/skills/build/SKILL.md +943 -962
  153. package/plugins/pbr/skills/config/SKILL.md +256 -241
  154. package/plugins/pbr/skills/continue/SKILL.md +164 -127
  155. package/plugins/pbr/skills/debug/SKILL.md +515 -489
  156. package/plugins/pbr/skills/debug/templates/continuation-prompt.md.tmpl +16 -16
  157. package/plugins/pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +27 -27
  158. package/plugins/pbr/skills/discuss/SKILL.md +347 -338
  159. package/plugins/pbr/skills/discuss/templates/CONTEXT.md.tmpl +61 -61
  160. package/plugins/pbr/skills/discuss/templates/decision-categories.md +9 -9
  161. package/plugins/pbr/skills/explore/SKILL.md +378 -362
  162. package/plugins/pbr/skills/health/SKILL.md +221 -186
  163. package/plugins/pbr/skills/health/templates/check-pattern.md.tmpl +30 -30
  164. package/plugins/pbr/skills/health/templates/output-format.md.tmpl +63 -63
  165. package/plugins/pbr/skills/help/SKILL.md +155 -140
  166. package/plugins/pbr/skills/import/SKILL.md +504 -490
  167. package/plugins/pbr/skills/milestone/SKILL.md +704 -673
  168. package/plugins/pbr/skills/milestone/templates/audit-report.md.tmpl +48 -48
  169. package/plugins/pbr/skills/milestone/templates/stats-file.md.tmpl +30 -30
  170. package/plugins/pbr/skills/note/SKILL.md +231 -212
  171. package/plugins/pbr/skills/pause/SKILL.md +249 -235
  172. package/plugins/pbr/skills/pause/templates/continue-here.md.tmpl +71 -71
  173. package/plugins/pbr/skills/plan/SKILL.md +685 -628
  174. package/plugins/pbr/skills/plan/decimal-phase-calc.md +98 -98
  175. package/plugins/pbr/skills/plan/templates/checker-prompt.md.tmpl +21 -21
  176. package/plugins/pbr/skills/plan/templates/gap-closure-prompt.md.tmpl +32 -32
  177. package/plugins/pbr/skills/plan/templates/planner-prompt.md.tmpl +38 -38
  178. package/plugins/pbr/skills/plan/templates/researcher-prompt.md.tmpl +19 -19
  179. package/plugins/pbr/skills/plan/templates/revision-prompt.md.tmpl +23 -23
  180. package/plugins/pbr/skills/quick/SKILL.md +354 -335
  181. package/plugins/pbr/skills/resume/SKILL.md +402 -388
  182. package/plugins/pbr/skills/review/SKILL.md +686 -652
  183. package/plugins/pbr/skills/review/templates/debugger-prompt.md.tmpl +60 -60
  184. package/plugins/pbr/skills/review/templates/gap-planner-prompt.md.tmpl +40 -40
  185. package/plugins/pbr/skills/review/templates/verifier-prompt.md.tmpl +115 -115
  186. package/plugins/pbr/skills/scan/SKILL.md +304 -269
  187. package/plugins/pbr/skills/scan/templates/mapper-prompt.md.tmpl +201 -201
  188. package/plugins/pbr/skills/setup/SKILL.md +253 -227
  189. package/plugins/pbr/skills/shared/commit-planning-docs.md +35 -35
  190. package/plugins/pbr/skills/shared/config-loading.md +102 -102
  191. package/plugins/pbr/skills/shared/context-budget.md +40 -40
  192. package/plugins/pbr/skills/shared/context-loader-task.md +86 -86
  193. package/plugins/pbr/skills/shared/digest-select.md +79 -79
  194. package/plugins/pbr/skills/shared/domain-probes.md +125 -125
  195. package/plugins/pbr/skills/shared/error-reporting.md +79 -79
  196. package/plugins/pbr/skills/shared/gate-prompts.md +388 -388
  197. package/plugins/pbr/skills/shared/phase-argument-parsing.md +45 -45
  198. package/plugins/pbr/skills/shared/progress-display.md +53 -53
  199. package/plugins/pbr/skills/shared/revision-loop.md +81 -81
  200. package/plugins/pbr/skills/shared/state-loading.md +62 -62
  201. package/plugins/pbr/skills/shared/state-update.md +161 -161
  202. package/plugins/pbr/skills/shared/universal-anti-patterns.md +33 -33
  203. package/plugins/pbr/skills/status/SKILL.md +367 -353
  204. package/plugins/pbr/skills/todo/SKILL.md +198 -181
  205. package/plugins/pbr/templates/CONTEXT.md.tmpl +52 -52
  206. package/plugins/pbr/templates/INTEGRATION-REPORT.md.tmpl +151 -151
  207. package/plugins/pbr/templates/RESEARCH-SUMMARY.md.tmpl +97 -97
  208. package/plugins/pbr/templates/ROADMAP.md.tmpl +40 -40
  209. package/plugins/pbr/templates/SUMMARY.md.tmpl +81 -81
  210. package/plugins/pbr/templates/VERIFICATION-DETAIL.md.tmpl +116 -116
  211. package/plugins/pbr/templates/codebase/ARCHITECTURE.md.tmpl +98 -98
  212. package/plugins/pbr/templates/codebase/CONCERNS.md.tmpl +93 -93
  213. package/plugins/pbr/templates/codebase/CONVENTIONS.md.tmpl +104 -104
  214. package/plugins/pbr/templates/codebase/INTEGRATIONS.md.tmpl +78 -78
  215. package/plugins/pbr/templates/codebase/STACK.md.tmpl +78 -78
  216. package/plugins/pbr/templates/codebase/STRUCTURE.md.tmpl +80 -80
  217. package/plugins/pbr/templates/codebase/TESTING.md.tmpl +107 -107
  218. package/plugins/pbr/templates/continue-here.md.tmpl +73 -73
  219. package/plugins/pbr/templates/prompt-partials/phase-project-context.md.tmpl +37 -37
  220. package/plugins/pbr/templates/research/ARCHITECTURE.md.tmpl +124 -124
  221. package/plugins/pbr/templates/research/STACK.md.tmpl +71 -71
  222. package/plugins/pbr/templates/research/SUMMARY.md.tmpl +112 -112
  223. package/plugins/pbr/templates/research-outputs/phase-research.md.tmpl +81 -81
  224. package/plugins/pbr/templates/research-outputs/project-research.md.tmpl +99 -99
  225. package/plugins/pbr/templates/research-outputs/synthesis.md.tmpl +36 -36
@@ -1,81 +1,81 @@
1
- # SUMMARY.md Template
2
-
3
- > Referenced by: executor agent, build skill, review skill
4
- > Do not edit this template during execution — copy the structure into your output.
5
-
6
- ## Frontmatter (YAML)
7
-
8
- ```yaml
9
- ---
10
- phase: "{phase_id}"
11
- plan: "{plan_id}"
12
- status: "complete" # complete | partial | checkpoint
13
- subsystem: "{main subsystem affected}"
14
- tags:
15
- - "{tag1}"
16
- - "{tag2}"
17
- requires: # What this plan needs from other plans
18
- - "{plan_id}: {artifact}"
19
- provides: # What this plan produces for other plans
20
- - "{export/artifact description}"
21
- affects:
22
- - "{affected area 1}"
23
- - "{affected area 2}"
24
- tech_stack:
25
- - "{technology used}"
26
- key_files:
27
- - "{file1}: {what it does}"
28
- - "{file2}: {what it does}"
29
- key_decisions:
30
- - "{decision 1}: {rationale}"
31
- patterns:
32
- - "{pattern used}: {where}"
33
- metrics:
34
- duration_minutes: {n}
35
- tasks_completed: {n}
36
- tasks_total: {n}
37
- commits: {n}
38
- files_created: {n}
39
- files_modified: {n}
40
- deferred:
41
- - "{thing noticed but not implemented}"
42
- self_check_failures: # Only present if self-check found issues
43
- - "{failure description}"
44
- ---
45
- ```
46
-
47
- ## Body Structure
48
-
49
- ```markdown
50
- # Plan Summary: {plan_id}
51
-
52
- ## What Was Built
53
-
54
- {2-3 paragraph description of what was accomplished}
55
-
56
- ## Task Results
57
-
58
- | Task | Status | Commit | Files | Verify |
59
- |------|--------|--------|-------|--------|
60
- | {task_id}: {name} | done | {hash} | {count} | passed |
61
-
62
- ## Key Implementation Details
63
-
64
- {Important details about HOW things were implemented that future plans need to know}
65
-
66
- ## Known Issues
67
-
68
- {Any issues discovered during execution that weren't blockers but should be tracked}
69
-
70
- ## Dependencies Provided
71
-
72
- {What other plans can now depend on — exports, files, APIs created}
73
- ```
74
-
75
- ## Status Values
76
-
77
- | Status | Meaning |
78
- |--------|---------|
79
- | `complete` | All tasks completed successfully |
80
- | `partial` | Some tasks completed, execution stopped |
81
- | `checkpoint` | Execution paused at a checkpoint task, waiting for human |
1
+ # SUMMARY.md Template
2
+
3
+ > Referenced by: executor agent, build skill, review skill
4
+ > Do not edit this template during execution — copy the structure into your output.
5
+
6
+ ## Frontmatter (YAML)
7
+
8
+ ```yaml
9
+ ---
10
+ phase: "{phase_id}"
11
+ plan: "{plan_id}"
12
+ status: "complete" # complete | partial | checkpoint
13
+ subsystem: "{main subsystem affected}"
14
+ tags:
15
+ - "{tag1}"
16
+ - "{tag2}"
17
+ requires: # What this plan needs from other plans
18
+ - "{plan_id}: {artifact}"
19
+ provides: # What this plan produces for other plans
20
+ - "{export/artifact description}"
21
+ affects:
22
+ - "{affected area 1}"
23
+ - "{affected area 2}"
24
+ tech_stack:
25
+ - "{technology used}"
26
+ key_files:
27
+ - "{file1}: {what it does}"
28
+ - "{file2}: {what it does}"
29
+ key_decisions:
30
+ - "{decision 1}: {rationale}"
31
+ patterns:
32
+ - "{pattern used}: {where}"
33
+ metrics:
34
+ duration_minutes: {n}
35
+ tasks_completed: {n}
36
+ tasks_total: {n}
37
+ commits: {n}
38
+ files_created: {n}
39
+ files_modified: {n}
40
+ deferred:
41
+ - "{thing noticed but not implemented}"
42
+ self_check_failures: # Only present if self-check found issues
43
+ - "{failure description}"
44
+ ---
45
+ ```
46
+
47
+ ## Body Structure
48
+
49
+ ```markdown
50
+ # Plan Summary: {plan_id}
51
+
52
+ ## What Was Built
53
+
54
+ {2-3 paragraph description of what was accomplished}
55
+
56
+ ## Task Results
57
+
58
+ | Task | Status | Commit | Files | Verify |
59
+ |------|--------|--------|-------|--------|
60
+ | {task_id}: {name} | done | {hash} | {count} | passed |
61
+
62
+ ## Key Implementation Details
63
+
64
+ {Important details about HOW things were implemented that future plans need to know}
65
+
66
+ ## Known Issues
67
+
68
+ {Any issues discovered during execution that weren't blockers but should be tracked}
69
+
70
+ ## Dependencies Provided
71
+
72
+ {What other plans can now depend on — exports, files, APIs created}
73
+ ```
74
+
75
+ ## Status Values
76
+
77
+ | Status | Meaning |
78
+ |--------|---------|
79
+ | `complete` | All tasks completed successfully |
80
+ | `partial` | Some tasks completed, execution stopped |
81
+ | `checkpoint` | Execution paused at a checkpoint task, waiting for human |
@@ -1,116 +1,116 @@
1
- <!-- Source: agents/verifier.md | Purpose: Detailed output format for verification reports produced by the verifier agent -->
2
-
3
- ```yaml
4
- ---
5
- phase: "{phase_id}"
6
- verified: "{ISO timestamp}"
7
- status: "passed" # passed | gaps_found | human_needed
8
- is_re_verification: false # true if re-verifying after gap closure
9
- score:
10
- total_must_haves: {n}
11
- verified: {n}
12
- failed: {n}
13
- partial: {n}
14
- human_needed: {n}
15
- gaps:
16
- - must_have: "{description of the failed must-have}"
17
- level: "{existence | substantive | wired}"
18
- evidence: "{what you found}"
19
- recommendation: "{specific action to fix}"
20
- anti_patterns:
21
- todos: {count}
22
- stubs: {count}
23
- console_logs: {count}
24
- skipped_tests: {count}
25
- hardcoded_secrets: {count}
26
- ---
27
-
28
- # Phase Verification: {phase_name}
29
-
30
- > Verified: {date}
31
- > Status: **{STATUS}**
32
- > Score: {verified}/{total} must-haves verified
33
- > Re-verification: {yes/no}
34
-
35
- ## Observable Truths
36
-
37
- | # | Truth | Status | Evidence |
38
- |---|-------|--------|----------|
39
- | 1 | {truth statement} | VERIFIED | {evidence summary with file paths and line numbers} |
40
- | 2 | {truth statement} | FAILED | {what's wrong, what was expected, what was found} |
41
- | 3 | {truth statement} | HUMAN_NEEDED | {why it can't be verified programmatically} |
42
-
43
- ## Artifact Verification
44
-
45
- | # | Artifact | L1: Exists | L2: Substantive | L3: Wired | Status |
46
- |---|----------|-----------|-----------------|-----------|--------|
47
- | 1 | `{file/export}` | YES | YES (142 lines, real logic) | WIRED (imported by 3 files) | PASS |
48
- | 2 | `{file/export}` | YES | STUB (TODO at L42, empty handler L67) | N/A | FAIL |
49
- | 3 | `{file/export}` | YES | YES | ORPHANED (not imported anywhere) | FAIL |
50
- | 4 | `{file/export}` | NO | N/A | N/A | FAIL |
51
-
52
- ## Key Link Verification
53
-
54
- | # | Link Description | Source | Target | Status | Evidence |
55
- |---|-----------------|--------|--------|--------|----------|
56
- | 1 | {what connects to what} | `{source_file}` | `{target_file}` | WIRED | Import at L12, called at L45 |
57
- | 2 | {what connects to what} | `{source_file}` | `{target_file}` | BROKEN | Imported but never called |
58
-
59
- ## Gaps Found
60
-
61
- {Only present if status is gaps_found}
62
-
63
- ### Gap 1: {Short description}
64
-
65
- - **Must-Have**: {which must-have this gap blocks}
66
- - **Level Failed**: {existence / substantive / wired}
67
- - **Evidence**: {specific evidence — file paths, line numbers, command output}
68
- - **Impact**: {what doesn't work because of this gap}
69
- - **Recommendation**: {specific action to close this gap}
70
-
71
- ### Gap 2: {Short description}
72
- ...
73
-
74
- ## Human Verification Items
75
-
76
- {Only present if there are items requiring human verification}
77
-
78
- ### Item 1: {What needs checking}
79
-
80
- - **Must-Have**: {which must-have this relates to}
81
- - **Why Manual**: {why it can't be verified automatically}
82
- - **How to Test**: {step-by-step instructions}
83
- - **Expected Result**: {what success looks like}
84
-
85
- ## Anti-Pattern Scan
86
-
87
- | Pattern | Count | Severity | Files |
88
- |---------|-------|----------|-------|
89
- | TODO/FIXME comments | {n} | {low/medium/high} | {file list} |
90
- | Stub implementations | {n} | {high} | {file list} |
91
- | Console.log in production | {n} | {low} | {file list} |
92
- | Skipped tests | {n} | {medium} | {file list} |
93
- | Hardcoded secrets | {n} | {critical} | {file list} |
94
- | Empty catch blocks | {n} | {medium} | {file list} |
95
-
96
- ## Regressions
97
-
98
- {Only present in re-verification mode}
99
-
100
- | # | Must-Have | Previous Status | Current Status | Evidence |
101
- |---|----------|----------------|----------------|----------|
102
- | 1 | {must-have} | VERIFIED | FAILED | {what changed} |
103
-
104
- ## Summary
105
-
106
- ### Phase Health
107
- - **Must-haves**: {n}/{total} verified ({percentage}%)
108
- - **Gaps**: {n} blocking, {n} non-blocking
109
- - **Anti-patterns**: {n} total ({n} critical)
110
- - **Human items**: {n} pending
111
-
112
- ### Recommendations
113
- 1. {Most important action to take}
114
- 2. {Second most important}
115
- 3. ...
116
- ```
1
+ <!-- Source: agents/verifier.md | Purpose: Detailed output format for verification reports produced by the verifier agent -->
2
+
3
+ ```yaml
4
+ ---
5
+ phase: "{phase_id}"
6
+ verified: "{ISO timestamp}"
7
+ status: "passed" # passed | gaps_found | human_needed
8
+ is_re_verification: false # true if re-verifying after gap closure
9
+ score:
10
+ total_must_haves: {n}
11
+ verified: {n}
12
+ failed: {n}
13
+ partial: {n}
14
+ human_needed: {n}
15
+ gaps:
16
+ - must_have: "{description of the failed must-have}"
17
+ level: "{existence | substantive | wired}"
18
+ evidence: "{what you found}"
19
+ recommendation: "{specific action to fix}"
20
+ anti_patterns:
21
+ todos: {count}
22
+ stubs: {count}
23
+ console_logs: {count}
24
+ skipped_tests: {count}
25
+ hardcoded_secrets: {count}
26
+ ---
27
+
28
+ # Phase Verification: {phase_name}
29
+
30
+ > Verified: {date}
31
+ > Status: **{STATUS}**
32
+ > Score: {verified}/{total} must-haves verified
33
+ > Re-verification: {yes/no}
34
+
35
+ ## Observable Truths
36
+
37
+ | # | Truth | Status | Evidence |
38
+ |---|-------|--------|----------|
39
+ | 1 | {truth statement} | VERIFIED | {evidence summary with file paths and line numbers} |
40
+ | 2 | {truth statement} | FAILED | {what's wrong, what was expected, what was found} |
41
+ | 3 | {truth statement} | HUMAN_NEEDED | {why it can't be verified programmatically} |
42
+
43
+ ## Artifact Verification
44
+
45
+ | # | Artifact | L1: Exists | L2: Substantive | L3: Wired | Status |
46
+ |---|----------|-----------|-----------------|-----------|--------|
47
+ | 1 | `{file/export}` | YES | YES (142 lines, real logic) | WIRED (imported by 3 files) | PASS |
48
+ | 2 | `{file/export}` | YES | STUB (TODO at L42, empty handler L67) | N/A | FAIL |
49
+ | 3 | `{file/export}` | YES | YES | ORPHANED (not imported anywhere) | FAIL |
50
+ | 4 | `{file/export}` | NO | N/A | N/A | FAIL |
51
+
52
+ ## Key Link Verification
53
+
54
+ | # | Link Description | Source | Target | Status | Evidence |
55
+ |---|-----------------|--------|--------|--------|----------|
56
+ | 1 | {what connects to what} | `{source_file}` | `{target_file}` | WIRED | Import at L12, called at L45 |
57
+ | 2 | {what connects to what} | `{source_file}` | `{target_file}` | BROKEN | Imported but never called |
58
+
59
+ ## Gaps Found
60
+
61
+ {Only present if status is gaps_found}
62
+
63
+ ### Gap 1: {Short description}
64
+
65
+ - **Must-Have**: {which must-have this gap blocks}
66
+ - **Level Failed**: {existence / substantive / wired}
67
+ - **Evidence**: {specific evidence — file paths, line numbers, command output}
68
+ - **Impact**: {what doesn't work because of this gap}
69
+ - **Recommendation**: {specific action to close this gap}
70
+
71
+ ### Gap 2: {Short description}
72
+ ...
73
+
74
+ ## Human Verification Items
75
+
76
+ {Only present if there are items requiring human verification}
77
+
78
+ ### Item 1: {What needs checking}
79
+
80
+ - **Must-Have**: {which must-have this relates to}
81
+ - **Why Manual**: {why it can't be verified automatically}
82
+ - **How to Test**: {step-by-step instructions}
83
+ - **Expected Result**: {what success looks like}
84
+
85
+ ## Anti-Pattern Scan
86
+
87
+ | Pattern | Count | Severity | Files |
88
+ |---------|-------|----------|-------|
89
+ | TODO/FIXME comments | {n} | {low/medium/high} | {file list} |
90
+ | Stub implementations | {n} | {high} | {file list} |
91
+ | Console.log in production | {n} | {low} | {file list} |
92
+ | Skipped tests | {n} | {medium} | {file list} |
93
+ | Hardcoded secrets | {n} | {critical} | {file list} |
94
+ | Empty catch blocks | {n} | {medium} | {file list} |
95
+
96
+ ## Regressions
97
+
98
+ {Only present in re-verification mode}
99
+
100
+ | # | Must-Have | Previous Status | Current Status | Evidence |
101
+ |---|----------|----------------|----------------|----------|
102
+ | 1 | {must-have} | VERIFIED | FAILED | {what changed} |
103
+
104
+ ## Summary
105
+
106
+ ### Phase Health
107
+ - **Must-haves**: {n}/{total} verified ({percentage}%)
108
+ - **Gaps**: {n} blocking, {n} non-blocking
109
+ - **Anti-patterns**: {n} total ({n} critical)
110
+ - **Human items**: {n} pending
111
+
112
+ ### Recommendations
113
+ 1. {Most important action to take}
114
+ 2. {Second most important}
115
+ 3. ...
116
+ ```
@@ -1,98 +1,98 @@
1
- <!-- Source: agents/codebase-mapper.md | Purpose: Output format for ARCHITECTURE.md codebase analysis -->
2
- # Architecture
3
-
4
- > Analyzed: {date}
5
- > Pattern: {MVC / Layered / Hexagonal / Microservices / Monolith / etc.}
6
-
7
- ## Pattern Overview
8
-
9
- {2-3 paragraphs describing the overall architectural pattern with evidence from the codebase}
10
-
11
- **Evidence**: {file paths, import patterns, directory structure that support this classification}
12
-
13
- ## Layers
14
-
15
- | Layer | Purpose | Directory | Key Files |
16
- |-------|---------|-----------|-----------|
17
- | {Presentation} | {UI rendering} | {src/components/} | {App.tsx, Layout.tsx} |
18
- | {API/Routes} | {HTTP handling} | {src/routes/ or src/app/api/} | {users.ts, auth.ts} |
19
- | {Business Logic} | {Core domain} | {src/services/} | {UserService.ts} |
20
- | {Data Access} | {Database interaction} | {src/repositories/ or src/db/} | {UserRepo.ts} |
21
- | {Infrastructure} | {External services} | {src/lib/ or src/integrations/} | {email.ts, storage.ts} |
22
-
23
- ### Layer Rules
24
-
25
- {How layers communicate — what imports what? What are the dependency rules?}
26
-
27
- ```
28
- Presentation → API → Business → Data Access → Database
29
-
30
- Infrastructure
31
- ```
32
-
33
- ## Data Flow
34
-
35
- ### Request Lifecycle
36
-
37
- {How a typical request flows through the system}
38
-
39
- ```
40
- 1. Client sends request
41
- 2. → {Router/Framework} routes to handler
42
- 3. → {Middleware} runs (auth, validation, logging)
43
- 4. → {Controller/Handler} processes request
44
- 5. → {Service} executes business logic
45
- 6. → {Repository/Model} queries database
46
- 7. → Response returns through the stack
47
- ```
48
-
49
- ### State Management
50
-
51
- | Context | Approach | Implementation | Files |
52
- |---------|----------|---------------|-------|
53
- | Client state | {Redux / Zustand / Context / etc.} | {how it's structured} | {store files} |
54
- | Server state | {React Query / SWR / etc.} | {how it's used} | {hook files} |
55
- | Session state | {JWT / cookies / etc.} | {how it's managed} | {auth files} |
56
-
57
- ## Key Abstractions
58
-
59
- | Abstraction | Purpose | Implementation | Used By |
60
- |-------------|---------|---------------|---------|
61
- | {Repository} | {Database access} | {Abstract class + implementations} | {Services} |
62
- | {Middleware} | {Cross-cutting concerns} | {Function signature} | {Routes} |
63
- | {DTO/Schema} | {Data validation} | {Zod schemas / class-validator} | {Routes, Services} |
64
-
65
- ## Entry Points
66
-
67
- | Type | File | Config | Notes |
68
- |------|------|--------|-------|
69
- | Web app | {src/app/page.tsx} | {port 3000} | {Next.js App Router} |
70
- | API server | {src/server.ts} | {port 8080} | {Express server} |
71
- | CLI | {src/cli.ts} | - | {Commander.js} |
72
- | Workers | {src/workers/} | {queue config} | {Bull/BullMQ} |
73
- | Cron | {src/cron/} | {schedule} | {node-cron} |
74
-
75
- ## Error Handling Strategy
76
-
77
- | Layer | Pattern | Implementation |
78
- |-------|---------|---------------|
79
- | API | {Error middleware + HTTP status codes} | {src/middleware/error.ts} |
80
- | Service | {Custom error classes} | {src/errors/} |
81
- | Client | {Error boundaries + toast notifications} | {src/components/ErrorBoundary.tsx} |
82
-
83
- ### Error Flow
84
-
85
- ```
86
- Service throws AppError → Controller catches → Error middleware formats response → Client displays
87
- ```
88
-
89
- ## Security Architecture
90
-
91
- | Aspect | Implementation | Files |
92
- |--------|---------------|-------|
93
- | Authentication | {how auth works} | {files} |
94
- | Authorization | {RBAC / ABAC / etc.} | {files} |
95
- | Input validation | {where and how} | {files} |
96
- | CORS | {configuration} | {files} |
97
- | Rate limiting | {if present} | {files} |
98
- | CSRF protection | {if present} | {files} |
1
+ <!-- Source: agents/codebase-mapper.md | Purpose: Output format for ARCHITECTURE.md codebase analysis -->
2
+ # Architecture
3
+
4
+ > Analyzed: {date}
5
+ > Pattern: {MVC / Layered / Hexagonal / Microservices / Monolith / etc.}
6
+
7
+ ## Pattern Overview
8
+
9
+ {2-3 paragraphs describing the overall architectural pattern with evidence from the codebase}
10
+
11
+ **Evidence**: {file paths, import patterns, directory structure that support this classification}
12
+
13
+ ## Layers
14
+
15
+ | Layer | Purpose | Directory | Key Files |
16
+ |-------|---------|-----------|-----------|
17
+ | {Presentation} | {UI rendering} | {src/components/} | {App.tsx, Layout.tsx} |
18
+ | {API/Routes} | {HTTP handling} | {src/routes/ or src/app/api/} | {users.ts, auth.ts} |
19
+ | {Business Logic} | {Core domain} | {src/services/} | {UserService.ts} |
20
+ | {Data Access} | {Database interaction} | {src/repositories/ or src/db/} | {UserRepo.ts} |
21
+ | {Infrastructure} | {External services} | {src/lib/ or src/integrations/} | {email.ts, storage.ts} |
22
+
23
+ ### Layer Rules
24
+
25
+ {How layers communicate — what imports what? What are the dependency rules?}
26
+
27
+ ```
28
+ Presentation → API → Business → Data Access → Database
29
+
30
+ Infrastructure
31
+ ```
32
+
33
+ ## Data Flow
34
+
35
+ ### Request Lifecycle
36
+
37
+ {How a typical request flows through the system}
38
+
39
+ ```
40
+ 1. Client sends request
41
+ 2. → {Router/Framework} routes to handler
42
+ 3. → {Middleware} runs (auth, validation, logging)
43
+ 4. → {Controller/Handler} processes request
44
+ 5. → {Service} executes business logic
45
+ 6. → {Repository/Model} queries database
46
+ 7. → Response returns through the stack
47
+ ```
48
+
49
+ ### State Management
50
+
51
+ | Context | Approach | Implementation | Files |
52
+ |---------|----------|---------------|-------|
53
+ | Client state | {Redux / Zustand / Context / etc.} | {how it's structured} | {store files} |
54
+ | Server state | {React Query / SWR / etc.} | {how it's used} | {hook files} |
55
+ | Session state | {JWT / cookies / etc.} | {how it's managed} | {auth files} |
56
+
57
+ ## Key Abstractions
58
+
59
+ | Abstraction | Purpose | Implementation | Used By |
60
+ |-------------|---------|---------------|---------|
61
+ | {Repository} | {Database access} | {Abstract class + implementations} | {Services} |
62
+ | {Middleware} | {Cross-cutting concerns} | {Function signature} | {Routes} |
63
+ | {DTO/Schema} | {Data validation} | {Zod schemas / class-validator} | {Routes, Services} |
64
+
65
+ ## Entry Points
66
+
67
+ | Type | File | Config | Notes |
68
+ |------|------|--------|-------|
69
+ | Web app | {src/app/page.tsx} | {port 3000} | {Next.js App Router} |
70
+ | API server | {src/server.ts} | {port 8080} | {Express server} |
71
+ | CLI | {src/cli.ts} | - | {Commander.js} |
72
+ | Workers | {src/workers/} | {queue config} | {Bull/BullMQ} |
73
+ | Cron | {src/cron/} | {schedule} | {node-cron} |
74
+
75
+ ## Error Handling Strategy
76
+
77
+ | Layer | Pattern | Implementation |
78
+ |-------|---------|---------------|
79
+ | API | {Error middleware + HTTP status codes} | {src/middleware/error.ts} |
80
+ | Service | {Custom error classes} | {src/errors/} |
81
+ | Client | {Error boundaries + toast notifications} | {src/components/ErrorBoundary.tsx} |
82
+
83
+ ### Error Flow
84
+
85
+ ```
86
+ Service throws AppError → Controller catches → Error middleware formats response → Client displays
87
+ ```
88
+
89
+ ## Security Architecture
90
+
91
+ | Aspect | Implementation | Files |
92
+ |--------|---------------|-------|
93
+ | Authentication | {how auth works} | {files} |
94
+ | Authorization | {RBAC / ABAC / etc.} | {files} |
95
+ | Input validation | {where and how} | {files} |
96
+ | CORS | {configuration} | {files} |
97
+ | Rate limiting | {if present} | {files} |
98
+ | CSRF protection | {if present} | {files} |