@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,184 +1,65 @@
|
|
|
1
1
|
# Plan: [Title]
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
- **ID**: plan-[YYYY-MM-DD]-[short-name]
|
|
5
|
-
- **Status**: draft
|
|
6
|
-
- **Specification**: [Link to codev/specs/spec-file.md]
|
|
7
|
-
- **Created**: [YYYY-MM-DD]
|
|
3
|
+
**Specification**: [Link to codev/specs/XXXX-*.md]
|
|
8
4
|
|
|
9
5
|
## Executive Summary
|
|
10
|
-
[Brief overview of the implementation approach chosen and why. Reference the specification's selected approach.]
|
|
11
6
|
|
|
12
|
-
|
|
13
|
-
[Copy from specification and add implementation-specific metrics]
|
|
14
|
-
- [ ] All specification criteria met
|
|
15
|
-
- [ ] Test coverage >90%
|
|
16
|
-
- [ ] Performance benchmarks achieved
|
|
17
|
-
- [ ] Zero critical security issues
|
|
18
|
-
- [ ] Documentation complete
|
|
7
|
+
The implementation approach chosen and why, referencing the spec's selected approach.
|
|
19
8
|
|
|
20
9
|
## Phases (Machine Readable)
|
|
21
10
|
|
|
22
|
-
<!-- REQUIRED: porch
|
|
11
|
+
<!-- REQUIRED: porch parses this JSON to track phase progress. Keep it in sync when you add or remove phases; at least two phases. -->
|
|
23
12
|
|
|
24
13
|
```json
|
|
25
14
|
{
|
|
26
15
|
"phases": [
|
|
27
16
|
{"id": "phase_1", "title": "Phase 1 Title Here"},
|
|
28
|
-
{"id": "phase_2", "title": "Phase 2 Title Here"}
|
|
29
|
-
{"id": "phase_3", "title": "Phase 3 Title Here"}
|
|
17
|
+
{"id": "phase_2", "title": "Phase 2 Title Here"}
|
|
30
18
|
]
|
|
31
19
|
}
|
|
32
20
|
```
|
|
33
21
|
|
|
34
22
|
## Phase Breakdown
|
|
35
23
|
|
|
24
|
+
Repeat this block per phase. Each phase is self-contained, independently testable, valuable, and a single atomic commit.
|
|
25
|
+
|
|
36
26
|
### Phase 1: [Descriptive Name]
|
|
27
|
+
|
|
37
28
|
**Dependencies**: None
|
|
38
29
|
|
|
39
|
-
####
|
|
40
|
-
|
|
41
|
-
|
|
30
|
+
#### Objective
|
|
31
|
+
|
|
32
|
+
The single goal of this phase and the value it delivers.
|
|
33
|
+
|
|
34
|
+
#### Files to Create / Modify
|
|
35
|
+
|
|
36
|
+
Specific paths.
|
|
42
37
|
|
|
43
38
|
#### Deliverables
|
|
44
|
-
- [ ] [Specific deliverable 1]
|
|
45
|
-
- [ ] [Specific deliverable 2]
|
|
46
|
-
- [ ] [Tests for this phase]
|
|
47
|
-
- [ ] [Documentation updates]
|
|
48
|
-
|
|
49
|
-
#### Implementation Details
|
|
50
|
-
[Specific technical approach for this phase. Include:
|
|
51
|
-
- Key files/modules to create or modify
|
|
52
|
-
- Architectural decisions
|
|
53
|
-
- API contracts
|
|
54
|
-
- Data models]
|
|
55
39
|
|
|
56
|
-
|
|
57
|
-
- [ ]
|
|
58
|
-
- [ ] [Testable criterion 2]
|
|
59
|
-
- [ ] All tests pass
|
|
60
|
-
- [ ] Code review completed
|
|
40
|
+
- [ ] …
|
|
41
|
+
- [ ] Tests for this phase
|
|
61
42
|
|
|
62
|
-
####
|
|
63
|
-
- **Unit Tests**: [What to test]
|
|
64
|
-
- **Integration Tests**: [What to test]
|
|
65
|
-
- **Manual Testing**: [Scenarios to verify]
|
|
43
|
+
#### Acceptance Criteria
|
|
66
44
|
|
|
67
|
-
|
|
68
|
-
[How to revert this phase if issues arise]
|
|
45
|
+
- [ ] Testable criterion(s), plus build and tests passing.
|
|
69
46
|
|
|
70
|
-
####
|
|
71
|
-
- **Risk**: [Specific risk for this phase]
|
|
72
|
-
- **Mitigation**: [How to address]
|
|
47
|
+
#### Test Plan
|
|
73
48
|
|
|
74
|
-
|
|
49
|
+
Unit / integration / manual scenarios that verify this phase.
|
|
75
50
|
|
|
76
51
|
### Phase 2: [Descriptive Name]
|
|
77
|
-
**Dependencies**: Phase 1
|
|
78
|
-
|
|
79
|
-
[Repeat structure for each phase]
|
|
80
52
|
|
|
81
|
-
|
|
53
|
+
**Dependencies**: Phase 1
|
|
82
54
|
|
|
83
|
-
|
|
84
|
-
**Dependencies**: Phase 2
|
|
55
|
+
[Same structure.]
|
|
85
56
|
|
|
86
|
-
|
|
57
|
+
## Risks and Mitigation
|
|
87
58
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
↓
|
|
92
|
-
Phase 4 (optional)
|
|
93
|
-
```
|
|
59
|
+
| Risk | Probability | Impact | Mitigation |
|
|
60
|
+
|------|-------------|--------|------------|
|
|
61
|
+
| … | | | |
|
|
94
62
|
|
|
95
|
-
##
|
|
96
|
-
### Development Resources
|
|
97
|
-
- **Engineers**: [Expertise needed]
|
|
98
|
-
- **Environment**: [Dev/staging requirements]
|
|
99
|
-
|
|
100
|
-
### Infrastructure
|
|
101
|
-
- [Database changes]
|
|
102
|
-
- [New services]
|
|
103
|
-
- [Configuration updates]
|
|
104
|
-
- [Monitoring additions]
|
|
105
|
-
|
|
106
|
-
## Integration Points
|
|
107
|
-
### External Systems
|
|
108
|
-
- **System**: [Name]
|
|
109
|
-
- **Integration Type**: [API/Database/Message Queue]
|
|
110
|
-
- **Phase**: [Which phase needs this]
|
|
111
|
-
- **Fallback**: [What if unavailable]
|
|
112
|
-
|
|
113
|
-
### Internal Systems
|
|
114
|
-
[Repeat structure]
|
|
115
|
-
|
|
116
|
-
## Risk Analysis
|
|
117
|
-
### Technical Risks
|
|
118
|
-
| Risk | Probability | Impact | Mitigation | Owner |
|
|
119
|
-
|------|------------|--------|------------|-------|
|
|
120
|
-
| [Risk 1] | L/M/H | L/M/H | [Strategy] | [Name] |
|
|
121
|
-
|
|
122
|
-
### Schedule Risks
|
|
123
|
-
| Risk | Probability | Impact | Mitigation | Owner |
|
|
124
|
-
|------|------------|--------|------------|-------|
|
|
125
|
-
| [Risk 1] | L/M/H | L/M/H | [Strategy] | [Name] |
|
|
126
|
-
|
|
127
|
-
## Validation Checkpoints
|
|
128
|
-
1. **After Phase 1**: [What to validate]
|
|
129
|
-
2. **After Phase 2**: [What to validate]
|
|
130
|
-
3. **Before Production**: [Final checks]
|
|
131
|
-
|
|
132
|
-
## Monitoring and Observability
|
|
133
|
-
### Metrics to Track
|
|
134
|
-
- [Metric 1: Description and threshold]
|
|
135
|
-
- [Metric 2: Description and threshold]
|
|
136
|
-
|
|
137
|
-
### Logging Requirements
|
|
138
|
-
- [What to log and at what level]
|
|
139
|
-
- [Retention requirements]
|
|
140
|
-
|
|
141
|
-
### Alerting
|
|
142
|
-
- [Alert condition and severity]
|
|
143
|
-
- [Who to notify]
|
|
144
|
-
|
|
145
|
-
## Documentation Updates Required
|
|
146
|
-
- [ ] API documentation
|
|
147
|
-
- [ ] Architecture diagrams
|
|
148
|
-
- [ ] Runbooks
|
|
149
|
-
- [ ] User guides
|
|
150
|
-
- [ ] Configuration guides
|
|
151
|
-
|
|
152
|
-
## Post-Implementation Tasks
|
|
153
|
-
- [ ] Performance validation
|
|
154
|
-
- [ ] Security audit
|
|
155
|
-
- [ ] Load testing
|
|
156
|
-
- [ ] User acceptance testing
|
|
157
|
-
- [ ] Monitoring validation
|
|
158
|
-
|
|
159
|
-
## Expert Review
|
|
160
|
-
**Date**: [YYYY-MM-DD]
|
|
161
|
-
**Model**: [Model consulted]
|
|
162
|
-
**Key Feedback**:
|
|
163
|
-
- [Feasibility assessment]
|
|
164
|
-
- [Missing considerations]
|
|
165
|
-
- [Risk identification]
|
|
166
|
-
- [Alternative suggestions]
|
|
167
|
-
|
|
168
|
-
**Plan Adjustments**:
|
|
169
|
-
- [How the plan was modified based on feedback]
|
|
170
|
-
|
|
171
|
-
## Approval
|
|
172
|
-
- [ ] Technical Lead Review
|
|
173
|
-
- [ ] Engineering Manager Approval
|
|
174
|
-
- [ ] Resource Allocation Confirmed
|
|
175
|
-
- [ ] Expert AI Consultation Complete
|
|
176
|
-
|
|
177
|
-
## Change Log
|
|
178
|
-
| Date | Change | Reason | Author |
|
|
179
|
-
|------|--------|--------|--------|
|
|
180
|
-
| [Date] | [What changed] | [Why] | [Who] |
|
|
181
|
-
|
|
182
|
-
## Notes
|
|
183
|
-
[Additional context, assumptions, or considerations]
|
|
63
|
+
## Documentation Updates
|
|
184
64
|
|
|
65
|
+
Which docs change (README, API docs, arch/lessons) — or none.
|
|
@@ -2,119 +2,60 @@
|
|
|
2
2
|
|
|
3
3
|
## Summary
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
1–3 sentences: what was built, how many phases, the net outcome.
|
|
6
6
|
|
|
7
7
|
## Spec Compliance
|
|
8
8
|
|
|
9
|
+
Each acceptance criterion and whether it was met, with the phase that delivered it.
|
|
10
|
+
|
|
9
11
|
- [x] AC1: [Description] (Phase N)
|
|
10
|
-
- [x] AC2: [Description] (Phase N)
|
|
11
12
|
- [ ] ACn: [Not met — reason]
|
|
12
13
|
|
|
13
14
|
## Deviations from Plan
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
## Key Metrics
|
|
18
|
-
|
|
19
|
-
- **Commits**: [N] on the branch
|
|
20
|
-
- **Tests**: [N] passing ([N] existing + [N] new)
|
|
21
|
-
- **Files created**: [list]
|
|
22
|
-
- **Files deleted**: [list]
|
|
23
|
-
- **Net LOC impact**: [+/-N lines]
|
|
24
|
-
|
|
25
|
-
## Timelog
|
|
26
|
-
|
|
27
|
-
All times [timezone], [date range].
|
|
28
|
-
|
|
29
|
-
| Time | Event |
|
|
30
|
-
|------|-------|
|
|
31
|
-
| HH:MM | First commit: [description] |
|
|
32
|
-
| HH:MM | [Phase/milestone] |
|
|
33
|
-
| — | **GATE: [gate-name]** (human approval required) |
|
|
34
|
-
| HH:MM | Implementation begins |
|
|
35
|
-
| HH:MM | Phase N complete after N iterations |
|
|
36
|
-
| HH:MM | **GATE: pr** |
|
|
37
|
-
|
|
38
|
-
### Autonomous Operation
|
|
39
|
-
|
|
40
|
-
| Period | Duration | Activity |
|
|
41
|
-
|--------|----------|----------|
|
|
42
|
-
| Spec + Plan | ~Nm | [Summary] |
|
|
43
|
-
| Human gate wait | ~Nh Nm | Idle — waiting for approval |
|
|
44
|
-
| Implementation → PR | ~Nh Nm | N phases, N consultation rounds |
|
|
45
|
-
|
|
46
|
-
**Total wall clock** (first commit to pr): **Xh Ym**
|
|
47
|
-
**Total autonomous work time** (excluding gate waits): **~Xh Ym**
|
|
48
|
-
**Context window resets**: [N] (resumed automatically / required manual restart)
|
|
49
|
-
|
|
50
|
-
## Consultation Iteration Summary
|
|
51
|
-
|
|
52
|
-
[N] consultation files produced ([N] rounds x [N] models). [N] APPROVE, [N] REQUEST_CHANGES, [N] COMMENT.
|
|
53
|
-
|
|
54
|
-
| Phase | Iters | Who Blocked | What They Caught |
|
|
55
|
-
|-------|-------|-------------|------------------|
|
|
56
|
-
| Specify | N | [Model] | [Brief description] |
|
|
57
|
-
| Plan | N | [Model] | [Brief description] |
|
|
58
|
-
| Phase 1 | N | [Model] | [Brief description] |
|
|
59
|
-
| Phase N | N | [Model] | [Brief description] |
|
|
60
|
-
| Review | N | [Model] | [Brief description] |
|
|
61
|
-
|
|
62
|
-
**Most frequent blocker**: [Model] — blocked in N of N rounds, focused on: [pattern].
|
|
63
|
-
|
|
64
|
-
### Avoidable Iterations
|
|
65
|
-
|
|
66
|
-
Iterations that could have been prevented with better builder behavior:
|
|
67
|
-
|
|
68
|
-
1. **[Pattern]**: [Specific thing the builder should have done without needing reviewer feedback. E.g., "Run exhaustive grep before claiming all instances fixed."]
|
|
69
|
-
|
|
70
|
-
2. **[Pattern]**: [Another avoidable iteration pattern.]
|
|
16
|
+
What changed from the plan, per phase, and why. "None" if the plan held.
|
|
71
17
|
|
|
72
18
|
## Consultation Feedback
|
|
73
19
|
|
|
74
|
-
|
|
20
|
+
Per phase that had consultation, each reviewer's concerns and how you responded — **Addressed** (changed), **Rebutted** (why it does not apply), or **N/A** (out of scope / moot). "No concerns raised — all consultations approved" when that is true; note COMMENT verdicts and any `CONSULT_ERROR`.
|
|
75
21
|
|
|
76
22
|
### [Phase] Phase (Round N)
|
|
77
23
|
|
|
78
24
|
#### Gemini
|
|
79
|
-
- **Concern**:
|
|
80
|
-
- **Addressed**: [What was changed]
|
|
81
|
-
|
|
82
|
-
#### Codex
|
|
83
|
-
- **Concern**: [Summary of concern]
|
|
84
|
-
- **Rebutted**: [Why current approach is correct]
|
|
85
|
-
|
|
86
|
-
#### Claude
|
|
87
|
-
- No concerns raised (APPROVE)
|
|
25
|
+
- **Concern**: … → **Addressed** / **Rebutted** / **N/A**: …
|
|
88
26
|
|
|
89
27
|
## Lessons Learned
|
|
90
28
|
|
|
91
29
|
### What Went Well
|
|
92
|
-
- [Specific positive observation — what worked and why]
|
|
93
30
|
|
|
94
31
|
### Challenges Encountered
|
|
95
|
-
|
|
32
|
+
|
|
33
|
+
What was hard and how it resolved.
|
|
96
34
|
|
|
97
35
|
### What Would Be Done Differently
|
|
98
|
-
|
|
36
|
+
|
|
37
|
+
### Methodology Improvements
|
|
38
|
+
|
|
39
|
+
Suggested improvements to the SPIR protocol or the tooling.
|
|
99
40
|
|
|
100
41
|
## Architecture Updates
|
|
101
42
|
|
|
102
|
-
|
|
43
|
+
What you routed where — HOT `codev/resources/arch-critical.md` (tiny, capped, always-injected) vs COLD `codev/resources/arch.md` (reference) — or why no change was needed. Note any hot-tier demotion made to respect the cap.
|
|
103
44
|
|
|
104
|
-
- Routed: [hot | cold] — [fact
|
|
105
|
-
- Or: "No architecture updates needed — [
|
|
45
|
+
- Routed: [hot | cold] — [fact] — [what changed]
|
|
46
|
+
- Or: "No architecture updates needed — [reason]"
|
|
106
47
|
|
|
107
48
|
## Lessons Learned Updates
|
|
108
49
|
|
|
109
|
-
|
|
50
|
+
What you routed where — HOT `codev/resources/lessons-critical.md` (capped) vs COLD `codev/resources/lessons-learned.md` (reference) — or why no change was needed.
|
|
110
51
|
|
|
111
|
-
- Routed: [hot | cold] — [category] — [lesson
|
|
112
|
-
- Or: "No lessons learned updates needed — [
|
|
52
|
+
- Routed: [hot | cold] — [category] — [lesson]
|
|
53
|
+
- Or: "No lessons learned updates needed — [reason]"
|
|
113
54
|
|
|
114
|
-
##
|
|
55
|
+
## Flaky Tests
|
|
115
56
|
|
|
116
|
-
-
|
|
57
|
+
Pre-existing tests skipped as flaky during this project — name, file path, observed failure mode. "No flaky tests encountered" if none.
|
|
117
58
|
|
|
118
59
|
## Follow-up Items
|
|
119
60
|
|
|
120
|
-
|
|
61
|
+
Work identified for later, outside this spec's scope.
|
|
@@ -3,152 +3,58 @@
|
|
|
3
3
|
<!--
|
|
4
4
|
SPEC vs PLAN BOUNDARY:
|
|
5
5
|
This spec defines WHAT and WHY. The plan defines HOW and WHEN.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
- Implementation phases or steps
|
|
9
|
-
- File paths to modify
|
|
10
|
-
- Code examples or pseudocode
|
|
11
|
-
- "First we will... then we will..."
|
|
12
|
-
|
|
13
|
-
These belong in codev/plans/XXXX-*.md
|
|
6
|
+
Keep implementation phases, file paths, code, and "first we will… then we will…"
|
|
7
|
+
out of the spec — those belong in codev/plans/XXXX-*.md.
|
|
14
8
|
-->
|
|
15
9
|
|
|
16
|
-
## Metadata
|
|
17
|
-
- **ID**: spec-[YYYY-MM-DD]-[short-name]
|
|
18
|
-
- **Status**: draft
|
|
19
|
-
- **Created**: [YYYY-MM-DD]
|
|
20
|
-
|
|
21
|
-
## Clarifying Questions Asked
|
|
22
|
-
<!-- Document the questions you asked the user/stakeholder and their answers -->
|
|
23
|
-
[List the questions you asked to understand the problem better and the responses received. This shows the discovery process.]
|
|
24
|
-
|
|
25
10
|
## Problem Statement
|
|
26
|
-
|
|
11
|
+
|
|
12
|
+
What problem is being solved, why it matters, who is affected, and the current pain points.
|
|
27
13
|
|
|
28
14
|
## Current State
|
|
29
|
-
|
|
15
|
+
|
|
16
|
+
How things work today, and the limitations or workarounds that motivate the change. Concrete examples.
|
|
30
17
|
|
|
31
18
|
## Desired State
|
|
32
|
-
[Describe the ideal solution. How should things work after implementation? What specific improvements will users see?]
|
|
33
19
|
|
|
34
|
-
|
|
35
|
-
- **Primary Users**: [Who will directly use this feature?]
|
|
36
|
-
- **Secondary Users**: [Who else is affected?]
|
|
37
|
-
- **Technical Team**: [Who will implement and maintain this?]
|
|
38
|
-
- **Business Owners**: [Who has decision authority?]
|
|
20
|
+
How things should work after implementation, and the specific improvements users will see.
|
|
39
21
|
|
|
40
22
|
## Success Criteria
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
- [ ]
|
|
45
|
-
- [ ] Performance benchmarks met (specify below)
|
|
46
|
-
- [ ] Documentation updated
|
|
23
|
+
|
|
24
|
+
Measurable, testable acceptance criteria — the conditions under which this spec is satisfied.
|
|
25
|
+
|
|
26
|
+
- [ ] …
|
|
47
27
|
|
|
48
28
|
## Constraints
|
|
49
|
-
### Technical Constraints
|
|
50
|
-
- [Existing system limitations]
|
|
51
|
-
- [Technology stack requirements]
|
|
52
|
-
- [Integration points]
|
|
53
29
|
|
|
54
|
-
|
|
55
|
-
- [Timeline requirements]
|
|
56
|
-
- [Budget considerations]
|
|
57
|
-
- [Compliance requirements]
|
|
30
|
+
Technical and business constraints that bound the solution: existing-system limits, required stack, integration points, compliance.
|
|
58
31
|
|
|
59
32
|
## Assumptions
|
|
60
|
-
- [List assumptions being made]
|
|
61
|
-
- [Include dependencies on other work]
|
|
62
|
-
- [Note any prerequisites]
|
|
63
33
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
### Approach 1: [Name]
|
|
67
|
-
**Description**: [Brief overview of this approach]
|
|
34
|
+
Assumptions being made and dependencies on other work.
|
|
68
35
|
|
|
69
|
-
|
|
70
|
-
- [Advantage 1]
|
|
71
|
-
- [Advantage 2]
|
|
36
|
+
## Solution Approaches
|
|
72
37
|
|
|
73
|
-
|
|
74
|
-
- [Disadvantage 1]
|
|
75
|
-
- [Disadvantage 2]
|
|
38
|
+
More than one approach where the space is open. For each: a short description, its trade-offs (pros/cons), and its risk/complexity. Name the recommended one and why.
|
|
76
39
|
|
|
77
|
-
|
|
78
|
-
**Risk Level**: [Low/Medium/High]
|
|
40
|
+
### Approach 1: [Name]
|
|
79
41
|
|
|
80
42
|
### Approach 2: [Name]
|
|
81
|
-
[Repeat structure for additional approaches]
|
|
82
|
-
|
|
83
|
-
[Add as many approaches as appropriate for the problem]
|
|
84
43
|
|
|
85
44
|
## Open Questions
|
|
86
45
|
|
|
87
|
-
|
|
88
|
-
- [ ] [Question that must be answered before proceeding]
|
|
89
|
-
|
|
90
|
-
### Important (Affects Design)
|
|
91
|
-
- [ ] [Question that influences technical decisions]
|
|
92
|
-
|
|
93
|
-
### Nice-to-Know (Optimization)
|
|
94
|
-
- [ ] [Question that could improve the solution]
|
|
95
|
-
|
|
96
|
-
## Performance Requirements
|
|
97
|
-
- **Response Time**: [e.g., <200ms p95]
|
|
98
|
-
- **Throughput**: [e.g., 1000 requests/second]
|
|
99
|
-
- **Resource Usage**: [e.g., <500MB memory]
|
|
100
|
-
- **Availability**: [e.g., 99.9% uptime]
|
|
101
|
-
|
|
102
|
-
## Security Considerations
|
|
103
|
-
- [Authentication requirements]
|
|
104
|
-
- [Authorization model]
|
|
105
|
-
- [Data privacy concerns]
|
|
106
|
-
- [Audit requirements]
|
|
46
|
+
Ranked by how much they block: **Critical** (blocks progress) · **Important** (shapes design) · **Nice-to-know** (optimization).
|
|
107
47
|
|
|
108
48
|
## Test Scenarios
|
|
109
|
-
### Functional Tests
|
|
110
|
-
1. [Scenario 1: Happy path]
|
|
111
|
-
2. [Scenario 2: Edge case]
|
|
112
|
-
3. [Scenario 3: Error condition]
|
|
113
49
|
|
|
114
|
-
|
|
115
|
-
1. [Performance test scenario]
|
|
116
|
-
2. [Security test scenario]
|
|
117
|
-
3. [Load test scenario]
|
|
50
|
+
The functional and non-functional scenarios that verify the success criteria — happy paths, edge cases, error conditions.
|
|
118
51
|
|
|
119
|
-
##
|
|
120
|
-
- **External Services**: [List any external APIs or services]
|
|
121
|
-
- **Internal Systems**: [List internal dependencies]
|
|
122
|
-
- **Libraries/Frameworks**: [List required libraries]
|
|
52
|
+
## Risks and Mitigation
|
|
123
53
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
- [Link to architectural diagrams]
|
|
128
|
-
- [Link to research materials]
|
|
54
|
+
| Risk | Probability | Impact | Mitigation |
|
|
55
|
+
|------|-------------|--------|------------|
|
|
56
|
+
| … | | | |
|
|
129
57
|
|
|
130
|
-
##
|
|
131
|
-
| Risk | Probability | Impact | Mitigation Strategy |
|
|
132
|
-
|------|------------|--------|-------------------|
|
|
133
|
-
| [Risk 1] | Low/Med/High | Low/Med/High | [How to address] |
|
|
134
|
-
| [Risk 2] | Low/Med/High | Low/Med/High | [How to address] |
|
|
135
|
-
|
|
136
|
-
## Expert Consultation
|
|
137
|
-
<!-- Only if user requested multi-agent consultation -->
|
|
138
|
-
**Date**: [YYYY-MM-DD]
|
|
139
|
-
**Models Consulted**: [e.g., GPT-5 and Gemini Pro]
|
|
140
|
-
**Sections Updated**:
|
|
141
|
-
- [Section name]: [Brief description of change based on consultation]
|
|
142
|
-
- [Section name]: [Brief description of change based on consultation]
|
|
143
|
-
|
|
144
|
-
Note: All consultation feedback has been incorporated directly into the relevant sections above.
|
|
145
|
-
|
|
146
|
-
## Approval
|
|
147
|
-
- [ ] Technical Lead Review
|
|
148
|
-
- [ ] Product Owner Review
|
|
149
|
-
- [ ] Stakeholder Sign-off
|
|
150
|
-
- [ ] Expert AI Consultation Complete
|
|
151
|
-
|
|
152
|
-
## Notes
|
|
153
|
-
[Any additional context or considerations not covered above]
|
|
58
|
+
## References
|
|
154
59
|
|
|
60
|
+
Related specs, research, or documentation.
|