with one click
evolve
Governed repo evolution with fixed phase semantics and bounded outcomes.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Governed repo evolution with fixed phase semantics and bounded outcomes.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Governed runtime for agent skills: discover and install portable skills, run bounded skill graphs with explicit authority, and inspect signed receipts for what happened.
Audit a sealed runx receipt for governance, comparing the authority a run exercised against what it was granted, and flag over-reach, ungated mutation, unrecorded refusals, or exposed secret material.
Verify the receipt ids behind a normalized authority-usage summary, compare that evidence with granted scopes, and propose the narrowest grant the evidence supports.
Answer a cross-run audit question against the receipt ledger, returning matched receipts and a chain-verification result.
Read durable reflect projections, group repeated signals by skill, and emit validated handoffs to skill-lab improve when the evidence clears configured floors.
Review receipts and harness failures to propose bounded skill improvements.
| name | evolve |
| description | Governed repo evolution with fixed phase semantics and bounded outcomes. |
| runx | {"category":"code"} |
Evolve the current repository through governed phases with fixed semantics and optional bounded revision. With no objective, the default behavior is introspective: analyze the repo, recommend one bounded improvement, and stop at a plan-quality artifact set.
This is not autonomous code generation. It governs the shape around cognition: every phase produces a typed artifact, every mutation requires approval, and every step emits a receipt. A single evolve run ends in a bounded artifact, not an open-ended improvement loop.
spec in the shipped runner; it does not mutate files, create
patches, or open PRs.terminate=patch or terminate=pr. Those modes are currently rejected
until a real execution lane exists.needs_input or
needs_more_evidence.Resolve mode and target.
terminate is patch or pr, stop immediately with
rejected_unsupported_termination.needs_input.Preflight using scope + ingest.
.ai/
presence, detected languages, likely test commands, and risk signals.Model the opportunity or objective.
no_recommendation for introspection or needs_more_evidence for a
directed objective.Materialize planning artifacts.
opportunity_report and recommended_objective for
introspection.objective_brief, diagnosis_report, change_plan, and
spec_document when applicable.Evaluate plan quality.
needs_human with the exact decision required.Stop and emit receipt expectations.
spec by default.Complex runx skills share one internal phase language:
scopeingestmodelmaterializeevaluatereviseverifyratifyThe current evolve runner uses a bounded subset and compresses some phases
into fewer concrete steps. That is allowed. What stays fixed is the meaning of
the phases, not the number of steps. When a runner opts in, runx may also
append a runner-owned post-run reflect projection after the receipt is written.
That projection is Knowledge-only metadata, not another canonical phase.
Caller-mediated. This is the zero-argument recommendation lane. It uses
scope + ingest + model to analyze the current repo and produce:
opportunity_report: ranked opportunities grounded in repo evidence.recommended_objective: one bounded next move.change_plan: a concrete plan for that recommendation.spec_document: a draft scafld-style spec when governance applies.No approval gate and no mutation happen in this runner. It is introspection only. It also opts out of post-run reflect because it is already an introspective lane.
Deterministic. This is the current scope + ingest step. It inspects the
target repo and produces a repo_profile: repo root, git state, base branch,
dirty worktree, .ai/ presence (scafld initialized), detected languages, test
commands, and risk signals. No agent cognition, no mutation.
Caller-mediated. This is the current model step and also drafts bounded plan
artifacts. Given the objective and repo profile, it produces four artifacts in
one pass:
objective_brief: restatement with target kind, constraints, and success
criteria.diagnosis_report: current repo state relative to the objective.change_plan: ordered phases, acceptance checks, touchpoints, and risk.spec_document: draft scafld spec when governance applies.Directed evolve runs opt into runner-owned post-run reflect. That projection
is derived from the completed receipt and run ledger after the bounded plan
lane finishes; it does not add another visible graph step or mutation path.
evolve currently stops at plan/spec artifacts. If a caller requests
terminate=patch or terminate=pr, the runner fails immediately with a clear
error instead of pretending it can mutate or publish.
rejected_unsupported_termination for
patch or pr.no_recommendation.needs_input with a bounded rewrite
request.needs_input.needs_input with the missing selector.needs_human.Return a structured artifact set:
status: introspection_complete | plan_complete | no_recommendation | needs_input | needs_more_evidence | needs_human | rejected_unsupported_termination | refused
mode: introspect | directed
target:
kind: repo | skill | receipt | self | unknown
ref: string | null
inputs:
objective: string | null
repo_root: string
terminate: spec | patch | pr
repo_profile:
git_state: string
base_branch: string | null
dirty_worktree: boolean
scafld_initialized: boolean
languages: [string]
test_commands: [string]
risk_signals: [string]
opportunity_report:
ranked: [object]
evidence_refs: [string]
recommended_objective: string | null
objective_brief: object | null
diagnosis_report: object | null
change_plan:
phases: [object]
touchpoints: [string]
acceptance_checks: [string]
approval_gates: [string]
risks: [string]
spec_document: string | null
stop_state:
termination: spec
mutation_performed: false
reason: string
receipt_expectations:
phase_artifacts_recorded: [string]
evidence_refs_recorded: [string]
rejected_requests: [string]
post_run_reflect: appended | opted_out | not_applicable
Command:
runx evolve "add websocket adapter support"
Expected result:
status: plan_complete
mode: directed
target:
kind: repo
ref: .
objective_brief:
summary: Add websocket adapter support as a bounded repo change.
success_criteria:
- Adapter contract documented
- Integration points identified
- Acceptance checks named before mutation
change_plan:
phases:
- name: scope
artifact: repo_profile
- name: model
artifact: objective_brief
- name: materialize
artifact: spec_document
approval_gates:
- Human approval before any patch lane
stop_state:
termination: spec
mutation_performed: false
reason: Shipped evolve runner stops at plan/spec artifacts.
If the caller instead runs runx evolve "add websocket adapter support" --terminate pr, the correct result is rejected_unsupported_termination,
not a synthetic PR plan.
objective (optional): what to evolve toward. If omitted, evolve uses the
introspective recommendation runner.repo_root (optional): repository root. Defaults to cwd.terminate (optional): defaults to spec. patch and pr are currently
rejected by the shipped runner.target (optional): explicit repo, skill path, receipt id, or self target
when the objective alone is not enough.constraints (optional): operator-provided boundaries such as ownership,
forbidden files, required evidence, or delivery policy.