SLM-254: close LOT3-01 not_authorized via downstream gate - #937
Conversation
LOT1-01's own hard activation gates require SLM-248's fidelity-contract verdict to be authorize_bounded_implementation and SLM-249's trace gate verdict to be oracle_ceiling_positive. The real committed upstream artifacts report needs_target_trace_contract and inconclusive respectively (SLM-249's own allowed_lot1_implementation field says "none: ... not authorized by this issue"). Per the issue's own text, this closes not_authorized in plan-only mode without any Kxc model/training code. Adds a small, reusable, tested LotusOpenUIModelContractV1 evaluator that reads the two upstream contracts and derives the verdict from their real published fields (not hardcoded to always fail — a synthetic both-gates-met case is tested to flip the result to authorized_wiring_only). Re-running the same CLI after SLM-249 gets a real oracle-ceiling campaign will honestly reflect the new disposition. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KShriKrGosZr67yVPFgi78
LOT1-02's launch prerequisites are unmet against the real committed upstream contracts: SLM-248 reports needs_target_trace_contract (not authorize_bounded_implementation), SLM-249's trace gate reports inconclusive (not oracle_ceiling_positive), its own allowed_lot1_implementation authorizes no LOT1 implementation, and LOT1-01 (SLM-250) itself closed not_authorized -- so no faithful K x c model path, curriculum hooks, or Stage 0 parent exist to train, and there is no treatment arm to attribute against a continued-explicit control. Per LOT1-01's own gate law this closes LOT1-02 not_authorized in plan-only mode with no training/curriculum/model code. Adds a small tested Lot102LaunchGateV1 evaluator that reuses the SLM-250 lot1_01_activation_gate module (no parallel path) and adds the SLM-249 explicit-allowance check; synthetic positive fixtures prove it flips to authorized_wiring_only when prerequisites are honestly met.
LOT2-01's activation requires SLM-251 (LOT1-02) to authorize LOT2 with a selected parent, faithful treatment checkpoint/recipe, continued explicit control, curriculum, and fairness manifests. The LOT1-02 launch gate reports not_authorized against the real committed upstream contracts (SLM-248 needs_target_trace_contract, SLM-249 inconclusive with allowed_lot1_implementation=none, LOT1-01 itself not_authorized), so none of those artifacts exist and the supervision routing x timing x grounding factorial cannot launch honestly. Adds a generic LotDownstreamGateV1 evaluator covering all LOT2+ issues through one registry (no per-issue parallel paths), reusing the lot1_02 gate. Even a synthetic positive LOT1 chain yields only upstream_authorized_pending_campaign_gate, never a launch or quality claim. No training/factorial/readout code is added.
LOT2-02 requires SLM-251's qualified faithful checkpoint/recipe plus continued explicit control and SLM-252's selected supervision routing; the LOT1-02 launch gate is not_authorized against the real committed contracts, so neither exists and the PCL vs structured/set-valued/ block-autoregressive readout matrix cannot launch honestly. Registers SLM-253 in the shared LOT downstream gate (structured-latent-readout-gate-v1) with not_authorized iter docs; no readout/objective code added.
LOT3-01's activation gates require a qualified faithful latent checkpoint (SLM-251), a selected routing contract (SLM-252), a selected readout contract (SLM-253), and a nonzero oracle substitution ceiling; per the issue text, when these fail the issue closes with causal_study_not_authorized rather than manufacturing interpretability evidence. The LOT1-02 launch gate is not_authorized against the real committed contracts, so there is no latent checkpoint to capture, probe, or intervene on. Registers SLM-254 in the shared LOT downstream gate (causal-latent-use-gate-v1) with not_authorized iter docs; no capture/intervention/probe code added.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review limit reached
Next review available in: 51 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (6)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…uthorized # Conflicts: # src/slm_training/harnesses/experiments/lot_downstream_gate.py # src/slm_training/resources/versions.json # tests/test_harnesses/experiments/test_lot_downstream_gate.py # tests/test_scripts/test_evaluate_lot_downstream_gate.py
Summary
Closes SLM-254 (LOT3-01)
not_authorized(the issue's owncausal_study_not_authorizedclose condition). Activation requires a qualified faithful latent checkpoint (SLM-251), selected routing (SLM-252), selected readout (SLM-253), and a nonzero oracle substitution ceiling — the LOT1-02 launch gate isnot_authorizedagainst the real committed contracts, so there is no latent checkpoint to capture, probe, or intervene on. Closing rather than manufacturing interpretability evidence, exactly as the issue text demands.Registers SLM-254 (
causal-latent-use-gate-v1) in the shared LOT downstream-gate registry — no new module — with version-stamped iter docs.Stacked on PR #936 (chain: #927 → #930 → #934 → #936 → this).
Verification
pytest tests/test_harnesses/experiments/test_lot_downstream_gate.py tests/test_scripts/test_evaluate_lot_downstream_gate.py— 10 passed (2 new SLM-254 cases)python -m scripts.evaluate_lot_downstream_gate --issue SLM-254— exit 0,not_authorized; iter docsdocs/design/iter-slm254-lot3-01-not-authorized-20260725.{json,md}python -m scripts.verify_version_stamps --check— ok (harness.experimentsv113,lot_downstream_gatev3)python -m scripts.repo_policy— ok;git diff --check— cleanHonest scope
--issue SLM-254and re-file LOT3-01 with its preregisteredCausalLatentCaptureV1/CausalLatentInterventionV1contracts.