Repository navigation
test(harness-ops): move the plugins-audit evals to native cases with fleet fixtures - #13442
Conversation
…fleet fixtures Convert the skill's four legacy evals.json cases with convert-evals-json.py and retire the legacy file. Three cases get a scaffold that seeds the run's home with a marketplace, its catalog, install records and settings, so the default marketplace resolves and the cases measure the skill rather than the empty sandbox. These are the cases the #8206 output arm ran on. Refs: #9966 Co-Authored-By: Claude Opus 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 Security review: no security issues foundThis pull request moves the four What I checked
Settled thread. My earlier finding on Identical files. I read the first file of each identical-copy group and skipped the rest. None of the copies sits at a path that would change what its content does. Spend. Adding critical-findings: 0 |
|
claude-review reviewed Code review: PR #13442, incremental (
|
… a real-home guard The three scaffolds took the fixture home as the parent of the working directory and overwrote plugin state there. Run by hand from a project under ~, that is the real home. They now write under $HOME, which the runner sets to the run's temporary home, refuse the account's real home and any existing target, as the context-guard scaffolds do, and drop the unused EVAL_FIXTURE_CWD. The fixture each writes is unchanged. Refs: #9966 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs: #9966
Summary
The four
/harness-ops:plugins-auditeval cases are nowclaude plugin evalcases underplugins/harness-ops/evals/, and three of them carry a fleet fixture. These are the files the #8206 output arm ran on (result on #9966). They were in a scratch copy only; this PR keeps them, as the hub asked (H48 (b)).Fix
skills/plugins-audit/evals/evals.jsonwithconvert-evals-json.pyand removed the legacy file. The four case directories match a fresh conversion of main's file, apart from the run settings below.audit-issues-zero-mutating-calls,divergence-report-collapses-bulk-names-conflictsandmodel-starts-audit-not-synceach get ascaffold.shandcontext.scaffold_script. The scaffold writes the run's home withknown_marketplaces.json, a catalog,installed_plugins.json, settings and a harness-ops install record, so the default marketplace resolves. The divergence case gets the fleet its prompt names: 29 plugins whose scopes differ, 2 same-version multi-scope, and 1 settings-only delisted id.Bashinallowed_tools. The three scaffolded cases say in theirdescriptionthat they need--scaffold --allow-tools Bashwith the real node first onPATH.Verification
validate-cases.py plugins/harness-ops/evalsexits 0 with no FAIL. Its warnings are the converter's: judge-only graders, and samples that need judge calibration.diff -rof a freshconvert-evals-json.pyrun against these directories shows only thescaffold.shfiles, thescaffold_scriptlines andBashinallowed_tools.descriptionline added to three prompts' frontmatter.Remaining
rendered-report-is-pasted-not-restatedstayed under its 0.8 bar (0.6, 0.8, 0.4). Its prompt narrates a render with other numbers, so it has no fixture yet.Related
🤖 Generated with Claude Code