CoolFace
Apppublic

HerrHruby/mr-rollout-viewer

sourceHugging Faceupdated 8d agoView on Hugging Face
0likes
README.md113 linesDownload Raw Back to root
1---2title: MR / E / FA Rollout Viewer3emoji: ๐Ÿ”ฌ4colorFrom: indigo5colorTo: gray6sdk: static7pinned: false8---9 10# MR / E / FA Rollout Viewer11 12A static viewer for meta-reasoning RL rollouts: the planner (MR) layers, the13frontier each layer was working from, the directions it proposed, the judge's14per-direction verdict, the explorer (E) execution of each direction, the final15answer (FA), and the task judge.16 17Two runs, switchable from the top bar:18 19| | run | param version | per-direction judging |20|---|---|---|---|21| **A** | direction-bonus RL (v9, per-direction progress judging) | **step 89** | yes |22| **B** | v7 SFT-E baseline (CISPO) | step 98 | **no** |23 24Run B never called the per-direction progress judge, so direction verdicts,25categories, the direction bonus and the frontier text do not exist for any of26its rollouts. The viewer hides that UI rather than showing it empty.27 28## Reading a rollout29 30Disclosure runs three levels deep, so an eight-layer rollout is navigable:31 32- **L1 โ€” layer.** Closed by default. The header carries the layer number, the33  direction count, how many were actually executed, a per-direction โœ“/โœ— strip34  and a "5 of 6 progressing" tally, so you can pick the interesting layer35  without opening anything.36- **L2 โ€” frontier | directions.** Both open when you open the layer, and each37  collapses independently. Direction verdicts, categories and reasons stay38  inline next to the direction they judge.39- **L3 โ€” chain-of-thought.** Closed. One fold for the planner's deliberation40  (the `<think>` block), one per direction for the explorer's full response.41 42`Expand all` / `Collapse all` are scoped to the current rollout (keys `e` / `c`;43`j` / `k` step between rollouts).44 45## The five-exploration cap46 47At step 89 the planner routinely proposes more directions than the explorer48budget allows. Explorations are hard-capped at five per layer, but layers now49emit six, seven, even eight directions. Across the dump, **462 of 14,92550directions (3.1%) in 169 of 536 branches were emitted and judged but never51executed**. This did not happen at all in the step 56 dump.52 53Those directions are marked `not executed`, their layer header shows54`6 directions โ†’ 5 executed` plus an `N unexplored` badge, and the layer carries55a notice explaining the cap. It matters for interpretation: the direction judge56scores the *proposal text*, so an unexecuted direction can still be scored as57progressing.58 59## Buffer provenance60 61The dumps carry no buffer field, but provenance is exactly recoverable from62`trace[0].layer`: the number of layers already completed before the branch was63sampled. First layer 0 means a fresh rollout; first layer N means an N-layer64prefix that **is not in the dump**. Measured over the full dumps:65 66| | fresh | prefix 1 | prefix 2 | prefix 3 | mean prefix |67|---|---|---|---|---|---|68| **A** step 89 (536 branches) | 144 (26.9%) | 136 | 120 | 136 | 1.463 |69| **B** step 98 (496 branches) | 176 (35.5%) | 80 | 96 | 144 | 1.419 |70 71Every rollout says plainly whether it is fresh or warm-started, a marker sits72above the first shown layer when earlier layers are missing, and the prefix73layers are called out inside the frontier that summarises them. The claim is74independently corroborated: the first frontier of a branch starting at layer N75lists exactly N earlier layers, checked on all run-A rows that carry judging,76with zero mismatches.77 78## Sampling79 8025 rollouts per run.81 82**Run A is stratified jointly on termination and buffer prefix**, with83largest-remainder proportional allocation over the joint cells, so both84marginals track the dump. Layer count is not a tiebreak.85 86| step 89 | full dump | sampled |87|---|---|---|88| completed | 418 (78.0%) | 16 (64%) |89| terminated | 57 (10.6%) | 3 (12%) |90| format_broken | 51 (9.5%) | 3 (12%) |91| mr_truncated | 9 (1.7%) | 2 (8%) |92| no_directions | 1 (0.2%) | 1 (4%) |93| prefix 0 / 1 / 2 / 3 | 26.9 / 25.4 / 22.4 / 25.4 % | 28 / 28 / 24 / 20 % |94 95The prefix marginal tracks the dump to within one draw. The termination marginal96under-weights `completed` by about 14 points, and that is deliberate: the dump97now has five termination types, and guaranteeing at least two rollouts of each98(one, for the types with only one branch in the whole dump) costs eight of the9925 draws against the 5.5 that proportionality alone would spend.100 101**Run B is unchanged** and still carries the older termination-only sample,102which leans fresh. Its sidebar says so and shows sampled against full.103 104## Truncation105 106Kept in full: the problem, every planner layer, the frontier, every direction107and its judge verdict including the full reason prose, the final answer, and all108scalars. Truncated: explorer responses at 6,000 characters, reference solution109at 4,000, judge verdict at 4,000, rubric at 3,000. Planner and explorer prompts110were dropped โ€” they are fixed boilerplate. The frontier is cumulative (each111layer's text extends the previous one verbatim), so it is stored as a per-layer112delta and reassembled in the browser, at 27% of its raw size.113