SLM-431: land SLM-317 repair-hybrid harness + powered Wilson rerun surface (LAR0-06) - #1115
Conversation
…AR0-06) Land the SLM-317 do-no-harm AR->repair hybrid harness byte-identical from unmerged branch commit 48e5cad (harness module, runner, tests, frozen 20260724 docs); 20 original tests pass unmodified against main HEAD. Add the additive, default-off --min-pass-rate Wilson power-rule CLI mirroring SLM-421's run_slm138 power_rule (per-seed pass/fail -> wilson_interval -> repair_positive / repair_negative / inconclusive_underpowered), with 7 new deterministic helper tests. power_rule=None preserves the original 2-seed behavior byte-for-byte. STOP RULE: the powered rerun cannot execute on main — the runner's historical/improved arms need TreeEditDiffusionConfig value_label_mode / stop_slot_accounting knobs that exist only in the branch's forked tree_edit_diffusion.py (unmerged SLM-305/308/310). Reported honestly per the issue's falsification rule; no rerun artifact, no disposition, LAR3's second reopening condition remains unmet. Brain note updated.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review limit reached
Next review available in: 53 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 |
…0) (#1119) * SLM-418: add merge-success replay preference pattern (DSH5-10) Fourth slice of SLM-418's replay-grounded preference extraction. Adds extract_merge_preference_row, a standalone extraction path (a merge attempt is never a recorded ConversationTraceV1 turn, so this is not a trace-turn scan like extract_replay_preference_rows): one MERGE_SUCCESS row per successful merge_conversation_branches attempt, grounded at the left branch tip with merge:<sorted-tip-pair> offered alongside checkout/undo in the legal set, and replaying to the real BranchMergeContinuationV1 state. Merge conflict is intentionally not modeled as a row: a conflicting merge has no successor state to replay to and no recorded "chosen instead" action, so fabricating one would violate the pattern's own exact-context-replay requirement. This is honored by construction -- merge:<pair> is only ever offered as a legal candidate once merge_conversation_branches has already confirmed success -- and proven by test_merge_conflict_never_yields_a_preference_row. Brings pattern coverage to 6 of 7; only pronoun/focus follow-ups remain, as does all SFT/preference training and held-out measurement. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LrpUNRDWqyatkAec3MzxLe * SLM-418: add pronoun-focus-followup replay preference pattern (DSH5-10) Fifth slice of SLM-418's replay-grounded preference extraction (DSH5-10): completes coverage to 7 of 7 named patterns by adding pronoun_focus_followup, a new branch inside extract_replay_preference_rows's existing turn-pair scan for a second consecutive AST_EDIT turn. Focus is never a transcript pronoun or semantic descriptor -- it is _touched_refs, the exact OperatorRef values the immediately preceding AST_EDIT turn's own verified OperatorApplicationV1.arguments bound. A pair is classified pronoun_focus_followup only when that focus set is non-empty, the following edit's own bound arguments intersect it, and the exact legal set at the shared decision state contains a sibling: another legal action for the same operator whose bound refs do not overlap the focus set (a genuinely available, equally legal switch the user did not take). Switching to a different, legal, explicit reference is honestly left unrowed rather than asserted a correction. Stacked on #1118 (merge-success, 6 of 7). Corrects the hardcoded evidence strings in advanced_operator_disposition.py accordingly. No training or held-out evaluation is added -- this stays wiring evidence only, the same honesty class as the prior four slices (#1107, #1112, #1115, #1118). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GyJd3opkGqa6dwne9dXsVT --------- Co-authored-by: Claude <noreply@anthropic.com>
SLM-431 (LAR0-06): land SLM-317 repair-hybrid harness + powered Wilson rerun surface
Stop rule triggered — reported honestly, nothing forced. The harness lands and all tests pass, but the powered rerun itself cannot execute on main (see "Blocker" below). No rerun iter doc exists and no disposition is claimed.
What lands
src/slm_training/harnesses/experiments/slm317_repair_hybrid.py,scripts/run_slm317_repair_hybrid.py,tests/test_harnesses/experiments/test_slm317_repair_hybrid.py, and the frozendocs/design/iter-slm317-repair-hybrid-20260724.{md,json}— byte-identical from unmerged branchorigin/slm-317-repair-hybridcommit48e5cadc(verified withgit show 48e5cadc -- <path> | cmp). The 20 original tests pass unmodified against current main HEAD.--min-pass-ratepower-rule CLI on the runner, structurally mirroring SLM-421'spower_ruleaddition toscripts/run_slm138_recursive_denoiser_fixture.py: per-seed pass/fail (≥1 paired improvement, 0 damages) →wilson_intervalover the pass rate →repair_positive/repair_negative/inconclusive_underpowered.power_rule=None(default) preserves the original 2-seed behavior byte-for-byte; non-default--seedswithout--min-pass-rateis rejected fail-closed; powered runs never clobber the frozen 20260724 record (separate dated stem). 7 new deterministic tests cover invalid bounds and boundary-CI dispositions (28 total pass).versions.json: newharness.experiments.slm317_repair_hybridv2 (v1 = byte-identical landing, v2 = additive power-rule surface);harness.experimentsv137→v138 (watches the experiments dir).docs/brains/repo/recursive-recurrence-health.mdrecords the blocker finding.Blocker (issue falsification/stop rule)
run_screenbuildsTreeEditDiffusionConfig(value_label_mode=..., stop_slot_accounting=...)for the historical/improved repair arms. Those knobs exist only in the branch's forkedsrc/slm_training/models/tree_edit_diffusion.py(unmerged SLM-305/308/310 branch commitsdbe2fd59,ae5448c5,d8f35563); main's model has neither the knobs nor the concepts under any name. Verified:git merge-basefile has zero occurrences; main has zero occurrences. Running the rerun would require porting branch-only model changes — a behavior change the issue explicitly forbids ("land UNMODIFIED", "no logic changes"). Per the stop rule, the rerun was not forced and the preregistered threshold was not weakened.Consequences
Verification
pytest -q tests/test_harnesses/experiments/test_slm317_repair_hybrid.py→ 28 passed (20 original unmodified + 7 new power-rule tests + 1 import-shape test).python -m scripts.verify_version_stamps --check→ ok.python -m scripts.repo_policy→ ok.git diff --check→ clean.Fixture diagnostic only; no ship, checkpoint, or production claim.