mario: the package carries its configuration, objective, ledger and evidence; plugins/calibrate is the outer loop - #31
Merged
Conversation
…vidence renderer, and archives what it showed config.yaml (version 1) holds the instructions, gate, encoder, the tunables the rendering reads (horizons, the tall-wall height, the measured take-off windows) and the objective (pass on cleared, a failure per life lost, level_x as the locus, observations/ as the evidence). The environment reads its tunables from that file and archives every frame it shows under observations/ with a timestamp index. tools/evidence.py cuts the archive into a contact sheet around each failure. ledger.jsonl records version 1 and what the manual loop found. This is the first instance of docs/dual-loop.md in the harness repo. Plugin 0.4.0; the game logic is the released one. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…idence Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…akes the package's goal wait_run returned on any status but in_progress, and the server says running for work in progress, so the bench started its three runs at once on one machine (recorded on hr-test 2026-09-21 04:41). It now waits for completed, failed, incomplete or cancelled. session_of falls back to the inner harness's newest session. The Mario package carries its default goal for the bench. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…me-named package only The Calibrator took the harness's plugin export (a generated package named after the harness, with no version) as the package and published it back, which added a second package beside the environment's. fetch.py takes the package that carries the environment through the plugins files endpoint; publish.py refuses a manifest without a version and a name the harness does not carry unless told --new. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…s retried, and a run without a record counts as a failed run A response read failed while its turn was still running, and the archive, built from the checkpoint that lands when the turn ends, answered 404 right after; the bench exited and the Calibrator left the method to improvise. wait_run now believes a terminal status only once the session is no longer running, and a non-completed one only after four consecutive reads; fetch_workspace retries the archive on 404 for two minutes; every non-completed status read is logged to wait-log.jsonl for the platform to chase; a run without a record is a failed run in the scoreboard, not a crash. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The first instance of the dual loop (System One Harness
docs/dual-loop.md): the inner harness's package declares everything the outer loop needs, and the outer loop ships as a plugin.kits/mario (plugin 0.4.0, game logic unchanged from the release)
config.yamlv1: the instructions, gate, encoder, the tunables the rendering reads (horizons, the tall-wall height, the measured take-off windows) and the objective (pass oncleared, a failure per life lost,level_xas the locus,observations/as the evidence).SYSTEMONE_CONFIGor the package root) and archives every frame it shows underobservations/with a timestamp index, beside the liveframe.jpg.tools/evidence.pycuts the archive into a contact sheet around each failure.ledger.jsonlrecords version 1 and what the manual loop found.plugins/calibrate (0.1.0): the outer loop as a Skill with the method and its MUSTs, and scripts for the platform work:
bench.py(K runs one at a time, workspaces fetched, the objective's scoreboard and failure groups),probe.py(a scripted run),publish.py(the package uploaded as the inner harness's plugin, instructions followingconfig.yaml),report.py. It expectsHR_API_URL,HR_CALIBRATION_TOKEN(a per-turn credential scoped to the inner harness) andHR_INNER_HARNESS.Requires System One Harness 0.4.0 on the base and the driver reading
config.yaml, writingtrace.jsonand passinghandoff(HarnessRouter side).🤖 Generated with Claude Code