Trajectory Supervisor

Compare: sup-lookup-transitive-import

Model: Claude Haiku 4.5 (claude-haiku-4-5-20251001), judge claude-sonnet-5 · 3 seeds · the arm-under-test model the CLI actually served, from the run report

Prompt

What third-party package does module a.py ultimately import?
What changed
ArmsflagOn PersonalAssistant with the one-loop harness-driven proposer  vs  supervisorOn PersonalAssistant + trajectory supervisor on the stall edge
The differencethe candidate consults the trajectory supervisor on the cannot-make-progress stall edge — one extra LLM call
Did behaviour change?
Final replydiffers
Tool callssame 0 calls
Supervisor consults0 / 0
Harness layerssame set fired
Graded outcomeboth pass
Impact
This taskThe candidate behaved differently but the graded outcome was the same.
Shown seedcost -22% · latency -12% · tokens -5% (candidate vs control, seed 1)

Side by side — control (left) vs candidate (right), seed 1

flagOn — control
supervisorOn — candidate
Final reply
`requests`. The chain is: `a.py` imports `b`, which imports `c`, which imports `requests` — the third-party package.
`requests` — a.py imports b, which imports c, which imports the third-party `requests` package.
Tool calls

no tool calls

no tool calls

Grader checks
CheckVerdict
contains "requests"pass
not contains "none"pass
not contains "no third-party"pass
not contains "only local modules"pass
not contains "a.py has no external"pass

success yes  ·  hallucination no  ·  unauthorized effect no  ·  recovered n/a

CheckVerdict
contains "requests"pass
not contains "none"pass
not contains "no third-party"pass
not contains "only local modules"pass
not contains "a.py has no external"pass

success yes  ·  hallucination no  ·  unauthorized effect no  ·  recovered n/a

Metrics
latency11016 ms
cost$0.0130
tokens493
supervisor consults0
latency9691 ms
cost$0.0101
tokens468
supervisor consults0

Other seeds — seed 2: pass · $0.0148 · 10.9 s   seed 3: pass · $0.0090 · 10.3 s

Other seeds — seed 2: pass · $0.0094 · 10.5 s   seed 3: pass · $0.0113 · 11.3 s

Read the full turn

Conversation — flagOn (control) · seed 1
user
What third-party package does module a.py ultimately import?
risk LOWproposer flat-oneloopnon-trivialmode TOOL
final reply
`requests`.

The chain is: `a.py` imports `b`, which imports `c`, which imports `requests` — the third-party package.
Conversation — supervisorOn (candidate) · seed 1
user
What third-party package does module a.py ultimately import?
risk LOWproposer flat-oneloopnon-trivialmode TOOL
final reply
`requests` — a.py imports b, which imports c, which imports the third-party `requests` package.

Harness trace

Full harness trace — flagOn · seed 1

The harness runs on every turn. Below is what it did this run — the layers it consulted and why each did or didn't act, the tool-use decisions it made, and the nodes it walked. Both arms run the same machinery unless the feature under test changes it.

risk LOWproposer flat-oneloopmode TOOLplan none

Harness layers

LayerActed?Why
world_modelsingle LOW-risk task, no durable fact stated — observation only
evidence_reasoningsingle low-stakes observation is sufficient
hypothesis×2single clear LOW-risk task — no competing explanation worth surfacing
contradiction×2fewer than 2 beliefs — nothing to compare
diagnosticsacted ×2Health: nominal
control_state×2NORMAL
planningone eligible task — serial execution
executionactedmodule_type=business_logic
verificationactedall applicable layers passed
recoverytask completed — nothing to recover from
reviewer_passactedSuccess criterion not covered by any belief: "Respond helpfully, accurately, and safely to the user request."

Tool-policy decisions

ToolDecisionWhy
list_directoryALLOWharness control state permits (execution_mode=NORMAL)
read_fileALLOWharness control state permits (execution_mode=NORMAL)
read_fileALLOWharness control state permits (execution_mode=NORMAL)
read_fileALLOWharness control state permits (execution_mode=NORMAL)

Node path

action_gate (1) update_task_state (1) output_validation (2)

Full harness trace — supervisorOn · seed 1

The harness runs on every turn. Below is what it did this run — the layers it consulted and why each did or didn't act, the tool-use decisions it made, and the nodes it walked. Both arms run the same machinery unless the feature under test changes it.

risk LOWproposer flat-oneloopmode TOOLplan none

Harness layers

LayerActed?Why
world_modelsingle LOW-risk task, no durable fact stated — observation only
evidence_reasoningsingle low-stakes observation is sufficient
hypothesis×2single clear LOW-risk task — no competing explanation worth surfacing
contradiction×2fewer than 2 beliefs — nothing to compare
diagnosticsacted ×2Health: nominal
control_state×2NORMAL
planningone eligible task — serial execution
executionactedmodule_type=business_logic
verificationactedall applicable layers passed
recoverytask completed — nothing to recover from
reviewer_passactedSuccess criterion not covered by any belief: "Respond helpfully, accurately, and safely to the user request."

Tool-policy decisions

ToolDecisionWhy
list_directoryALLOWharness control state permits (execution_mode=NORMAL)
read_fileALLOWharness control state permits (execution_mode=NORMAL)
read_fileALLOWharness control state permits (execution_mode=NORMAL)
read_fileALLOWharness control state permits (execution_mode=NORMAL)

Node path

action_gate (1) update_task_state (1) output_validation (2)

← index