Release notes

Changelog

What changed, what you can use, and what comes next.

v0.2.1 (2026-09-19)

Added

  • techtree forge run runs one arm of an experiment on the tasks a forge build qualified, with your own Hermes and your own provider sign-in: the baseline arm without the Skill, the candidate arm with it. Before anything runs it shows what will run and asks. Every attempt is recorded with its patch, its test verdict, the usage Hermes reported, and — when there is no verdict — why: the agent ran out of time or did not finish, the tests ran out of time, or left nothing readable. Nothing is scored as zero for want of evidence, and no attempt is retried on your account. techtree forge status reads a run back.
  • Experiments run in a Hermes profile of their own named techtree. Create it with hermes profile create techtree --no-alias and sign it in once with hermes -p techtree auth add PROVIDER. Techtree copies no sign-in and reads none; around every attempt it empties that profile of everything else, so each attempt starts fresh. If the profile is missing or signed out, forge run says so and names the command before anything starts, and techtree doctor reports whether the profile exists. Two experiments never share it at once.
  • An experiment records the whole version line your Hermes reports, including its build date and source commit, so a Hermes that was updated between two runs is never compared as if it were the same.
  • techtree forge compare pairs a baseline run with a candidate run, task by task, and writes a self-contained HTML report you can open from disk beside the machine-readable record. It says whether the Skill won, lost or tied on each task, what each arm used in time, model calls, tokens and reported cost, what the two arms were allowed to differ in, and how far the evidence carries. A pair without a verdict on both sides is shown as unresolved, never counted as zero, and the summary says "Partial" until every planned pair has one. Comparing calls no model.
  • A forge comparison can be revised once through techtree uplift, the same way a Climb run can. uplift context on a comparison writes what a reviser may read: the task instructions, both arms' results, and what the Skill is meant to improve — never the reference fix, the tests, or either arm's patch. uplift skill-source reads the Skill a candidate run measured back from the run's own verified copy. uplift prepare takes one revised Skill, keeps everything else about the experiment the same, refuses an unchanged Skill or a changed Hermes, and screens the revision against every task's reference fix and tests, recording each shared line rather than refusing. uplift start shows what will run, asks, measures the revision against the same baseline, and records whether it improved, regressed or matched. The revision is kept either way, and is never measured twice. techtree forge status reads a revision back.
  • A candidate run keeps its own copy of the Skill it measured, and every attempt runs from that copy.
  • A forge experiment is declared before it runs, and two arms are compared only when nothing but the Skill differs between them.
  • A candidate Skill that names the cases a Climb scores it on is refused when it is prepared, whether for a first submission or as a revision of a measured Skill. A Skill describes the rule; it may not carry the scored inputs.

v0.2.0 (2026-09-18)

Added

  • Read release notes at Changelog, available from the site header.
  • Build repair tasks from a local Git repository with techtree forge build. Each accepted task checks that the unrepaired code fails the relevant tests and that the reference repair passes them. Building tasks does not call a model.
  • Inspect retained build results with techtree forge status, including failed or cancelled builds, without requiring Docker or the task generator to be available. Incomplete results are shown as incomplete, not as usable tasks.
  • Keep the generated task files, their content fingerprints, validation logs, and control/reference results together so a build can be inspected later.
  • Browse published Results by harness, model, and exact challenge. An unknown selection does not silently show unrelated results. This is already live on techtree.sh.

Changed

  • Results and objects published before this release stay available at their existing addresses. New runs must be recorded with the current CLI against the current catalog; uploads made with CLI 0.1.1 against the earlier campaign are no longer accepted. Upgrade by following the Start guide.
  • CLI integrations receive structured facts, unknowns, blockers, and suggested next actions. The response format replaces the previous format; integrations must update with the CLI rather than assume old responses still apply.
  • New comparisons record evaluation rules separately from execution settings. Existing signed proof bundles remain readable without rewriting their files.
  • CLI, Hermes plugin, and website development now share one repository. Existing pinned installation instructions in the active Start guide remain authoritative.
  • The site header shows the GitHub star button and its star count as one button.

Fixed

  • Updated the website's Ash dependency to include its field-policy security fix.
  • The supplied Python build image keeps the project's installed test tools available when a login shell starts.
  • Task generation retains raw validation output and distinguishes missing test results from a repair that produces no failing-to-passing tests.
  • Interrupted builds retain progress and failure details. Docker commands have time limits, and interrupted operations attempt to remove their owned containers.

Not in this release

  • Running a coding agent on the generated repair tasks with forge run, comparing baseline and candidate Skills with forge compare, and reporting their measured time and usage are not included.
  • Evaluating the default Hermes profile or a named profile with isolated state, Hermes-owned authentication, and a verified grading handoff is not included.
  • A Prime reference-agent handoff, an independently authorized external-use case study, Fabric-backed Hermes/Codex comparisons, and optional Relay evidence are not included as qualified end-to-end workflows.
  • Qualification has been reproduced for one selected public repair, locally and on a fresh Linux worker. This is task-pipeline evidence, not an agent repair, a demonstration of Skill benefit, or a held-out evaluation.
  • The full generation and per-task deadlines were not run to expiry. Among the generator's rejection reasons, only the missing or unreadable test-output case was deliberately exercised in a real build; this is not exhaustive failure-path coverage.
  • Hosted comparisons, public collaboration and payments, automatic Skill optimization, private proving, and training remain outside this milestone.