Evaluate EOU Lifecycle
Evaluate $eou_id against the maturity model and produce a lifecycle recommendation.
This skill has function: promote — it evaluates and recommends. It does not
execute lifecycle transitions. The human owner executes promotion via activate
and retirement via retire after approving this recommendation.
Inputs
$eou_id(required) — the EOU identifier to evaluate; must match a spec file and registry entry.target_stage(optional) — the lifecycle stage to transition to; if omitted, infer the logical next stage from the gate table.
Required reading
foundry/maturity-model.yml— promotion gate requirements per lifecycle stagefoundry/registry.yml— current registration status and lifecycle stagefoundry/governance.yml— approval authority for lifecycle transitions
Also read (to evaluate evidence)
foundry/audits/eou-audits/{eou_id}.audit.yml— most recent audit (required fordraft → pilotand above)foundry/self-evolution/regression/cases/*.yml— filter to YAML files where theeou_idfield equals$eou_id— regression coveragefoundry/runs/— scan fortrace.ymlfiles containingeou_id: {eou_id}— execution traces required forpilot → active
Promotion prerequisites (all must be satisfied)
| Gate | Required evidence |
|---|---|
candidate → draft |
At least one complete spec pass and one failed-case regression fixture |
draft → simulated |
Spec complete, dry-run or sandbox trace available, no open critical findings |
draft → pilot |
Passed eou-audit, ECP approved for any open findings, human owner on record |
pilot → active |
Minimum 3 successful pilot traces, zero open critical findings, human owner approval |
active → monitored |
Elevated-risk event or audit finding requiring close observation; no gate, owner decision |
monitored → stable |
Minimum 5 clean traces post-monitoring period, zero open high/critical findings |
stable → active |
Reverse to active when monitoring obligation lapses; owner decision |
Any → deprecated |
Owner decision recorded; replacement EOU or alternative documented |
Any → retired |
Superseded by successor EOU or determined to have no operational value; archived, not deleted |
Stop conditions
Halt and report before proceeding if:
$eou_iddoes not resolve to a spec file infoundry/eous/orfoundry/meta-eous/.$eou_idis not present infoundry/registry.yml.foundry/maturity-model.ymldoes not exist — gate requirements cannot be evaluated without it.- No target transition is specified and the current lifecycle stage has no obvious next step.
Procedure
- Load the EOU spec at
foundry/eous/{eou_id}.yml(orfoundry/meta-eous/{eou_id}.yml). - Identify the current
lifecycle_stage. - Check each gate requirement for the target transition.
- For each missing gate, record the gap and block the recommendation.
- Write the lifecycle recommendation.
Output
Write to foundry/governance/lifecycle/{eou_id}.recommendation.yml:
eou_id:
current_stage:
recommended_action: # promote_to | deprecate | retire | hold
target_stage: # if promote_to
gate_results:
- gate:
satisfied: true | false
evidence: # file path or description
gap: # what is missing (if not satisfied)
recommendation_rationale:
requires_human_approval: true # always true for promote_to:active, retire
Constraints
- Output recommendation only — do not modify the EOU spec, registry, or governance files directly.
- Do not execute any lifecycle transition. Evaluation and execution are separate acts:
function: promote(this skill) — evaluate gates and recommendfunction: activate— execute promotion to active (requires human approval)function: retire— execute retirement (requires human approval)
- A missing audit, trace, or owner record blocks promotion — record the gap, do not invent evidence.
promote_to: activealways requiresrequires_human_approval: true.
Scope Note
Upstream: receives an EOU id. Typically invoked when an EOU at pilot or active stage is being considered for the next lifecycle transition.
Downstream: produces a lifecycle recommendation only. Execution (activate, retire) is a separate human-approved step, not part of this skill — promote evaluates, humans decide.
Related: $eou-audit (upstream gate — audit pass is required input for promotion to active); the activate and retire execution functions (not skills, but governed verbs that consume this skill's recommendation after human approval).
Pipeline: eou-audit (pass) → eou-promote → human approval → activate | retire