Skip to content

plat 452

github-actions[bot] edited this page Oct 4, 2026 · 3 revisions

← Pulse platform issue index

PLAT-452 — Remove the Builder/Pulse run_in_background tool

Coordination Value
State on main; not deployed; not tested in a live Pulse run
Date 2026-10-04
Owner plans-contracts
Related PLAT-397 (native tools), PLAT-436

Decision (owner)

Remove the tool entirely ("it is causing too many issues and is not required"). Coding CLIs have their own subagents, so the Pulse agent decides how to process each review. If something breaks, it is fixed as it shows. In salesoutreach the Builder had delegated "test all routes" to a background runner that had no run_full_workflow, so nothing ran.

Done

  • Removed the tool's registration and allow-list entries, the background task agent code, its message-sequence parsing, step-ownership plumbing (background_step_ownership.go), the read-only/Goal Work tool filters, the direct Pulse dispatcher (pulse_direct_dispatch.go) and their tests; ~1,500 lines in total. Found with the unused linter until nothing was left.
  • Pulse: the plan-drift and module review steps now tell the Pulse conversation's own agent to do the review itself in that turn (its own subagents allowed); the reviewer instruction text moved to pulse_review_instructions.go. Receipt validation and the continuation turn are unchanged.
  • The four /run-* commands run inline; guidance (Builder prompt, design-plan, artifact drift, ops/strategy review, pulse-review-fixer, mcp-bridge example, workflow-tools, llm-selection) no longer mention the tool.
  • Not touched: the Work product's separate run_in_background (a renamed delegate) and the background-work agent profile feature.
  • Found by a read-only review of the change and fixed: contradicting "launch a child" text in pulse-review-fixer.md; Goal Work's pulse.autonomy levels (Run/Outward/Change) were enforced by tool filtering and are now stated in its step text (GoalWorkAutonomyInstructions); review steps get a 30-minute inactivity limit instead of 10 (the whole review now runs in the step's turn); dead step-ownership and scope code removed.

Consequences (known)

  • Goal Work and review limits are no longer enforced by tools. The owner accepted this trade-off (2026-10-04), including autonomy: ask. Strategic and Architecture "do not mutate" and Goal Work's autonomy are held by the agent from prose; a scheduled strategic review could edit the plan or run steps despite autonomy: ask if the agent ignores it.
  • pulse_llm and the cheaper Medium upkeep tier no longer apply: every review runs on the retained Pulse conversation's model. Cost and quality change.
  • All modules share the Pulse conversation, so its context grows across a pass.
  • Review cost lands in the Pulse parent scope, not a per-review child scope.

Left

  • No live scheduled Pulse run has been exercised on this change.
  • The built agent_go/static/assets bundle (last built 2026-09-19, regenerated by the release build) still contains the old command text; left for the next release build rather than churning ~240 hashed files.
  • Cleaned 2026-10-04: the frontend command test fixture (registry.test.ts) and the scripted-step repair sections of docs/workflow/learn_code_flow.md (see PLAT-436). Living Pulse docs were updated earlier; dated audits and the Work design doc are kept as history.

Clone this wiki locally