From 7733404cd8ee410acc5ff026130feea2fb899d29 Mon Sep 17 00:00:00 2001 From: aurascoper Date: Sun, 2 Aug 2026 00:07:24 -0500 Subject: [PATCH] bench(worldmodel): localise the control defect to the action channel Ledger node 17. Node 16 named a sign/axis convention as the cheapest discriminating test for "the planner is worse than doing nothing". Checked it. NO SIGN ERROR. `generate` records the action that produced the transition, so training sees the true mapping. On 200 episodes, correlation between the displacement the planner NEEDS and the one it PRODUCES is +0.0375, with 45.5% sign agreement against a 50% +/- 7% chance interval. A sign error would give strong negative correlation. Node 16 candidate (b) is refuted. NOT A REACHABILITY PROBLEM. The dynamics are linear in the actions, so the reachable set is exact: half-width 0.459 median against 0.207 median to close, and the goal is reachable within goal_tol in 200/200 episodes in both modes. The planner uses ~16% of the authority it has (|produced| 0.073 vs |needed| 0.222). ROOT CAUSE: THE ACTION BARELY EXISTS IN LATENT SPACE. full action swing moves the predicted latent 0.1378 spread between different states 2.2613 -> action = 6.1% same swing in the TRUE env moves pos 0.1200 sd of pos across states 0.5640 -> action = 21.3% The predictor under-represents the action by ~3.5x. In the true env actions beat drift 5.66x. The authority is there; it is attenuated on the way into the latent, so the CEM optimises a variable that barely moves its objective. AND THIS CORRECTS NODE 16'S INFERENCE. The planner is not adversarial, it is uninformative -- and an uninformative planner that still ACTS scores worse than the zero policy, because uncorrelated displacement added to a position increases expected distance. That accounts for "worse than doing nothing" with no directional defect. Node 16 asserted "an uninformative planner scores like the zero policy"; that holds only for a planner emitting zero actions. The measurement in node 16 stands, the inference does not. It also reconciles nodes 6-16. Every representation-side change was scored on metrics dominated by chi/peak_amp/offset -- per-trajectory CONSTANTS, easy to encode. `pos`, the only variable control acts on, is the weakly encoded one (node 13: r ~ 0.63). Improving chi recovery while pos stays weak improves the panel and cannot improve control. Next test named and ordered, cheapest and most diagnostic first: an action-conditioned auxiliary probe that predicts the action from a (pre, post) pair, which measures how much action information the representation retains and belongs in the panel regardless of whether it is used as a loss. Ledger-only change. Verified: smoke test 2 consecutive runs; ledger and ADR gates green. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01DJJ8y1zo7WSqEmGNW8DQap --- WorldModel/EXPERIMENT_LEDGER.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/WorldModel/EXPERIMENT_LEDGER.md b/WorldModel/EXPERIMENT_LEDGER.md index 9f51264..6d6e5d0 100644 --- a/WorldModel/EXPERIMENT_LEDGER.md +++ b/WorldModel/EXPERIMENT_LEDGER.md @@ -307,3 +307,17 @@ Two reviewers verified the delivered synthetic A/Bs are sound (symlog threaded i - **And it is worse than doing nothing.** Zero-action on the same episodes gives +0.034 (signal) / +0.029 (nuisance); random-action +0.046 / +0.060. Paired per-episode, planner minus zero-action is positive in **6/6** mode x seed comparisons (deltas +0.055 to +0.155, sign test p ~ 0.03), though only 1/6 individually clears |t| = 2. Same direction against random-action, 6/6. - Decision: **KEEP node 11's decision (reject the CEM-budget lever) and REPLACE its evidence.** The lever genuinely does not work, now measured with a seed spread of +/-0.011 rather than +/-0.15. **REFRAME the open question.** Nodes 11-15 asked why the planner fails to beat chance; that framing is too generous. On the distance endpoint it is consistently worse than taking no action at all, which is not what an uninformative planner looks like — an uninformative planner scores like the zero policy. Something is systematically pointing it away from the goal. - Next question: this is a directional defect, not a power problem, and it is cheap to localise. Candidates, in order: (a) the goal latent, already known from node 14 to sit ~70x further from the start latent than the goal displacement warrants, so the cost gradient may point almost anywhere; (b) sign or axis convention between the latent displacement and the action applied in `_step`; (c) the predictor's rollout diverging over `horizon=6` so the minimised cost is computed on a state that does not correspond to the executed trajectory. Test (b) first — it is a one-line check and would explain the sign exactly. NOTE that node 14's one-frame remedy did NOT fix control, so (a) alone is not sufficient. + +## 17 — The control defect localised: the predictor under-represents the action by ~3.5x (2026-08-02, commit ) +- Category: Benchmark +- Hypothesis: (node 16) the planner is worse than the zero policy, so something is systematically pointing it away from the goal. Node 16 named a sign/axis convention between the latent displacement and the action applied in `_step` as the cheapest discriminating test. +- Prediction: if a sign error exists, the displacement the planner produces is anti-correlated with the displacement it needs. +- Implementation: read `_step` and `generate` for convention; computed the EXACT reachable set (the dynamics are linear in the actions, so the reachable interval is base +/- sum of per-action-coefficient magnitudes); ran the trained planner on the fixed 200-episode set and compared needed against produced displacement; measured predictor sensitivity to action versus state in latent space and against the true env. +- Evidence: + - **The convention is consistent and there is NO sign error.** `generate` records the action that produced the transition (`_step(z, action, mode)` -> `post`), so training sees the true mapping. Measured on 200 episodes: correlation(needed displacement, produced displacement) = **+0.0375**, sign agreement **45.5%** against a 50% +/- 7% chance interval. A sign error would give strong negative correlation. **Candidate (b) from node 16 is REFUTED.** + - **The task is feasible; this is not a reachability problem.** Action authority is a half-width of **0.459** (median) against a median **0.207** to be closed, and the goal is reachable within `goal_tol` in **200/200** episodes in both modes. Uncontrolled drift is only 0.077-0.112. + - **The planner uses ~16% of the authority it has.** Mean |produced| **0.0734** against mean |needed| **0.2224** and a reachable half-width of 0.459. + - **ROOT CAUSE: the action barely exists in latent space.** Full action swing (-1 -> +1) moves the predicted latent **0.1378** while different states are **2.2613** apart — the action is **6.1%** of the state signal. In the TRUE env the same swing moves `pos` by 0.1200 against a state sd of 0.5640 — **21.3%**. The predictor therefore **under-represents the action by ~3.5x**, and in the true env actions beat drift 5.66x. There is ample control authority; it is attenuated on the way into the latent. +- Decision: **REJECT node 16's "systematically pointing it away" reframing, and REPLACE it.** The planner is not adversarial, it is uninformative — and an uninformative planner that still ACTS scores worse than the zero policy, because uncorrelated displacement added to a position increases expected distance. That fully accounts for node 16's "worse than doing nothing" with no directional defect. Node 16's claim that "an uninformative planner scores like the zero policy" was wrong: that holds only for a planner emitting zero actions. The MEASUREMENT in node 16 stands; the inference drawn from it does not. +- This also reconciles the whole nodes 6-16 arc. Every representation-side change was measured against metrics dominated by the per-trajectory factors (`chi`, `peak_amp`, `offset`), which are constants and easy to encode. `pos` — the only variable control acts on — is the one the encoder represents weakly (node 13: latent-to-position r ~ 0.63). Improving `chi` recovery while `pos` stays weakly encoded improves the panel and cannot improve control. The planner was never the bottleneck (node 11, confirmed in node 16), the objective was not the bottleneck (node 14), and the frame offset was not sufficient (node 14) — the ACTION CHANNEL is. +- Next question: this is a training-signal problem, not a planner, objective or benchmark problem. The one-step JEPA target gives the action a 6% footprint in a latent whose variance is dominated by frozen per-trajectory factors. Bounded, ordered candidates: (a) train the predictor on MULTI-STEP transitions so the action's compounded effect is visible in the target; (b) scale the action's authority per step (`DT`, or an action gain) so one step carries a larger footprint; (c) an action-conditioned auxiliary loss that requires the latent to predict the action from a (pre, post) pair — a direct measurement of how much action information the representation retains, and a candidate for the panel regardless. Test (c) FIRST: it is diagnostic rather than corrective, it needs no retraining of anything else, and it converts "the action is 6% of the signal" into a number the panel reports every run.