Geodi, GEODE's official pixel character
Back to the hall

GEODE

Autonomous Agent Harness

From observation to the next action.

A local autonomous-agent harness you can hand research, file work and scheduled tasks.

2026.02.21 — present

Design, judgment, verification: Author · implementation: Claude · review: Codex

  • CLIPublished · PyPI
  • MCP serverImplemented

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.

Crucible map · drawn from pinned commit 9e2c041 and public artifacts 23e3428
GEODE Crucible mapAn experiment kernel that keeps candidate acceptance, sealed eligibility and product release as separate authorities. The supervisor takes one candidate commit from a producer, checks it against the allowed surface and frozen evaluator, and runs tau2 tasks in an isolated measurement checkout. promotion.py aggregates paired results by preregistered task and family into KEEP, REJECT or INVALID; KEEP only moves the search head. Sealed evaluation judges a train bundle on a one-shot disjoint test pack; even ELIGIBLE reaches only an eligible ref, with no release authority.Actor · user modelsr14 · r35: gpt-5.4/hightau2 environmenttasks · simulated userGEODE product releaseno connection · separate authoritysearch/producersproducer command · configuredreplay producersearch/supervisor.pypropose → preflightevaluate → decide → recordcontract.pyallowed surface · candidate difffrozen evaluator · preregisteredattempt/feedback.jsonfailure codes · train task IDsmeasurement checkoutisolated from the producerassays/tau2 run · receipttask verifierpromotion.pypaired · task · family aggregateKEEP · REJECT · INVALIDattestation/bundle.pytrain bundle · recomputed KEEPattestation/sealed.pydisjoint test pack · used onceELIGIBLE · release_authority nonerefs/cruciblesearch/* headeligible/*geode-eval-artifactsr14 · train KEEP → sealed REJECTr35 · INVALID · 0 pairs · nullevolve/crucibleexternal experiment kernel · separate from SILsearch · train verdictattestation · sealed1 request a candidate · propose → preflight → search/producers12 one candidate commit · search/producers → propose → preflight23 allowed surface · diff check · propose → preflight → allowed surface · candidate diff34isolated checkout5run under a fixed contract6actor · user dialogue7model calls8paired evidence9preregistered aggregation10KEEP · head moves1paired evidence2preregistered aggregation3REJECT · INVALID4failure codes · task IDs1record · ref receipt2 train bundle only · once · train bundle · recomputed KEEP → disjoint test pack · used once23 eligible ref only · ELIGIBLE · release_authority none → eligible/*31public verdict.json2sealed decision.json

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.

  1. propose → preflightsearch/supervisor.pyrun · decide: request a candidatesearch/producers

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

  2. search/producersdata: one candidate commitpropose → preflightsearch/supervisor.py

    A producer returns a single candidate commit within the allowed paths.

  3. propose → preflightsearch/supervisor.pyrun · decide: allowed surface · diff checkallowed surface · candidate diffcontract.py

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

  4. evaluate → decide → recordsearch/supervisor.pyrun · decide: isolated checkoutisolated from the producermeasurement checkout

    The candidate is checked in a measurement checkout separated from the producer.

  5. isolated from the producermeasurement checkoutrun · decide: run under a fixed contracttau2 run · receiptassays/

    Baseline and candidate run with the same contract, seed and tasks.

  6. tau2 run · receiptassays/data: actor · user dialoguetau2 environment

    The GEODE agent (actor) talks with the evaluator-owned simulated user in the tau2 task environment.

  7. tau2 run · receiptassays/data: model callsActor · user models

    In r14 and r35 both actor and simulated user were gpt-5.4/high (subscription).

  8. task verifierassays/data: paired evidencepaired · task · family aggregatepromotion.py

    Task-verifier results are kept as baseline–candidate pairs.

  9. frozen evaluator · preregisteredcontract.pyrun · decide: preregistered aggregationpaired · task · family aggregatepromotion.py

    Paired results are aggregated by task and preregistered family, with budget, coverage, infrastructure and safety conditions checked separately.

  10. KEEP · REJECT · INVALIDpromotion.pyrun · decide: KEEP · head movessearch/* headrefs/crucible

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

  1. task verifierassays/data: paired evidencepaired · task · family aggregatepromotion.py

    Task-verifier results are kept as baseline–candidate pairs.

  2. frozen evaluator · preregisteredcontract.pyrun · decide: preregistered aggregationpaired · task · family aggregatepromotion.py

    Paired results are aggregated by task and preregistered family, with budget, coverage, infrastructure and safety conditions checked separately.

  3. KEEP · REJECT · INVALIDpromotion.pydata: REJECT · INVALIDfailure codes · train task IDsattempt/feedback.json

    On rejection or invalidity the previous head stays, and the candidate and its records are kept. An INVALID mean is null, not zero.

  4. failure codes · train task IDsattempt/feedback.jsondata: failure codes · task IDssearch/producers

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

  1. evaluate → decide → recordsearch/supervisor.pydata: record · ref receipttrain bundle · recomputed KEEPattestation/bundle.py

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

  2. train bundle · recomputed KEEPattestation/bundle.pyrun · decide: train bundle only · oncedisjoint test pack · used onceattestation/sealed.py

    Sealed evaluation uses a test pack disjoint from train, once, with zero infrastructure retries.

  3. ELIGIBLE · release_authority noneattestation/sealed.pyrun · decide: eligible ref onlyeligible/*refs/crucible

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

  1. KEEP · REJECT · INVALIDpromotion.pydata: public verdict.jsongeode-eval-artifacts

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

  2. attestation/sealed.pydata: sealed decision.jsonr14 · train KEEP → sealed REJECTgeode-eval-artifacts

    r14: 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.