Skip to content

Releases: s-smits/anabasis

v0.4.0

Choose a tag to compare

@s-smits s-smits released this 10 Oct 22:32
5bc9988

A climb that counts only the fails that hold, a second author walled from the Harness Builder, a Builder told when its run stops, walls set in seconds, and investigation readers that read what happened. Main at the merge of #140, after #132 to #135 landed on main and the stack of PRs #136 to #140 landed.

  • Fails that hold. A verified fail is solved again before the Builder reads it while every solve in its group failed, and the group is keyed on the exam its own task poses. Each measured fail gets a blind validity label from a tool-less reader, and a climb comparison is read under an outcome rule frozen before its launch. The Builder is asked to keep a failed task and no longer reads the battery forecast or the hardness ranking, after it dropped or eased the failed task in three of six chances (#136).
  • A second author behind a wall. Behind --answer-agent, an answer agent writes the correctness model and the answers, and everything it writes or installs stays on its side of the wall from the Harness Builder. A split build hands each refusal to the side that can repair it, and records a hand-back as a hand-back rather than a final refusal (#136, #140).
  • A Builder that knows when the run stops. The launcher passes its timed stop to the run, and the Builder reads when it falls beside the round clock, after two of three timed runs were cut holding passing rehearsals with no submit. A cut session is labelled by what it threw, and a stop already in the past is refused before anything is armed (#137, #139).
  • Walls in seconds. Each harness setting is one wall in seconds, and what the host owns leaves the config. One shell wall replaces two, after 121 solves were cut at the old 300-second default while 900 was free. The launcher gains an opus5 condition and --max-batteries N (#132, #136).
  • Investigation readers that read what happened. Eight reader defects are fixed and each replayed over the recorded corpus: changed safeguard rows fall from 279 to 12, and 58 batteries now show the shell cut they hit. A timeline gap is named after the calls that held it, as the union of their intervals. The investigation skill gets a guided flow from start to archive, and skill and documentation upgrades go to main as their own pull request (#133, #134, #137, #139).
  • Proved where it lands. The land jobs test no longer depends on the order two concurrent gates write their logs, where it failed 16 of 20 runs alone (#135). Every commit of the stack passed its gate alone, and the tip passed the whole gate and the Actions gate on Linux and macOS.

v0.3.0

Choose a tag to compare

@s-smits s-smits released this 07 Oct 01:09
5d09120

The grader kept out of a solver's reach, Pi's own tools at 1.0.4, work that is no longer lost without saying so, a climb ranked by what blocks it, and a stack that ends simpler than it began. Main at the merge of #131, after the stack of PRs #111 to #131 landed.

  • The grader stays out of reach. One sentence, read verbatim by the Builder and the Epoch Reviewer, names both routes a tool can take to a check's work and what is not the grader. Firmware gets a simulator that drives pin and ADC input on Uno and Pico, after all 32 firmware fails since 2026-09-23 turned out to be host stand-ins rejecting valid code rather than limits (#111, #112).
  • Pi 1.0.4, and Pi's own tools. The Built and Builder tools are Pi's read, write, edit and bash, copied into vendor/ and run over the draft store and the command isolation through Pi's spawn hook. Sonnet 5.5 runs at its full window, and a CLI that died mid-call, a late turn permit and a credential rewritten in place no longer lose work or pay for a turn (#128, #130).
  • Work no longer lost without saying so. A Judge turn that ends without a verdict gets one follow-up, where 40 of 2,446 had none. A review probe runs its two sides at once, where 23 of 857 reviews ran into the hour. An interpreter that never started reads as a tool that never ran, since 36 of 47 rehearsal misses were a check refusing a right answer (#118, #124).
  • A climb, ranked and instrumented. AGENTS.md ranks the four blockers to a climb from 322 scored batteries, the launcher holds the pace, and the Builder can no longer read AGENTS.md (#122). Neither a planted answer nor a withheld check made recorded tasks bind (#126). Construction cues and repeated readouts are staged as arms (#117, #123, #125).
  • One investigation's general fixes. A review is held to the files a verdict can depend on. A recheck after a reworded brief is credited when the checks held (28 of 212 scoring moves, 16 of 61 campaigns). A solver's first submit goes at once, where 2,829 of 3,106 traces held it. The Builder's scratch tree crosses rounds, advisory demand gaps reach it, recode joins truss and buffer as a standard preset, and sonnetxhh and solhmm launch Sonnet 5.5 and Sol at named efforts (#131).
  • Simpler, and proved where it lands. Pass-through modules are deleted and single-caller code folded, and the simplify census is scored against that pass (#120, #121). Across the stack decision points fall by 46, import edges by 24, exported symbols by 17 and optional fields by 19, and the cyclomatic baseline is empty again (#131). A stack lands only after the Actions gate passes on its top (#113).

v0.2.1

Choose a tag to compare

@s-smits s-smits released this 30 Sep 21:43
ad6d02a

Climbing read from where solves actually land, harder tasks asked for as demand, a Judge that decides again, and runs that stop and stay small. Main at the merge of #110, after the stack of PRs #52 to #110 landed.

  • Preserves evidence across rounds to better measure progress toward harder tasks.
  • Separates host failures from Builder failures.
  • Gives reviewers clearer rules and access to installed tools.
  • Improves run monitoring and updates the Claude Agent SDK.
  • Checks every commit before merging and avoids repeated checks.

v0.2.0

Choose a tag to compare

@s-smits s-smits released this 29 Sep 03:09
198d70e

Climbing evidence that survives to be read, host failures charged to the host, reviewers that can act on what they find, and a stack proved where it lands. Main at the merge of #50, after the stack of PRs #32 to #50 landed.

  • Honest climbing. A battery keeps what it changed and what it predicted, so renamed tasks still join across batteries (#32). The solver's walls get a floor after a one-minute wall let 61 of 64 cases pass on a first draft (#40). The Builder is no longer handed a target pass count or a plan to score, and EXPERIMENT.json is gone. A repeat is measured and selected like any measured candidate, where before three repeats with 24 verified cases were all held and the run ended candidate-held, and an evaluation correction regrades the battery it corrects wherever that battery sat on the band (#45, #50).
  • The host's failures are the host's. Four archived gate decisions were rewritten because they closed real holes, and host failures now go to the environment (#33). Every worker follows one close rule: a close-handshake timeout after the host has what it needed is cleanup (#39). A workspace tool is identified by its whole tree, not by the shim in front of it (#43, #50). Continuing a campaign an older source recorded ends as a typed stop instead of an unclassified abort (#50).
  • Reviewers that can act. A finding's severity no longer depends on its history, its order or an unrelated probe, and every blocking defect is held to one demonstration rule. The reviewer can open installed tool files, and each test it runs records what the check did on both sides. A Judge disagreement is settled only by a finding that names it, and a review that did not finish hands its findings on as advice. The Judge moves into src/review beside the other reviewers (#38, #50).
  • Runs you can trace. A run records which pull request and stack it was launched from (#37). runs pulse --once reports what moved since the last look (#41). A Claude Code session can be watched from outside it, and an unreadable one reads as unknown, not finished (#46, #47). A launched commit is gated once (#49). The Claude Agent SDK moves to 0.3.284, whose Claude Code serves claude-opus-5-5, now at its one-million-token context, and recorded solves and issue rechecks count only under the Built prompt and the tasks they ran with (#50).
  • Proved where it lands. A push gates only what it changed, and bun run land proves every commit of a stack on its exact bytes before it merges, and keeps waiting through a poll GitHub could not answer (#48, #50). The skill scripts are TypeScript and typechecked (#42), and a wave is audited against its baseline before the two are compared (#44).

v0.1.1

Choose a tag to compare

@s-smits s-smits released this 26 Sep 16:15
6e20f5a

Harder batteries, fewer gate refusals, fewer environment faults blamed on the Builder. Main at the merge of #27, after PRs #25 and #27 landed.

  • Harder batteries. In run 371f8f the solver beat the Builder's own reference on 5 of 6 tasks, so the Builder is now told to search longer before it sets a limit. Rehearsals use the same time limits as the battery (3 of 8 returned not-run under the old fixed 30 s), count only for the current task bytes, record the prediction before the verdict, and are no longer capped at six (#25).
  • Fewer gate refusals. Each refusal was checked against one question: is it at least 98% sure to refuse something that is actually wrong? 31 components stay, 23 are commented out in place with restore steps in docs/gate-audit.md, and the rest are removed (#25).
  • Simpler records. A refusal has one clause, a finding's owner is one of the nine bundle files or environment, a review finding is a defect or an observation, and a diagnosis names one owner (#25).
  • Fewer false verdicts. Sixteen fixes. Stdout over the 1 MiB host cap, a tool the shell could not start, a copied venv pointing at the old tree and a revoked login are now environment non-results instead of Builder failures. One unconfirmed Judge fail no longer reaches the rebuild advice, and a rehearsal on a candidate whose own preview rejected an accept control no longer counts (#27, with #30).
  • Runs and pushes. A Claude-slot Builder no longer hangs on a retried stream (run A waited 48 minutes). The Builder guard allows three more shell forms that stay inside the workspace. The pre-push hook reads a moved base from the remote, and does not gate a tip twice. The Sol preset runs on gpt-6-sol.

v0.1.0

Choose a tag to compare

@s-smits s-smits released this 25 Sep 11:40
6ae9e7e

Less test surface guarding the same things, steadier runs, less code to maintain, better climbing and safer pushes. Main at the merge of #24, after the stack of PRs #7 to #24 landed.

  • Less test surface, same guard. 369 fewer test cases (3,199 to 2,830, −12%). The audit kept every wall proof, rule-4 invariance test, non-result contract, prompt property and composition owner; what went were cases a neighbour already asserted and suites that grepped source instead of testing behaviour (#12–#17).
  • More stable runs. The authoring review runs beside the Builder instead of holding it, every round is handed its notes and each compaction's summary is kept, a verifier tool's cache survives between cells, every bounded text is cut by one owner (#21), and the record keeps only what happened (#23).
  • Less to maintain. The skill scripts share one library (#8), run investigation has one front door of twenty-six single-question lanes (#22), and code nothing called is gone: 2,183 fewer lines across the repository.
  • Better climbing. The difficulty surfaces are rewritten around what five runs actually did (#9), the round plan's per-task predictions are scored against the verdicts, an absent failure counts as fixed only when its family reran under the condition that saw it, and the diagnosis reader locates failures in compiled solve steps.
  • Safer pushes. Every commit passes the gate on its own, with bytes that already passed skipped (#18); main takes documentation and hotfixes, and new branches go on the stack's top (#19); a push that leaves a pull request listing commits that are not its own is refused (#24).

v0.0.1

Choose a tag to compare

@s-smits s-smits released this 24 Sep 14:50

The state of main before PR #7 (prune and wire) lands.