Repository navigation
Conversation
Each case result can carry the model's raw replies per planning round, and each capability call now records what it returned (output) or why it failed (error); images are replaced by their size and long outputs are truncated. With --bundle, a run is written as a zip holding the result JSON, its provenance (source commits, board, judge, serving facts, versions) and every log of the run, with credentials, environment values, private addresses and home paths redacted. Scoring and older result files are unchanged.
This branch has not been deployed
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.
Problem
Model bench results are about to be published on Robonix Hub with a raw-data download per row, but a result file only says which calls Pilot made and whether they passed. It does not record what the model actually replied in each planning round, what each capability call returned, which Robonix and bench commits produced it, or the logs needed to check a surprising score. Reviewers on the Hub currently see arguments with no results, and an unexplained low score cannot be traced.
Changes
roundsper case: every planning request in order with start/end time, the model's raw reply before Pilot parses it, token usage and HTTP/stream error. Images are kept as counts only; replies above 200 KiB per case lose their oldest text with an explicit marker.outputanderrorper call: what the capability returned (decoded from the Executor leaf result) or why it failed. Image and binary payloads are replaced by their size; outputs are capped at 16 KiB with a truncation marker.meta.provenance: Robonix and bench commits with dirty flags, board id and cases hash, judge model, planner model and endpoint kind (cloud/local/robot), declared serving facts for local and robot runs, OS, Python and runtime versions, and the scrubbed command line. No endpoint URL or host is recorded.--bundle out.zip: writes the result JSON pluslogs/(bench output, model requests and replies, per-case CLI event streams and every component log of the run) into one deterministic zip, the format the Hub accepts for upload.Scoring, checks and
judge.pyare unchanged (scoring version 2). Result files without the new fields still load, resume and judge as before.cases.yamland its hash are untouched, so new runs stay on the current board.Testing
python3 -m unittest discover -s testing -p 'test_model_bench*.py': 51 tests pass, covering round order, call outputs and errors, image replacement, truncation, provenance allowlisting, bundle determinism, scrubbing of planted secrets and private addresses, and loading of older result files.