@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
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { resolve, dirname } from 'node:path';
|
|
10
10
|
import { execSync } from 'node:child_process';
|
|
11
|
-
import {
|
|
11
|
+
import { randomUUID } from 'node:crypto';
|
|
12
|
+
import { existsSync, lstatSync, statSync, readFileSync, writeFileSync, chmodSync, symlinkSync, readdirSync, mkdirSync, copyFileSync, renameSync, rmSync, } from 'node:fs';
|
|
12
13
|
import { globSync } from 'glob';
|
|
13
14
|
import { logger, fatal } from '../utils/logger.js';
|
|
14
15
|
import { getBuilderHarness, getWorktreeConfig } from '../utils/config.js';
|
|
@@ -129,6 +130,34 @@ export function symlinkConfigFiles(config, worktreePath) {
|
|
|
129
130
|
}
|
|
130
131
|
}
|
|
131
132
|
}
|
|
133
|
+
/**
|
|
134
|
+
* Refresh the builder's personal project configuration from the main
|
|
135
|
+
* workspace without creating a write-through symlink.
|
|
136
|
+
*
|
|
137
|
+
* The main workspace is authoritative when its config.local.json exists.
|
|
138
|
+
* Copying through a sibling temporary file keeps replacement atomic. When the
|
|
139
|
+
* main file is absent, an existing builder-local preference is left untouched.
|
|
140
|
+
*
|
|
141
|
+
* @returns true when a snapshot was written, false when no source existed
|
|
142
|
+
*/
|
|
143
|
+
export function syncLocalConfigSnapshot(config, worktreePath) {
|
|
144
|
+
const source = resolve(config.workspaceRoot, '.codev', 'config.local.json');
|
|
145
|
+
if (!existsSync(source))
|
|
146
|
+
return false;
|
|
147
|
+
const targetDir = resolve(worktreePath, '.codev');
|
|
148
|
+
const target = resolve(targetDir, 'config.local.json');
|
|
149
|
+
const temporary = `${target}.tmp-${process.pid}-${randomUUID()}`;
|
|
150
|
+
mkdirSync(targetDir, { recursive: true });
|
|
151
|
+
try {
|
|
152
|
+
copyFileSync(source, temporary);
|
|
153
|
+
renameSync(temporary, target);
|
|
154
|
+
}
|
|
155
|
+
finally {
|
|
156
|
+
rmSync(temporary, { force: true });
|
|
157
|
+
}
|
|
158
|
+
logger.info('Refreshed .codev/config.local.json snapshot from workspace root');
|
|
159
|
+
return true;
|
|
160
|
+
}
|
|
132
161
|
/**
|
|
133
162
|
* Run user-configured post-spawn commands inside a freshly-created worktree.
|
|
134
163
|
*
|
|
@@ -166,6 +195,7 @@ export async function createWorktree(config, branchName, worktreePath) {
|
|
|
166
195
|
fatal(`Failed to create worktree: ${error}`);
|
|
167
196
|
}
|
|
168
197
|
symlinkConfigFiles(config, worktreePath);
|
|
198
|
+
syncLocalConfigSnapshot(config, worktreePath);
|
|
169
199
|
await runPostSpawnHooks(worktreePath, getWorktreeConfig(config.workspaceRoot).postSpawn);
|
|
170
200
|
}
|
|
171
201
|
/**
|
|
@@ -369,6 +399,7 @@ export async function createWorktreeFromBranch(config, branch, worktreePath, opt
|
|
|
369
399
|
}
|
|
370
400
|
}
|
|
371
401
|
symlinkConfigFiles(config, worktreePath);
|
|
402
|
+
syncLocalConfigSnapshot(config, worktreePath);
|
|
372
403
|
await runPostSpawnHooks(worktreePath, getWorktreeConfig(config.workspaceRoot).postSpawn);
|
|
373
404
|
}
|
|
374
405
|
/**
|
|
@@ -623,83 +654,321 @@ function installHarnessWorktreeFiles(harness, roleContent, roleFile, worktreePat
|
|
|
623
654
|
}
|
|
624
655
|
}
|
|
625
656
|
/**
|
|
626
|
-
*
|
|
657
|
+
* The tail shared by every builder launch loop, appended after the agent
|
|
658
|
+
* invocation inside `while true; do … done`.
|
|
627
659
|
*
|
|
628
|
-
*
|
|
629
|
-
*
|
|
630
|
-
*
|
|
631
|
-
*
|
|
632
|
-
*
|
|
633
|
-
*
|
|
634
|
-
*
|
|
660
|
+
* Issue #1241: exit code 0 is the user deliberately quitting (double Ctrl+C,
|
|
661
|
+
* `/quit`) — auto-respawning overrides that choice and forces them to race a
|
|
662
|
+
* second Ctrl+C into the sleep window, where a mistimed one lands in the fresh
|
|
663
|
+
* agent instead. It also feeds the #1224 class, where a respawn within ~2s
|
|
664
|
+
* collides with the dying predecessor's session lock. So a clean exit clears
|
|
665
|
+
* the screen and gates the relaunch on a keypress: recovery stays one keystroke
|
|
666
|
+
* away without anything happening on its own. Nonzero exits and signal deaths
|
|
667
|
+
* (bash reports those as 128+N) keep the historical auto-restart — that is what
|
|
668
|
+
* the loop is for.
|
|
669
|
+
*
|
|
670
|
+
* `read` failing means EOF on stdin, i.e. the terminal is gone; exit rather
|
|
671
|
+
* than spin the loop on an input that will never arrive.
|
|
672
|
+
*
|
|
673
|
+
* `onCleanExit` (Issue #1267) is an extra statement run just after the keypress,
|
|
674
|
+
* before the loop repeats — how the resume variant switches itself over to the
|
|
675
|
+
* fresh invocation. It sits *after* the `read`, so a terminal that went away
|
|
676
|
+
* (EOF → `exit 0`) never mutates state on its way out.
|
|
635
677
|
*/
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
678
|
+
function launchLoopTail(onCleanExit) {
|
|
679
|
+
const switchToFresh = onCleanExit ? `\n ${onCleanExit}` : '';
|
|
680
|
+
return ` status=$?
|
|
681
|
+
if [ "$status" -eq 0 ]; then
|
|
682
|
+
clear
|
|
683
|
+
echo "Agent exited at your request. Press Enter to relaunch fresh, or close this terminal."
|
|
684
|
+
read -r || exit 0${switchToFresh}
|
|
685
|
+
continue
|
|
686
|
+
fi
|
|
687
|
+
echo ""
|
|
688
|
+
echo "Agent exited (code $status). Restarting in 2 seconds... (Ctrl+C to quit)"
|
|
689
|
+
sleep 2`;
|
|
690
|
+
}
|
|
691
|
+
/**
|
|
692
|
+
* Build the `while true; do … done` launch loop for a builder script.
|
|
693
|
+
*
|
|
694
|
+
* `initial` is what the loop runs on entry, and what a crash restart reruns —
|
|
695
|
+
* on the resume path that is `<cmd> --resume <id>`, because recovering the
|
|
696
|
+
* conversation is exactly right after an unnatural death.
|
|
697
|
+
*
|
|
698
|
+
* `fresh` is what the Enter-gated relaunch runs after a *clean* exit. Issue
|
|
699
|
+
* #1267: a clean exit means the user deliberately ended that conversation, so
|
|
700
|
+
* relaunching it is the one thing the relaunch must not do — the same rule
|
|
701
|
+
* #1264 established for architect terminals. `fresh` is the plain
|
|
702
|
+
* role-injected, prompt-carrying invocation a non-resume spawn would have used,
|
|
703
|
+
* so "fresh" needs no definition of its own.
|
|
704
|
+
*
|
|
705
|
+
* The switch is one-way and sticky: once a clean exit has moved the loop to
|
|
706
|
+
* `fresh`, a later crash restarts the *fresh* invocation, never the superseded
|
|
707
|
+
* session the user walked away from.
|
|
708
|
+
*
|
|
709
|
+
* The two commands differ only on the resume path. Every other variant passes
|
|
710
|
+
* the same string twice and gets the historical single-command loop back,
|
|
711
|
+
* byte for byte.
|
|
712
|
+
*
|
|
713
|
+
* Issue #1233: this loop now serves only harnesses WITHOUT script-form session
|
|
714
|
+
* support (codex/gemini/opencode/custom) — their generated script is unchanged,
|
|
715
|
+
* byte for byte. Claude builders get `buildSessionLaunchLoop` instead, which
|
|
716
|
+
* resumes the conversation on crash restarts rather than replaying the prompt.
|
|
717
|
+
*/
|
|
718
|
+
export function buildLaunchLoop(initial, fresh) {
|
|
719
|
+
if (initial === fresh) {
|
|
720
|
+
return `while true; do
|
|
721
|
+
${initial}
|
|
722
|
+
${launchLoopTail()}
|
|
723
|
+
done
|
|
724
|
+
`;
|
|
725
|
+
}
|
|
726
|
+
// Functions, not a re-expanded string: the commands carry their own quoting
|
|
727
|
+
// (`--append-system-prompt "$(cat '…')"`), which would not survive being
|
|
728
|
+
// stuffed through a variable and word-split at call time.
|
|
729
|
+
return `codev_launch_initial() {
|
|
730
|
+
${initial}
|
|
731
|
+
}
|
|
732
|
+
codev_launch_fresh() {
|
|
733
|
+
${fresh}
|
|
734
|
+
}
|
|
735
|
+
codev_launch=codev_launch_initial
|
|
736
|
+
while true; do
|
|
737
|
+
"$codev_launch"
|
|
738
|
+
${launchLoopTail('codev_launch=codev_launch_fresh')}
|
|
739
|
+
done
|
|
740
|
+
`;
|
|
741
|
+
}
|
|
742
|
+
/**
|
|
743
|
+
* The prompt a crash-resume invocation carries (Issue #1233). Without it,
|
|
744
|
+
* `--resume` restores the conversation but leaves the agent idle at the input
|
|
745
|
+
* prompt — for an unattended builder that converts amnesia into a stall. The
|
|
746
|
+
* nudge is a new user message in the restored conversation, so the builder
|
|
747
|
+
* re-orients itself and continues autonomously. Deliberately free of
|
|
748
|
+
* single quotes: it is embedded single-quoted in the generated script.
|
|
749
|
+
*/
|
|
750
|
+
export const CRASH_RESUME_NUDGE = 'You were automatically restarted after a crash. Your prior conversation context has been restored. '
|
|
751
|
+
+ 'Re-orient yourself (in strict mode run porch next for your project; check queued afx messages) '
|
|
752
|
+
+ 'and continue your work from where you left off.';
|
|
753
|
+
/** The shell expression the session-aware loop's commands use to reference the current session id. */
|
|
754
|
+
export const SESSION_ID_EXPR = '"$codev_session_id"';
|
|
755
|
+
/**
|
|
756
|
+
* Script-form session support for a harness, or undefined when the harness
|
|
757
|
+
* cannot pin/resume a conversation from a generated bash script. Both fragment
|
|
758
|
+
* forms are required — the session-aware loop needs to pin AND resume.
|
|
759
|
+
*/
|
|
760
|
+
export function scriptSessionForms(harness) {
|
|
761
|
+
const session = harness.session;
|
|
762
|
+
if (!session?.newSessionScriptFragment || !session?.resumeScriptFragment)
|
|
763
|
+
return undefined;
|
|
764
|
+
return {
|
|
765
|
+
newSessionScriptFragment: session.newSessionScriptFragment.bind(session),
|
|
766
|
+
resumeScriptFragment: session.resumeScriptFragment.bind(session),
|
|
767
|
+
};
|
|
768
|
+
}
|
|
769
|
+
/**
|
|
770
|
+
* Build the session-aware launch loop (Issue #1233) — the builder-side
|
|
771
|
+
* expression of the architect resume pattern (#832/#1264): the wrapper pins a
|
|
772
|
+
* conversation id at entry and *resumes* it after an unnatural exit, instead of
|
|
773
|
+
* replaying the spawn prompt into a fresh session (the amnesia path this issue
|
|
774
|
+
* removes). A jetsam SIGKILL now costs 2 seconds, not the builder's memory.
|
|
775
|
+
*
|
|
776
|
+
* State machine, expressed in generated bash because builder liveness is
|
|
777
|
+
* deliberately decoupled from Tower (persistent PTYs survive Tower restarts,
|
|
778
|
+
* so no Node process is guaranteed to be around when the crash fires):
|
|
779
|
+
*
|
|
780
|
+
* - Entry: `initial` if given (the recover path's discovered-id resume), else
|
|
781
|
+
* the pinned fresh invocation (`--session-id` + role + prompt).
|
|
782
|
+
* - Unnatural exit → resume `$codev_session_id` with a short nudge prompt, so
|
|
783
|
+
* the restored builder re-orients and continues rather than idling.
|
|
784
|
+
* - Clean exit → Enter-gated relaunch stays FRESH per #1267/#1264 ("a clean
|
|
785
|
+
* exit ends that conversation"), but pinned to a newly minted id so the new
|
|
786
|
+
* conversation is crash-protected too. Sticky and one-way, like #1267.
|
|
787
|
+
* - Unresumable-session degrade (#1145/#1149 lesson): `--resume` against a
|
|
788
|
+
* gone/corrupt/held session dies fast; three consecutive fast failures
|
|
789
|
+
* (< CODEV_LAUNCH_FAST_FAIL_SECS, default 15) fall back to a prompt-replay
|
|
790
|
+
* fresh launch under a new id — today's behavior, crash-protected forward.
|
|
791
|
+
* A slow failure resets the counter.
|
|
792
|
+
* - Id minting at runtime uses uuidgen (lowercased) or /proc fallback; when
|
|
793
|
+
* neither exists the relaunch degrades to the UNPINNED fresh invocation —
|
|
794
|
+
* exactly the historical command — and crash restarts stay unpinned rather
|
|
795
|
+
* than resuming a stale id.
|
|
796
|
+
*
|
|
797
|
+
* `.builder-session-id` always holds the current id (removed while unpinned).
|
|
798
|
+
* The bash script is the sole writer: after a re-mint it is the only party
|
|
799
|
+
* that knows the current id, so Node- or DB-side copies would go stale
|
|
800
|
+
* (consumption by recover/--resume is Issue #1112's scope).
|
|
801
|
+
*/
|
|
802
|
+
export function buildSessionLaunchLoop(opts) {
|
|
803
|
+
const entry = opts.initial ?? opts.pinnedFresh;
|
|
804
|
+
return `codev_session_id='${shellEscapeSingleQuote(opts.sessionId)}'
|
|
805
|
+
codev_fast_fail_secs="\${CODEV_LAUNCH_FAST_FAIL_SECS:-15}"
|
|
806
|
+
codev_mint_session_id() {
|
|
807
|
+
if command -v uuidgen >/dev/null 2>&1; then
|
|
808
|
+
uuidgen | tr '[:upper:]' '[:lower:]'
|
|
809
|
+
elif [ -r /proc/sys/kernel/random/uuid ]; then
|
|
810
|
+
cat /proc/sys/kernel/random/uuid
|
|
811
|
+
fi
|
|
812
|
+
}
|
|
813
|
+
codev_persist_session_id() {
|
|
814
|
+
printf '%s\\n' "$codev_session_id" > '.builder-session-id'
|
|
815
|
+
}
|
|
816
|
+
codev_launch_entry() {
|
|
817
|
+
${entry}
|
|
818
|
+
}
|
|
819
|
+
codev_launch_pinned() {
|
|
820
|
+
${opts.pinnedFresh}
|
|
821
|
+
}
|
|
822
|
+
codev_launch_unpinned() {
|
|
823
|
+
${opts.unpinnedFresh}
|
|
824
|
+
}
|
|
825
|
+
codev_launch_resume() {
|
|
826
|
+
${opts.resume}
|
|
827
|
+
}
|
|
828
|
+
codev_relaunch_fresh() {
|
|
829
|
+
codev_new_session_id="$(codev_mint_session_id)"
|
|
830
|
+
if [ -n "$codev_new_session_id" ]; then
|
|
831
|
+
codev_session_id="$codev_new_session_id"
|
|
832
|
+
codev_persist_session_id
|
|
833
|
+
codev_launch=codev_launch_pinned
|
|
834
|
+
else
|
|
835
|
+
codev_session_id=''
|
|
836
|
+
rm -f '.builder-session-id'
|
|
837
|
+
codev_launch=codev_launch_unpinned
|
|
838
|
+
fi
|
|
839
|
+
}
|
|
840
|
+
codev_launch=codev_launch_entry
|
|
841
|
+
codev_fast_fails=0
|
|
842
|
+
codev_persist_session_id
|
|
647
843
|
while true; do
|
|
648
|
-
|
|
844
|
+
codev_started=$SECONDS
|
|
845
|
+
"$codev_launch"
|
|
846
|
+
status=$?
|
|
847
|
+
codev_elapsed=$(( SECONDS - codev_started ))
|
|
848
|
+
if [ "$status" -eq 0 ]; then
|
|
849
|
+
clear
|
|
850
|
+
echo "Agent exited at your request. Press Enter to relaunch fresh, or close this terminal."
|
|
851
|
+
read -r || exit 0
|
|
852
|
+
codev_relaunch_fresh
|
|
853
|
+
codev_fast_fails=0
|
|
854
|
+
continue
|
|
855
|
+
fi
|
|
856
|
+
if [ "$codev_elapsed" -lt "$codev_fast_fail_secs" ]; then
|
|
857
|
+
codev_fast_fails=$(( codev_fast_fails + 1 ))
|
|
858
|
+
else
|
|
859
|
+
codev_fast_fails=0
|
|
860
|
+
fi
|
|
649
861
|
echo ""
|
|
650
|
-
|
|
862
|
+
if [ "$codev_fast_fails" -ge 3 ]; then
|
|
863
|
+
echo "Agent failing immediately (code $status). Starting a fresh conversation with the original prompt in 2 seconds... (Ctrl+C to quit)"
|
|
864
|
+
codev_relaunch_fresh
|
|
865
|
+
codev_fast_fails=0
|
|
866
|
+
elif [ "$codev_launch" = codev_launch_unpinned ]; then
|
|
867
|
+
echo "Agent exited (code $status). Restarting in 2 seconds... (Ctrl+C to quit)"
|
|
868
|
+
else
|
|
869
|
+
echo "Agent exited (code $status). Resuming the conversation in 2 seconds... (Ctrl+C to quit)"
|
|
870
|
+
codev_launch=codev_launch_resume
|
|
871
|
+
fi
|
|
651
872
|
sleep 2
|
|
652
873
|
done
|
|
653
874
|
`;
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
875
|
+
}
|
|
876
|
+
/**
|
|
877
|
+
* Start a terminal session for a builder.
|
|
878
|
+
*
|
|
879
|
+
* When `resume` is provided, the launch script *enters* on the harness's resume
|
|
880
|
+
* form (e.g. `claude --resume <uuid>`) via the pre-escaped `scriptFragment`
|
|
881
|
+
* rather than a prompt+role invocation: the saved conversation already contains
|
|
882
|
+
* the system prompt and role context. Only the Claude harness produces a resume
|
|
883
|
+
* object (Issue #929); codex/gemini pass `undefined` here and enter fresh.
|
|
884
|
+
*
|
|
885
|
+
* Issue #1267: the script still *carries* the fresh invocation, because a clean
|
|
886
|
+
* exit relaunches with it (see `buildLaunchLoop`). That is why role injection
|
|
887
|
+
* and the harness worktree files are prepared on the resume path too — the
|
|
888
|
+
* relaunch is a genuine fresh launch and needs everything one needs.
|
|
889
|
+
* `.builder-prompt.txt` is the deliberate exception: it is read, never
|
|
890
|
+
* rewritten, on resume (see below).
|
|
891
|
+
*/
|
|
892
|
+
export async function startBuilderSession(config, builderId, worktreePath, baseCmd, prompt, roleContent, roleSource, resume) {
|
|
893
|
+
logger.info('Creating terminal session...');
|
|
894
|
+
const scriptPath = resolve(worktreePath, '.builder-start.sh');
|
|
895
|
+
const promptFile = resolve(worktreePath, '.builder-prompt.txt');
|
|
896
|
+
// Write the initial prompt to a file the launch command reads back.
|
|
897
|
+
//
|
|
898
|
+
// Issue #1267: a resume must NOT rewrite it. `afx reset` reads the literal
|
|
899
|
+
// `## Mode: STRICT|SOFT` heading out of this file as spawn-time ground truth
|
|
900
|
+
// (reset/context.ts: modeFromBuilderPrompt) precisely *because* `--resume`
|
|
901
|
+
// never regenerates it — `resolveMode` cannot recover a spawn-time `--soft`
|
|
902
|
+
// from protocol defaults, so regenerating here would silently flip a soft
|
|
903
|
+
// builder to strict. The fresh relaunch reads what the original spawn wrote,
|
|
904
|
+
// which is also the more correct prompt: it is that builder's real mission.
|
|
905
|
+
//
|
|
906
|
+
// That the file exists on the resume path is an invariant of this function,
|
|
907
|
+
// not an assumption about the worktree: every non-resume branch writes it, and
|
|
908
|
+
// a resume is by definition a second launch into a worktree a prior one set
|
|
909
|
+
// up. Worktree-mode spawns, which have no prompt file, are generated by
|
|
910
|
+
// `buildWorktreeLaunchScript` and never reach here.
|
|
911
|
+
if (!resume)
|
|
659
912
|
writeFileSync(promptFile, prompt);
|
|
913
|
+
const harness = getBuilderHarness(config.workspaceRoot);
|
|
914
|
+
let envBlock = '';
|
|
915
|
+
let roleFragment = '';
|
|
916
|
+
if (roleContent) {
|
|
660
917
|
// Write role to a file for harness-based injection
|
|
661
918
|
const roleFile = resolve(worktreePath, '.builder-role.md');
|
|
662
919
|
// Inject the actual dashboard port into the role prompt
|
|
663
920
|
const roleWithPort = roleContent.replace(/\{PORT\}/g, String(DEFAULT_TOWER_PORT));
|
|
664
921
|
writeFileSync(roleFile, roleWithPort);
|
|
665
922
|
logger.info(`Loaded role (${roleSource})`);
|
|
666
|
-
// Resolve harness provider for role injection
|
|
667
|
-
const harness = getBuilderHarness(config.workspaceRoot);
|
|
668
923
|
const { fragment, env } = harness.buildScriptRoleInjection(roleWithPort, roleFile);
|
|
924
|
+
roleFragment = fragment;
|
|
669
925
|
const envExports = Object.entries(env)
|
|
670
926
|
.map(([k, v]) => `export ${k}='${shellEscapeSingleQuote(v)}'`)
|
|
671
927
|
.join('\n');
|
|
672
|
-
|
|
928
|
+
envBlock = envExports ? `${envExports}\n` : '';
|
|
673
929
|
// Write any harness-specific worktree files (e.g., opencode.json for OpenCode,
|
|
674
930
|
// the write-guard hook for Claude — Issue #1018)
|
|
675
931
|
installHarnessWorktreeFiles(harness, roleWithPort, roleFile, worktreePath);
|
|
676
|
-
scriptContent = `#!/bin/bash
|
|
677
|
-
cd "${worktreePath}"
|
|
678
|
-
${envBlock}while true; do
|
|
679
|
-
${baseCmd} ${fragment} "$(cat '${promptFile}')"
|
|
680
|
-
echo ""
|
|
681
|
-
echo "Agent exited. Restarting in 2 seconds... (Ctrl+C to quit)"
|
|
682
|
-
sleep 2
|
|
683
|
-
done
|
|
684
|
-
`;
|
|
685
932
|
}
|
|
686
933
|
else {
|
|
687
|
-
// Fresh spawn without role injection.
|
|
688
|
-
const promptFile = resolve(worktreePath, '.builder-prompt.txt');
|
|
689
|
-
writeFileSync(promptFile, prompt);
|
|
690
934
|
// Install harness worktree files even without a role, so the write-guard
|
|
691
935
|
// (Issue #1018) is deterministic across all Claude spawn modes.
|
|
692
|
-
installHarnessWorktreeFiles(
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
936
|
+
installHarnessWorktreeFiles(harness, '', '', worktreePath);
|
|
937
|
+
}
|
|
938
|
+
// With a role, the fragment is appended even when empty (gemini injects via
|
|
939
|
+
// env only, fragment '') — preserving the historical command text exactly,
|
|
940
|
+
// double space included, so session-less scripts stay byte-identical.
|
|
941
|
+
const withRole = roleContent ? `${baseCmd} ${roleFragment}` : baseCmd;
|
|
942
|
+
const promptArg = `"$(cat '${promptFile}')"`;
|
|
943
|
+
const freshCommand = `${withRole} ${promptArg}`;
|
|
944
|
+
if (resume) {
|
|
945
|
+
logger.info(`Resuming session ${resume.sessionId.slice(0, 8)}…`);
|
|
702
946
|
}
|
|
947
|
+
const sessionForms = scriptSessionForms(harness);
|
|
948
|
+
let loop;
|
|
949
|
+
if (sessionForms) {
|
|
950
|
+
// Issue #1233: session-aware loop — crash restarts resume the conversation
|
|
951
|
+
// instead of replaying the spawn prompt into a fresh (amnesiac) session.
|
|
952
|
+
// Fresh spawns mint a new id here (never reuse a persisted one — #1224);
|
|
953
|
+
// the recover path enters on the harness-discovered id.
|
|
954
|
+
const sessionId = resume ? resume.sessionId : randomUUID();
|
|
955
|
+
loop = buildSessionLaunchLoop({
|
|
956
|
+
sessionId,
|
|
957
|
+
initial: resume ? `${baseCmd} ${resume.scriptFragment}` : undefined,
|
|
958
|
+
pinnedFresh: `${withRole} ${sessionForms.newSessionScriptFragment(SESSION_ID_EXPR)} ${promptArg}`,
|
|
959
|
+
unpinnedFresh: freshCommand,
|
|
960
|
+
resume: `${baseCmd} ${sessionForms.resumeScriptFragment(SESSION_ID_EXPR)} '${shellEscapeSingleQuote(CRASH_RESUME_NUDGE)}'`,
|
|
961
|
+
});
|
|
962
|
+
}
|
|
963
|
+
else {
|
|
964
|
+
// Session-less harness (codex/gemini/opencode/custom): historical loop,
|
|
965
|
+
// byte for byte. Resume entry via the pre-escaped harness fragment.
|
|
966
|
+
const initialCommand = resume ? `${baseCmd} ${resume.scriptFragment}` : freshCommand;
|
|
967
|
+
loop = buildLaunchLoop(initialCommand, freshCommand);
|
|
968
|
+
}
|
|
969
|
+
const scriptContent = `#!/bin/bash
|
|
970
|
+
cd "${worktreePath}"
|
|
971
|
+
${envBlock}${loop}`;
|
|
703
972
|
writeFileSync(scriptPath, scriptContent);
|
|
704
973
|
chmodSync(scriptPath, '755');
|
|
705
974
|
// Create PTY session via Tower REST API (shellper for persistence)
|
|
@@ -722,42 +991,44 @@ export async function startShellSession(config, shellId, baseCmd) {
|
|
|
722
991
|
* Build a launch script for worktree mode (no initial prompt)
|
|
723
992
|
*/
|
|
724
993
|
export function buildWorktreeLaunchScript(worktreePath, baseCmd, role, workspaceRoot) {
|
|
994
|
+
const harness = getBuilderHarness(workspaceRoot);
|
|
995
|
+
let envBlock = '';
|
|
996
|
+
let command = baseCmd;
|
|
725
997
|
if (role) {
|
|
726
998
|
const roleFile = resolve(worktreePath, '.builder-role.md');
|
|
727
999
|
const roleWithPort = role.content.replace(/\{PORT\}/g, String(DEFAULT_TOWER_PORT));
|
|
728
1000
|
writeFileSync(roleFile, roleWithPort);
|
|
729
1001
|
logger.info(`Loaded role (${role.source})`);
|
|
730
|
-
// Resolve harness provider for role injection
|
|
731
|
-
const harness = getBuilderHarness(workspaceRoot);
|
|
732
1002
|
const { fragment, env } = harness.buildScriptRoleInjection(roleWithPort, roleFile);
|
|
733
1003
|
const envExports = Object.entries(env)
|
|
734
1004
|
.map(([k, v]) => `export ${k}='${shellEscapeSingleQuote(v)}'`)
|
|
735
1005
|
.join('\n');
|
|
736
|
-
|
|
1006
|
+
envBlock = envExports ? `${envExports}\n` : '';
|
|
737
1007
|
// Write any harness-specific worktree files (e.g., opencode.json for OpenCode,
|
|
738
1008
|
// the write-guard hook for Claude — Issue #1018)
|
|
739
1009
|
installHarnessWorktreeFiles(harness, roleWithPort, roleFile, worktreePath);
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
sleep 2
|
|
747
|
-
done
|
|
748
|
-
`;
|
|
1010
|
+
command = `${baseCmd} ${fragment}`;
|
|
1011
|
+
}
|
|
1012
|
+
else {
|
|
1013
|
+
// Install harness worktree files even without a role, so the write-guard
|
|
1014
|
+
// (Issue #1018) is deterministic across all Claude spawn modes.
|
|
1015
|
+
installHarnessWorktreeFiles(harness, '', '', worktreePath);
|
|
749
1016
|
}
|
|
750
|
-
//
|
|
751
|
-
//
|
|
752
|
-
|
|
1017
|
+
// Worktree mode never enters on a resume, but the loop itself is
|
|
1018
|
+
// session-aware when the harness supports it (Issue #1233): crash restarts
|
|
1019
|
+
// resume the pinned conversation here too. There is no prompt file in this
|
|
1020
|
+
// mode, so the fresh and degraded invocations are the bare command.
|
|
1021
|
+
const sessionForms = scriptSessionForms(harness);
|
|
1022
|
+
const loop = sessionForms
|
|
1023
|
+
? buildSessionLaunchLoop({
|
|
1024
|
+
sessionId: randomUUID(),
|
|
1025
|
+
pinnedFresh: `${command} ${sessionForms.newSessionScriptFragment(SESSION_ID_EXPR)}`,
|
|
1026
|
+
unpinnedFresh: command,
|
|
1027
|
+
resume: `${baseCmd} ${sessionForms.resumeScriptFragment(SESSION_ID_EXPR)} '${shellEscapeSingleQuote(CRASH_RESUME_NUDGE)}'`,
|
|
1028
|
+
})
|
|
1029
|
+
: buildLaunchLoop(command, command);
|
|
753
1030
|
return `#!/bin/bash
|
|
754
1031
|
cd "${worktreePath}"
|
|
755
|
-
|
|
756
|
-
${baseCmd}
|
|
757
|
-
echo ""
|
|
758
|
-
echo "Agent exited. Restarting in 2 seconds... (Ctrl+C to quit)"
|
|
759
|
-
sleep 2
|
|
760
|
-
done
|
|
761
|
-
`;
|
|
1032
|
+
${envBlock}${loop}`;
|
|
762
1033
|
}
|
|
763
1034
|
//# sourceMappingURL=spawn-worktree.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn-worktree.js","sourceRoot":"","sources":["../../../src/agent-farm/commands/spawn-worktree.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spawn-worktree.js","sourceRoot":"","sources":["../../../src/agent-farm/commands/spawn-worktree.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/commands/spawn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,aAAa,CAAC;AAErE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAuD3D;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,OAAO,GAAG,SAAS,EAC7B,OAAO,EAAE,eAAe,GACvB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAa3E;AA4wBD;;GAEG;AACH,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/commands/spawn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,aAAa,CAAC;AAErE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAuD3D;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,OAAO,GAAG,SAAS,EAC7B,OAAO,EAAE,eAAe,GACvB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAa3E;AA4wBD;;GAEG;AACH,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA2DhE"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { resolve, basename } from 'node:path';
|
|
17
17
|
import { existsSync, writeFileSync, readdirSync } from 'node:fs';
|
|
18
|
-
import { getConfig, ensureDirectories, getResolvedCommands, getBuilderHarness } from '../utils/index.js';
|
|
18
|
+
import { getConfig, ensureDirectories, getResolvedCommands, getBuilderHarness, assertBuilderHarnessNotRetired } from '../utils/index.js';
|
|
19
19
|
import { logger, fatal } from '../utils/logger.js';
|
|
20
20
|
import { run } from '../utils/shell.js';
|
|
21
21
|
import { hasUncommittedTrackedChanges } from '../utils/git.js';
|
|
@@ -779,6 +779,18 @@ export async function spawn(options) {
|
|
|
779
779
|
// Non-fatal - continue with spawn even if prune fails
|
|
780
780
|
}
|
|
781
781
|
const mode = getSpawnMode(options);
|
|
782
|
+
// Fail closed on a retired builder harness (Issue #1338) BEFORE dispatching to
|
|
783
|
+
// any handler, for EVERY mode. Worktree modes create worktree/porch/db state,
|
|
784
|
+
// and `createWorktree` itself resolves the builder harness (spawn-worktree.ts),
|
|
785
|
+
// so a guard placed below dispatch would orphan a half-built worktree. `shell`
|
|
786
|
+
// mode has no worktree, but `spawnShell` still runs `commands.builder` via
|
|
787
|
+
// `startShellSession` and persists a shell row — so a retired `gemini`
|
|
788
|
+
// shell.builder would otherwise launch the retired CLI AND leave a shell row.
|
|
789
|
+
// The retirement decision (including the custom-harness escape hatch) is
|
|
790
|
+
// delegated to `getBuilderHarness`; only the retirement aborts here — an
|
|
791
|
+
// unknown-harness name still surfaces at its existing resolution call site, so
|
|
792
|
+
// behavior is unchanged for every supported harness and every mode.
|
|
793
|
+
assertBuilderHarnessNotRetired(config.workspaceRoot);
|
|
782
794
|
const handlers = {
|
|
783
795
|
spec: () => spawnSpec(options, config),
|
|
784
796
|
bugfix: () => spawnBugfix(options, config),
|