GEODE
Autonomous Agent Harness
From observation to the next action.
A local autonomous-agent harness you can hand research, file work and scheduled tasks.
Candidate acceptance and release authority are separate judgments.
Crucible is an experiment kernel separate from policy search. A candidate commit is validated against the allowed surfaces and a frozen contract, paired tasks are aggregated in a separate measurement checkout, and the result is KEEP, REJECT or INVALID.
Train verdict
One candidate within the allowed surface is measured under a fixed contract in an isolated checkout, and preregistered rules decide KEEP, REJECT or INVALID.
propose → preflight
search/supervisor.pyrun · decide: request a candidatesearch/producersThe search supervisor asks a producer for a candidate. The r14 candidate was an earlier candidate (r13) reapplied by the replay producer, not a new LLM-generated one.
search/producersdata: one candidate commitpropose → preflight
search/supervisor.pyA producer returns a single candidate commit within the allowed paths.
propose → preflight
search/supervisor.pyrun · decide: allowed surface · diff checkallowed surface · candidate diffcontract.pyThe candidate diff must stay within the contract’s allowed surface, and the frozen evaluator is verified. In r14 and r35 the allowed target was one file, tau2_agent_policy.md; core and the Crucible implementation were fixed as the evaluator path.
evaluate → decide → record
search/supervisor.pyrun · decide: isolated checkoutisolated from the producermeasurement checkoutThe candidate is checked in a measurement checkout separated from the producer.
isolated from the producer
measurement checkoutrun · decide: run under a fixed contracttau2 run · receiptassays/Baseline and candidate run with the same contract, seed and tasks.
tau2 run · receipt
assays/data: actor · user dialoguetau2 environmentThe GEODE agent (actor) talks with the evaluator-owned simulated user in the tau2 task environment.
tau2 run · receipt
assays/data: model callsActor · user modelsIn r14 and r35 both actor and simulated user were gpt-5.4/high (subscription).
task verifier
assays/data: paired evidencepaired · task · family aggregatepromotion.pyTask-verifier results are kept as baseline–candidate pairs.
frozen evaluator · preregistered
contract.pyrun · decide: preregistered aggregationpaired · task · family aggregatepromotion.pyPaired results are aggregated by task and preregistered family, with budget, coverage, infrastructure and safety conditions checked separately.
KEEP · REJECT · INVALID
promotion.pyrun · decide: KEEP · head movessearch/* headrefs/crucibleOn KEEP the next refs/crucible/search/* head becomes the candidate. A train verdict’s promotion_authority is none.
Reject · invalid · feedback
REJECT and INVALID keep the head, and the next candidate gets only failure codes and fixed train task IDs. INVALID is not a zero score.
task verifier
assays/data: paired evidencepaired · task · family aggregatepromotion.pyTask-verifier results are kept as baseline–candidate pairs.
frozen evaluator · preregistered
contract.pyrun · decide: preregistered aggregationpaired · task · family aggregatepromotion.pyPaired results are aggregated by task and preregistered family, with budget, coverage, infrastructure and safety conditions checked separately.
KEEP · REJECT · INVALID
promotion.pydata: REJECT · INVALIDfailure codes · train task IDsattempt/feedback.jsonOn rejection or invalidity the previous head stays, and the candidate and its records are kept. An INVALID mean is null, not zero.
failure codes · train task IDs
attempt/feedback.jsondata: failure codes · task IDssearch/producersFeedback to the next candidate is limited to failure codes and fixed train task IDs; no evaluator trajectories or answers are passed on.
Sealed eligibility · separate authority
Train KEEP only moves the search head. Sealed eligibility reaches only the eligible ref; product release and deployment are separate authorities outside Crucible.
evaluate → decide → record
search/supervisor.pydata: record · ref receipttrain bundle · recomputed KEEPattestation/bundle.pyA train bundle holds only when contract, baseline and candidate evidence, the recomputed KEEP, proposal lineage, the supervisor record and the applied ref receipt all connect. It is not another name for improvement.
train bundle · recomputed KEEP
attestation/bundle.pyrun · decide: train bundle only · oncedisjoint test pack · used onceattestation/sealed.pySealed evaluation uses a test pack disjoint from train, once, with zero infrastructure retries.
ELIGIBLE · release_authority none
attestation/sealed.pyrun · decide: eligible ref onlyeligible/*refs/crucibleEven ELIGIBLE writes only refs/crucible/eligible/*, and release_authority is fixed at none.
Public records · r14 · r35
r14 was train KEEP then sealed REJECT; r35 (July 13, 2026) was INVALID from incomplete coverage and infrastructure contamination (0 paired rows, mean null), with the head unchanged.
KEEP · REJECT · INVALID
promotion.pydata: public verdict.jsongeode-eval-artifactsThe public artifacts are normalized records pinned at 23e3428. r14’s preregistered train-config hash differs from the public config bytes, so the full original chain is not recertified.
attestation/sealed.pydata: sealed decision.jsonr14 · train KEEP → sealed REJECT
geode-eval-artifactsr14: KEEP on telecom train, 6 tasks × 1 trial (6 paired rows, no promotion authority), then a separate sealed verdict of REJECT (no release authority).
Every connection at the same weight. Pick a flow to highlight only its path, with numbered steps.
- Solid · the direction requests, candidates and results flow
- Dashed · run, decide, authorize, configure
- Heavy black line · the selected flow; numbers give the order
- Box · a code or record boundary, its path in the header
- Inner chip · a component in that boundary
- Dashed box · outside that boundary
- search supervisor
- contract · verdict · attestation
- refs · records
- producers · execution
Crucible is a kernel separate from SIL; the two searches are not one pipeline that promotes each other’s candidates. The product-release box has no incoming connection.
- Three authorities
- Train KEEP moves the search head, sealed ELIGIBLE records an eligible ref, and product release is a separate decision outside Crucible. An earlier verdict never grants a later authority.
- Null is not zero
- r35 planned 9 tasks × 3 trials (27 rows per arm) but had 0 comparable pairs, so its mean and improvement are null. It is not 27 failed tasks or a 0% success rate.