ACED Builder-Impl Governance — the eval-suite conformance bar
The Builder bar at the impl gate, specialized for agent-configuration artifact-types. It
unions onto sdd:builder-impl-governance — the generic conformance bar still applies (checks
derived from the frozen .feature, no green-by-tampering); this adds how an agent-config subject,
which has no deterministic test runner, reaches a per-scenario boolean through a scored eval read
directly from the frozen .feature. One merged bar loaded by both faces — the ACED
impl-producer (define-agent / improve, forward, which builds the subject config) and the cold
impl-judge (aced-impl-judge, backward, which runs the suite). producer ≠ judge holds at the
agent level.
The bar
- The eval is the frozen scenario. The
.featureis the single eval source: each scenario carries its own eval — a@rubricscenario's inline rubric docstring, a@triggerScenario Outline'sExamples, or a booleanThen. The rubric was authored inline byaced-scenario-writerand frozen at the spec gate; the impl-judge runs it and never free-authors one. A@rubricscenario missing its inline rubric block is aBLOCKER. - Run policy is explicit — from
eval.md. Read theeval:block:@triggerscenarios runeval.trigger.runsagainsteval.trigger.activation_threshold(accuracy);@behavior/@qualityscenarios run N times against the scenario's inlinethreshold(elseeval.judge.default_threshold), scored byeval.judge.model. Defaults when omitted: model claude-sonnet-4-6, default_threshold 4, trigger activation_threshold 0.5, trigger runs 3. - Collapse to a boolean. A scenario passes when its aggregate total across the rubric's named
dimensions ≥
thresholdand no must-not-do was triggered (trigger scenarios: accuracy ≥ activation_threshold);IMPLEMENTATION_PASSis true only when every frozen scenario passes. Each dimension is scored against its ownmax— there is no scale shared across dimensions, and no single collapsed number stands for all of them. - The runner is separate from the author. Independence comes from the frozen
.featureanchor and from a runner (aced-case-judge) that is not the producer — the producer cannot declare its own pass. - An eval-instrument subject → mutation-sweep-first (inherited). The cold-instrument doctrine on
sdd:builder-impl-governanceapplies here unchanged: when the agent-config subject is itself a measurement or verification instrument — a rubric, an eval suite, a judge persona, a falsifier — a mutation sweep is the default verification method and reading it is supplementary. An author's own eval silently assumes the property under test, so a self-authored ablation over the instrument is not the whole check; sweep it.