Repository navigation
feat(user-interface): honor an explicit accelerating-exit request and fix the write-css rule graders - #9899
Conversation
… and count write-animation firing no-physical matched a right-to-left note in every reply (`text-align: left` named in inline code) while the CSS itself was logical. A match opened or closed by an inline-code backtick no longer counts; physical declarations in CSS still fail. The ease-in case's skill-fired grader accepts write-animation, which every run routed to. Refs: #7129 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ss-rule-graders-7129
…r the ease-in rule An explicit request for an exit that accelerates away now wins over the never-ease-in rule in write-css, with the slow start named. The default is unchanged. The css-rule-ease-in eval passes an honored request with the trade-off named. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
claude-security-review reviewed No security issues in the incremental change (8 files: eval prompt, grader, and samples;
critical-findings: 0 |
|
claude-review reviewed Incremental review of the 8 files changed since 740dd8a: no findings.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 740dd8aa69
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…in exception with the linter
- no-physical: the text-align alternative skips inline code anywhere later
on the line, like the other two alternatives, so a quoted whole rule such
as `.rtl { text-align: left; }` no longer fails a logical reply.
- write-css: the review script and audit-animation still report an honored
ease-in; the rule and the lint step now say that finding is expected.
- The ease-in exception warns that the slow start can read as lag, matching
what the exit-request-honored rubric asks for.
- exit-request-honored gets four labeled samples (three independent labelers
agreed on all four); opus calibration agreed on 12/12 runs.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X1zWtmVHsCdqJk7AEeNE2b
Closes #7129
Summary
Kept-trace reruns of the two
write-cssrule cases that scored 0/5 in every arm found two grader defects. Incss-rule-logical,no-physicalfailed 5/5 runs whose CSS was fully logical: every reply ended with a right-to-left note naming the physical alternative in inline code (`text-align: left`), and the pattern matched it. The issue's guess (top: 0on a positioned element) was not the cause. Incss-rule-ease-in, all 5 runs routed touser-interface:write-animation, so theskill-firedgrader, which named onlywrite-css, failed every run.Fix
no-physicalno longer counts a physical property inside inline code, whether a bare declaration or a quoted whole rule; each alternative skips a match with a closing backtick later on the line. Physical declarations in CSS still fail it, including in a fenced block. Must-pass samples cover both prose forms.skill-firedgrader acceptswrite-cssorwrite-animation. Both carry the no-ease-in rule, and an animation request routes towrite-animationby design (its Step 7 hands CSS towrite-css).ease-inrule.write-css(SKILL.md,reference/motion.md) and the animation catalog say to useease-infor that exit and warn that its slow start can read as lag.write-cssalso says the review script andaudit-animationstill report thatease-in, and that the finding is expected. The default is unchanged.css-rule-ease-ineval follows:no-ease-inand its samples are removed, andfast-start-curvebecomesexit-request-honored, which passes an ease-out curve, or an honored request with the lag warning. The judge has four labeled samples.Verification
claude plugin eval <copy>/plugins/user-interface --case <case> --ablation none --keep-temp --judge-model opus --threshold 0.8, 5 runs, run-validity verdict VALID:css-rule-logical: before,no-physicalfailed 5/5 (score 0.67); after, 5/5 (score 1.00).css-rule-ease-inon the final skill text: 5/5 (score 1.00), every grader passing. A run on the earlier wording ("say it starts slow") scored 4/5. The miss called the slow start a feature and never named the lag, so the skill text now asks for the lag warning.exit-request-honoredjudge calibration (calibrate-judge.py, opus, 3 runs per sample): 12/12 agreement over 4 samples. Three independent labelers agreed with every sample label.validate-cases.py plugins/user-interface/evalsexits 0, checking each deterministic grader against its samples; the quoted-rule sample failed the old pattern first.validate-plugins.sh --only user-interface,check-changelog-fragments.sh --checkandcheck-affected.sh --testspass.Related
🤖 Generated with Claude Code
https://claude.ai/code/session_01X1zWtmVHsCdqJk7AEeNE2b