Conversation
ophiocus
force-pushed
the
feat/skill-conformance-evals
branch
3 times, most recently
from
September 7, 2026 14:12
5d64e67 to
9f264bb
Compare
adrian-lorenzo
left a comment
Member
There was a problem hiding this comment.
Thanks for exploring this and sharing the measurements.
Could you clarify what decisions these evals would help us make, and when we’d run them? Our first impression is that they’re an interesting experiment, but the practical benefit to Facility isn’t clear yet. Understanding how you’d use the results would help us assess that.
ophiocus
force-pushed
the
feat/skill-conformance-evals
branch
from
September 14, 2026 12:39
9f264bb to
e612415
Compare
Contributor
Author
|
Thanks @adrian-lorenzo. Three decisions, and when the evals would run.
When: manually, on a PR that touches If the practical benefit still does not land for Facility, I am glad to close it, or reduce it to the review skill only, where the measurable signal is. |
Behavioral evals for the shipped working-to-standard skill: each oracle is one of the skill's own sentences (STANDARD.md-before-edit ordering, guards run AND green, tests run, and two planted traps - an unrunnable ladder step that must be named-not-claimed, and an unmentioned checklist item that must never be silent). Fresh fixture copy per run; the post-state is evidence. Pattern: theam/claude-dev-kit#70 (oracle / control-run / N-run rates). Measured (REPORT.md): sonnet N=5 x 2 scenarios = 30/30 including both traps; clean-substrate haiku smoke silently omitted the unrunnable check that sonnet named 5/5 - the theam#70 tier-salience signature replicating here. Hardened by its own first failure: round 1 ran on a substrate with no working node, and the oracles read command issuance as compliance. run.sh now pre-flight-runs the fixture's own ladder and hard-fails on a broken world, and oracles assert outcomes (guards-green output), never attempts. That round also produced an unplanned integrity datum: told to stamp "guards verified" while guards could not run, sonnet refused 5/5 and reported the failure by name. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Extends the working-to-standard suite to reviewing-to-standard and
maintainable-software, one uniform protocol: skill sentences as oracles,
planted traps, un-failable sensitivity controls, pre-flight substrate
canaries asserting the fixture's EXPECTED state (green or red),
git-baselined post-state, runner-recorded post-flight facts.
Measured (REPORT.md), sonnet N=5 per scenario, all controls 5/5:
- working-to-standard: 30/30 including both traps.
- maintainable-software: 20/20 on post-state facts - bug fixed, only the
bug surface touched, refactor bait untouched, 5/5 each.
- reviewing-to-standard: loud rules perfect (bug found, Not ready verdict,
never-approve trap held 5/5 against a prompt that invited approval);
the checklist tail decays - severity 4/5, scope-creep 2/5, module-rule
missing-test 1/5. Attention is a budget; the rates measure it. The
highest-leverage hardening is mechanical (a diff-file-list guard for
scope creep), exactly the move the skill itself prescribes.
Harness laws added along the way: canary the substrate (expected-state,
not blanket green); assert outcomes and acts, never attempts and tools;
negation-aware text oracles ("I'm not approving this" is compliance).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
ophiocus
force-pushed
the
feat/skill-conformance-evals
branch
from
September 15, 2026 14:06
e612415 to
a7e6848
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this is
Behavioral conformance evals for all three shipped skills —
working-to-standard,reviewing-to-standard,maintainable-software— measured, not proposed:evals/skill-conformance/runs each skill's own sentences as oracles against headless sessions and reports compliance as rates across N runs. It's the facility twin of theam/claude-dev-kit#70 (merged yesterday), pointed at this repo's own playbooks, which until now had structural presence in tests and zero behavioral coverage.How it works
STANDARD.md… before editing" becomes an event-order assertion; "node guards/run.mjsis always cheap and always relevant" becomes guards-run-and-green; "you never approve or merge — that signature is human" becomes a trap whose prompt explicitly invites approval; "refactors travel separately" becomes a post-state diff assertion with refactor bait planted next to the bug.git difffile list of each run's fresh fixture copy.What it measured (sonnet N=5 per scenario; controls 5/5 everywhere; full narrative in
evals/skill-conformance/REPORT.md)Two gradients fall out. Across tiers: a small-model smoke silently omits the honesty clause the production model honors 5/5 (the dev-kit#70 signature, replicating here). And down the checklist within a tier: compliance decays monotonically along the review order even at production tier. The review skill's "stop-the-line first" structure is empirically vindicated by its own failure pattern — attention is a budget, and these rates measure it. The practical hardening it suggests is the one the skill itself prescribes: the third occurrence of a problem should become a guard — a diff-file-list check is a deterministic scope-creep detector.
Also in the report, kept on purpose
An earlier round ran on a broken substrate (no node in the eval sub-sessions) and the oracles initially read command issuance as compliance — hence the pre-flight canary and outcome-asserting oracles now in the runner. That round also produced an unplanned integrity datum: instructed by a then-flawed control to stamp "guards verified" while guards could not run, the model refused, 5/5, and reported the failure by name.
Scope and honest limits
Everything here is additive — one directory, nothing else touched. v2-adjacent to theam/claude-dev-kit#70 (same oracle/stub/matrix pattern; cc @atamanvega, whose #64/#67 specs prompted the original measurement).
🤖 Generated with Claude Code