| 01 | Upgrade ForgeBot from Hermes v0.17.0 to v0.19.1. Preserve and reconcile the three carried local commits, then run gateway and Slack regression checks. | Removes known Codex response-classification bugs and roughly six weeks of gateway, session, compression, and agent-loop fixes. | Upgrade risk is real because the checkout has carried commits and local state. It must be staged and verified, not blindly installed. |
| 02 | Split large Slack requests into explicit phases with visible yields. Research → preview reports → build → deploy → proof. Finish and report each required milestone before entering the next. | Prevents one tool loop from owning an entire multi-project request. Aligns execution with Adam’s requested ordering. | Produces more than one user-facing update unless the phases run as durable background work. |
| 03 | Use durable workers for long builds. Give independent research/build lanes bounded subagent or Kanban budgets; run builds and deploy polling as tracked background processes. | Keeps the Slack parent focused on orchestration and reporting instead of spending 100+ decisions on mechanics. | Without aggregate controls, delegation can increase total calls. Cap child scope, concurrency, and deliverables. |
| 04 | Add a budget-aware checkpoint policy. After 40 consecutive tool-only model turns or at 70% of the allowance, require a durable state write and a phase decision: finish, delegate, or yield. | Stops silent drift before the hard wall and protects unfinished state. | Earlier upstream “budget pressure” prompts caused premature abandonment. The policy should request a checkpoint and phase decision, not “stop now.” |
| 05 | Batch independent calls and route mechanical loops through programmatic execution. Enforce parallel read/search batches and use the refunded programmatic tool runner for repeated deterministic operations. | Directly attacks the observed 89% single-tool-turn rate. | Over-batching can make failures harder to isolate. Only batch independent work. |
| 06 | Raise agent.max_turns only after controls are in place. Move from 150 toward the current 500-turn default, with warning thresholds and hard-stop telemetry. | Gives legitimate complex work more runway. | Alone, it turns a 40-minute cutoff into a longer, more expensive cutoff. This is capacity, not control. |
| 07 | Enable hard loop stops for unattended gateway work. Keep warning thresholds and turn on hard stops for repeated exact failures and idempotent no-progress calls. | Prevents obvious retry loops from consuming the full budget. | Would not have stopped ForgeCAD because its calls were diverse and mostly successful. |
| 08 | Instrument the gateway. Record per-turn tool-only streak, calls by tool, parallel batch ratio, compression count, time, and exit reason; alert at 70%, 90%, and exhaustion. | Makes causes measurable and separates productive long work from retries, stalls, and loops. | Adds operational telemetry and needs a quiet dashboard rather than more Slack chatter. |