Skip to content

agent_sdk+scripts: explore videos, capture-verdict outcomes, deepest-failure naming, synthesis prompt decision (sysID stack 7/8) - #102

Merged
yichao-liang merged 6 commits into
masterfrom
sysid-07-observability
Jul 30, 2026
Merged

agent_sdk+scripts: explore videos, capture-verdict outcomes, deepest-failure naming, synthesis prompt decision (sysID stack 7/8)#102
yichao-liang merged 6 commits into
masterfrom
sysid-07-observability

Conversation

@yichao-liang

Copy link
Copy Markdown
Collaborator

Seventh of eight PRs landing the domino-sysid branch on master in sequence (after #96-#101). Tree is identical to the corresponding slice of that branch rebased onto current master.

This chunk

  • main: save one interaction video per explore episode
  • log_viewer: capture verdicts decide an episode's agent-side outcome
  • agent_sdk: name the deepest validation failure when truncating a refined plan
  • configs: solve attempts 5 -> 3 for agent arms; heavy env tests all-turn
  • docs: slide deck on how the main agent plans and learns
  • agent_sim_learning: synthesis prompt makes base-sim identification an explicit decision

Observability and prompt-decision work: per-episode explore videos, log_viewer scoring episodes by capture verdicts, refined-plan truncation reporting the deepest validation failure instead of a generic message, and the synthesis prompt turning base-sim parameter identification into an explicit yes/no decision the agent must justify.

🤖 Generated with Claude Code

Interaction videos were concatenated into a single per-cycle file
written only at cycle end, so a mid-cycle crash lost all footage and no
transcript could be paired with its own episode. Each episode's video
is now saved as soon as the episode ends, named
__ep<i>__cycle<C>.mp4; log_viewer pairs each explore transcript with
its own episode's video via the session-order index (legacy whole-cycle
videos still render with the old shared-video label).
Episode rows were colored by the last 'Goal achieved: True|False' line,
which is a per-rollout goal-atom check that stays True even when the
evaluator rejects the plan (solved=False) - sessions full of rejected
submissions rendered as successes. When a session used
evaluate_option_plan, its capture verdicts now decide the outcome: any
clean 'Captured as the current answer' means the session holds an
answer, best-effort captures and NOT CAPTURED do not; sessions without
capture verdicts keep the old goal-line fallback.
…ned plan

The truncation log line said only how many steps survived; it now
appends which option failed deepest and why, so a truncated experiment
plan can be diagnosed from the run log without replaying the search.
Three 45-minute attempts already exhaust productive search per test
task (later attempts rediscover the journal's dead ends), and the
heavy-block env now ships turn-only test tasks
(domino_test_turn_ratio 1.0) to match the arm the certificates were
retuned for.
… explicit decision

Trigger: run_20260725_223530 seed1 went 0/1 for four-plus cycles on the
same test task its sibling run solved in one, because the synthesis
agent never declared PHYSICAL_PARAMS - no sysID ran, the belief env
stayed at the planning friction, and the evaluator's rules-free
verification replay rejected every goal-reaching plan (335 probe
rejections, 0 passes), which the agent then misread as a task rule.
Cycle-0's omission was never revisited: later fresh-context sessions
inherit simulator.py and the prompt framed it as the starting point.

Three prompt changes:
- The sysID section is retitled 'decide, don't default' and states the
  one non-inferable consequence of omission: undeclared parameters keep
  their built-in values in every base-sim rollout, including checks
  that re-simulate the scene without the agent's rules (e.g. the
  evaluator's verification replay deciding what counts as a solve).
- simulator.py must open with a DECISION RECORD comment (base-sim vs
  rules split, feature ownership, latents, other structural
  commitments) so later cycles re-read the rationale instead of
  silently inheriting it.
- The prior-cycle block says structural decisions are not binding
  across cycles and that goal-reaching episodes scored solved=0 point
  to a structural modeling error, not parameter values.
@yichao-liang
yichao-liang merged commit 84e2390 into master Jul 30, 2026
14 checks passed
@yichao-liang
yichao-liang deleted the sysid-07-observability branch July 30, 2026 09:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant