Skip to content

Lesson 26 — Injected escalation and capability preflight

Outcome

Let a capable real agent raise Forge Decisions through an injected tool and prove the tool is actually usable before enabling dependent modes.

Why this comes now

Watching stdout cannot reveal choices the model considered but never said. Structured escalation must be part of the interaction contract.

Understand

Forge registers its own escalation tool for the run and instructs the model to use it. Depending on provider, native question tools may be suppressed/replaced. Registration is not enough: a permission system can deny the tool while the agent silently continues by guessing, so Forge preflights the capability.

Forge configures the individual run, not repository/user-global agent config.

Build the real project

  1. Implement the escalation tool server/handler (MCP or provider-native mechanism).
  2. Map tool call → durable Decision before answering/returning.
  3. Support adapter-declared blocking or exit-and-resume semantics.
  4. Add preflight that verifies the tool is actually invocable for the selected Strategy/config.
  5. If preflight fails, disable/refuse escalation-dependent Involvement Modes with a clear reason.
  6. Live-test an ambiguity where the agent asks and obeys an answer contrary to its recommendation.
  7. Test identical task with capability disabled to understand the difference.

Completion gate

A real agent raises a Decision; it survives restart; answer is delivered/resumed correctly; a deliberately denied tool fails preflight rather than silently claiming support.

Pitfalls to avoid

Do not infer architectural decisions from text. Do not treat “MCP configured” as proof “MCP callable.” Do not modify ~/.claude/repo config to make the integration easy.

References

Sculptor substituted tools: https://github.com/imbue-ai/sculptor/blob/main/docs/help/integrated_harnesses.md ; current archived Forge ADR research in docs/archive/01-previous-forge-overview.md.

Checkpoint

Record actual escalation behavior/rate in the Learning Log. This is a product hypothesis that must be measured, not assumed.

Forge is local-first. The docs are part of the product engineering system.