SLM-251: close LOT1-02 not_authorized via launch-gate evaluator - #930
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.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review limit reached
Next review available in: 56 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 (7)
✨ 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/resources/versions.json
Summary
Closes SLM-251 (LOT1-02)
not_authorizedin plan-only mode. The curriculum campaign cannot launch honestly against the real committed upstream contracts:needs_target_trace_contract(requiredauthorize_bounded_implementation)inconclusive(requiredoracle_ceiling_positive); its ownallowed_lot1_implementationauthorizes no LOT1 implementation (K/c is a bounded-probe recommendation, not a data-derived budget)not_authorized(PR SLM-250: close LOT1-01 not_authorized via activation-gate evaluator (restored) #927) — no faithful K×c model path, curriculum hooks, or Stage 0 parent checkpoint exists, so there is no treatment arm and no matched continued-explicit control to attribute againstAdds
Lot102LaunchGateV1(src/slm_training/harnesses/experiments/lot1_02_activation_gate.py+ CLIscripts/evaluate_lot1_02_activation_gate.py) which reuses the SLM-250lot1_01_activation_gatemodule rather than duplicating gate logic, plus the SLM-249 explicit-allowance check. Synthetic positive fixtures prove the evaluator flips toauthorized_wiring_onlywhen prerequisites are honestly met — it is not hardcoded to fail.Stacked on PR #927 (base
slm-250-lot1-01-not-authorized) since the evaluator imports the LOT1-01 module.Verification
pytest tests/test_harnesses/experiments/test_lot1_02_activation_gate.py tests/test_scripts/test_evaluate_lot1_02_activation_gate.py— 6 passed (13 incl. LOT1-01 tests)python -m scripts.evaluate_lot1_02_activation_gate— exit 0, all three gates unmet, version-stamped iter docs regenerated post-bump (docs/design/iter-slm251-lot1-02-not-authorized-20260725.{json,md})python -m scripts.verify_version_stamps --check— ok (harness.experimentsv110, newharness.experiments.lot1_02_activation_gatev1)python -m scripts.repo_policy— ok;git diff --check— cleanHonest scope
oracle_ceiling_positive), re-run both evaluators; LOT1-02 campaign work should then be re-filed.