@cluesmith/codev 3.2.3 → 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 +173 -0
- package/dist/agent-farm/cli.js.map +1 -1
- package/dist/agent-farm/commands/attach.js +2 -2
- package/dist/agent-farm/commands/attach.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 +2 -2
- package/dist/agent-farm/commands/send.d.ts.map +1 -1
- package/dist/agent-farm/commands/send.js +52 -11
- package/dist/agent-farm/commands/send.js.map +1 -1
- package/dist/agent-farm/commands/setup.d.ts +4 -1
- package/dist/agent-farm/commands/setup.d.ts.map +1 -1
- package/dist/agent-farm/commands/setup.js +8 -4
- package/dist/agent-farm/commands/setup.js.map +1 -1
- package/dist/agent-farm/commands/spawn-worktree.d.ts +116 -6
- package/dist/agent-farm/commands/spawn-worktree.d.ts.map +1 -1
- package/dist/agent-farm/commands/spawn-worktree.js +345 -74
- 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 +105 -9
- package/dist/agent-farm/commands/status.js.map +1 -1
- package/dist/agent-farm/commands/tower-sweep-husks.d.ts +6 -0
- package/dist/agent-farm/commands/tower-sweep-husks.d.ts.map +1 -0
- package/dist/agent-farm/commands/tower-sweep-husks.js +77 -0
- package/dist/agent-farm/commands/tower-sweep-husks.js.map +1 -0
- package/dist/agent-farm/commands/tower.d.ts.map +1 -1
- package/dist/agent-farm/commands/tower.js +34 -0
- package/dist/agent-farm/commands/tower.js.map +1 -1
- package/dist/agent-farm/commands/whoami.d.ts +65 -0
- package/dist/agent-farm/commands/whoami.d.ts.map +1 -0
- package/dist/agent-farm/commands/whoami.js +196 -0
- package/dist/agent-farm/commands/whoami.js.map +1 -0
- 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/architect-session-holder.d.ts +133 -0
- package/dist/agent-farm/servers/architect-session-holder.d.ts.map +1 -0
- package/dist/agent-farm/servers/architect-session-holder.js +268 -0
- package/dist/agent-farm/servers/architect-session-holder.js.map +1 -0
- 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/process-census.d.ts +41 -0
- package/dist/agent-farm/servers/process-census.d.ts.map +1 -0
- package/dist/agent-farm/servers/process-census.js +62 -0
- package/dist/agent-farm/servers/process-census.js.map +1 -0
- 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-log-sweep.d.ts +93 -0
- package/dist/agent-farm/servers/session-log-sweep.d.ts.map +1 -0
- package/dist/agent-farm/servers/session-log-sweep.js +165 -0
- package/dist/agent-farm/servers/session-log-sweep.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/shellper-husk-sweep.d.ts +87 -0
- package/dist/agent-farm/servers/shellper-husk-sweep.d.ts.map +1 -0
- package/dist/agent-farm/servers/shellper-husk-sweep.js +129 -0
- package/dist/agent-farm/servers/shellper-husk-sweep.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 +128 -19
- 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 +807 -99
- package/dist/agent-farm/servers/tower-routes.js.map +1 -1
- package/dist/agent-farm/servers/tower-server.js +241 -15
- 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 +139 -124
- 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 +99 -1
- package/dist/agent-farm/servers/tower-utils.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-utils.js +242 -6
- 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/state.d.ts +6 -1
- package/dist/agent-farm/state.d.ts.map +1 -1
- package/dist/agent-farm/state.js +5 -2
- package/dist/agent-farm/state.js.map +1 -1
- 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/adopt.d.ts +3 -2
- package/dist/commands/adopt.d.ts.map +1 -1
- package/dist/commands/adopt.js +7 -6
- package/dist/commands/adopt.js.map +1 -1
- package/dist/commands/consult/agy-auth-cache.d.ts +97 -0
- package/dist/commands/consult/agy-auth-cache.d.ts.map +1 -0
- package/dist/commands/consult/agy-auth-cache.js +320 -0
- package/dist/commands/consult/agy-auth-cache.js.map +1 -0
- 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 +330 -27
- 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 +28 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +258 -22
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/init.d.ts +3 -2
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +7 -6
- package/dist/commands/init.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.d.ts.map +1 -1
- package/dist/commands/porch/index.js +32 -36
- 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/commands/update.d.ts +4 -4
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +9 -11
- package/dist/commands/update.js.map +1 -1
- package/dist/lib/config.d.ts +70 -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/default-branch.d.ts +1 -1
- package/dist/lib/default-branch.js +1 -1
- package/dist/lib/github.js +1 -1
- package/dist/lib/github.js.map +1 -1
- package/dist/lib/gitignore.d.ts +25 -2
- package/dist/lib/gitignore.d.ts.map +1 -1
- package/dist/lib/gitignore.js +70 -0
- package/dist/lib/gitignore.js.map +1 -1
- package/dist/lib/migration-backup-audit.d.ts +64 -0
- package/dist/lib/migration-backup-audit.d.ts.map +1 -0
- package/dist/lib/migration-backup-audit.js +145 -0
- package/dist/lib/migration-backup-audit.js.map +1 -0
- 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/protocol-drift-audit.d.ts +118 -0
- package/dist/lib/protocol-drift-audit.d.ts.map +1 -0
- package/dist/lib/protocol-drift-audit.js +217 -0
- package/dist/lib/protocol-drift-audit.js.map +1 -0
- package/dist/lib/scaffold.d.ts +10 -3
- package/dist/lib/scaffold.d.ts.map +1 -1
- package/dist/lib/scaffold.js +29 -26
- package/dist/lib/scaffold.js.map +1 -1
- 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 +9 -0
- package/dist/terminal/pty-manager.d.ts.map +1 -1
- package/dist/terminal/pty-manager.js +32 -6
- package/dist/terminal/pty-manager.js.map +1 -1
- package/dist/terminal/pty-session.d.ts +156 -4
- package/dist/terminal/pty-session.d.ts.map +1 -1
- package/dist/terminal/pty-session.js +307 -42
- 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 +129 -0
- package/dist/terminal/session-manager.d.ts.map +1 -1
- package/dist/terminal/session-manager.js +337 -44
- 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-client.d.ts +19 -4
- package/dist/terminal/shellper-client.d.ts.map +1 -1
- package/dist/terminal/shellper-client.js +70 -8
- package/dist/terminal/shellper-client.js.map +1 -1
- 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 +33 -9
- package/dist/terminal/shellper-process.js.map +1 -1
- package/dist/terminal/shellper-protocol.d.ts +40 -2
- package/dist/terminal/shellper-protocol.d.ts.map +1 -1
- package/dist/terminal/shellper-protocol.js +72 -5
- package/dist/terminal/shellper-protocol.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 +11 -9
- package/skeleton/.claude/skills/afx/SKILL.md +27 -1
- package/skeleton/.claude/skills/arch-init/SKILL.md +135 -0
- package/skeleton/.claude/skills/arch-save/SKILL.md +183 -0
- package/skeleton/.claude/skills/codev/SKILL.md +33 -2
- package/skeleton/.claude/skills/runnable-worktrees/SKILL.md +119 -0
- package/skeleton/.codex/skills/afx/SKILL.md +170 -0
- package/skeleton/.codex/skills/arch-init/SKILL.md +135 -0
- package/skeleton/.codex/skills/arch-save/SKILL.md +183 -0
- package/skeleton/.codex/skills/codev/SKILL.md +90 -0
- package/skeleton/.codex/skills/consult/SKILL.md +96 -0
- package/skeleton/.codex/skills/generate-image/SKILL.md +45 -0
- package/skeleton/.codex/skills/porch/SKILL.md +60 -0
- package/skeleton/.codex/skills/runnable-worktrees/SKILL.md +119 -0
- package/skeleton/.codex/skills/update-arch-docs/SKILL.md +132 -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 +348 -0
- package/skeleton/resources/commands/codev.md +5 -0
- package/skeleton/resources/commands/consult.md +262 -8
- package/skeleton/resources/commands/overview.md +1 -0
- package/skeleton/roles/architect.md +67 -306
- 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 -103
- 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,88 +0,0 @@
|
|
|
1
|
-
# Implement Phase Prompt
|
|
2
|
-
|
|
3
|
-
You are the **Implementer** hat in a Ralph-SPIR loop.
|
|
4
|
-
|
|
5
|
-
## Your Mission
|
|
6
|
-
|
|
7
|
-
Implement the code according to the APPROVED plan. Follow the plan exactly - it was reviewed and approved for a reason.
|
|
8
|
-
|
|
9
|
-
## Input Context
|
|
10
|
-
|
|
11
|
-
Read these files at the START of each iteration (fresh context):
|
|
12
|
-
1. `codev/plans/{project-id}-*.md` - **The approved plan** (source of truth)
|
|
13
|
-
2. `codev/specs/{project-id}-*.md` - The approved spec (for acceptance criteria)
|
|
14
|
-
3. `codev/status/{project-id}-*.md` - Current phase progress
|
|
15
|
-
|
|
16
|
-
## Workflow
|
|
17
|
-
|
|
18
|
-
### 1. Determine Current Phase
|
|
19
|
-
|
|
20
|
-
Read the status file to find which phase you're implementing:
|
|
21
|
-
- If `current_phase: implement.phase_1` → implement phase 1
|
|
22
|
-
- If `current_phase: implement.phase_2` → implement phase 2
|
|
23
|
-
- etc.
|
|
24
|
-
|
|
25
|
-
### 2. Implement ONE Phase
|
|
26
|
-
|
|
27
|
-
For the current phase from the plan:
|
|
28
|
-
|
|
29
|
-
1. **Read the phase section** from the plan
|
|
30
|
-
2. **Understand the goal** and acceptance criteria
|
|
31
|
-
3. **Implement the code** following the steps
|
|
32
|
-
4. **Run the build** to verify it compiles
|
|
33
|
-
5. **Commit the work**:
|
|
34
|
-
```bash
|
|
35
|
-
git add <files>
|
|
36
|
-
git commit -m "[Spec {id}][Phase: {phase-name}] {description}"
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
### 3. Verify Build Passes
|
|
40
|
-
|
|
41
|
-
Run the build command:
|
|
42
|
-
```bash
|
|
43
|
-
npm run build # or appropriate build command
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
If build fails:
|
|
47
|
-
- Fix the errors
|
|
48
|
-
- Do NOT move to next phase until build passes
|
|
49
|
-
- Output: `<signal>BUILD_FAILED</signal>` to trigger retry
|
|
50
|
-
|
|
51
|
-
### 4. Signal Completion
|
|
52
|
-
|
|
53
|
-
When phase implementation is complete and build passes:
|
|
54
|
-
1. Update status file with phase completion
|
|
55
|
-
2. Output: `<signal>PHASE_IMPLEMENTED</signal>`
|
|
56
|
-
|
|
57
|
-
## Quality Checklist
|
|
58
|
-
|
|
59
|
-
Before signaling completion:
|
|
60
|
-
- [ ] Code follows existing patterns in the codebase
|
|
61
|
-
- [ ] No console.log or debug statements left behind
|
|
62
|
-
- [ ] TypeScript types are correct (no `any` unless justified)
|
|
63
|
-
- [ ] Code is formatted (prettier/eslint)
|
|
64
|
-
- [ ] Build passes with no errors
|
|
65
|
-
|
|
66
|
-
## Constraints
|
|
67
|
-
|
|
68
|
-
- **ONE phase at a time** - Do not implement multiple phases
|
|
69
|
-
- **Follow the plan** - Do not add features not in the plan
|
|
70
|
-
- **No tests yet** - Tests come in Defend phase
|
|
71
|
-
- **Minimal scope** - If something isn't in the plan, don't do it
|
|
72
|
-
- **Fresh context** - Re-read plan/spec each iteration, don't rely on memory
|
|
73
|
-
|
|
74
|
-
## Handling Flaky Tests
|
|
75
|
-
|
|
76
|
-
If you encounter **pre-existing flaky tests** (intermittent failures unrelated to your changes):
|
|
77
|
-
1. **DO NOT** edit `status.yaml` to bypass checks
|
|
78
|
-
2. **DO NOT** skip porch checks or use any workaround to avoid the failure
|
|
79
|
-
3. **DO** mark the test as skipped with a clear annotation (e.g., `it.skip('...') // FLAKY: skipped pending investigation`)
|
|
80
|
-
4. **DO** document each skipped flaky test in your review under a `## Flaky Tests` section
|
|
81
|
-
5. Commit the skip and continue
|
|
82
|
-
|
|
83
|
-
## Anti-Patterns to Avoid
|
|
84
|
-
|
|
85
|
-
- "While I'm here, let me also..." → NO, stick to the plan
|
|
86
|
-
- "This could be improved by..." → NO, follow the spec
|
|
87
|
-
- "I'll add tests now..." → NO, tests come in Defend
|
|
88
|
-
- "Let me refactor this..." → NO, unless refactoring is in the plan
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
# Plan Phase Prompt
|
|
2
|
-
|
|
3
|
-
You are the **Planner** hat in a Ralph-SPIR loop.
|
|
4
|
-
|
|
5
|
-
## Your Mission
|
|
6
|
-
|
|
7
|
-
Create a detailed implementation plan based on the APPROVED specification. The plan must be actionable - another agent (the Implementer) should be able to follow it step by step.
|
|
8
|
-
|
|
9
|
-
## Input Context
|
|
10
|
-
|
|
11
|
-
Read these files:
|
|
12
|
-
1. `codev/specs/{project-id}-*.md` - **The approved spec** (source of truth)
|
|
13
|
-
2. `codev/status/{project-id}-*.md` - Current project state
|
|
14
|
-
3. Relevant source files to understand the codebase
|
|
15
|
-
|
|
16
|
-
## Output Requirements
|
|
17
|
-
|
|
18
|
-
Create `codev/plans/{project-id}-{name}.md` with:
|
|
19
|
-
|
|
20
|
-
### Required Sections
|
|
21
|
-
|
|
22
|
-
1. **Metadata** - ID, spec reference, created date
|
|
23
|
-
2. **Overview** - Brief summary of implementation approach
|
|
24
|
-
3. **Implementation Phases** - Break work into phases (1-5 typically)
|
|
25
|
-
4. **Files to Modify** - List every file that will be changed or created
|
|
26
|
-
5. **Dependencies** - External packages or internal modules needed
|
|
27
|
-
6. **Test Strategy** - What tests will be written
|
|
28
|
-
7. **Rollback Plan** - How to undo if something goes wrong
|
|
29
|
-
|
|
30
|
-
### Phase Structure
|
|
31
|
-
|
|
32
|
-
Each phase should have:
|
|
33
|
-
```markdown
|
|
34
|
-
### Phase N: {Name}
|
|
35
|
-
|
|
36
|
-
**Goal**: One sentence describing what this phase accomplishes
|
|
37
|
-
|
|
38
|
-
**Files**:
|
|
39
|
-
- `path/to/file.ts` - Description of changes
|
|
40
|
-
- `path/to/new-file.ts` - NEW: Description
|
|
41
|
-
|
|
42
|
-
**Steps**:
|
|
43
|
-
1. Step one with specific action
|
|
44
|
-
2. Step two with specific action
|
|
45
|
-
3. ...
|
|
46
|
-
|
|
47
|
-
**Acceptance Criteria**:
|
|
48
|
-
- [ ] Criterion from spec that this phase addresses
|
|
49
|
-
- [ ] Build passes
|
|
50
|
-
- [ ] Tests pass
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### Quality Checklist
|
|
54
|
-
|
|
55
|
-
Before completing, verify:
|
|
56
|
-
- [ ] Every acceptance criterion from spec is addressed in a phase
|
|
57
|
-
- [ ] No phase is too large (aim for 100-300 lines of code per phase)
|
|
58
|
-
- [ ] Dependencies between phases are clear
|
|
59
|
-
- [ ] Test strategy covers all acceptance criteria
|
|
60
|
-
- [ ] File list is complete (no "and other files as needed")
|
|
61
|
-
|
|
62
|
-
## Completion Signal
|
|
63
|
-
|
|
64
|
-
When plan is complete:
|
|
65
|
-
1. Commit the plan file: `git add codev/plans/{id}-*.md && git commit -m "[Plan {id}] Implementation plan"`
|
|
66
|
-
2. Update status file: Set `current_state: plan:review`
|
|
67
|
-
3. Output: `<signal>PLAN_READY_FOR_REVIEW</signal>`
|
|
68
|
-
|
|
69
|
-
## Constraints
|
|
70
|
-
|
|
71
|
-
- DO NOT start implementation
|
|
72
|
-
- DO NOT deviate from the approved spec
|
|
73
|
-
- If spec is ambiguous, document assumption and proceed (spec was approved)
|
|
74
|
-
- Keep each phase independently testable
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
# PR Phase Prompt (BUGFIX)
|
|
2
|
-
|
|
3
|
-
You are in the PR phase of BUGFIX protocol.
|
|
4
|
-
|
|
5
|
-
## Your Mission
|
|
6
|
-
|
|
7
|
-
Create a pull request for the bug fix.
|
|
8
|
-
|
|
9
|
-
## Input Context
|
|
10
|
-
|
|
11
|
-
1. `codev/status/{project-id}-*.md` - All bug fix details
|
|
12
|
-
2. GitHub issue number
|
|
13
|
-
|
|
14
|
-
## Workflow
|
|
15
|
-
|
|
16
|
-
### 1. Final Verification
|
|
17
|
-
|
|
18
|
-
Ensure:
|
|
19
|
-
```bash
|
|
20
|
-
npm run build # Must pass
|
|
21
|
-
npm test # Must pass
|
|
22
|
-
git status # No uncommitted changes
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
### 2. Create Pull Request
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
gh pr create \
|
|
29
|
-
--title "fix: {brief description}" \
|
|
30
|
-
--body "$(cat <<'EOF'
|
|
31
|
-
## Summary
|
|
32
|
-
|
|
33
|
-
Fixes #{issue-number}
|
|
34
|
-
|
|
35
|
-
## Root Cause
|
|
36
|
-
|
|
37
|
-
{Brief explanation of the bug cause}
|
|
38
|
-
|
|
39
|
-
## Fix
|
|
40
|
-
|
|
41
|
-
{Brief explanation of the fix}
|
|
42
|
-
|
|
43
|
-
## Test Plan
|
|
44
|
-
|
|
45
|
-
- [x] Added regression test
|
|
46
|
-
- [x] All existing tests pass
|
|
47
|
-
- [x] Manually verified fix
|
|
48
|
-
|
|
49
|
-
## Changes
|
|
50
|
-
|
|
51
|
-
- `file1.ts` - {what changed}
|
|
52
|
-
- `test.ts` - Added regression test
|
|
53
|
-
EOF
|
|
54
|
-
)"
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
### 3. Link PR to Issue
|
|
58
|
-
|
|
59
|
-
The PR title with "Fixes #N" will auto-link when merged.
|
|
60
|
-
|
|
61
|
-
### 4. Signal Completion
|
|
62
|
-
|
|
63
|
-
When PR is created:
|
|
64
|
-
1. Output the PR URL
|
|
65
|
-
2. Output: `<signal>PR_CREATED</signal>`
|
|
66
|
-
|
|
67
|
-
## PR Quality Checklist
|
|
68
|
-
|
|
69
|
-
- [ ] Title is clear and starts with "fix:"
|
|
70
|
-
- [ ] Body explains root cause
|
|
71
|
-
- [ ] Test plan is documented
|
|
72
|
-
- [ ] Issue is referenced
|
|
73
|
-
- [ ] Diff is minimal and focused
|
|
74
|
-
|
|
75
|
-
## Output Format
|
|
76
|
-
|
|
77
|
-
```
|
|
78
|
-
<signal>PR_CREATED</signal>
|
|
79
|
-
|
|
80
|
-
PR: {url}
|
|
81
|
-
Fixes: #{issue-number}
|
|
82
|
-
|
|
83
|
-
Ready for review.
|
|
84
|
-
```
|
|
@@ -1,249 +0,0 @@
|
|
|
1
|
-
# Review Phase Prompt
|
|
2
|
-
|
|
3
|
-
You are the **Reviewer** hat in a Ralph-SPIR loop.
|
|
4
|
-
|
|
5
|
-
## Your Mission
|
|
6
|
-
|
|
7
|
-
Create the final deliverables: PR and review document. This is the capstone of the SPIR protocol.
|
|
8
|
-
|
|
9
|
-
## Input Context
|
|
10
|
-
|
|
11
|
-
Read these files at the START:
|
|
12
|
-
1. `codev/specs/{project-id}-*.md` - What was requested
|
|
13
|
-
2. `codev/plans/{project-id}-*.md` - How it was built
|
|
14
|
-
3. `codev/status/{project-id}-*.md` - Journey and decisions
|
|
15
|
-
4. All implementation commits (git log)
|
|
16
|
-
|
|
17
|
-
## Workflow
|
|
18
|
-
|
|
19
|
-
### 1. Create Review Document
|
|
20
|
-
|
|
21
|
-
Create `codev/reviews/{project-id}-{name}.md` with:
|
|
22
|
-
|
|
23
|
-
```markdown
|
|
24
|
-
# Review: {Project Name}
|
|
25
|
-
|
|
26
|
-
## Metadata
|
|
27
|
-
- **ID**: {project-id}
|
|
28
|
-
- **Spec**: `codev/specs/{project-id}-{name}.md`
|
|
29
|
-
- **Plan**: `codev/plans/{project-id}-{name}.md`
|
|
30
|
-
- **Protocol**: ralph-spir
|
|
31
|
-
- **Completed**: {date}
|
|
32
|
-
|
|
33
|
-
## Summary
|
|
34
|
-
|
|
35
|
-
One paragraph summarizing what was built and why.
|
|
36
|
-
|
|
37
|
-
## Implementation Notes
|
|
38
|
-
|
|
39
|
-
### What Went Well
|
|
40
|
-
- Point 1
|
|
41
|
-
- Point 2
|
|
42
|
-
|
|
43
|
-
### Challenges Faced
|
|
44
|
-
- Challenge 1: How it was resolved
|
|
45
|
-
- Challenge 2: How it was resolved
|
|
46
|
-
|
|
47
|
-
### Deviations from Plan
|
|
48
|
-
- Deviation 1: Why it was necessary
|
|
49
|
-
- (or "None - implementation followed plan exactly")
|
|
50
|
-
|
|
51
|
-
## Test Coverage
|
|
52
|
-
|
|
53
|
-
| Category | Count | Passing |
|
|
54
|
-
|----------|-------|---------|
|
|
55
|
-
| Unit tests | X | X |
|
|
56
|
-
| Integration | X | X |
|
|
57
|
-
| Total | X | X |
|
|
58
|
-
|
|
59
|
-
## Files Changed
|
|
60
|
-
|
|
61
|
-
| File | Change Type | Lines Changed |
|
|
62
|
-
|------|-------------|---------------|
|
|
63
|
-
| src/file.ts | Modified | +50, -10 |
|
|
64
|
-
| src/new.ts | Added | +100 |
|
|
65
|
-
| tests/file.test.ts | Added | +75 |
|
|
66
|
-
|
|
67
|
-
## Acceptance Criteria Status
|
|
68
|
-
|
|
69
|
-
| Criterion | Status |
|
|
70
|
-
|-----------|--------|
|
|
71
|
-
| AC1: Description | PASS |
|
|
72
|
-
| AC2: Description | PASS |
|
|
73
|
-
|
|
74
|
-
## Lessons Learned
|
|
75
|
-
|
|
76
|
-
### Technical Insights
|
|
77
|
-
1. Insight about the codebase or technology
|
|
78
|
-
2. Pattern that worked well
|
|
79
|
-
|
|
80
|
-
### Process Insights
|
|
81
|
-
1. What worked well in the SPIR process
|
|
82
|
-
2. What could be improved
|
|
83
|
-
|
|
84
|
-
## Recommendations
|
|
85
|
-
|
|
86
|
-
- Recommendation for future work
|
|
87
|
-
- Follow-up items (if any)
|
|
88
|
-
|
|
89
|
-
## Consultation Feedback
|
|
90
|
-
|
|
91
|
-
[See instructions below]
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
### 1b. Include Consultation Feedback
|
|
95
|
-
|
|
96
|
-
**IMPORTANT**: The review document MUST include a `## Consultation Feedback` section that summarizes all consultation concerns raised during every phase of the project and how the builder responded.
|
|
97
|
-
|
|
98
|
-
Read the consultation output files from the project directory (`codev/projects/{project-id}-*/`). For each phase that had consultation, create a subsection organized by phase, round, and model:
|
|
99
|
-
|
|
100
|
-
```markdown
|
|
101
|
-
## Consultation Feedback
|
|
102
|
-
|
|
103
|
-
### Specify Phase (Round 1)
|
|
104
|
-
|
|
105
|
-
#### Gemini
|
|
106
|
-
- **Concern**: [Summary of the concern]
|
|
107
|
-
- **Addressed**: [What was changed to resolve it]
|
|
108
|
-
- **Concern**: [Another concern]
|
|
109
|
-
- **Rebutted**: [Why the current approach is correct]
|
|
110
|
-
|
|
111
|
-
#### Codex
|
|
112
|
-
- **Concern**: [Summary]
|
|
113
|
-
- **N/A**: [Why it's out of scope or already handled]
|
|
114
|
-
|
|
115
|
-
#### Claude
|
|
116
|
-
- No concerns raised (APPROVE)
|
|
117
|
-
|
|
118
|
-
### Plan Phase (Round 1)
|
|
119
|
-
...
|
|
120
|
-
|
|
121
|
-
### Implement Phase: [phase-name] (Round 1)
|
|
122
|
-
...
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
**Response types** — each concern gets exactly one:
|
|
126
|
-
- **Addressed**: Builder made a change to resolve the concern
|
|
127
|
-
- **Rebutted**: Builder explains why the concern doesn't apply
|
|
128
|
-
- **N/A**: Concern is out of scope, already handled elsewhere, or moot
|
|
129
|
-
|
|
130
|
-
**Edge cases**:
|
|
131
|
-
- If all reviewers approved with no concerns across all phases: write "No concerns raised — all consultations approved"
|
|
132
|
-
- For COMMENT verdicts: include their feedback (non-blocking but useful context)
|
|
133
|
-
- For CONSULT_ERROR (model failure): note "Consultation failed for [model]"
|
|
134
|
-
- If a phase had multiple rounds (REQUEST_CHANGES → fix → re-review), give each round its own subsection
|
|
135
|
-
|
|
136
|
-
### 1c. Update Architecture and Lessons Learned Documentation
|
|
137
|
-
|
|
138
|
-
**MANDATORY**: The review document MUST include `## Architecture Updates` and `## Lessons Learned Updates` sections. Porch will block advancement if these are missing.
|
|
139
|
-
|
|
140
|
-
Each governance doc has **two tiers** (Spec 987) — **route** each new fact/lesson to the right tier; do **not** just append to the cold archive:
|
|
141
|
-
- **HOT** — `codev/resources/arch-critical.md` / `lessons-critical.md`: tiny, **hard-capped**, **always injected** into every prompt and into CLAUDE.md/AGENTS.md. The behavior-changer.
|
|
142
|
-
- **COLD** — `codev/resources/arch.md` / `lessons-learned.md`: full, on-demand reference.
|
|
143
|
-
|
|
144
|
-
**Architecture Updates**:
|
|
145
|
-
1. Read `arch-critical.md` (hot) and skim `arch.md` (cold).
|
|
146
|
-
2. If this project produced a system-shape fact, route it:
|
|
147
|
-
- **Behavior-changing + cross-cutting** (an invariant/decision a future builder must know up front) → add to **`arch-critical.md`**. Respect the cap: if the hot file is full, **demote** a weaker entry into `arch.md` to make room. If you add/rename a top-level `arch.md` section, keep the hot file's cold-doc map accurate.
|
|
148
|
-
- **Reference detail** (subsystem mechanism, file location, one-off) → add to **`arch.md`** (cold).
|
|
149
|
-
3. Describe what you routed where in the `## Architecture Updates` section. If nothing qualifies: write "No architecture updates needed" with a brief reason.
|
|
150
|
-
|
|
151
|
-
**Lessons Learned Updates**:
|
|
152
|
-
1. Read `lessons-critical.md` (hot) and skim `lessons-learned.md` (cold).
|
|
153
|
-
2. If this project produced a durable lesson, route it:
|
|
154
|
-
- **Behavior-changing + cross-cutting** (a rule that should change how the next project is built) → add to **`lessons-critical.md`**, respecting the cap (demote a weaker entry into `lessons-learned.md` if full).
|
|
155
|
-
- **Spec-narrow recipe / reference tip** → add to **`lessons-learned.md`** (cold). Spec-narrow recipes belong in the cold archive, never the always-on hot file.
|
|
156
|
-
3. Describe what you routed where in the `## Lessons Learned Updates` section. If nothing qualifies: write "No lessons learned updates needed" with a brief reason.
|
|
157
|
-
|
|
158
|
-
**Never** grow a hot file past its cap by appending — route to cold or displace. The cap is what keeps the hot tier cheap enough to always inject.
|
|
159
|
-
|
|
160
|
-
### 2. Create Pull Request
|
|
161
|
-
|
|
162
|
-
```bash
|
|
163
|
-
# Ensure all changes are committed
|
|
164
|
-
git status
|
|
165
|
-
|
|
166
|
-
# Create PR with structured description
|
|
167
|
-
gh pr create \
|
|
168
|
-
--title "[Spec {id}] {Feature name}" \
|
|
169
|
-
--body "$(cat <<'EOF'
|
|
170
|
-
## Summary
|
|
171
|
-
|
|
172
|
-
{One paragraph summary}
|
|
173
|
-
|
|
174
|
-
## Changes
|
|
175
|
-
|
|
176
|
-
- Change 1
|
|
177
|
-
- Change 2
|
|
178
|
-
- Change 3
|
|
179
|
-
|
|
180
|
-
## Test Plan
|
|
181
|
-
|
|
182
|
-
- [ ] All tests pass
|
|
183
|
-
- [ ] Manual testing completed
|
|
184
|
-
- [ ] Code reviewed
|
|
185
|
-
|
|
186
|
-
## Spec Reference
|
|
187
|
-
|
|
188
|
-
- Spec: `codev/specs/{id}-{name}.md`
|
|
189
|
-
- Plan: `codev/plans/{id}-{name}.md`
|
|
190
|
-
- Review: `codev/reviews/{id}-{name}.md`
|
|
191
|
-
EOF
|
|
192
|
-
)"
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
### 3. Final Verification
|
|
196
|
-
|
|
197
|
-
Before creating PR:
|
|
198
|
-
- [ ] All tests pass (`npm test`)
|
|
199
|
-
- [ ] Build passes (`npm run build`)
|
|
200
|
-
- [ ] No uncommitted changes
|
|
201
|
-
- [ ] Review document is complete
|
|
202
|
-
- [ ] All acceptance criteria documented as PASS
|
|
203
|
-
|
|
204
|
-
### 4. Signal Completion
|
|
205
|
-
|
|
206
|
-
When PR is created:
|
|
207
|
-
1. Update status file: `current_state: complete`
|
|
208
|
-
2. Output: `<signal>REVIEW_COMPLETE</signal>`
|
|
209
|
-
3. Output the PR URL for human review
|
|
210
|
-
|
|
211
|
-
## Commit the Review
|
|
212
|
-
|
|
213
|
-
```bash
|
|
214
|
-
git add codev/reviews/{id}-*.md
|
|
215
|
-
git commit -m "[Spec {id}] Add review document"
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
## Quality Checklist
|
|
219
|
-
|
|
220
|
-
Before signaling completion:
|
|
221
|
-
- [ ] Review document captures all lessons learned
|
|
222
|
-
- [ ] PR description is clear and complete
|
|
223
|
-
- [ ] All commits have meaningful messages
|
|
224
|
-
- [ ] No debug code or TODO comments remain
|
|
225
|
-
- [ ] Documentation is updated (if needed)
|
|
226
|
-
|
|
227
|
-
## Constraints
|
|
228
|
-
|
|
229
|
-
- **Honest assessment** - Document what actually happened
|
|
230
|
-
- **No new code** - Review phase is documentation only
|
|
231
|
-
- **Capture lessons** - Future iterations benefit from insights
|
|
232
|
-
- **Clean PR** - Ready for human review and merge
|
|
233
|
-
|
|
234
|
-
## Output Format
|
|
235
|
-
|
|
236
|
-
When complete, output:
|
|
237
|
-
|
|
238
|
-
```
|
|
239
|
-
<signal>REVIEW_COMPLETE</signal>
|
|
240
|
-
|
|
241
|
-
PR Created: {PR_URL}
|
|
242
|
-
|
|
243
|
-
Summary:
|
|
244
|
-
- {number} files changed
|
|
245
|
-
- {number} tests added
|
|
246
|
-
- All acceptance criteria met
|
|
247
|
-
|
|
248
|
-
Ready for human review and merge.
|
|
249
|
-
```
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# Specify Phase Prompt
|
|
2
|
-
|
|
3
|
-
You are the **Spec Writer** hat in a Ralph-SPIR loop.
|
|
4
|
-
|
|
5
|
-
## Your Mission
|
|
6
|
-
|
|
7
|
-
Write a detailed specification for the assigned project. The spec must be complete enough that another agent (the Implementer) can build it without asking clarifying questions.
|
|
8
|
-
|
|
9
|
-
## Input Context
|
|
10
|
-
|
|
11
|
-
Read these files to understand the task:
|
|
12
|
-
1. `codev/status/{project-id}-*.md` - Current project state and any notes
|
|
13
|
-
2. The GitHub Issue for this project (if available)
|
|
14
|
-
3. Any existing context files mentioned in the project entry
|
|
15
|
-
|
|
16
|
-
## Output Requirements
|
|
17
|
-
|
|
18
|
-
Create `codev/specs/{project-id}-{name}.md` with:
|
|
19
|
-
|
|
20
|
-
### Required Sections
|
|
21
|
-
|
|
22
|
-
1. **Metadata** - ID, status, created date, protocol
|
|
23
|
-
2. **Executive Summary** - One paragraph explaining what this feature does
|
|
24
|
-
3. **Problem Statement** - What problem does this solve?
|
|
25
|
-
4. **Desired State** - What does success look like?
|
|
26
|
-
5. **Success Criteria** - Testable acceptance criteria (checkboxes)
|
|
27
|
-
6. **Constraints** - Technical and business constraints
|
|
28
|
-
7. **Solution Approach** - High-level technical approach
|
|
29
|
-
8. **Test Scenarios** - How will this be tested?
|
|
30
|
-
9. **Open Questions** - Any unresolved questions (should be minimal)
|
|
31
|
-
|
|
32
|
-
### Quality Checklist
|
|
33
|
-
|
|
34
|
-
Before completing, verify:
|
|
35
|
-
- [ ] All acceptance criteria are testable (can be verified programmatically)
|
|
36
|
-
- [ ] No implementation details in spec (that's for the plan)
|
|
37
|
-
- [ ] No ambiguous requirements ("should be fast" → "response time < 200ms")
|
|
38
|
-
- [ ] Edge cases considered
|
|
39
|
-
- [ ] Error scenarios documented
|
|
40
|
-
|
|
41
|
-
## Completion Signal
|
|
42
|
-
|
|
43
|
-
When spec is complete:
|
|
44
|
-
1. Commit the spec file: `git add codev/specs/{id}-*.md && git commit -m "[Spec {id}] Initial specification"`
|
|
45
|
-
2. Update status file: Set `current_state: specify:review`
|
|
46
|
-
3. Output: `<signal>SPEC_READY_FOR_REVIEW</signal>`
|
|
47
|
-
|
|
48
|
-
## Constraints
|
|
49
|
-
|
|
50
|
-
- DO NOT start implementation
|
|
51
|
-
- DO NOT write the plan
|
|
52
|
-
- DO NOT make assumptions - if something is unclear, document it in Open Questions
|
|
53
|
-
- Keep spec focused and concise (aim for 200-500 lines)
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
# Test Phase Prompt (BUGFIX)
|
|
2
|
-
|
|
3
|
-
You are in the Test phase of BUGFIX protocol.
|
|
4
|
-
|
|
5
|
-
## Your Mission
|
|
6
|
-
|
|
7
|
-
Add a test that would have caught this bug, then verify all tests pass.
|
|
8
|
-
|
|
9
|
-
## Input Context
|
|
10
|
-
|
|
11
|
-
1. `codev/status/{project-id}-*.md` - Bug details and fix
|
|
12
|
-
2. GitHub issue for reproduction steps
|
|
13
|
-
|
|
14
|
-
## Workflow
|
|
15
|
-
|
|
16
|
-
### 1. Write Regression Test
|
|
17
|
-
|
|
18
|
-
Create a test that:
|
|
19
|
-
- Reproduces the original bug scenario
|
|
20
|
-
- Verifies the fix works
|
|
21
|
-
- Would fail if the bug was reintroduced
|
|
22
|
-
|
|
23
|
-
Test name should be descriptive:
|
|
24
|
-
```typescript
|
|
25
|
-
it('should handle [scenario] without [bug behavior]', () => {
|
|
26
|
-
// Test implementation
|
|
27
|
-
});
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
### 2. Run All Tests
|
|
31
|
-
|
|
32
|
-
```bash
|
|
33
|
-
npm test
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
If tests fail:
|
|
37
|
-
- Output: `<signal>TESTS_FAIL</signal>`
|
|
38
|
-
- Include which tests failed
|
|
39
|
-
|
|
40
|
-
### 3. Verify Coverage
|
|
41
|
-
|
|
42
|
-
Ensure:
|
|
43
|
-
- [ ] New test covers the bug scenario
|
|
44
|
-
- [ ] Existing tests still pass
|
|
45
|
-
- [ ] No flaky tests introduced
|
|
46
|
-
|
|
47
|
-
### 4. Commit Test
|
|
48
|
-
|
|
49
|
-
```bash
|
|
50
|
-
git add <test-files>
|
|
51
|
-
git commit -m "test: add regression test for #{issue-number}"
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
### 5. Signal Completion
|
|
55
|
-
|
|
56
|
-
When all tests pass:
|
|
57
|
-
- Output: `<signal>TESTS_PASS</signal>`
|
|
58
|
-
|
|
59
|
-
## Constraints
|
|
60
|
-
|
|
61
|
-
- Test MUST cover the specific bug scenario
|
|
62
|
-
- Keep test focused and minimal
|
|
63
|
-
- DO NOT add unrelated tests
|