@cluesmith/codev 3.2.4 → 3.3.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/dashboard-dist/assets/index-BZRTEMtH.css +32 -0
- package/dashboard-dist/assets/{index-BZ1x7x1X.js → index-JCbkpAcV.js} +33 -33
- package/dashboard-dist/assets/index-JCbkpAcV.js.map +1 -0
- package/dashboard-dist/index.html +2 -2
- package/dist/agent-farm/cli.d.ts.map +1 -1
- package/dist/agent-farm/cli.js +142 -0
- package/dist/agent-farm/cli.js.map +1 -1
- package/dist/agent-farm/commands/cleanup.d.ts.map +1 -1
- package/dist/agent-farm/commands/cleanup.js +16 -0
- package/dist/agent-farm/commands/cleanup.js.map +1 -1
- package/dist/agent-farm/commands/inbox.d.ts +42 -0
- package/dist/agent-farm/commands/inbox.d.ts.map +1 -0
- package/dist/agent-farm/commands/inbox.js +129 -0
- package/dist/agent-farm/commands/inbox.js.map +1 -0
- package/dist/agent-farm/commands/interrupt.d.ts +20 -0
- package/dist/agent-farm/commands/interrupt.d.ts.map +1 -0
- package/dist/agent-farm/commands/interrupt.js +65 -0
- package/dist/agent-farm/commands/interrupt.js.map +1 -0
- package/dist/agent-farm/commands/reset/constants.d.ts +52 -0
- package/dist/agent-farm/commands/reset/constants.d.ts.map +1 -0
- package/dist/agent-farm/commands/reset/constants.js +52 -0
- package/dist/agent-farm/commands/reset/constants.js.map +1 -0
- package/dist/agent-farm/commands/reset/context.d.ts +230 -0
- package/dist/agent-farm/commands/reset/context.d.ts.map +1 -0
- package/dist/agent-farm/commands/reset/context.js +428 -0
- package/dist/agent-farm/commands/reset/context.js.map +1 -0
- package/dist/agent-farm/commands/reset/index.d.ts +192 -0
- package/dist/agent-farm/commands/reset/index.d.ts.map +1 -0
- package/dist/agent-farm/commands/reset/index.js +488 -0
- package/dist/agent-farm/commands/reset/index.js.map +1 -0
- package/dist/agent-farm/commands/reset/receipt.d.ts +97 -0
- package/dist/agent-farm/commands/reset/receipt.d.ts.map +1 -0
- package/dist/agent-farm/commands/reset/receipt.js +149 -0
- package/dist/agent-farm/commands/reset/receipt.js.map +1 -0
- package/dist/agent-farm/commands/reset/reorient.d.ts +117 -0
- package/dist/agent-farm/commands/reset/reorient.d.ts.map +1 -0
- package/dist/agent-farm/commands/reset/reorient.js +313 -0
- package/dist/agent-farm/commands/reset/reorient.js.map +1 -0
- package/dist/agent-farm/commands/reset.d.ts +19 -0
- package/dist/agent-farm/commands/reset.d.ts.map +1 -0
- package/dist/agent-farm/commands/reset.js +292 -0
- package/dist/agent-farm/commands/reset.js.map +1 -0
- package/dist/agent-farm/commands/send.d.ts.map +1 -1
- package/dist/agent-farm/commands/send.js +49 -8
- package/dist/agent-farm/commands/send.js.map +1 -1
- package/dist/agent-farm/commands/spawn-worktree.d.ts +105 -6
- package/dist/agent-farm/commands/spawn-worktree.d.ts.map +1 -1
- package/dist/agent-farm/commands/spawn-worktree.js +289 -66
- package/dist/agent-farm/commands/spawn-worktree.js.map +1 -1
- package/dist/agent-farm/commands/spawn.d.ts.map +1 -1
- package/dist/agent-farm/commands/spawn.js +13 -1
- package/dist/agent-farm/commands/spawn.js.map +1 -1
- package/dist/agent-farm/commands/status.d.ts.map +1 -1
- package/dist/agent-farm/commands/status.js +80 -8
- package/dist/agent-farm/commands/status.js.map +1 -1
- package/dist/agent-farm/db/index.d.ts +1 -1
- package/dist/agent-farm/db/index.d.ts.map +1 -1
- package/dist/agent-farm/db/index.js +80 -1
- package/dist/agent-farm/db/index.js.map +1 -1
- package/dist/agent-farm/db/mailbox.d.ts +222 -0
- package/dist/agent-farm/db/mailbox.d.ts.map +1 -0
- package/dist/agent-farm/db/mailbox.js +304 -0
- package/dist/agent-farm/db/mailbox.js.map +1 -0
- package/dist/agent-farm/db/schema.d.ts +1 -1
- package/dist/agent-farm/db/schema.d.ts.map +1 -1
- package/dist/agent-farm/db/schema.js +35 -0
- package/dist/agent-farm/db/schema.js.map +1 -1
- package/dist/agent-farm/db/types.d.ts +45 -0
- package/dist/agent-farm/db/types.d.ts.map +1 -1
- package/dist/agent-farm/db/types.js.map +1 -1
- package/dist/agent-farm/lib/builder-lookup.d.ts +1 -1
- package/dist/agent-farm/lib/builder-lookup.js +2 -2
- package/dist/agent-farm/lib/builder-lookup.js.map +1 -1
- package/dist/agent-farm/lib/reconnect-backoff.d.ts +54 -0
- package/dist/agent-farm/lib/reconnect-backoff.d.ts.map +1 -0
- package/dist/agent-farm/lib/reconnect-backoff.js +47 -0
- package/dist/agent-farm/lib/reconnect-backoff.js.map +1 -0
- package/dist/agent-farm/lib/tower-client.d.ts +16 -6
- package/dist/agent-farm/lib/tower-client.d.ts.map +1 -1
- package/dist/agent-farm/lib/tower-client.js +37 -6
- package/dist/agent-farm/lib/tower-client.js.map +1 -1
- package/dist/agent-farm/lib/tunnel-client.d.ts +69 -1
- package/dist/agent-farm/lib/tunnel-client.d.ts.map +1 -1
- package/dist/agent-farm/lib/tunnel-client.js +218 -27
- package/dist/agent-farm/lib/tunnel-client.js.map +1 -1
- package/dist/agent-farm/servers/cron-delivery.d.ts +72 -0
- package/dist/agent-farm/servers/cron-delivery.d.ts.map +1 -0
- package/dist/agent-farm/servers/cron-delivery.js +80 -0
- package/dist/agent-farm/servers/cron-delivery.js.map +1 -0
- package/dist/agent-farm/servers/delayed-send.d.ts +85 -0
- package/dist/agent-farm/servers/delayed-send.d.ts.map +1 -0
- package/dist/agent-farm/servers/delayed-send.js +165 -0
- package/dist/agent-farm/servers/delayed-send.js.map +1 -0
- package/dist/agent-farm/servers/gate-profiles.d.ts +67 -0
- package/dist/agent-farm/servers/gate-profiles.d.ts.map +1 -0
- package/dist/agent-farm/servers/gate-profiles.js +113 -0
- package/dist/agent-farm/servers/gate-profiles.js.map +1 -0
- package/dist/agent-farm/servers/mailbox-delivery.d.ts +370 -0
- package/dist/agent-farm/servers/mailbox-delivery.d.ts.map +1 -0
- package/dist/agent-farm/servers/mailbox-delivery.js +617 -0
- package/dist/agent-farm/servers/mailbox-delivery.js.map +1 -0
- package/dist/agent-farm/servers/mailbox-wiring.d.ts +125 -0
- package/dist/agent-farm/servers/mailbox-wiring.d.ts.map +1 -0
- package/dist/agent-farm/servers/mailbox-wiring.js +425 -0
- package/dist/agent-farm/servers/mailbox-wiring.js.map +1 -0
- package/dist/agent-farm/servers/message-write.d.ts +53 -1
- package/dist/agent-farm/servers/message-write.d.ts.map +1 -1
- package/dist/agent-farm/servers/message-write.js +63 -0
- package/dist/agent-farm/servers/message-write.js.map +1 -1
- package/dist/agent-farm/servers/overview.d.ts.map +1 -1
- package/dist/agent-farm/servers/overview.js +23 -4
- package/dist/agent-farm/servers/overview.js.map +1 -1
- package/dist/agent-farm/servers/render-gate.d.ts +141 -0
- package/dist/agent-farm/servers/render-gate.d.ts.map +1 -0
- package/dist/agent-farm/servers/render-gate.js +251 -0
- package/dist/agent-farm/servers/render-gate.js.map +1 -0
- package/dist/agent-farm/servers/session-submit.d.ts +90 -0
- package/dist/agent-farm/servers/session-submit.d.ts.map +1 -0
- package/dist/agent-farm/servers/session-submit.js +127 -0
- package/dist/agent-farm/servers/session-submit.js.map +1 -0
- package/dist/agent-farm/servers/tower-cron.d.ts +10 -7
- package/dist/agent-farm/servers/tower-cron.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-cron.js +58 -53
- package/dist/agent-farm/servers/tower-cron.js.map +1 -1
- package/dist/agent-farm/servers/tower-instances.d.ts +14 -2
- package/dist/agent-farm/servers/tower-instances.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-instances.js +78 -16
- package/dist/agent-farm/servers/tower-instances.js.map +1 -1
- package/dist/agent-farm/servers/tower-messages.d.ts +38 -1
- package/dist/agent-farm/servers/tower-messages.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-messages.js +106 -1
- package/dist/agent-farm/servers/tower-messages.js.map +1 -1
- package/dist/agent-farm/servers/tower-routes.d.ts +16 -4
- package/dist/agent-farm/servers/tower-routes.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-routes.js +670 -105
- package/dist/agent-farm/servers/tower-routes.js.map +1 -1
- package/dist/agent-farm/servers/tower-server.js +163 -31
- package/dist/agent-farm/servers/tower-server.js.map +1 -1
- package/dist/agent-farm/servers/tower-terminals.d.ts +17 -2
- package/dist/agent-farm/servers/tower-terminals.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-terminals.js +104 -122
- package/dist/agent-farm/servers/tower-terminals.js.map +1 -1
- package/dist/agent-farm/servers/tower-tunnel.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-tunnel.js +63 -4
- package/dist/agent-farm/servers/tower-tunnel.js.map +1 -1
- package/dist/agent-farm/servers/tower-types.d.ts +2 -1
- package/dist/agent-farm/servers/tower-types.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-utils.d.ts +64 -1
- package/dist/agent-farm/servers/tower-utils.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-utils.js +168 -1
- package/dist/agent-farm/servers/tower-utils.js.map +1 -1
- package/dist/agent-farm/servers/tower-websocket.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-websocket.js +6 -21
- package/dist/agent-farm/servers/tower-websocket.js.map +1 -1
- package/dist/agent-farm/servers/write-queue.d.ts +35 -0
- package/dist/agent-farm/servers/write-queue.d.ts.map +1 -0
- package/dist/agent-farm/servers/write-queue.js +56 -0
- package/dist/agent-farm/servers/write-queue.js.map +1 -0
- package/dist/agent-farm/types.d.ts +39 -0
- package/dist/agent-farm/types.d.ts.map +1 -1
- package/dist/agent-farm/utils/agent-names.d.ts +2 -2
- package/dist/agent-farm/utils/agent-names.d.ts.map +1 -1
- package/dist/agent-farm/utils/agent-names.js +3 -3
- package/dist/agent-farm/utils/agent-names.js.map +1 -1
- package/dist/agent-farm/utils/architect-name.d.ts +2 -2
- package/dist/agent-farm/utils/architect-name.d.ts.map +1 -1
- package/dist/agent-farm/utils/architect-name.js +3 -3
- package/dist/agent-farm/utils/architect-name.js.map +1 -1
- package/dist/agent-farm/utils/config.d.ts +13 -0
- package/dist/agent-farm/utils/config.d.ts.map +1 -1
- package/dist/agent-farm/utils/config.js +33 -1
- package/dist/agent-farm/utils/config.js.map +1 -1
- package/dist/agent-farm/utils/harness.d.ts +103 -7
- package/dist/agent-farm/utils/harness.d.ts.map +1 -1
- package/dist/agent-farm/utils/harness.js +126 -19
- package/dist/agent-farm/utils/harness.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +6 -32
- package/dist/cli.js.map +1 -1
- package/dist/commands/consult/cli-options.d.ts +34 -0
- package/dist/commands/consult/cli-options.d.ts.map +1 -0
- package/dist/commands/consult/cli-options.js +67 -0
- package/dist/commands/consult/cli-options.js.map +1 -0
- package/dist/commands/consult/index.d.ts +56 -2
- package/dist/commands/consult/index.d.ts.map +1 -1
- package/dist/commands/consult/index.js +272 -28
- package/dist/commands/consult/index.js.map +1 -1
- package/dist/commands/consult/metrics.d.ts +42 -0
- package/dist/commands/consult/metrics.d.ts.map +1 -1
- package/dist/commands/consult/metrics.js +129 -9
- package/dist/commands/consult/metrics.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +71 -19
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/porch/checks.d.ts +23 -0
- package/dist/commands/porch/checks.d.ts.map +1 -1
- package/dist/commands/porch/checks.js +60 -0
- package/dist/commands/porch/checks.js.map +1 -1
- package/dist/commands/porch/config.d.ts +20 -0
- package/dist/commands/porch/config.d.ts.map +1 -1
- package/dist/commands/porch/config.js +20 -0
- package/dist/commands/porch/config.js.map +1 -1
- package/dist/commands/porch/index.js +21 -28
- package/dist/commands/porch/index.js.map +1 -1
- package/dist/commands/porch/next.d.ts.map +1 -1
- package/dist/commands/porch/next.js +2 -41
- package/dist/commands/porch/next.js.map +1 -1
- package/dist/lib/config.d.ts +69 -3
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +67 -3
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/consult-lanes.d.ts +149 -0
- package/dist/lib/consult-lanes.d.ts.map +1 -0
- package/dist/lib/consult-lanes.js +360 -0
- package/dist/lib/consult-lanes.js.map +1 -0
- package/dist/lib/github.js +1 -1
- package/dist/lib/github.js.map +1 -1
- package/dist/lib/prompt-behavior-metrics.d.ts +67 -0
- package/dist/lib/prompt-behavior-metrics.d.ts.map +1 -0
- package/dist/lib/prompt-behavior-metrics.js +290 -0
- package/dist/lib/prompt-behavior-metrics.js.map +1 -0
- package/dist/lib/skeleton.d.ts +22 -1
- package/dist/lib/skeleton.d.ts.map +1 -1
- package/dist/lib/skeleton.js +120 -0
- package/dist/lib/skeleton.js.map +1 -1
- package/dist/lib/test-env.d.ts +74 -0
- package/dist/lib/test-env.d.ts.map +1 -0
- package/dist/lib/test-env.js +92 -0
- package/dist/lib/test-env.js.map +1 -0
- package/dist/terminal/pty-manager.d.ts +2 -0
- package/dist/terminal/pty-manager.d.ts.map +1 -1
- package/dist/terminal/pty-manager.js +16 -6
- package/dist/terminal/pty-manager.js.map +1 -1
- package/dist/terminal/pty-session.d.ts +131 -0
- package/dist/terminal/pty-session.d.ts.map +1 -1
- package/dist/terminal/pty-session.js +232 -39
- package/dist/terminal/pty-session.js.map +1 -1
- package/dist/terminal/ring-buffer.d.ts +39 -6
- package/dist/terminal/ring-buffer.d.ts.map +1 -1
- package/dist/terminal/ring-buffer.js +74 -6
- package/dist/terminal/ring-buffer.js.map +1 -1
- package/dist/terminal/session-manager.d.ts +53 -0
- package/dist/terminal/session-manager.d.ts.map +1 -1
- package/dist/terminal/session-manager.js +94 -9
- package/dist/terminal/session-manager.js.map +1 -1
- package/dist/terminal/session-screen.d.ts +91 -0
- package/dist/terminal/session-screen.d.ts.map +1 -0
- package/dist/terminal/session-screen.js +135 -0
- package/dist/terminal/session-screen.js.map +1 -0
- package/dist/terminal/shellper-main.js +2 -1
- package/dist/terminal/shellper-main.js.map +1 -1
- package/dist/terminal/shellper-process.d.ts +1 -1
- package/dist/terminal/shellper-process.d.ts.map +1 -1
- package/dist/terminal/shellper-process.js +17 -8
- package/dist/terminal/shellper-process.js.map +1 -1
- package/dist/terminal/shellper-replay-buffer.d.ts +69 -7
- package/dist/terminal/shellper-replay-buffer.d.ts.map +1 -1
- package/dist/terminal/shellper-replay-buffer.js +167 -31
- package/dist/terminal/shellper-replay-buffer.js.map +1 -1
- package/package.json +8 -6
- package/skeleton/.claude/skills/afx/SKILL.md +14 -1
- package/skeleton/.claude/skills/arch-init/SKILL.md +22 -9
- package/skeleton/.claude/skills/arch-save/SKILL.md +183 -0
- package/skeleton/.claude/skills/codev/SKILL.md +31 -0
- package/skeleton/.claude/skills/runnable-worktrees/SKILL.md +119 -0
- package/skeleton/.codex/skills/afx/SKILL.md +14 -1
- package/skeleton/.codex/skills/arch-init/SKILL.md +22 -9
- package/skeleton/.codex/skills/arch-save/SKILL.md +183 -0
- package/skeleton/.codex/skills/codev/SKILL.md +31 -0
- package/skeleton/.codex/skills/runnable-worktrees/SKILL.md +119 -0
- package/skeleton/protocols/air/builder-prompt.md +28 -47
- package/skeleton/protocols/air/consult-types/impl-review.md +17 -34
- package/skeleton/protocols/air/consult-types/pr-review.md +14 -37
- package/skeleton/protocols/air/prompts/implement.md +20 -73
- package/skeleton/protocols/air/prompts/pr.md +22 -54
- package/skeleton/protocols/air/protocol.md +40 -71
- package/skeleton/protocols/aspir/builder-prompt.md +29 -66
- package/skeleton/protocols/aspir/consult-types/impl-review.md +17 -44
- package/skeleton/protocols/aspir/consult-types/phase-review.md +17 -44
- package/skeleton/protocols/aspir/consult-types/plan-review.md +14 -38
- package/skeleton/protocols/aspir/consult-types/pr-review.md +13 -39
- package/skeleton/protocols/aspir/consult-types/spec-review.md +13 -33
- package/skeleton/protocols/aspir/prompts/implement.md +27 -196
- package/skeleton/protocols/aspir/prompts/plan.md +21 -85
- package/skeleton/protocols/aspir/prompts/review.md +29 -228
- package/skeleton/protocols/aspir/prompts/specify.md +25 -111
- package/skeleton/protocols/aspir/protocol.json +10 -0
- package/skeleton/protocols/aspir/protocol.md +36 -82
- package/skeleton/protocols/bugfix/builder-prompt.md +23 -45
- package/skeleton/protocols/bugfix/consult-types/impl-review.md +21 -45
- package/skeleton/protocols/bugfix/consult-types/pr-review.md +18 -52
- package/skeleton/protocols/bugfix/prompts/fix.md +16 -61
- package/skeleton/protocols/bugfix/prompts/investigate.md +18 -62
- package/skeleton/protocols/bugfix/prompts/pr.md +22 -57
- package/skeleton/protocols/bugfix/protocol.md +44 -50
- package/skeleton/protocols/experiment/builder-prompt.md +25 -58
- package/skeleton/protocols/experiment/protocol.md +22 -188
- package/skeleton/protocols/experiment/templates/notes.md +11 -71
- package/skeleton/protocols/maintain/builder-prompt.md +24 -45
- package/skeleton/protocols/maintain/consult-types/impl-review.md +17 -44
- package/skeleton/protocols/maintain/consult-types/pr-review.md +13 -39
- package/skeleton/protocols/maintain/prompts/maintain.md +1 -1
- package/skeleton/protocols/maintain/protocol.md +32 -266
- package/skeleton/protocols/maintain/templates/maintenance-run.md +11 -0
- package/skeleton/protocols/pir/builder-prompt.md +30 -64
- package/skeleton/protocols/pir/consult-types/impl-review.md +17 -50
- package/skeleton/protocols/pir/consult-types/pr-review.md +11 -40
- package/skeleton/protocols/pir/prompts/implement.md +1 -2
- package/skeleton/protocols/pir/prompts/plan.md +0 -3
- package/skeleton/protocols/pir/prompts/review.md +1 -1
- package/skeleton/protocols/pir/protocol.md +54 -177
- package/skeleton/protocols/research/builder-prompt.md +27 -58
- package/skeleton/protocols/research/protocol.md +28 -153
- package/skeleton/protocols/spike/builder-prompt.md +30 -48
- package/skeleton/protocols/spike/protocol.md +24 -107
- package/skeleton/protocols/spike/templates/findings.md +9 -39
- package/skeleton/protocols/spir/builder-prompt.md +33 -62
- package/skeleton/protocols/spir/consult-types/impl-review.md +17 -44
- package/skeleton/protocols/spir/consult-types/phase-review.md +17 -44
- package/skeleton/protocols/spir/consult-types/plan-review.md +14 -38
- package/skeleton/protocols/spir/consult-types/pr-review.md +13 -39
- package/skeleton/protocols/spir/consult-types/spec-review.md +13 -33
- package/skeleton/protocols/spir/prompts/implement.md +26 -195
- package/skeleton/protocols/spir/prompts/plan.md +20 -84
- package/skeleton/protocols/spir/prompts/review.md +28 -227
- package/skeleton/protocols/spir/prompts/specify.md +24 -110
- package/skeleton/protocols/spir/protocol.json +10 -0
- package/skeleton/protocols/spir/protocol.md +84 -633
- package/skeleton/protocols/spir/templates/plan.md +28 -147
- package/skeleton/protocols/spir/templates/review.md +21 -80
- package/skeleton/protocols/spir/templates/spec.md +24 -118
- package/skeleton/resources/commands/agent-farm.md +259 -0
- package/skeleton/resources/commands/consult.md +236 -8
- package/skeleton/resources/commands/overview.md +1 -0
- package/skeleton/roles/architect.md +67 -317
- package/skeleton/roles/builder.md +77 -191
- package/skeleton/templates/AGENTS.md +2 -0
- package/skeleton/templates/CLAUDE.md +2 -0
- package/templates/tower.html +39 -2
- package/dashboard-dist/assets/index-BZ1x7x1X.js.map +0 -1
- package/dashboard-dist/assets/index-DB1KBSNE.css +0 -32
- package/dist/agent-farm/servers/send-buffer.d.ts +0 -59
- package/dist/agent-farm/servers/send-buffer.d.ts.map +0 -1
- package/dist/agent-farm/servers/send-buffer.js +0 -116
- package/dist/agent-farm/servers/send-buffer.js.map +0 -1
- package/skeleton/porch/prompts/defend.md +0 -108
- package/skeleton/porch/prompts/diagnose.md +0 -70
- package/skeleton/porch/prompts/evaluate.md +0 -132
- package/skeleton/porch/prompts/fix.md +0 -59
- package/skeleton/porch/prompts/implement.md +0 -88
- package/skeleton/porch/prompts/plan.md +0 -74
- package/skeleton/porch/prompts/pr.md +0 -84
- package/skeleton/porch/prompts/review.md +0 -249
- package/skeleton/porch/prompts/specify.md +0 -53
- package/skeleton/porch/prompts/test.md +0 -63
- package/skeleton/protocols/aspir/templates/plan.md +0 -184
- package/skeleton/protocols/aspir/templates/review.md +0 -120
- package/skeleton/protocols/aspir/templates/spec.md +0 -154
|
@@ -4,36 +4,33 @@ You are implementing {{input_description}}.
|
|
|
4
4
|
|
|
5
5
|
{{#if mode_soft}}
|
|
6
6
|
## Mode: SOFT
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
- The architect monitors your work and verifies you're adhering to the protocol
|
|
10
|
-
- Run consultations manually when the protocol calls for them
|
|
11
|
-
- You have flexibility in execution, but must stay compliant with the protocol
|
|
7
|
+
|
|
8
|
+
You follow the protocol yourself; the architect verifies compliance.
|
|
12
9
|
{{/if}}
|
|
13
10
|
|
|
14
11
|
{{#if mode_strict}}
|
|
15
12
|
## Mode: STRICT
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
-
|
|
19
|
-
- Follow porch signals and gate approvals
|
|
20
|
-
- Do not deviate from the porch-driven workflow
|
|
21
|
-
|
|
22
|
-
### ABSOLUTE RESTRICTIONS (STRICT MODE)
|
|
23
|
-
- **NEVER edit `status.yaml` directly** — only porch commands may modify project state
|
|
24
|
-
- **NEVER call `porch approve` without explicit human approval** — only run it after the architect says to
|
|
25
|
-
- **NEVER skip the 3-way review** — always follow porch next → porch done cycle
|
|
26
|
-
- **NEVER advance plan phases manually** — porch handles phase transitions after unanimous review approval
|
|
13
|
+
|
|
14
|
+
Porch orchestrates. `porch next` gives you tasks; `porch done` signals completion. Never
|
|
15
|
+
hand-edit `status.yaml` — only porch commands modify project state.
|
|
27
16
|
{{/if}}
|
|
28
17
|
|
|
29
18
|
## Protocol
|
|
30
|
-
|
|
19
|
+
|
|
20
|
+
Follow the ASPIR protocol. The full protocol text is inlined below under **## Protocol Reference (full text)** — you do not
|
|
21
|
+
need to fetch it.
|
|
31
22
|
|
|
32
23
|
## Baked Decisions
|
|
33
24
|
|
|
34
|
-
If the issue body contains a section named "Baked Decisions" (any heading level,
|
|
25
|
+
If the issue body contains a section named "Baked Decisions" (any heading level,
|
|
26
|
+
case-insensitive), treat its contents as fixed architectural decisions baked in by the
|
|
27
|
+
architect. Do not autonomously override them in your spec, plan, or implementation. If you
|
|
28
|
+
discover a serious reason to question a baked decision, surface that concern to the architect
|
|
29
|
+
via `afx send` rather than relitigating it inside the spec/plan/review.
|
|
35
30
|
|
|
36
|
-
If the architect's baked-decisions section contains internal contradictions (e.g., two different
|
|
31
|
+
If the architect's baked-decisions section contains internal contradictions (e.g., two different
|
|
32
|
+
language choices), do not pick one — pause, flag the contradiction to the architect via
|
|
33
|
+
`afx send`, and wait for resolution before proceeding.
|
|
37
34
|
|
|
38
35
|
{{#if spec}}
|
|
39
36
|
## Spec
|
|
@@ -53,37 +50,25 @@ Follow the implementation plan at: `{{plan.path}}`
|
|
|
53
50
|
{{issue.body}}
|
|
54
51
|
{{/if}}
|
|
55
52
|
|
|
56
|
-
{{#if task}}
|
|
57
|
-
## Task
|
|
58
|
-
{{task_text}}
|
|
59
|
-
{{/if}}
|
|
60
|
-
|
|
61
53
|
## PR Strategy
|
|
62
54
|
|
|
63
|
-
**Do not autonomously open a PR per implementation phase.** Plan phases ship as git commits
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
### Architect-requested PRs
|
|
68
|
-
|
|
69
|
-
The architect MAY request a PR at any point — for spec review, mid-implementation feedback, slicing a large spec into shippable PRs, etc. When the architect explicitly asks for a PR earlier (or for additional PRs), follow that direction. The prohibition is specifically on the *builder* autonomously deciding to open per-phase PRs without architect request.
|
|
55
|
+
**Do not autonomously open a PR per implementation phase.** Plan phases ship as git commits
|
|
56
|
+
within a single PR, not as separate PRs. The plan's instruction that "each phase commits
|
|
57
|
+
independently" refers to git commits, not PRs.
|
|
70
58
|
|
|
71
|
-
|
|
59
|
+
By default, the PR is opened during/after the final implement phase, with all phase-commits
|
|
60
|
+
already on the branch.
|
|
72
61
|
|
|
73
|
-
|
|
62
|
+
The architect MAY request a PR at any point — follow that direction when they do; the
|
|
63
|
+
prohibition is on *you* deciding to open per-phase PRs unasked.
|
|
74
64
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
3. Continue to the next slice, open another PR
|
|
78
|
-
|
|
79
|
-
**Important**: Do NOT run `git checkout <integration-branch>` — git worktrees cannot check out a branch that's checked out elsewhere. Always branch off `origin/<integration-branch>` via fetch.
|
|
80
|
-
|
|
81
|
-
Record PRs: `porch done {{project_id}} --pr <N> --branch <name>`
|
|
82
|
-
Record merges: `porch done {{project_id}} --merged <N>`
|
|
65
|
+
Record them: `porch done {{project_id}} --pr <N> --branch <name>`, and
|
|
66
|
+
`porch done {{project_id}} --merged <N>`.
|
|
83
67
|
|
|
84
68
|
## Verify Phase
|
|
85
69
|
|
|
86
|
-
After the final PR merges
|
|
70
|
+
After the final PR merges the project enters **verify**, and you stay alive through it:
|
|
71
|
+
|
|
87
72
|
1. Pull the integration branch into your worktree
|
|
88
73
|
2. Run `porch done {{project_id}}` to signal verification is ready
|
|
89
74
|
3. The architect approves `verify-approval` when satisfied
|
|
@@ -91,28 +76,6 @@ After the final PR merges, the project enters the **verify** phase. You stay ali
|
|
|
91
76
|
If verification is not needed: `porch verify {{project_id}} --skip "reason"`
|
|
92
77
|
|
|
93
78
|
## Notifications
|
|
94
|
-
Always use `afx send architect "..."` to notify the architect at key moments:
|
|
95
|
-
- **Gate reached**: `afx send architect "Project {{project_id}}: <gate-name> ready for approval"`
|
|
96
|
-
- **PR ready**: `afx send architect "PR #N ready for review (project {{project_id}})"`
|
|
97
|
-
- **PR merged**: `afx send architect "Project {{project_id}} PR merged. Entering verify phase."`
|
|
98
|
-
- **Blocked**: `afx send architect "Blocked on project {{project_id}}: [reason]"`
|
|
99
|
-
|
|
100
|
-
## Handling Flaky Tests
|
|
101
|
-
|
|
102
|
-
If you encounter **pre-existing flaky tests** (intermittent failures unrelated to your changes):
|
|
103
|
-
1. **DO NOT** edit `status.yaml` to bypass checks
|
|
104
|
-
2. **DO NOT** skip porch checks or use any workaround to avoid the failure
|
|
105
|
-
3. **DO** mark the test as skipped with a clear annotation (e.g., `it.skip('...') // FLAKY: skipped pending investigation`)
|
|
106
|
-
4. **DO** document each skipped flaky test in your review under a `## Flaky Tests` section
|
|
107
|
-
5. Commit the skip and continue with your work
|
|
108
|
-
|
|
109
|
-
## Getting Started
|
|
110
|
-
1. Read the protocol document thoroughly
|
|
111
|
-
2. Review the spec and plan (if available)
|
|
112
|
-
3. Begin implementation following the protocol phases
|
|
113
|
-
|
|
114
|
-
---
|
|
115
|
-
|
|
116
|
-
## Protocol Reference (full text)
|
|
117
79
|
|
|
118
|
-
|
|
80
|
+
The architect is not watching. `afx send architect "..."` at each of: gate reached, PR ready, PR
|
|
81
|
+
merged, blocked.
|
|
@@ -1,42 +1,28 @@
|
|
|
1
1
|
# Implementation Review Prompt
|
|
2
2
|
|
|
3
3
|
## Context
|
|
4
|
-
You are reviewing implementation work during the Implement phase. A builder has completed a plan phase and needs feedback before proceeding. Your job is to verify the implementation matches the spec and plan.
|
|
5
4
|
|
|
6
|
-
|
|
5
|
+
You are reviewing implementation work during the Implement phase. A builder has completed a plan phase and needs feedback before proceeding. Verify the implementation matches the spec and plan.
|
|
7
6
|
|
|
8
|
-
|
|
9
|
-
1. **Check `package.json`** for actual dependency versions — framework conventions change between major versions
|
|
10
|
-
2. **Read the actual config files** (or confirm their deliberate absence) before flagging missing configs
|
|
11
|
-
3. **Do not assume** your training data reflects the version in use — verify against project files
|
|
12
|
-
4. If "Previous Iteration Context" is provided, read it carefully before re-raising concerns that were already disputed
|
|
7
|
+
## Verify before flagging
|
|
13
8
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
1. **Spec Adherence**
|
|
17
|
-
- Does the implementation fulfill the spec requirements for this phase?
|
|
18
|
-
- Are acceptance criteria met?
|
|
19
|
-
|
|
20
|
-
2. **Code Quality**
|
|
21
|
-
- Is the code readable and maintainable?
|
|
22
|
-
- Are there obvious bugs or issues?
|
|
23
|
-
- Are error cases handled appropriately?
|
|
9
|
+
Before requesting changes for missing configuration, wrong patterns, or framework issues, confirm the claim against the project rather than your training data:
|
|
24
10
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
11
|
+
- Check `package.json` for the actual dependency versions — framework conventions change between major versions.
|
|
12
|
+
- Read the actual config files (or confirm their deliberate absence) before flagging a missing config.
|
|
13
|
+
- If "Previous Iteration Context" is provided, read it before re-raising concerns already disputed.
|
|
28
14
|
|
|
29
|
-
|
|
30
|
-
- Does the implementation follow the plan?
|
|
31
|
-
- Are there plan items skipped or partially completed?
|
|
15
|
+
## Focus Areas
|
|
32
16
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
17
|
+
- **Spec Adherence** — the implementation fulfills the spec requirements for this phase; acceptance criteria are met.
|
|
18
|
+
- **Code Quality** — readable and maintainable; no obvious bugs; error cases handled.
|
|
19
|
+
- **Test Coverage** — tests are adequate for this phase and cover main paths and edge cases.
|
|
20
|
+
- **Plan Alignment** — the implementation follows the plan; no plan items silently skipped.
|
|
21
|
+
- **UX Verification** (if the spec has UX requirements) — the actual behavior matches what the spec describes (e.g. "async"/"non-blocking" really is).
|
|
36
22
|
|
|
37
23
|
## Verdict Format
|
|
38
24
|
|
|
39
|
-
|
|
25
|
+
Provide your verdict in exactly this format — `consult` parses it:
|
|
40
26
|
|
|
41
27
|
```
|
|
42
28
|
---
|
|
@@ -50,23 +36,10 @@ KEY_ISSUES:
|
|
|
50
36
|
...
|
|
51
37
|
```
|
|
52
38
|
|
|
53
|
-
|
|
54
|
-
- `
|
|
55
|
-
- `
|
|
56
|
-
- `COMMENT`: Minor suggestions, can proceed but note feedback
|
|
39
|
+
- `APPROVE`: phase is complete, builder can proceed.
|
|
40
|
+
- `REQUEST_CHANGES`: issues that must be fixed before proceeding.
|
|
41
|
+
- `COMMENT`: minor suggestions; can proceed but note the feedback.
|
|
57
42
|
|
|
58
43
|
## Scoping (Multi-Phase Plans)
|
|
59
44
|
|
|
60
|
-
|
|
61
|
-
- **ONLY review work belonging to the current plan phase**
|
|
62
|
-
- The query will specify which phase you are reviewing
|
|
63
|
-
- Do NOT request changes for functionality scheduled in later phases
|
|
64
|
-
- Do NOT flag missing features that are out of scope for this phase
|
|
65
|
-
- If unsure whether something belongs to this phase, check the plan file
|
|
66
|
-
|
|
67
|
-
## Notes
|
|
68
|
-
|
|
69
|
-
- This is a phase-level review, not the final PR review
|
|
70
|
-
- Focus on "does this phase work" not "is the whole feature done"
|
|
71
|
-
- If referencing line numbers, use `file:line` format
|
|
72
|
-
- The builder needs actionable feedback to continue
|
|
45
|
+
Review **only the current plan phase** — the query names which one. Do not request changes for functionality scheduled in later phases, and do not flag missing features that are out of scope for this phase. If unsure whether something belongs to this phase, check the plan file. This is a phase-level review ("does this phase work"), not the final PR review.
|
|
@@ -1,42 +1,28 @@
|
|
|
1
1
|
# Implementation Review Prompt
|
|
2
2
|
|
|
3
3
|
## Context
|
|
4
|
-
You are reviewing implementation work during the Implement phase. A builder has completed a plan phase and needs feedback before proceeding. Your job is to verify the implementation matches the spec and plan.
|
|
5
4
|
|
|
6
|
-
|
|
5
|
+
You are reviewing implementation work during the Implement phase. A builder has completed a plan phase and needs feedback before proceeding. Verify the implementation matches the spec and plan.
|
|
7
6
|
|
|
8
|
-
|
|
9
|
-
1. **Check `package.json`** for actual dependency versions — framework conventions change between major versions
|
|
10
|
-
2. **Read the actual config files** (or confirm their deliberate absence) before flagging missing configs
|
|
11
|
-
3. **Do not assume** your training data reflects the version in use — verify against project files
|
|
12
|
-
4. If "Previous Iteration Context" is provided, read it carefully before re-raising concerns that were already disputed
|
|
7
|
+
## Verify before flagging
|
|
13
8
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
1. **Spec Adherence**
|
|
17
|
-
- Does the implementation fulfill the spec requirements for this phase?
|
|
18
|
-
- Are acceptance criteria met?
|
|
19
|
-
|
|
20
|
-
2. **Code Quality**
|
|
21
|
-
- Is the code readable and maintainable?
|
|
22
|
-
- Are there obvious bugs or issues?
|
|
23
|
-
- Are error cases handled appropriately?
|
|
9
|
+
Before requesting changes for missing configuration, wrong patterns, or framework issues, confirm the claim against the project rather than your training data:
|
|
24
10
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
11
|
+
- Check `package.json` for the actual dependency versions — framework conventions change between major versions.
|
|
12
|
+
- Read the actual config files (or confirm their deliberate absence) before flagging a missing config.
|
|
13
|
+
- If "Previous Iteration Context" is provided, read it before re-raising concerns already disputed.
|
|
28
14
|
|
|
29
|
-
|
|
30
|
-
- Does the implementation follow the plan?
|
|
31
|
-
- Are there plan items skipped or partially completed?
|
|
15
|
+
## Focus Areas
|
|
32
16
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
17
|
+
- **Spec Adherence** — the implementation fulfills the spec requirements for this phase; acceptance criteria are met.
|
|
18
|
+
- **Code Quality** — readable and maintainable; no obvious bugs; error cases handled.
|
|
19
|
+
- **Test Coverage** — tests are adequate for this phase and cover main paths and edge cases.
|
|
20
|
+
- **Plan Alignment** — the implementation follows the plan; no plan items silently skipped.
|
|
21
|
+
- **UX Verification** (if the spec has UX requirements) — the actual behavior matches what the spec describes (e.g. "async"/"non-blocking" really is).
|
|
36
22
|
|
|
37
23
|
## Verdict Format
|
|
38
24
|
|
|
39
|
-
|
|
25
|
+
Provide your verdict in exactly this format — `consult` parses it:
|
|
40
26
|
|
|
41
27
|
```
|
|
42
28
|
---
|
|
@@ -50,23 +36,10 @@ KEY_ISSUES:
|
|
|
50
36
|
...
|
|
51
37
|
```
|
|
52
38
|
|
|
53
|
-
|
|
54
|
-
- `
|
|
55
|
-
- `
|
|
56
|
-
- `COMMENT`: Minor suggestions, can proceed but note feedback
|
|
39
|
+
- `APPROVE`: phase is complete, builder can proceed.
|
|
40
|
+
- `REQUEST_CHANGES`: issues that must be fixed before proceeding.
|
|
41
|
+
- `COMMENT`: minor suggestions; can proceed but note the feedback.
|
|
57
42
|
|
|
58
43
|
## Scoping (Multi-Phase Plans)
|
|
59
44
|
|
|
60
|
-
|
|
61
|
-
- **ONLY review work belonging to the current plan phase**
|
|
62
|
-
- The query will specify which phase you are reviewing
|
|
63
|
-
- Do NOT request changes for functionality scheduled in later phases
|
|
64
|
-
- Do NOT flag missing features that are out of scope for this phase
|
|
65
|
-
- If unsure whether something belongs to this phase, check the plan file
|
|
66
|
-
|
|
67
|
-
## Notes
|
|
68
|
-
|
|
69
|
-
- This is a phase-level review, not the final PR review
|
|
70
|
-
- Focus on "does this phase work" not "is the whole feature done"
|
|
71
|
-
- If referencing line numbers, use `file:line` format
|
|
72
|
-
- The builder needs actionable feedback to continue
|
|
45
|
+
Review **only the current plan phase** — the query names which one. Do not request changes for functionality scheduled in later phases, and do not flag missing features that are out of scope for this phase. If unsure whether something belongs to this phase, check the plan file. This is a phase-level review ("does this phase work"), not the final PR review.
|
|
@@ -1,44 +1,28 @@
|
|
|
1
1
|
# Plan Review Prompt
|
|
2
2
|
|
|
3
3
|
## Context
|
|
4
|
-
|
|
4
|
+
|
|
5
|
+
You are reviewing an implementation plan during the Plan phase. The spec is already approved; judge whether the plan adequately describes HOW to implement it.
|
|
5
6
|
|
|
6
7
|
## Baked Decisions
|
|
7
8
|
|
|
8
|
-
If the issue body or the approved spec's Constraints section includes content under a "Baked Decisions" heading, the architect has marked those choices as fixed
|
|
9
|
+
If the issue body or the approved spec's Constraints section includes content under a "Baked Decisions" heading, the architect has marked those choices as fixed. Do not autonomously challenge them: do not propose alternative languages, frameworks, deployment shapes, or dependencies that contradict a baked decision. You may `COMMENT` with concerns; reserve `REQUEST_CHANGES` for the case where the plan **fails to honor** a stated baked decision — that is a real defect.
|
|
9
10
|
|
|
10
|
-
If the baked decisions themselves
|
|
11
|
+
If the baked decisions themselves contradict each other, do not pick one — `REQUEST_CHANGES` and ask the architect to clarify before proceeding.
|
|
11
12
|
|
|
12
13
|
## Focus Areas
|
|
13
14
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
2. **Phase Breakdown**
|
|
20
|
-
- Are phases appropriately sized (not too large or too small)?
|
|
21
|
-
- Is the sequence logical (dependencies respected)?
|
|
22
|
-
- Can each phase be completed and committed independently?
|
|
23
|
-
|
|
24
|
-
3. **Technical Approach**
|
|
25
|
-
- Is the implementation approach sound?
|
|
26
|
-
- Are the right files/modules being modified?
|
|
27
|
-
- Are there obvious better approaches being missed?
|
|
15
|
+
- **Spec coverage** — every spec requirement is addressed by some phase; nothing goes beyond the spec's scope.
|
|
16
|
+
- **Phase breakdown** — phases are appropriately sized, logically sequenced (dependencies respected), and each can be completed and committed independently.
|
|
17
|
+
- **Technical approach** — the approach is sound, the right files/modules are targeted, and no obviously better approach is being missed.
|
|
18
|
+
- **Testability** — each phase has clear test criteria and the spec's edge cases are addressable.
|
|
19
|
+
- **Risk** — blockers and cross-system dependencies are identified; the plan is realistic given the constraints.
|
|
28
20
|
|
|
29
|
-
|
|
30
|
-
- Does each phase have clear test criteria?
|
|
31
|
-
- Will the Defend step (writing tests) be feasible?
|
|
32
|
-
- Are edge cases from the spec addressable?
|
|
33
|
-
|
|
34
|
-
5. **Risk Assessment**
|
|
35
|
-
- Are there potential blockers not addressed?
|
|
36
|
-
- Are dependencies on other systems identified?
|
|
37
|
-
- Is the plan realistic given constraints?
|
|
21
|
+
The spec is already approved — do not re-litigate spec decisions. Judge the plan as a guide a builder can follow successfully; verify referenced file paths look accurate.
|
|
38
22
|
|
|
39
23
|
## Verdict Format
|
|
40
24
|
|
|
41
|
-
|
|
25
|
+
Provide your verdict in exactly this format — `consult` parses it:
|
|
42
26
|
|
|
43
27
|
```
|
|
44
28
|
---
|
|
@@ -52,14 +36,6 @@ KEY_ISSUES:
|
|
|
52
36
|
...
|
|
53
37
|
```
|
|
54
38
|
|
|
55
|
-
|
|
56
|
-
- `
|
|
57
|
-
- `
|
|
58
|
-
- `COMMENT`: Minor suggestions, plan is workable but could improve
|
|
59
|
-
|
|
60
|
-
## Notes
|
|
61
|
-
|
|
62
|
-
- The spec has already been approved - don't re-litigate spec decisions
|
|
63
|
-
- Focus on the quality of the plan as a guide for builders
|
|
64
|
-
- Consider: Would a builder be able to follow this plan successfully?
|
|
65
|
-
- If referencing existing code, verify file paths seem accurate
|
|
39
|
+
- `APPROVE`: plan is ready for human review.
|
|
40
|
+
- `REQUEST_CHANGES`: significant issues with approach or coverage.
|
|
41
|
+
- `COMMENT`: minor suggestions; the plan is workable but could improve.
|
|
@@ -1,44 +1,24 @@
|
|
|
1
1
|
# PR Ready Review Prompt
|
|
2
2
|
|
|
3
3
|
## Context
|
|
4
|
-
You are performing a final self-check during the Review phase. The builder has completed all implementation phases and is about to create a PR. This is the last check before the work goes to the architect for integration review.
|
|
5
4
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
1. **Completeness**
|
|
9
|
-
- Are all spec requirements implemented?
|
|
10
|
-
- Are all plan phases complete?
|
|
11
|
-
- Is the review document written (`codev/reviews/XXXX-name.md`)?
|
|
12
|
-
- Are all commits properly formatted (`[Spec XXXX][Phase]`)?
|
|
13
|
-
|
|
14
|
-
2. **Test Status**
|
|
15
|
-
- Do all tests pass?
|
|
16
|
-
- Is test coverage adequate for the changes?
|
|
17
|
-
- Are there any skipped or flaky tests?
|
|
5
|
+
You are performing the final self-check during the Review phase — the builder has completed all implementation phases and is about to open the PR. This is the last check before the work goes to the architect for integration review.
|
|
18
6
|
|
|
19
|
-
|
|
20
|
-
- Is there any debug code left in?
|
|
21
|
-
- Are there any TODO comments that should be resolved?
|
|
22
|
-
- Are there any `// REVIEW:` comments that weren't addressed?
|
|
23
|
-
- Is the code properly formatted?
|
|
24
|
-
|
|
25
|
-
4. **Documentation**
|
|
26
|
-
- Are inline comments clear where needed?
|
|
27
|
-
- Is the review document comprehensive?
|
|
28
|
-
- Are any new APIs documented?
|
|
7
|
+
## Focus Areas
|
|
29
8
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
9
|
+
- **Completeness** — all spec requirements implemented, all plan phases complete, the review document written (`codev/reviews/XXXX-name.md`), and commits in the `[Spec XXXX][Phase]` format.
|
|
10
|
+
- **Test Status** — all tests pass, coverage is adequate for the changes, and any skipped/flaky tests are accounted for.
|
|
11
|
+
- **Code Cleanliness** — no debug code, no stray `TODO` / `// REVIEW:` left unaddressed, code properly formatted.
|
|
12
|
+
- **Documentation** — inline comments clear where needed, the review document comprehensive, new APIs documented.
|
|
13
|
+
- **PR Readiness** — the branch is up to date with its base (the integration branch the PR targets), commits are atomic and well-described, and the diff size is reasonable.
|
|
34
14
|
|
|
35
15
|
## Scope
|
|
36
16
|
|
|
37
|
-
|
|
17
|
+
Do not flag the syntax of `git diff` examples that appear in review-file prose (e.g. `git diff ci..HEAD` inside a "Files Changed" caption or "How to Test Locally" section) — quoted diff syntax is documentation, not a command. Apply two-dot/three-dot scrutiny only to diffs you compute yourself.
|
|
38
18
|
|
|
39
19
|
## Verdict Format
|
|
40
20
|
|
|
41
|
-
|
|
21
|
+
Provide your verdict in exactly this format — `consult` parses it:
|
|
42
22
|
|
|
43
23
|
```
|
|
44
24
|
---
|
|
@@ -63,14 +43,8 @@ PR_SUMMARY: |
|
|
|
63
43
|
- [How to test]
|
|
64
44
|
```
|
|
65
45
|
|
|
66
|
-
|
|
67
|
-
- `
|
|
68
|
-
- `
|
|
69
|
-
- `COMMENT`: Minor items, can create PR but note feedback
|
|
70
|
-
|
|
71
|
-
## Notes
|
|
46
|
+
- `APPROVE`: ready to create the PR.
|
|
47
|
+
- `REQUEST_CHANGES`: issues to fix before PR creation.
|
|
48
|
+
- `COMMENT`: minor items; can create the PR but note the feedback.
|
|
72
49
|
|
|
73
|
-
|
|
74
|
-
- The PR_SUMMARY in your output can be used as the PR description
|
|
75
|
-
- Focus on "is this ready for someone else to review" not "is this perfect"
|
|
76
|
-
- Any issues found here are cheaper to fix than during integration review
|
|
50
|
+
The `PR_SUMMARY` block can be used directly as the PR description.
|
|
@@ -1,40 +1,28 @@
|
|
|
1
1
|
# Specification Review Prompt
|
|
2
2
|
|
|
3
3
|
## Context
|
|
4
|
-
|
|
4
|
+
|
|
5
|
+
You are reviewing a feature specification during the Specify phase, before it goes to human approval. Judge whether the spec is complete, correct, feasible, and clear enough for a builder to plan from.
|
|
5
6
|
|
|
6
7
|
## Baked Decisions
|
|
7
8
|
|
|
8
9
|
If the issue body or the spec's Constraints section includes content under a "Baked Decisions" heading, the architect has marked those choices as fixed. Do not autonomously challenge them: do not propose alternative languages, frameworks, deployment shapes, or dependencies that contradict a baked decision. You may `COMMENT` with concerns about a baked decision (the architect decides whether to rescind it); reserve `REQUEST_CHANGES` for the case where the spec **fails to honor** a stated baked decision — that is a real defect.
|
|
9
10
|
|
|
10
|
-
If the baked decisions themselves
|
|
11
|
+
If the baked decisions themselves contradict each other (e.g., two different language choices), do not pick one — `REQUEST_CHANGES` and ask the architect to clarify before proceeding.
|
|
11
12
|
|
|
12
13
|
## Focus Areas
|
|
13
14
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
2. **Correctness**
|
|
21
|
-
- Do requirements make sense technically?
|
|
22
|
-
- Are there contradictions?
|
|
23
|
-
- Is the problem statement accurate?
|
|
24
|
-
|
|
25
|
-
3. **Feasibility**
|
|
26
|
-
- Can this be implemented with available tools/constraints?
|
|
27
|
-
- Are there obvious technical blockers?
|
|
28
|
-
- Is the scope realistic for a single spec?
|
|
15
|
+
- **Completeness** — requirements, success criteria, and edge cases are stated; scope is bounded, not vague.
|
|
16
|
+
- **Correctness** — the requirements are technically sound and internally consistent; the problem statement is accurate.
|
|
17
|
+
- **Feasibility** — implementable within the stated tools and constraints, with no obvious blockers.
|
|
18
|
+
- **Clarity** — a builder would know what to build; acceptance criteria are testable; terminology is consistent.
|
|
19
|
+
- **Structure** — the spec follows the delivered template (`protocols/spir/templates/spec.md`), which the specify prompt inlines. A spec that ignores the template's headings — usually because the builder pattern-matched an older spec in `codev/specs/` — is a defect: `REQUEST_CHANGES` for a wholesale departure (most headings missing or renamed). A single genuinely-inapplicable section reduced to a one-line "N/A — [reason]" with its heading kept is fine, not grounds for `REQUEST_CHANGES`.
|
|
29
20
|
|
|
30
|
-
|
|
31
|
-
- Would a builder understand what to build?
|
|
32
|
-
- Are acceptance criteria testable?
|
|
33
|
-
- Is terminology consistent?
|
|
21
|
+
You are reviewing the specification (WHAT is built), not code or implementation (HOW) — that is the plan and implementation reviews. Be constructive: name the issue and suggest a fix.
|
|
34
22
|
|
|
35
23
|
## Verdict Format
|
|
36
24
|
|
|
37
|
-
|
|
25
|
+
Provide your verdict in exactly this format — `consult` parses it:
|
|
38
26
|
|
|
39
27
|
```
|
|
40
28
|
---
|
|
@@ -48,14 +36,6 @@ KEY_ISSUES:
|
|
|
48
36
|
...
|
|
49
37
|
```
|
|
50
38
|
|
|
51
|
-
|
|
52
|
-
- `
|
|
53
|
-
- `
|
|
54
|
-
- `COMMENT`: Minor suggestions, can proceed but consider feedback
|
|
55
|
-
|
|
56
|
-
## Notes
|
|
57
|
-
|
|
58
|
-
- You are NOT reviewing code - you are reviewing the specification document
|
|
59
|
-
- Focus on WHAT is being built, not HOW it will be implemented (that's for plan review)
|
|
60
|
-
- Be constructive - identify issues AND suggest solutions
|
|
61
|
-
- If the spec references other specs, note if context seems missing
|
|
39
|
+
- `APPROVE`: spec is ready for human review.
|
|
40
|
+
- `REQUEST_CHANGES`: significant issues must be fixed first.
|
|
41
|
+
- `COMMENT`: minor suggestions; can proceed but consider the feedback.
|