@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.
- package/CHANGELOG.md +56 -56
- package/CLAUDE.md +149 -149
- package/LICENSE +21 -21
- package/README.md +247 -247
- package/dashboard/bin/cli.js +25 -25
- package/dashboard/package.json +34 -34
- package/dashboard/public/css/layout.css +406 -406
- package/dashboard/public/css/status-colors.css +98 -98
- package/dashboard/public/js/htmx-title.js +5 -5
- package/dashboard/public/js/sidebar-toggle.js +20 -20
- package/dashboard/src/app.js +78 -78
- package/dashboard/src/middleware/errorHandler.js +52 -52
- package/dashboard/src/middleware/notFoundHandler.js +9 -9
- package/dashboard/src/repositories/planning.repository.js +128 -128
- package/dashboard/src/routes/events.routes.js +40 -40
- package/dashboard/src/routes/index.routes.js +31 -31
- package/dashboard/src/routes/pages.routes.js +245 -195
- package/dashboard/src/server.js +42 -42
- package/dashboard/src/services/dashboard.service.js +222 -222
- package/dashboard/src/services/phase.service.js +220 -167
- package/dashboard/src/services/project.service.js +57 -57
- package/dashboard/src/services/roadmap.service.js +171 -171
- package/dashboard/src/services/sse.service.js +58 -58
- package/dashboard/src/services/todo.service.js +254 -254
- package/dashboard/src/services/watcher.service.js +48 -48
- package/dashboard/src/views/coming-soon.ejs +11 -11
- package/dashboard/src/views/error.ejs +13 -13
- package/dashboard/src/views/index.ejs +5 -5
- package/dashboard/src/views/layout.ejs +1 -1
- package/dashboard/src/views/partials/dashboard-content.ejs +77 -77
- package/dashboard/src/views/partials/footer.ejs +3 -3
- package/dashboard/src/views/partials/head.ejs +21 -21
- package/dashboard/src/views/partials/header.ejs +12 -12
- package/dashboard/src/views/partials/layout-bottom.ejs +15 -15
- package/dashboard/src/views/partials/layout-top.ejs +8 -8
- package/dashboard/src/views/partials/phase-content.ejs +188 -181
- package/dashboard/src/views/partials/phase-doc-content.ejs +38 -0
- package/dashboard/src/views/partials/phases-content.ejs +117 -117
- package/dashboard/src/views/partials/roadmap-content.ejs +142 -142
- package/dashboard/src/views/partials/sidebar.ejs +38 -38
- package/dashboard/src/views/partials/todo-create-content.ejs +53 -53
- package/dashboard/src/views/partials/todo-detail-content.ejs +38 -38
- package/dashboard/src/views/partials/todos-content.ejs +53 -53
- package/dashboard/src/views/phase-detail.ejs +5 -5
- package/dashboard/src/views/phase-doc.ejs +5 -0
- package/dashboard/src/views/phases.ejs +5 -5
- package/dashboard/src/views/roadmap.ejs +5 -5
- package/dashboard/src/views/todo-create.ejs +5 -5
- package/dashboard/src/views/todo-detail.ejs +5 -5
- package/dashboard/src/views/todos.ejs +5 -5
- package/package.json +57 -57
- package/plugins/pbr/.claude-plugin/plugin.json +13 -13
- package/plugins/pbr/UI-CONSISTENCY-GAPS.md +61 -61
- package/plugins/pbr/agents/codebase-mapper.md +279 -271
- package/plugins/pbr/agents/debugger.md +281 -281
- package/plugins/pbr/agents/executor.md +428 -407
- package/plugins/pbr/agents/general.md +164 -164
- package/plugins/pbr/agents/integration-checker.md +169 -141
- package/plugins/pbr/agents/plan-checker.md +296 -280
- package/plugins/pbr/agents/planner.md +358 -358
- package/plugins/pbr/agents/researcher.md +363 -363
- package/plugins/pbr/agents/synthesizer.md +230 -230
- package/plugins/pbr/agents/verifier.md +489 -454
- package/plugins/pbr/commands/begin.md +5 -5
- package/plugins/pbr/commands/build.md +5 -5
- package/plugins/pbr/commands/config.md +5 -5
- package/plugins/pbr/commands/continue.md +5 -5
- package/plugins/pbr/commands/debug.md +5 -5
- package/plugins/pbr/commands/discuss.md +5 -5
- package/plugins/pbr/commands/explore.md +5 -5
- package/plugins/pbr/commands/health.md +5 -5
- package/plugins/pbr/commands/help.md +5 -5
- package/plugins/pbr/commands/import.md +5 -5
- package/plugins/pbr/commands/milestone.md +5 -5
- package/plugins/pbr/commands/note.md +5 -5
- package/plugins/pbr/commands/pause.md +5 -5
- package/plugins/pbr/commands/plan.md +5 -5
- package/plugins/pbr/commands/quick.md +5 -5
- package/plugins/pbr/commands/resume.md +5 -5
- package/plugins/pbr/commands/review.md +5 -5
- package/plugins/pbr/commands/scan.md +5 -5
- package/plugins/pbr/commands/setup.md +5 -5
- package/plugins/pbr/commands/status.md +5 -5
- package/plugins/pbr/commands/todo.md +5 -5
- package/plugins/pbr/contexts/dev.md +27 -27
- package/plugins/pbr/contexts/research.md +28 -28
- package/plugins/pbr/contexts/review.md +36 -36
- package/plugins/pbr/hooks/hooks.json +183 -183
- package/plugins/pbr/references/agent-anti-patterns.md +24 -24
- package/plugins/pbr/references/agent-interactions.md +134 -134
- package/plugins/pbr/references/agent-teams.md +54 -54
- package/plugins/pbr/references/checkpoints.md +157 -157
- package/plugins/pbr/references/common-bug-patterns.md +13 -13
- package/plugins/pbr/references/config-reference.md +441 -0
- package/plugins/pbr/references/continuation-format.md +212 -212
- package/plugins/pbr/references/deviation-rules.md +112 -112
- package/plugins/pbr/references/git-integration.md +226 -226
- package/plugins/pbr/references/integration-patterns.md +117 -117
- package/plugins/pbr/references/model-profiles.md +99 -99
- package/plugins/pbr/references/model-selection.md +31 -31
- package/plugins/pbr/references/pbr-rules.md +193 -193
- package/plugins/pbr/references/plan-authoring.md +181 -181
- package/plugins/pbr/references/plan-format.md +287 -283
- package/plugins/pbr/references/planning-config.md +213 -213
- package/plugins/pbr/references/questioning.md +214 -214
- package/plugins/pbr/references/reading-verification.md +127 -127
- package/plugins/pbr/references/stub-patterns.md +160 -160
- package/plugins/pbr/references/subagent-coordination.md +119 -119
- package/plugins/pbr/references/ui-formatting.md +461 -399
- package/plugins/pbr/references/verification-patterns.md +198 -198
- package/plugins/pbr/references/wave-execution.md +95 -95
- package/plugins/pbr/scripts/auto-continue.js +80 -80
- package/plugins/pbr/scripts/check-dangerous-commands.js +136 -136
- package/plugins/pbr/scripts/check-doc-sprawl.js +102 -102
- package/plugins/pbr/scripts/check-phase-boundary.js +196 -196
- package/plugins/pbr/scripts/check-plan-format.js +270 -270
- package/plugins/pbr/scripts/check-roadmap-sync.js +322 -252
- package/plugins/pbr/scripts/check-skill-workflow.js +262 -262
- package/plugins/pbr/scripts/check-state-sync.js +476 -476
- package/plugins/pbr/scripts/check-subagent-output.js +144 -144
- package/plugins/pbr/scripts/config-schema.json +251 -251
- package/plugins/pbr/scripts/context-budget-check.js +287 -287
- package/plugins/pbr/scripts/event-handler.js +151 -151
- package/plugins/pbr/scripts/event-logger.js +92 -92
- package/plugins/pbr/scripts/hook-logger.js +80 -76
- package/plugins/pbr/scripts/hooks-schema.json +79 -79
- package/plugins/pbr/scripts/log-subagent.js +164 -152
- package/plugins/pbr/scripts/log-tool-failure.js +88 -88
- package/plugins/pbr/scripts/pbr-tools.js +1378 -1301
- package/plugins/pbr/scripts/post-write-dispatch.js +66 -66
- package/plugins/pbr/scripts/post-write-quality.js +207 -207
- package/plugins/pbr/scripts/pre-bash-dispatch.js +86 -56
- package/plugins/pbr/scripts/pre-write-dispatch.js +97 -62
- package/plugins/pbr/scripts/progress-tracker.js +281 -228
- package/plugins/pbr/scripts/run-hook.js +92 -0
- package/plugins/pbr/scripts/session-cleanup.js +254 -254
- package/plugins/pbr/scripts/status-line.js +288 -285
- package/plugins/pbr/scripts/suggest-compact.js +119 -119
- package/plugins/pbr/scripts/task-completed.js +45 -45
- package/plugins/pbr/scripts/track-context-budget.js +149 -119
- package/plugins/pbr/scripts/validate-commit.js +200 -200
- package/plugins/pbr/scripts/validate-plugin-structure.js +183 -172
- package/plugins/pbr/scripts/validate-task.js +106 -0
- package/plugins/pbr/skills/begin/SKILL.md +594 -545
- package/plugins/pbr/skills/begin/templates/PROJECT.md.tmpl +33 -33
- package/plugins/pbr/skills/begin/templates/REQUIREMENTS.md.tmpl +18 -18
- package/plugins/pbr/skills/begin/templates/STATE.md.tmpl +49 -49
- package/plugins/pbr/skills/begin/templates/config.json.tmpl +64 -63
- package/plugins/pbr/skills/begin/templates/researcher-prompt.md.tmpl +19 -19
- package/plugins/pbr/skills/begin/templates/roadmap-prompt.md.tmpl +30 -30
- package/plugins/pbr/skills/begin/templates/synthesis-prompt.md.tmpl +16 -16
- package/plugins/pbr/skills/build/SKILL.md +943 -962
- package/plugins/pbr/skills/config/SKILL.md +256 -241
- package/plugins/pbr/skills/continue/SKILL.md +164 -127
- package/plugins/pbr/skills/debug/SKILL.md +515 -489
- package/plugins/pbr/skills/debug/templates/continuation-prompt.md.tmpl +16 -16
- package/plugins/pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +27 -27
- package/plugins/pbr/skills/discuss/SKILL.md +347 -338
- package/plugins/pbr/skills/discuss/templates/CONTEXT.md.tmpl +61 -61
- package/plugins/pbr/skills/discuss/templates/decision-categories.md +9 -9
- package/plugins/pbr/skills/explore/SKILL.md +378 -362
- package/plugins/pbr/skills/health/SKILL.md +221 -186
- package/plugins/pbr/skills/health/templates/check-pattern.md.tmpl +30 -30
- package/plugins/pbr/skills/health/templates/output-format.md.tmpl +63 -63
- package/plugins/pbr/skills/help/SKILL.md +155 -140
- package/plugins/pbr/skills/import/SKILL.md +504 -490
- package/plugins/pbr/skills/milestone/SKILL.md +704 -673
- package/plugins/pbr/skills/milestone/templates/audit-report.md.tmpl +48 -48
- package/plugins/pbr/skills/milestone/templates/stats-file.md.tmpl +30 -30
- package/plugins/pbr/skills/note/SKILL.md +231 -212
- package/plugins/pbr/skills/pause/SKILL.md +249 -235
- package/plugins/pbr/skills/pause/templates/continue-here.md.tmpl +71 -71
- package/plugins/pbr/skills/plan/SKILL.md +685 -628
- package/plugins/pbr/skills/plan/decimal-phase-calc.md +98 -98
- package/plugins/pbr/skills/plan/templates/checker-prompt.md.tmpl +21 -21
- package/plugins/pbr/skills/plan/templates/gap-closure-prompt.md.tmpl +32 -32
- package/plugins/pbr/skills/plan/templates/planner-prompt.md.tmpl +38 -38
- package/plugins/pbr/skills/plan/templates/researcher-prompt.md.tmpl +19 -19
- package/plugins/pbr/skills/plan/templates/revision-prompt.md.tmpl +23 -23
- package/plugins/pbr/skills/quick/SKILL.md +354 -335
- package/plugins/pbr/skills/resume/SKILL.md +402 -388
- package/plugins/pbr/skills/review/SKILL.md +686 -652
- package/plugins/pbr/skills/review/templates/debugger-prompt.md.tmpl +60 -60
- package/plugins/pbr/skills/review/templates/gap-planner-prompt.md.tmpl +40 -40
- package/plugins/pbr/skills/review/templates/verifier-prompt.md.tmpl +115 -115
- package/plugins/pbr/skills/scan/SKILL.md +304 -269
- package/plugins/pbr/skills/scan/templates/mapper-prompt.md.tmpl +201 -201
- package/plugins/pbr/skills/setup/SKILL.md +253 -227
- package/plugins/pbr/skills/shared/commit-planning-docs.md +35 -35
- package/plugins/pbr/skills/shared/config-loading.md +102 -102
- package/plugins/pbr/skills/shared/context-budget.md +40 -40
- package/plugins/pbr/skills/shared/context-loader-task.md +86 -86
- package/plugins/pbr/skills/shared/digest-select.md +79 -79
- package/plugins/pbr/skills/shared/domain-probes.md +125 -125
- package/plugins/pbr/skills/shared/error-reporting.md +79 -79
- package/plugins/pbr/skills/shared/gate-prompts.md +388 -388
- package/plugins/pbr/skills/shared/phase-argument-parsing.md +45 -45
- package/plugins/pbr/skills/shared/progress-display.md +53 -53
- package/plugins/pbr/skills/shared/revision-loop.md +81 -81
- package/plugins/pbr/skills/shared/state-loading.md +62 -62
- package/plugins/pbr/skills/shared/state-update.md +161 -161
- package/plugins/pbr/skills/shared/universal-anti-patterns.md +33 -33
- package/plugins/pbr/skills/status/SKILL.md +367 -353
- package/plugins/pbr/skills/todo/SKILL.md +198 -181
- package/plugins/pbr/templates/CONTEXT.md.tmpl +52 -52
- package/plugins/pbr/templates/INTEGRATION-REPORT.md.tmpl +151 -151
- package/plugins/pbr/templates/RESEARCH-SUMMARY.md.tmpl +97 -97
- package/plugins/pbr/templates/ROADMAP.md.tmpl +40 -40
- package/plugins/pbr/templates/SUMMARY.md.tmpl +81 -81
- package/plugins/pbr/templates/VERIFICATION-DETAIL.md.tmpl +116 -116
- package/plugins/pbr/templates/codebase/ARCHITECTURE.md.tmpl +98 -98
- package/plugins/pbr/templates/codebase/CONCERNS.md.tmpl +93 -93
- package/plugins/pbr/templates/codebase/CONVENTIONS.md.tmpl +104 -104
- package/plugins/pbr/templates/codebase/INTEGRATIONS.md.tmpl +78 -78
- package/plugins/pbr/templates/codebase/STACK.md.tmpl +78 -78
- package/plugins/pbr/templates/codebase/STRUCTURE.md.tmpl +80 -80
- package/plugins/pbr/templates/codebase/TESTING.md.tmpl +107 -107
- package/plugins/pbr/templates/continue-here.md.tmpl +73 -73
- package/plugins/pbr/templates/prompt-partials/phase-project-context.md.tmpl +37 -37
- package/plugins/pbr/templates/research/ARCHITECTURE.md.tmpl +124 -124
- package/plugins/pbr/templates/research/STACK.md.tmpl +71 -71
- package/plugins/pbr/templates/research/SUMMARY.md.tmpl +112 -112
- package/plugins/pbr/templates/research-outputs/phase-research.md.tmpl +81 -81
- package/plugins/pbr/templates/research-outputs/project-research.md.tmpl +99 -99
- 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} |
|