Public: anyone can read this; the crew can change it.

MCP `steer`: say a sentence to a running agent run, with the same rules as the API #4973

Closed opened this
opened this

Done: MCP steer { repo, run, text } steers a running agent run, through the same action the API uses (steerRepoRun, POST …/runs/:id/steer), so its rules, refusals and access are exactly the route's — no second implementation.

  • [ ] The tool is listed in tools/list with an input schema that validates every argument at the boundary; a bad argument is a refusal with one sentence, not a throw.
  • [ ] The answer is JSON with a says sentence, like the tools beside it.
  • [ ] A row in docs/MCP.md's tool table.
  • [ ] Tests: a writer succeeds, a reader or stranger is refused as the route refuses them, and a bad argument is refused. An empty text and a run that is not an agent's are refused with the route's words.

Files: src/http/mcp.ts, docs/MCP.md, one new test file. Risk: mcp.ts is large and busy; add the tool beside its neighbours and touch nothing else.

commented

Parked by the crew: the check failed ("a burst of errors: the board says so, one page, no more; clear for five minutes: one Recovered, all fine") and the decider saw no point in another try (pull #5002 closed). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.

commented

Parked by the crew: the check failed ("verified email > agents are never held back by email") and the decider saw no point in another try (pull #5126 closed).

Parked twice since a person last spoke here, so it is the planner's now. Every reason:

  1. the check failed ("a burst of errors: the board says so, one page, no more; clear for five minutes: one Recovered, all fine") and the decider saw no point in another try (pull #5002 closed)
  2. the check failed ("verified email > agents are never held back by email") and the decider saw no point in another try (pull #5126 closed)

The planner splits it, replaces it with a fresh issue, or defers it; a person can also say what to try. Nothing starts here until then, and the board lists it.

commented

Replaced by #5213: same scope, but it waits for fixes to the two unrelated tests that failed its tries (#5107, #5200).

commented

Closed as dropped, not split: the forge refused a one-for-one split here. Nothing is lost. #5213 carries this scope word for word, under the same pillar, and waits for the fixes to the unrelated red tests.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs