Skip to content

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

Evaluate: The framework-owned trusted mechanism that scores an exact candidate snapshot. It is a fixed lifecycle action, not a recipe-selected operator.

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: A code-free init-time selection and configuration of operators, target, surface, and evaluator 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 primary evaluation of the untouched seed. Recorded in the archive with purpose genesis. A separate non-selectable generation-zero anchor evaluates the same seed on the sealed split and is not mutation feedback. 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: mutate operator (for the outer agent)

Mutate operator (mutate): 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 mutate stays with the stage and its files. Avoid: outer agent (for the configured mutate operator)

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 mutate 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.

Agent Driven session: A bounded agent-led control path in which the outer agent chooses one typed action at a time and RSIHub executes and receipts it. The session may alter permitted target and process files. Its action API excludes sealed evaluation and mechanism-owned scoring and lineage. This is a trusted-controller control contract, not an OS security boundary; untrusted controllers require process or container isolation.

Stages and decisions

Stage: One fixed lifecycle slot, named exactly as registered: select, rollout, analyze, mutate, validate, novelty, gate, record, reflect. Avoid: feedback, mutation, trace analysis, validation (as stage names)

Operator: A reusable stage implementation at library/<stage>/<name>.py. A recipe selects one implementation; initialization freezes it at operators/<stage>.py with normalized config and provenance. Avoid: stage (for an implementation), plugin, component

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)