test(claude-config): add step-list-culling eval case to audit-instructions (0.9.1)#892
Conversation
…tions (0.9.1) Absorb the superseded audit-model-fit suite's C2 step-list case as an I8 eval: a mechanical numbered procedure must be culled to intent plus hard constraints (genuine ordering, safety gates, external contracts kept), not preserved verbatim. Recorded as follow-up material in PR #870 when 0.9.0 removed audit-model-fit. Refs: #889 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: ee68a177-59bc-40c2-bb73-a66d20bd1923
|
Claude finished @kyle-sexton's task in 1m 26s —— View job PR Review
SummaryAdds a single eval case (
|
| # | What it tests |
|---|---|
| 1 | Classification — skill identifies the finding as I8 |
| 2 | Remediation direction — culling to intent + hard constraints, not verbatim preservation |
| 3 | Preservation nuance — genuine ordering / safety-gates / external-contract steps are kept |
This mirrors the structure of the other five cases (each covers detect, remediate, and a nuance). ✓
One minor observation: expected_output is a compound sentence that asserts both the positive (culls to intent) and negative (does not preserve all 9 verbatim) in a single blob. This is consistent with how other cases in the file are written (e.g. id 4 and id 5 do the same), so it's not a defect — just an observation that the expectations bullets are the durable, machine-checkable layer here.
plugin.json — version bump 0.9.0 → 0.9.1
Patch increment for a non-breaking eval-only addition. Correct per semver. ✓
CHANGELOG.md — [0.9.1] entry
Follows Keep a Changelog ### Added convention, matches the existing [0.9.0] entry's style (no explicit date, which is consistent with prior entries), and accurately describes the absorbed case and its lineage. ✓
No issues found
The change is minimal, schema-valid, correctly mapped to I8, and accompanied by the required housekeeping (version bump + CHANGELOG). No security concerns, no structural problems, no missing tests for the new behavior. The commit subject follows Conventional Commits with the test(claude-config): scope.
Verdict: ready to merge.
|
Claude finished @kyle-sexton's task in 50s —— View job Security Review — PR #892
FindingsNo security issues found. The three changed files are exclusively static, non-executable data:
Checked for and found nothing across:
This is a patch-level data-only addition with no security surface. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ccdc14e402
ℹ️ 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".
… eval Codex review: the case could pass on an immediate confident cut, missing a regression where step-list removals bypass the behavioral verify pass. Add the expectation that the cull surfaces as a verify-pass-vetted behavioral proposal, per I8's behavioral tier. Refs: #889 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: ee68a177-59bc-40c2-bb73-a66d20bd1923
|
Claude finished @kyle-sexton's task in 1m 42s —— View job PR Review
SummaryTwo commits: the first adds the
|
| # | What it tests |
|---|---|
| 1 | Classification — I8 over-prescriptive finding |
| 2 | Remediation — cull to intent + hard constraints, not verbatim preservation |
| 3 | Preservation nuance — genuine ordering / safety-gates / external-contract steps kept |
| 4 | Behavioral-tier gate — surfaced as verify-pass-vetted proposal, not unverified removal |
The 4th expectation is a net addition over the other five cases (which have 3 each). This is the right call here — I8 is the only check in the catalog where both a specific content pattern and a behavioral-tier gating requirement are simultaneously at play in a single finding.
No collision with id 5 (verify-pass-demotion). id 5 exercises what happens when the verifier defends a prior-model instruction (demotion to info). id 6 exercises the initial classification and culling of a step-list finding. They are orthogonal scenarios. ✓
Schema compliance. id: 6 (unique integer), name matches ^[a-z0-9]+(-[a-z0-9]+)*$, files: [], all required fields present. ✓
plugin.json — version bump 0.9.0 → 0.9.1
Correct patch increment for a non-breaking eval-only addition. ✓
CHANGELOG.md — [0.9.1] entry
Entry follows Keep a Changelog ### Added convention, accurately records the lineage (absorbed from the superseded audit-model-fit C2 analog per #870), and matches the prior entry's style. ✓
No issues found
The Codex feedback was addressed. The case is schema-valid, correctly mapped to I8 (behavioral tier), the verify-pass gate is now an explicit expectation, and the housekeeping (version bump + CHANGELOG) is in order. The commit subjects follow Conventional Commits with the test(claude-config): scope.
Verdict: ready to merge.
|
Claude finished @kyle-sexton's task in 1m 9s —— View job Security Review — PR #892
FindingsNo security issues found. The two commits in this PR touch only static, non-executable data across three files.
Surfaces checked and found clean:
This is a patch-level, data-only addition with no security surface. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7db35fcc18
ℹ️ 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".
…eval Codex review: with only abbreviated actions and 'then...', the model under test never sees the concrete steps, so it can pass generically without demonstrating hard-constraint preservation. Enumerate the nine steps — two load-bearing (test gate, CI-enforced Conventional Commits title), seven narration — and pin expectations to both sides of the cull. Refs: #889 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: ee68a177-59bc-40c2-bb73-a66d20bd1923
|
Claude finished @kyle-sexton's task in 1m 24s —— View job PR Review
SummaryThree commits together build eval case id 6 (
This review focuses on HEAD (
|
| # | What it tests |
|---|---|
| 1 | Classification — I8 over-prescriptive finding |
| 2 | Remediation — cull to intent + hard constraints, not verbatim |
| 3 | Preservation — test-gate (step 5) + Conventional Commits title (step 8) kept |
| 4 | Culling precision — narration steps (status/diff/add/commit/push) removed |
| 5 | Behavioral-tier gate — surfaces as verify-pass-vetted proposal, not confident removal |
Expectation 3 replaces the previous generic "keeps steps encoding genuine ordering/safety-gate/external-contract" with two named concrete cases. This makes the regression surface much narrower and more testable. ✓
expected_output consistency. The new expected_output names both load-bearing steps by their substantive descriptions ("run-tests-and-stop-on-failure", "Conventional Commits PR-title requirement CI enforces") and names the narration steps to cull ("status/diff/add/message/commit/push"). This is fully consistent with expectations 3 and 4. ✓
Schema compliance. id: 6 unique, name pattern match, files: [], all required fields present. ✓
No issues found
All Codex feedback across both review passes has been addressed. The case is now concrete, machine-checkable, and covers five orthogonal obligations. The change is evals.json-only (5 ins, 4 del), no security surface, no schema violations, no housekeeping required (version and CHANGELOG were handled in ccdc14e).
Verdict: ready to merge.
|
Claude finished @kyle-sexton's task in 1m 4s —— View job Security Review — PR #892
FindingsNo security issues found. The three changed files are exclusively static, non-executable data:
The new case at lines 65–77 adds four fields:
Surfaces checked and found clean:
This is a patch-level, data-only addition with no security surface. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 76ae480b95
ℹ️ 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".
| "Identifies the numbered step list as an I8 over-prescriptive finding", | ||
| "Proposes culling to intent plus hard constraints rather than keeping all 9 steps verbatim", | ||
| "Keeps the test-gate step (run tests, stop on failure) and the CI-enforced Conventional Commits PR-title step as load-bearing", | ||
| "Culls narration steps (git status/diff/add/commit/push) that a current model sequences correctly from intent", |
There was a problem hiding this comment.
Cover every culled step in this eval
Fresh evidence since the prior comment: the full 9-step list is now present, but this cull assertion still only requires removing status/diff/add/commit/push. A response can preserve step 4 (write a commit message) and step 9 (open the PR with gh pr create) while satisfying the objectively-verifiable expectations, even though line 73 names only steps 5 and 8 as load-bearing; that leaves the case unable to catch a partial step-list trim regression.
Useful? React with 👍 / 👎.
Adds the step-list-culling eval case to
claude-config:audit-instructions— the second of two absorb candidates recorded in #870 whenaudit-model-fitwas superseded.Closes #889
What ships
step-list-culled-not-preserved(evals/evals.json, id 6): a mechanical 9-step numbered procedure must be flagged as an I8 (Model-era re-audit) over-prescriptive finding and culled to intent plus hard constraints — steps encoding genuine ordering, safety gates, or external contracts kept — never preserved verbatim. Modeled on the superseded suite's C2 analog, re-phrased against the I8 catalog.Verification
check-jsonschemaagainstplugins/skill-quality/reference/evals.schema.json: ok.--check+--check-bump, generate-catalog--check, validate-plugin-contracts, markdownlint.reference/criteria.md, no mojibake from the historical source, bump + CHANGELOG parity, commit subject).Related
!-injected surface inventory), tracked separately.audit-model-fitPR.🤖 Generated with Claude Code