Vercel Logo

Challenge the premise

The issue asks us to reject whitespace-only messages. The probe shows the SDK already throws the expected validation error. This work order should stop rather than expand into an adjacent cleanup.

{
  "claimSupported": false,
  "disposition": "unsupported",
  "openQuestions": [],
  "evidence": [
    { "command": "pnpm test ...", "result": "empty message rejected" }
  ]
}

Stopping preserves trust and reviewer time. The factory should explain the contradiction without smuggling in a nearby change.

Let Contradictory Evidence Stop the Line

Stop or redirect a work order when evidence cannot support the requested change.

Hands-on Exercise 3.3

Add two fields to agent/subagents/investigator/agent.ts:

agent/subagents/investigator/agent.ts
disposition: {
  enum: ["proceed", "needs-clarification", "unsupported"],
  type: "string",
},
openQuestions: { items: { type: "string" }, type: "array" },

Add both names to required. openQuestions: [] means the Investigator has enough information to decide.

Update the Investigator instructions:

agent/subagents/investigator/instructions.md
If the premise is unsupported, set `disposition` to `unsupported` and explain the contradictory evidence. If a decision requires missing product intent, set `disposition` to `needs-clarification` and ask focused questions. Produce a buildable specification only when `disposition` is `proceed`.

Now add the matching boundary to the root agent/instructions.md. Place it immediately after the Investigator returns:

agent/instructions.md
Read the Investigator disposition before any implementation handoff. For `unsupported`, record the contradictory evidence, set the work order to `stopped`, and explain why no code change was created. For `needs-clarification`, ask the returned questions and stop. Delegate to the Builder only when the disposition is exactly `proceed`.

The position matters. Check the disposition before the Builder handoff so unsupported work cannot reach implementation.

Try It

Run the static checks:

pnpm typecheck
pnpm exec eve info

Then invoke the factory with the false-premise fixture:

pnpm exec eve invoke "$(cat fixtures/issues/false-premise-example.md)"

Inspect the final work order. It should contain the probe and the stop decision, with no Builder delegation and no candidate branch.

Run the recorded overview again for comparison:

pnpm trace

Issue 44 should stop after investigation. Issue 42 should continue. The same bug lane can now produce two correct outcomes.

Propose a nearby cleanup

Ask what would happen if the Investigator found an unrelated naming issue while disproving the report. The answer is a separate work order, not expanded scope.

Unsupported work reaches a Builder

Check the disposition before any implementation delegation. Accept only the exact value proceed.

The stop has no evidence

Record the command and observed result that contradicted the issue. “Could not reproduce” without the attempted reproduction is weak evidence.

Commit

git add agent/subagents/investigator agent/instructions.md
git commit -m "feat(factory): stop unsupported work"

Done-When

  • Every investigation returns an explicit disposition
  • Unsupported work records contradictory evidence
  • Missing product intent produces focused questions
  • Only proceed can reach implementation
  • A stopped work order creates no branch

An evidence-backed decision to change zero files is a successful result. Supported work can now proceed to a Builder with scoped write access.

Solution

The completed contract requires every field listed in the exercise, including disposition and openQuestions. The root instructions inspect that disposition before any Builder handoff.

Was this helpful?

supported.