SLM-418: publish DSH5-10 event-memory disposition (falsification close) - #1157
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughAdds SLM-418 disposition documents and version-registry entries. The report records fixture-scale replay-preference ablation results showing no held-out benefit, retains the conversation event DAG as runtime and evaluation authority, and defines conditions for reconsidering preference training. ChangesSLM-418 disposition
Estimated code review effort: 2 (Simple) | ~15 minutes Possibly related PRs
✨ 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 |
SLM-418 (DSH5-10): final disposition — falsification close
Closes SLM-418 ("Use undo, redo, and fork history as replay-grounded preference signal for ambiguous follow-up instructions").
Decision
no_held_out_benefit_at_fixture_scale_retain_dag_only— the issue's own falsification/stop rule, invoked verbatim:This is the designed, legitimate negative close. The conversation event DAG (
ConversationTraceV1) is retained as sole state authority for runtime/evaluation; no SFT/preference training complexity is added (no training run, no checkpoint, noTypedOperatorPolicyScorerwiring, no schema change to frozenOperatorPolicyInputV1).What this PR adds
docs/design/iter-slm418-dsh5-10-disposition-20260727.{json,md}— finalOperatorEventMemoryReportV1-style report (operator_event_memory_report/v1, realversion_stampviabuild_version_stamp): pattern coverage, ablation numbers, acceptance-criteria status, non-goals honored, adapter-gap summary, successor conditions.versions.json: new componentharness.experiments.slm418_dsh5_10_dispositionv1 (covers the two docs);harness.experimentsv139 → v140 history note. No watched code file changed.Evidence (all on merged main)
Pattern coverage: 7/7 named extraction patterns in
src/slm_training/dsl/operators/replay_preference.py(v7) —edit_then_undo,undo_then_redo,partial_rollback,checkout_another_state,fork_then_choose_one_branch,merge_success,pronoun_focus_followup— each replay-verified against the exact legal set at its input state. Merge conflict excluded from every ranking denominator by construction (test_merge_conflict_never_yields_a_preference_row).Ablation (PR #1129,
57f5bdbb; re-run this session):undo_family_ratecurrent_state_onlyis_history_controlalone separates the 4-pair held-out split)no_benefit_fixture_scale(baseline 1.0, beststate_plus_recent_receiptsdepth 1 = 1.0, tied)rollback_chain_8(undovsoperator)Adapter gap (
docs/design/dsh5-10-policy-scorer-adapter-gap-20260727.md): 6/7 relations choose history-control tokens not expressible asOperatorActionViewV1rows; training not warranted by evidence. Successor condition recorded: a real argument-bound corpus build (VAR3-04/05 pattern) showing held-out benefit over state-only/derived-only baselines on a powered split.Verification (this branch, from
origin/main0fd83214)python -m scripts.run_replay_preference_context_view_ablation→no_benefit_fixture_scale, 8 sessions / 40 rows,undo_family_rate=0.9, all 25 cells 1.0.pytest tests/test_dsl/test_replay_preference.py tests/test_harnesses/preference/test_operator_history_pairs.py tests/test_evals/test_ambiguous_operator_followups.py -q→ 50 passed.python -m scripts.verify_version_stamps --check→ ok (3 changed files, 1 component touched).python -m scripts.repo_policy→ ok (tracked + untracked).git diff --check→ clean. Pre-commit hook also ranverify_version_stamps --staged+tests/test_versioning(15 passed).Note: the demo pairs builder (
scripts/build_replay_preference_pairs.py, PRs #1125/#1127/#1128) is not onorigin/main(unmerged branchorigin/claude/great-dirac-ni43oh); the disposition does not depend on it.Summary by CodeRabbit