Help us improve
Share bugs, ideas, or general feedback.
From eou-foundry
Audit a generated candidate EOU set for boundary quality, minimality, overlap, authority, operational value, and governance risk before any candidate advances to specification.
npx claudepluginhub xiaolai/eou-foundry --plugin eou-foundryHow this skill is triggered — by the user, by Claude, or both
Slash command
/eou-foundry:audit-candidate-eou-set CANDIDATE_SET_PATHCANDIDATE_SET_PATHpathThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Audit `$path` (a candidate-set artifact under `foundry/self-evolution/candidate-sets/`).
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
Audit $path (a candidate-set artifact under foundry/self-evolution/candidate-sets/).
$path (required) — path to a candidate-set file at foundry/self-evolution/candidate-sets/cs-{generating_eou}-{YYYYMMDD}-{hhmm}.yml, produced by $generate-eou-candidates. Schema: schemas/candidate-set.schema.yml (ECP-0013).foundry/constitution.ymlfoundry/registry.ymlfoundry/governance.ymlfoundry/meta-eous/audit-candidate-eou-set.ymlHalt and report before running tests if:
$path does not resolve to a readable YAML file.candidates array, or candidates is empty.foundry/constitution.yml or foundry/registry.yml does not exist — required for Authority and Non-Overlap tests.Run each test against every candidate in the set.
Each candidate must have one distinct success criterion. A candidate whose success criterion subsumes another candidate's fails this test. Flag candidates with compound or overlapping success criteria.
No candidate may duplicate an existing EOU in foundry/registry.yml or another candidate in this set. Check by purpose, target_object, and success criterion. Flag overlapping pairs and recommend merge or rejection.
Each candidate must fail the following substitution checks — if it passes any, it should be converted instead of created as an EOU:
Generating EOUs in the candidate set must not have authority_level set to approve, publish, or mutate_active. Flag candidates claiming more authority than write_candidate or write_inactive without constitutional justification.
Each candidate must satisfy at least one of:
prevents_failure: names a concrete failure mode it blocksimproves_decision: names a judgment it makes explicitexposes_hidden_judgment: surfaces an implicit step that is currently untrackedimproves_traceability: adds observable accountability to a previously opaque stepReject candidates that exist only for completeness or that duplicate the purpose of an existing artifact.
Each kept candidate must include arguments_against — the strongest case for not creating it. Candidates missing this field are not ready for specification.
If the candidate set includes EOUs that generate outputs, it must also include EOUs (or identify existing ones) for auditing and approving those outputs. A generation-only set without a corresponding audit path is incomplete.
Candidates touching finance, health, legal, safety, content about minors, public claims, publication, or active governance must have responsibility.approver set to a named human role and escalation.require_human_when non-empty. Flag candidates in these domains missing human ownership.
| Verdict | Criteria |
|---|---|
| PASS | All candidates pass Boundary, Authority, and Operational Value tests. At most 1 Minimality finding per 5 candidates. High-Stakes test passes for every candidate whose target_object falls in finance, health, legal, safety, content about minors, public claims, publication, or active governance domains. |
| REVISE | 1–2 Minimality or Non-Overlap failures, no Authority or High-Stakes failures. Candidates can be revised without rejection. |
| FAIL | Any Authority or High-Stakes failure. More than 2 Minimality failures. Any candidate with an Authority level above write_inactive lacking constitutional justification. |
verdict: PASS if any Authority or High-Stakes test fails, regardless of other results.lifecycle_stage: active — that is the role of $eou-promote after human approval.arguments_against as required, not optional — candidates missing this field fail the Counter-Generation Test.$eou-specify.Write the audit report to foundry/audits/candidate-set-audits/{set_id}.audit.yml:
set_id:
audit_date:
verdict: # PASS | REVISE | FAIL
candidate_recommendations:
keep: # list of candidate IDs — pass all tests
merge: # list of (id_a, id_b, reason) pairs
defer: # list of (id, reason) — valid but out of scope
reject: # list of (id, reason) — fails tests
convert: # list of (id, convert_to: rule|validator|regression_case|stop_condition|checklist)
findings:
- candidate_id:
test:
severity: # critical | high | medium | low
description:
required_action:
required_revisions_before_specification:
- # list of changes needed before any candidate can proceed to eou-specify
Upstream: receives candidate-set artifacts produced by $generate-eou-candidates at foundry/self-evolution/candidate-sets/.
Downstream: PASS verdict feeds $eou-specify (one candidate at a time, after human review); FAIL verdict feeds back into $generate-eou-candidates with a tighter brief.
Related: $eou-audit (audits an EOU spec, not a candidate set); $foundry-audit (audits the whole Foundry, not one set).
Pipeline: generate-eou-candidates → audit-candidate-eou-set → human review → eou-specify