GEODE
Autonomous Agent Harness
From observation to the next action.
A local autonomous-agent harness you can hand research, file work and scheduled tasks.
Implementations review sent back, research figures recomputed
Two cases where review sent an implementation back, and one where research figures were recomputed with the originals kept. Each role is only what that case’s record shows.
June 13, 2026
An implementation that passed the normal path was sent back twice by review, on the error paths
PersonAuthor
ActionMissing telemetry · silent fallback to be checked
- handoffFailures that must be visible→ Typed activity row · fallback marked (Claude Fable 5)
Coding agentClaude Fable 5
ActionTyped activity row · fallback marked
- handoff→ commit 64bd223 (Public commits)
- handoffDiff · failure paths→ BLOCKER: generic fallback stores raw details=data (Codex)
ArtifactsPublic commits
Artifactcommit 64bd223
Review · verificationCodex
Observation · findingBLOCKER: generic fallback stores raw details=data
- sent backNormal-path protection on the exception path→ Strip sensitive fields on fallback too (Claude Fable 5)
Coding agentClaude Fable 5
ActionStrip sensitive fields on fallback too
- handoff→ c808e78 · K4 reproduction check (Public commits)
- handoffFix re-reviewed→ BLOCKER #2: ValidationError text re-exposes values (Codex)
ArtifactsPublic commits
Artifactc808e78 · K4 reproduction check
Review · verificationCodex
Observation · findingBLOCKER #2: ValidationError text re-exposes values
- sent backAn error reason without raw values→ Keep only error type · field path; drop args_preview (Claude Fable 5)
Coding agentClaude Fable 5
ActionKeep only error type · field path; drop args_preview
- handoff→ 8dcb386 · K5 reproduction check (Public commits)
ArtifactsPublic commits
Artifact8dcb386 · K5 reproduction check
- not a recorded executionScope checked→ Full CI and a final review PASS at the time not re-read (Public commits)
ArtifactsPublic commits
Rule · unverifiedFull CI and a final review PASS at the time not re-read
- Context
- The change turned observability events into typed activity rows and stopped fallbacks from being silent. Codex review left two BLOCKERs, and each fix came with a check that reproduces the bypass it found.
- Outcome
- K4 forces a real fallback with a wrong type and checks that no raw field survives; K5 checks that the error description holds only field names and error types, never input values. These checks reproduce the bypasses review found; they do not copy implementation constants.
- Limit
- The original MCP review conversation was not opened; the review role is established from the commits and the CHANGELOG written at the time. This case does not guarantee that no GEODE log ever keeps sensitive data.
Sources and remaining limits
- All three commits credit Claude Fable 5, and c808e78 and 8dcb386 record the Codex BLOCKER and BLOCKER #2 respectively.
- The current (October 2026) contributor policy is not read back as the instruction for this case.
May 26, 2026
A change that would delete a score was narrowed to a check on where the score may be used
Coding agentImplementation
Observation · findingNeed: do not use this value as a fitness axis
- handoffFirst hypothesis→ First draft: drop the value in the baseline writer (Implementation)
Under developmentConsumers in the product
Observation · findingOn first generation, baseline is the only source of scenario_realism
- handoffActual consumer traced→ Finding: breaks the initial critic input (Codex)
Coding agentImplementation
ActionFirst draft: drop the value in the baseline writer
- handoffChange reviewed→ Finding: breaks the initial critic input (Codex)
Review · verificationCodex
Observation · findingFinding: breaks the initial critic input
- sent backKeep the existing input contract→ Writer change withdrawn · data kept (Implementation)
Coding agentImplementation
ActionWriter change withdrawn · data kept
- handoffDone criterion moved→ 4 invariants: absent from fitness surfaces only (Public commit · PR)
ArtifactsPublic commit · PR
Artifact4 invariants: absent from fitness surfaces only
- handoffFinal diff→ 0792e81 → PR #1690 merged (Public commit · PR)
ArtifactsPublic commit · PR
Artifact0792e81 → PR #1690 merged
- Context
- The change was meant to keep scenario_realism from serving as a fitness axis in the external Scaffold Search. When review traced the first reader of the value, the change was made smaller, not larger.
- Outcome
- The baseline value stays; four checks pin that this dimension is absent from the external search’s AXIS_TIERS, DIM_WEIGHTS and tier lists.
- Limit
- The session behind the withdrawn writer change was not viewed; it is established from the commit and the test descriptions written at the time. These checks are no evidence of search performance or SIL improvement.
Sources and remaining limits
- The critic and evolver are data consumers inside the product under development, not the coding agent or the Codex reviewer used to build it.
- The PR #1690 title still says “filter”; the final diff and commit are the actual change.
September 27, 2026 to September 28, 2026
After a boundary-value fix, the original results were reproduced first, then recomputed
Work sessionAnalysis implementer
Observation · findingValues exactly on the tolerance boundary rejected
- handoffAn admission error, not model ability→ Compare as decimals · tolerances unchanged (Analysis implementer)
Work sessionAnalysis implementer
ActionCompare as decimals · tolerances unchanged
- handoff→ 4be7a17 · inside / outside boundary checks (Artifacts)
ArtifactsArtifacts
Artifact4be7a17 · inside / outside boundary checks
PersonAuthor
ActionDelegated: offline correction of all saved U4 · X2 only
- handoffPermitted scope→ contract.json: inputs · rules fixed, no model calls (Artifacts)
ArtifactsArtifacts
Artifactcontract.json: inputs · rules fixed, no model calls
- handoffFixed conditions→ Reproduce prior results · denominators · CIs first (Analysis implementer)
Work sessionAnalysis implementer
ActionReproduce prior results · denominators · CIs first
- handoffAfter reproduction→ Compute the correction separately from the same inputs (Analysis implementer)
Work sessionAnalysis implementer
ActionCompute the correction separately from the same inputs
- handoff→ receipt: 24 originals kept · 0 model calls (Artifacts)
- handoffCell vectors, not summaries→ Recompute winners · CIs from cell vectors · match hashes (Independent verifier)
ArtifactsArtifacts
Artifactreceipt: 24 originals kept · 0 model calls
Review · verificationIndependent verifier
ActionRecompute winners · CIs from cell vectors · match hashes
- handoff→ independent-review: verdicts hold, limits stated (Artifacts)
ArtifactsArtifacts
Artifactindependent-review: verdicts hold, limits stated
- Context
- In the Jev research tool, typed numeric answers lying exactly on the tolerance boundary were rejected. After the fix, every saved result was recomputed without new model runs, and the computing and verifying sides were kept apart.
- Outcome
- The verdicts held after the correction (U4 not-supported, X2 mixed). Fixing a numeric error and supporting a research hypothesis were kept apart.
- Limit
- A post-hoc correction, not a new model experiment. The 640 Astra listwise cells with no original response keep their saved winner, and the independent review did not re-parse private response bodies either.
Sources and remaining limits
- The score tolerance of 0.03 and the distribution-sum tolerance of 0.025 were not changed. The corrected figures are U4 58/80 → 59/80 and X2 194/240 → 196/240.
- The public correction record names no model for the writing or verifying side, and 4be7a17 carries no Claude or Codex credit, so neither column is given a model name.