RSIHub¶
Evidence-driven evolution of agents, prompts, and agent harnesses. Each experiment is one Git repository (a workspace) in which a frozen evaluator scores successive candidates and a mechanism records their lineage. This glossary is the single ubiquitous language for the framework repository, the skill, and every generated workspace.
The experiment¶
Workspace: A Git repository holding one evolution experiment: its target, evaluator, operators, and lineage. Avoid: experiment repo, evolution directory
Target:
The artifact under evolution, at target/.
Avoid: subject, candidate (a candidate is a snapshot, not the artifact)
Seed:
The initial content vendored into target/ at initialization.
Scaffold: Framework-owned files used to generate a workspace around the selected target and evaluator engine.
Integration:
Framework-owned runtime behavior for an external system. Harbor integrations
live under src/evolve/integrations/harbor/ and are vendored with the
mechanism.
Evaluator:
The frozen scoring contract at evaluator/. Fixed from generation zero; the
only source of scores.
Avoid: ruler, scoring contract, canonical evaluator, frozen side
Mutable surface:
The set of paths a candidate change may touch, declared under surface in
evolve.yaml.
Avoid: declared surface, mutation surface, mutation scope, write scope
Recipe:
An init-time template that scaffolds a workspace for one method
(aevolve, ahe, gepa, hill_climb, hyperagents).
Supported recipe:
A public configuration under recipes/. Development-only configurations under
tests/fixtures/recipes/ are test fixtures, not supported recipes.
Test fixture:
Deterministic test-only data under tests/fixtures/; never part of the public
recipe or seed inventory.
Method: The evolution strategy a workspace runs (Hill Climb, A-Evolve, GEPA, AHE, HyperAgents), expressed as a configuration of stages over the same workspace contract. Avoid: algorithm, mode
Candidates and lineage¶
Candidate: One exact snapshot of the workspace tree proposed for evaluation. Avoid: version, variant
Generation:
A candidate's position in the lineage, numbered and tagged gen/<id>.
Baseline:
The certified generation-zero evaluation of the untouched seed. Recorded in
the archive with purpose genesis.
Avoid: genesis (in prose)
Parent: The certified candidate a new child starts from.
Child: A candidate under construction in a worktree, not yet committed. Avoid: draft, work-in-progress candidate
Champion:
The best accepted candidate, recomputed by the mechanism and recorded in
best_ever.json.
Avoid: best-ever (in prose), winner
Lineage: The parent-child graph of all candidates, carried by Git tags and the archive. Avoid: history, genealogy
Archive:
The append-only record archive.jsonl, one row per generation event.
Avoid: ledger
Stamp: The evaluation record written only by the frozen side; the sole way a score enters the lineage. Avoid: self-reported score, result
Control¶
Mechanism:
The frozen framework code behind ./evolve that owns state transitions,
stamping, gating, and recording.
Avoid: framework side, lineage mechanism, workspace mechanism, evaluation
mechanism
Console:
The vendored ./evolve entry point inside a workspace; the only supported way
to invoke the mechanism.
Avoid: CLI (for the workspace entry point)
Outer agent: The coding agent operating a workspace from outside during an agent-led generation. Avoid: mutation agent, meta-agent (for the outer agent)
Meta agent (meta_agent):
The configured stage that edits the child from inside the loop during a
driver-led generation. The outer agent plays this same mutating role from
outside during an agent-led generation; the name meta_agent stays with the
stage and its files.
Avoid: meta-agent (for the outer agent)
Driver:
The unattended loop started by evolve run.
Avoid: built-in loop, unattended loop (as a name)
Control path:
Who owns producing a generation: driver-led (the configured meta_agent
stage) or agent-led (the outer agent). Both are the same role — an agent
mutating the target — which is why exactly one may own a generation.
Stages and decisions¶
Stage:
One step of a generation, named exactly as registered: select, rollout,
trace_analyzer, meta_agent, validate, novelty, gate, record,
reflect.
Avoid: feedback, mutation, trace analysis, validation (as stage names)
Operator:
The active implementation of a stage, at operators/<stage>.py. Reference
variants under library/ are not active.
Avoid: treating library variants as operators
Admission:
The pre-evaluation checks bound to an exact candidate tree: surface-check
plus every configured validate and novelty stage. Each produces a receipt;
editing the tree invalidates them.
Avoid: gate (for pre-evaluation checks)
Gate:
The post-evaluation accept-or-reject decision, applied only by finalize.
Avoid: admission (for the accept decision)