Skip to content

docs(DSH5-10): scope the replay-preference -> TypedOperatorPolicyScorer adapter gap - #1144

Merged
Tyler-R-Kendrick merged 1 commit into
mainfrom
claude/great-dirac-4aqjoh
Jul 27, 2026
Merged

docs(DSH5-10): scope the replay-preference -> TypedOperatorPolicyScorer adapter gap#1144
Tyler-R-Kendrick merged 1 commit into
mainfrom
claude/great-dirac-4aqjoh

Conversation

@Tyler-R-Kendrick

Copy link
Copy Markdown
Owner

Summary

Following the repeated "next steps" notes across the recent autotrain smoke-loop PRs (#1130, #1132) pointing here instead of further fixture-loop variance checks, and after the repo owner closed my prior 64/128-step PR (#1123) as no-longer-wanted, this session pivoted to the DSH5-10 preference-training scope. Given MAX_RUN_MINUTES=3, a real trained head isn't boundable in one autonomous session — this is an investigation-only design note that scopes the actual blocker so a future session with real time budget doesn't have to re-derive it.

  • Confirms and extends PR SLM-418: convert replay preference rows to PreferencePair (DSH5-10) #1131's reward-shape mismatch finding (PreferencePair built for full-program pairs scored by composite_reward, but replay-preference chosen/rejected are bare action tokens like "undo").
  • New finding this session: a deeper structural gap. OperatorActionViewV1 (src/slm_training/models/operator_policy_view.py:242-260) requires operator_id/operator_version/verdict: OperatorSupportVerdict/coverage: LegalSetCoverage — fields that history-control actions (undo/redo:<state>/checkout:<state>/merge tokens) simply don't have, since those never route through the operator-legality compiler.
  • Of the 7 confirmed ReplayPreferenceRelation members, only PRONOUN_FOCUS_FOLLOWUP draws both chosen/rejected from real OperatorActionViewV1-compatible entry.legal_actions (src/slm_training/dsl/operators/replay_preference.py:383-407). The other 6 relations' chosen action can't be expressed as an OperatorActionViewV1 row at all, independent of the reward-shape issue.
  • Lays out two candidate designs — (A) extend the frozen OperatorPolicyInputV1 schema with a history-control action-row variant, vs. (B) a separate scorer for the history-control decision space — with tradeoffs, and recommends prototyping (B) first since it needs no change to already-tested code and unblocks 6/7 relations immediately.
  • Honesty tier: investigation/design note only. No code changed, no training or evaluation run, no version-stamp bump (nothing watched by versions.json touched), no readiness claim.

Test plan

  • python -m scripts.verify_version_stamps --check --base origin/main — ok, 0 components touched
  • python -m scripts.repo_policy — ok
  • Every file:line reference in the doc verified directly against current main source (operator_policy_view.py, typed_operator_policy.py, replay_preference.py)
  • No code changes in this PR — docs only, no test suite impact

Generated by Claude Code

…er adapter gap

Investigation-only design note, no code or training changes. Confirms and
extends PR #1131's reward-shape mismatch finding with a deeper structural
gap: OperatorActionViewV1 (operator_policy_view.py) requires operator_id/
verdict/coverage fields that history-control actions (undo/redo/checkout/
merge -- 6 of the 7 confirmed ReplayPreferenceRelation members) simply
don't have, since those actions never route through the operator-legality
compiler. Only PRONOUN_FOCUS_FOLLOWUP rows draw both chosen/rejected from
real OperatorActionViewV1-compatible legal_actions.

Lays out two candidate designs (extend the frozen OperatorPolicyInputV1
schema vs. a separate history-control scorer) with tradeoffs and a
recommendation, so a future session with real time budget (MAX_RUN_MINUTES
is 3, too tight for this) doesn't have to re-derive the mismatch before
writing code.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VDeTk7RxBAbWX5fKjBqb4r
@vercel

vercel Bot commented Jul 27, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
slm-training Ready Ready Preview, Comment Jul 27, 2026 3:17pm

Request Review

@coderabbitai

coderabbitai Bot commented Jul 27, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@Tyler-R-Kendrick, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 38 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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 configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 7bc083d9-6dc5-4c89-8721-5032ba7f894b

📥 Commits

Reviewing files that changed from the base of the PR and between 90c1966 and 1c90f9d.

📒 Files selected for processing (1)
  • docs/design/dsh5-10-policy-scorer-adapter-gap-20260727.md
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/great-dirac-4aqjoh

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Tyler-R-Kendrick
Tyler-R-Kendrick merged commit 4f47aef into main Jul 27, 2026
6 checks passed
@Tyler-R-Kendrick
Tyler-R-Kendrick deleted the claude/great-dirac-4aqjoh branch July 27, 2026 15:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants