@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
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# IMPLEMENT Phase Prompt
|
|
2
2
|
|
|
3
|
-
You are executing the **IMPLEMENT** phase of the
|
|
3
|
+
You are executing the **IMPLEMENT** phase of the ASPIR protocol.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Goal
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Implement the current plan phase — code and tests — so it matches the spec and passes build and tests.
|
|
8
8
|
|
|
9
9
|
## Context
|
|
10
10
|
|
|
@@ -13,203 +13,34 @@ Write clean, well-structured code AND tests that implement the current plan phas
|
|
|
13
13
|
- **Current State**: {{current_state}}
|
|
14
14
|
- **Plan Phase**: {{plan_phase_id}} - {{plan_phase_title}}
|
|
15
15
|
|
|
16
|
-
##
|
|
16
|
+
## Scope: this phase only
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
Your scope is exactly `{{plan_phase_id}}` ({{plan_phase_title}}), whose details are included below under "Current Plan Phase Details". Other phases are handled in later porch iterations — do not implement them, and do not read the full plan and build everything you see. Read `codev/specs/{{project_id}}-*.md` for requirements, but implement only what this phase requires.
|
|
19
19
|
|
|
20
|
-
-
|
|
21
|
-
- **DO NOT** read the full plan file and implement everything you see.
|
|
22
|
-
- The plan phase details are included below under "Current Plan Phase Details". That is your ONLY scope.
|
|
23
|
-
- If you need to reference the spec for requirements, read `codev/specs/{{project_id}}-*.md` but ONLY implement what the current phase requires.
|
|
20
|
+
When you signal `PHASE_COMPLETE`, porch runs the 3-way consultation, checks that tests exist and pass, and either respawns you with feedback or commits and moves to the next phase.
|
|
24
21
|
|
|
25
|
-
## What
|
|
22
|
+
## What must be true when you finish
|
|
26
23
|
|
|
27
|
-
When you
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
4. Once approved, porch commits and moves to the next plan phase
|
|
32
|
-
|
|
33
|
-
## Spec Compliance (CRITICAL)
|
|
34
|
-
|
|
35
|
-
**The spec is the source of truth. Code that doesn't match the spec is wrong, even if it "works".**
|
|
36
|
-
|
|
37
|
-
### Trust Hierarchy
|
|
38
|
-
|
|
39
|
-
```
|
|
40
|
-
SPEC (source of truth)
|
|
41
|
-
↓
|
|
42
|
-
PLAN (implementation guide derived from spec)
|
|
43
|
-
↓
|
|
44
|
-
EXISTING CODE (NOT TRUSTED - must be validated against spec)
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
**Never trust existing code over the spec.** Previous implementations may have drifted.
|
|
48
|
-
|
|
49
|
-
### Pre-Implementation Sanity Check (PISC)
|
|
50
|
-
|
|
51
|
-
**Before writing ANY code:**
|
|
52
|
-
|
|
53
|
-
1. ✅ "Have I read the spec in the last 30 minutes?"
|
|
54
|
-
2. ✅ "If the spec has a 'Traps to Avoid' section, have I read it?"
|
|
55
|
-
3. ✅ "Does my approach match the spec's Technical Implementation section?"
|
|
56
|
-
4. ✅ "If the spec has code examples, am I following them?"
|
|
57
|
-
5. ✅ "Does the existing code I'm building on actually match the spec?"
|
|
58
|
-
|
|
59
|
-
**If ANY answer is "no" or "unsure" → STOP and re-read the spec.**
|
|
60
|
-
|
|
61
|
-
### Avoiding "Fixing Mode"
|
|
62
|
-
|
|
63
|
-
A dangerous pattern: You start looking at symptoms in code, making incremental fixes, copying existing patterns - without going back to the spec. This leads to:
|
|
64
|
-
- Cargo-culting patterns that may be wrong
|
|
65
|
-
- Building on broken foundations
|
|
66
|
-
- Implementing something different from the spec
|
|
67
|
-
|
|
68
|
-
**When you catch yourself "fixing" code:**
|
|
69
|
-
1. STOP
|
|
70
|
-
2. Ask: "What does the spec say about this?"
|
|
71
|
-
3. Re-read the spec's Traps to Avoid section
|
|
72
|
-
4. Verify existing code matches the spec before building on it
|
|
73
|
-
|
|
74
|
-
## Prerequisites
|
|
75
|
-
|
|
76
|
-
Before implementing, verify:
|
|
77
|
-
1. Previous phase (if any) is committed to git
|
|
78
|
-
2. You've read the plan phase you're implementing
|
|
79
|
-
3. You understand the success criteria for this phase
|
|
80
|
-
4. Dependencies from earlier phases are available
|
|
81
|
-
|
|
82
|
-
## Process
|
|
83
|
-
|
|
84
|
-
### 1. Review the Plan Phase
|
|
85
|
-
|
|
86
|
-
Read the current phase in the plan:
|
|
87
|
-
- What is the objective?
|
|
88
|
-
- What files need to be created/modified?
|
|
89
|
-
- What are the success criteria?
|
|
90
|
-
- What dependencies exist?
|
|
91
|
-
|
|
92
|
-
### 2. Set Up
|
|
93
|
-
|
|
94
|
-
- Verify you're on the correct branch
|
|
95
|
-
- Check that previous phase is committed: `git log --oneline -5`
|
|
96
|
-
- Ensure build passes before starting: `npm run build` (or equivalent)
|
|
97
|
-
|
|
98
|
-
### 3. Implement the Code
|
|
99
|
-
|
|
100
|
-
Write the code following these principles:
|
|
101
|
-
|
|
102
|
-
**Code Quality Standards**:
|
|
103
|
-
- Self-documenting code (clear names, obvious structure)
|
|
104
|
-
- No commented-out code
|
|
105
|
-
- No debug prints in final code
|
|
106
|
-
- Explicit error handling
|
|
107
|
-
- Follow project style guide
|
|
108
|
-
|
|
109
|
-
**Implementation Approach**:
|
|
110
|
-
- Work on one file at a time
|
|
111
|
-
- Make small, incremental changes
|
|
112
|
-
- Document complex logic with comments
|
|
113
|
-
|
|
114
|
-
### 4. Write Tests
|
|
115
|
-
|
|
116
|
-
**Tests are required.** For each piece of functionality you implement:
|
|
117
|
-
|
|
118
|
-
- Write unit tests for core logic
|
|
119
|
-
- Write integration tests if the phase involves multiple components
|
|
120
|
-
- Test error cases and edge conditions
|
|
121
|
-
- Ensure tests are deterministic (no flaky tests)
|
|
122
|
-
|
|
123
|
-
**Test file locations** (follow project conventions):
|
|
124
|
-
- `tests/` or `__tests__/` directories
|
|
125
|
-
- `*.test.ts` or `*.spec.ts` naming
|
|
126
|
-
|
|
127
|
-
### 5. Verify Everything Works
|
|
128
|
-
|
|
129
|
-
Run both build and tests:
|
|
130
|
-
|
|
131
|
-
```bash
|
|
132
|
-
npm run build # Must pass
|
|
133
|
-
npm test # Must pass
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
**Important**: Don't assume these commands exist. Check `package.json` first.
|
|
137
|
-
|
|
138
|
-
Fix any errors before signaling completion.
|
|
139
|
-
|
|
140
|
-
### 6. Self-Review
|
|
141
|
-
|
|
142
|
-
Before signaling completion:
|
|
143
|
-
- Read through all code changes
|
|
144
|
-
- Read through all test changes
|
|
145
|
-
- Verify code matches the spec requirements
|
|
146
|
-
- Ensure no accidental debug code
|
|
147
|
-
- Check test coverage is adequate
|
|
148
|
-
|
|
149
|
-
## Output
|
|
150
|
-
|
|
151
|
-
When complete, you should have:
|
|
152
|
-
- Modified/created source files as specified in the plan phase
|
|
153
|
-
- Tests covering the new functionality
|
|
154
|
-
- All build checks passing
|
|
155
|
-
- All tests passing
|
|
24
|
+
- **The implementation matches the spec.** The spec is the source of truth; the plan derives from it; existing code is not trusted until validated against the spec, because earlier work may have drifted. Code that "works" but diverges from the spec is wrong. When you notice yourself patching symptoms in existing code, stop and re-check what the spec actually requires before building further.
|
|
25
|
+
- **Tests exist and are meaningful.** Unit tests for the core logic, integration tests where the phase spans components, and coverage of error and edge cases. Tests are deterministic. Follow the project's existing test locations and naming.
|
|
26
|
+
- **Build and tests pass.** Confirm the actual project commands (check `package.json` rather than assuming `npm run build` / `npm test` exist) and run them; fix failures before signaling.
|
|
27
|
+
- **The change is clean.** Self-documenting names, explicit error handling, no commented-out or debug code, only the files this phase touches — the simplest solution that satisfies the phase, not more.
|
|
156
28
|
|
|
157
29
|
## Signals
|
|
158
30
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
Your specific questions here
|
|
176
|
-
</signal>
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
## Important Notes
|
|
180
|
-
|
|
181
|
-
1. **Follow the plan** - Implement what's specified, not more
|
|
182
|
-
2. **Don't over-engineer** - Simplest solution that works
|
|
183
|
-
3. **Don't skip error handling** - But don't go overboard either
|
|
184
|
-
4. **Keep changes focused** - Only touch files in this phase
|
|
185
|
-
5. **Build AND tests must pass** - Don't signal complete until both pass
|
|
186
|
-
6. **Write tests** - Every implementation phase needs tests
|
|
187
|
-
|
|
188
|
-
## What NOT to Do
|
|
189
|
-
|
|
190
|
-
- Don't modify files outside this phase's scope
|
|
191
|
-
- Don't add features not in the spec
|
|
192
|
-
- Don't leave TODO comments for later (fix now or note as blocker)
|
|
193
|
-
- Don't skip writing tests
|
|
194
|
-
- Don't use `git add .` or `git add -A` when you commit (security risk)
|
|
195
|
-
|
|
196
|
-
## Handling Problems
|
|
197
|
-
|
|
198
|
-
**If the plan is unclear**:
|
|
199
|
-
Signal `AWAITING_INPUT` with your specific question.
|
|
200
|
-
|
|
201
|
-
**If you discover the spec is wrong**:
|
|
202
|
-
Signal `BLOCKED` and explain the issue. The Architect may need to update the spec.
|
|
203
|
-
|
|
204
|
-
**If a dependency is missing**:
|
|
205
|
-
Signal `BLOCKED` with details about what's missing.
|
|
206
|
-
|
|
207
|
-
**If build or tests fail and you can't fix it**:
|
|
208
|
-
Signal `BLOCKED` with the error message.
|
|
209
|
-
|
|
210
|
-
**If you encounter pre-existing flaky tests** (tests that fail intermittently but are unrelated to your changes):
|
|
211
|
-
1. **DO NOT** edit `status.yaml` to bypass checks
|
|
212
|
-
2. **DO NOT** skip porch checks or use workarounds to avoid the failure
|
|
213
|
-
3. **DO** mark the flaky test as skipped with a clear annotation (e.g., `it.skip('...') // FLAKY: intermittent timeout, skipped pending investigation`)
|
|
214
|
-
4. **DO** document each skipped flaky test in your review under a `## Flaky Tests` section so the team can follow up
|
|
215
|
-
5. Commit the skip and continue with your work
|
|
31
|
+
- Implementation and tests complete and passing:
|
|
32
|
+
```
|
|
33
|
+
<signal>PHASE_COMPLETE</signal>
|
|
34
|
+
```
|
|
35
|
+
- Blocked — the plan is wrong, the spec is wrong, a dependency is missing, or build/tests fail in a way you cannot resolve:
|
|
36
|
+
```
|
|
37
|
+
<signal>BLOCKED:reason goes here</signal>
|
|
38
|
+
```
|
|
39
|
+
- Need spec/plan clarification:
|
|
40
|
+
```
|
|
41
|
+
<signal type=AWAITING_INPUT>
|
|
42
|
+
Your specific questions here
|
|
43
|
+
</signal>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
A blocker is a signal, not a silent workaround: never edit `status.yaml` or bypass a porch check to force a green.
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# PLAN Phase Prompt
|
|
2
2
|
|
|
3
|
-
You are executing the **PLAN** phase of the
|
|
3
|
+
You are executing the **PLAN** phase of the ASPIR protocol.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Goal
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Turn the approved spec into an executable plan at `codev/plans/{{artifact_name}}.md`: a phase breakdown a builder can implement one phase at a time.
|
|
8
8
|
|
|
9
9
|
## Context
|
|
10
10
|
|
|
@@ -14,105 +14,41 @@ Transform the approved specification into an executable implementation plan with
|
|
|
14
14
|
- **Spec File**: `codev/specs/{{artifact_name}}.md`
|
|
15
15
|
- **Plan File**: `codev/plans/{{artifact_name}}.md`
|
|
16
16
|
|
|
17
|
-
##
|
|
17
|
+
## What must be true when you finish
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
- **The plan derives from the spec.** You have read the whole spec — its functional and non-functional requirements, constraints, and success criteria — and the plan validates against them.
|
|
20
|
+
- **The work is decomposed into phases, each of which is:**
|
|
21
|
+
- **self-contained** — a complete unit of functionality;
|
|
22
|
+
- **independently testable** — verifiable on its own;
|
|
23
|
+
- **valuable** — delivers observable progress;
|
|
24
|
+
- **committable** — a single atomic commit.
|
|
23
25
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
Read the spec thoroughly. Identify:
|
|
29
|
-
- All functional requirements
|
|
30
|
-
- Non-functional requirements
|
|
31
|
-
- Dependencies and constraints
|
|
32
|
-
- Success criteria to validate against
|
|
33
|
-
|
|
34
|
-
### 2. Identify Implementation Phases
|
|
35
|
-
|
|
36
|
-
Break the work into logical phases. Each phase should be:
|
|
37
|
-
- **Self-contained** - A complete unit of functionality
|
|
38
|
-
- **Independently testable** - Can be verified on its own
|
|
39
|
-
- **Valuable** - Delivers observable progress
|
|
40
|
-
- **Committable** - Can be a single atomic commit
|
|
41
|
-
|
|
42
|
-
Good phase examples:
|
|
43
|
-
- "Database Schema" - Creates all tables/migrations
|
|
44
|
-
- "Core API Endpoints" - Implements main REST routes
|
|
45
|
-
- "Authentication Flow" - Handles login/logout/session
|
|
46
|
-
|
|
47
|
-
Bad phase examples:
|
|
48
|
-
- "Setup" - Too vague
|
|
49
|
-
- "Part 1" - Not descriptive
|
|
50
|
-
- "Everything" - Not broken down
|
|
51
|
-
|
|
52
|
-
### 3. Define Each Phase
|
|
53
|
-
|
|
54
|
-
For each phase, document:
|
|
55
|
-
- **Objective** - Single clear goal
|
|
56
|
-
- **Files to modify/create** - Specific paths
|
|
57
|
-
- **Dependencies** - Which phases must complete first
|
|
58
|
-
- **Success criteria** - How to know it's done
|
|
59
|
-
- **Test approach** - What tests will verify it
|
|
60
|
-
|
|
61
|
-
### 4. Order Phases by Dependencies
|
|
62
|
-
|
|
63
|
-
Arrange phases so dependencies are satisfied:
|
|
64
|
-
```
|
|
65
|
-
Phase 1: Database Schema (no dependencies)
|
|
66
|
-
Phase 2: Data Models (depends on Phase 1)
|
|
67
|
-
Phase 3: API Endpoints (depends on Phase 2)
|
|
68
|
-
Phase 4: Frontend Integration (depends on Phase 3)
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
### 5. Finalize
|
|
72
|
-
|
|
73
|
-
After completing the plan draft, signal completion. Porch will run 3-way consultation (Gemini, Codex, Claude) automatically via the verify step. If reviewers request changes, you'll be respawned with their feedback.
|
|
26
|
+
A phase name states what it delivers ("Database schema", "Authentication flow"), not a position ("Setup", "Part 1").
|
|
27
|
+
- **Each phase carries its own contract:** objective, the specific files it creates or modifies, which earlier phases it depends on, its success criteria, and how it will be tested.
|
|
28
|
+
- **Phases are ordered so dependencies are satisfied before the phase that needs them.**
|
|
74
29
|
|
|
75
30
|
## Output
|
|
76
31
|
|
|
77
|
-
|
|
32
|
+
Write the plan to `codev/plans/{{artifact_name}}.md` using the template below as its interface:
|
|
78
33
|
|
|
79
34
|
{{> protocols/spir/templates/plan.md}}
|
|
80
35
|
|
|
81
36
|
## Signals
|
|
82
37
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
- After completing the plan draft:
|
|
38
|
+
- Draft done:
|
|
86
39
|
```
|
|
87
40
|
<signal>PLAN_DRAFTED</signal>
|
|
88
41
|
```
|
|
89
42
|
|
|
90
|
-
## Commit
|
|
43
|
+
## Commit cadence
|
|
91
44
|
|
|
92
|
-
|
|
45
|
+
Commit at each milestone, staging the plan file explicitly:
|
|
46
|
+
```bash
|
|
47
|
+
git add codev/plans/{{artifact_name}}.md
|
|
48
|
+
```
|
|
93
49
|
1. `[Spec {{project_id}}] Initial implementation plan`
|
|
94
50
|
2. `[Spec {{project_id}}] Plan with multi-agent review`
|
|
95
51
|
3. `[Spec {{project_id}}] Plan with user feedback`
|
|
96
52
|
4. `[Spec {{project_id}}] Final approved plan`
|
|
97
53
|
|
|
98
|
-
|
|
99
|
-
```bash
|
|
100
|
-
git add codev/plans/{{artifact_name}}.md
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
## Important Notes
|
|
104
|
-
|
|
105
|
-
1. **No time estimates** - Don't include hours/days/weeks
|
|
106
|
-
3. **Be specific about files** - Exact paths, not "the config file"
|
|
107
|
-
4. **Keep phases small** - 1-3 files per phase is ideal
|
|
108
|
-
5. **Document dependencies clearly** - Prevents blocked work
|
|
109
|
-
|
|
110
|
-
## What NOT to Do
|
|
111
|
-
|
|
112
|
-
- Don't run `consult` commands yourself (porch handles consultations)
|
|
113
|
-
- Don't write code (that's for Implement phase)
|
|
114
|
-
- Don't estimate time (meaningless in AI development)
|
|
115
|
-
- Don't create phases that can't be independently tested
|
|
116
|
-
- Don't skip dependency analysis
|
|
117
|
-
- Don't make phases too large (if >5 files, split it)
|
|
118
|
-
- Don't use `git add .` or `git add -A` (security risk)
|
|
54
|
+
Porch runs the 3-way consultation itself after you signal — do not run `consult`. This is the Plan phase: decompose and sequence the work, do not write code, and do not estimate time.
|