Skip to content

docs: consolidate slide decks under docs/slides/ and redraw the sysID pipeline figure - #107

Merged
yichao-liang merged 3 commits into
masterfrom
docs/slides-and-sysid-figures
Jul 31, 2026
Merged

docs: consolidate slide decks under docs/slides/ and redraw the sysID pipeline figure#107
yichao-liang merged 3 commits into
masterfrom
docs/slides-and-sysid-figures

Conversation

@yichao-liang

Copy link
Copy Markdown
Collaborator

Documentation only. No predicators/ code is touched.

Three commits, each self-contained:

1. docs/sysid: redraw the pipeline figure around the landed honesty fixes

The pipeline diagram still told the pre-#99 story: red badges on four failure modes with the remedies listed as "planned". All six have since landed on master (PRs #99-#103), so the badges are green and each one names the run that motivated it.

  • New boxes for declaration evidence (sim.residuals(rollout=True)) and the combined-substrate certificate probe.
  • Stage bodies updated to current behaviour: Huber-capped SSE with summary terms, dropped fits feeding hull candidates, the 32-point sweep running over the disagreement hull, INCONSISTENT swept rather than disarming the gate, dropped params reverting to registry values.
  • Box y-centers are computed in _layout() from per-lane stack heights instead of being hand-placed, so adding a box can no longer silently overlap its neighbour.
  • draw() takes an output path and an include_legend flag; the script also emits sysid_pipeline_compact.png for decks that carry the caption themselves.
  • The landscape figure gets real matplotlib legends in place of the end-of-line annotations, which collided with the curves once the y-range widened.

2. docs/slides: collect the reveal.js decks into one directory

The three decks had accumulated in docs/, docs/envs/ and docs/sysid/. They now all live under docs/slides/, with shared figures in docs/slides/assets/. build_deck.py writes there, and the sysID deck refers to its figures as ../sysid/*.png so they stay next to the scripts that generate them.

Both hand-written decks are refreshed while moving:

The task-generation deck is generated output and moves unchanged.

3. docs/slides: weekly sync deck for 2026-07-30 and its mosaic assets

Covers the 10/10 al_margin result on domino_high_friction_turn, the five pipeline stages with this week's changes marked inline, and the next steps. Assets are 3x3 episode mosaics rather than individual episode videos; make_al_margin_mosaics.py regenerates them from a run's per-episode mp4s with ffmpeg.

Checks

isort, docformatter and pylint run clean locally on the four touched/added docs/*.py files at the CI-pinned versions (isort 5.10.1, docformatter 1.4). mypy excludes docs/ by config; yapf only covers predicators/, scripts/, tests/, setup.py.

The pipeline diagram was still telling the pre-#99 story: red badges on
four failure modes with the remedies listed as "planned". All six fixes
have since landed on master (PRs #99-#103), so the badges are now green
and each one names the run that motivated it, with the legend stating
what it replaced.

Content changes to the diagram:
- New DATA-lane box for declaration evidence (sim.residuals with
  open-loop rollout plus per-param box sweep), and a CONSUMERS-lane box
  for the combined-substrate certificate probe.
- Stage bodies updated to what the code does now: Huber-capped SSE with
  summary terms, dropped fits feeding hull candidates, the 32-point
  sweep running over the disagreement hull, INCONSISTENT swept rather
  than disarming the gate, dropped params reverting to registry values.

Layout and output changes:
- Box y-centers are computed in _layout() from per-lane stack heights
  instead of being hand-placed, so adding a box no longer risks silent
  overlap with its neighbour.
- draw() takes an output path and an include_legend flag, and the script
  now also emits sysid_pipeline_compact.png for decks that carry the
  caption themselves.

The landscape figure gets real matplotlib legends in place of the
end-of-line annotations, which collided with the curves once the y-range
widened, and the "true 0.5" marker moves to the bottom of the axes.
The three decks had accumulated in three different places (docs/,
docs/envs/, docs/sysid/), which made them hard to find and left
build_deck.py writing its output next to unrelated figure sources. They
now all live under docs/slides/, with shared figures in
docs/slides/assets/.

Path consequences of the move:
- build_deck.py writes to docs/slides/ instead of docs/.
- The sysID deck refers to its two figures as ../sysid/*.png rather than
  as siblings, so the figures stay next to the scripts that generate
  them. docs/sysid/README.md records that coupling.

The two hand-written decks are also refreshed while being moved:
- The agent planning deck is rebuilt around run_20260729_232733 (seed 2)
  in place of run_20260723_110212, including the new run's own scene
  renders under assets/agent_run_20260729/, its at-a-glance table, and
  its captured 2-blue relay plan. "Tool surface" is renamed to "tool
  API" throughout.
- The sysID deck is updated from "branch domino-sysid, fixes planned" to
  the state on master after PRs #96-#103: green badges instead of red, a
  new slide on why declaring a physical param is a decision and why
  teacher-forced residuals cannot inform it, and the block parameter
  family.

The task-generation deck is generated output and moves unchanged.
A deck covering the 10/10 al_margin result on domino_high_friction_turn,
the five pipeline stages with the changes that landed this week marked
inline, and the measured evidence for the robust fit objective, plus the
heavy-dominoes, fan and glue work coming next.

Assets are 3x3 episode mosaics rather than the individual episode
videos: before-learning and after-learning grids for al_margin, and a
2x2 success/failure grid for heavy dominoes. make_al_margin_mosaics.py
regenerates them from a run's per-episode mp4s with ffmpeg. It emits mp4
by default because a full-resolution GIF of a mosaic this size measures
193 MB, against roughly 2 MB for the mp4; --gif produces a downscaled
GIF for contexts that cannot play video.
@yichao-liang
yichao-liang merged commit 6d40af7 into master Jul 31, 2026
14 checks passed
@yichao-liang
yichao-liang deleted the docs/slides-and-sysid-figures branch July 31, 2026 12:59
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