Skip to content

no_human 0.1.1

Choose a tag to compare

@eyalgolan eyalgolan released this 19 Aug 23:24
· 31 commits to main since this release

Also in this release — reliability, honesty, and cost, measured not asserted
(full suite 8,864/0; funnel 5/5 with every holdout green; reviewer recall
17/19, up from 15/19):

  • The eval judge's verdict now survives mid-run emission, a truncated end
    marker, and marker drift — six bench tasks per run were being scored as
    failures because a verdict could not be parsed, not because work was wrong.
  • Git lock contention (another process briefly holding index.lock) is
    retried with two short backoffs instead of crashing the task; every other
    git failure still fails fast and loud.
  • Fix pairs: when a task fails on an error this machine has overcome before,
    the retry is handed what worked — as evidence, never as an instruction.
  • A retry that ends byte-identical to its predecessor (same failure, same
    diff) stops the loop and escalates honestly instead of buying the most
    expensive third attempt.
  • Judgment-call blockers (ambiguity, novel-unknown, impossible) get exactly
    one supervisor-checked challenge before parking; external blockers are
    honored untouched, and a park is never converted into a fake "done".
  • The reviewer carries a maintainability-trajectory lens: does this change
    make the NEXT change harder? Concrete findings only, capped below blocking
    severity.
  • nh bench harvest: escalated, parked, and failed tasks become bench-spec
    candidates for curation.
  • The intake grill's answering pass pays for what the task needs: probe
    budget scales with the question count; prose-only tasks skip filesystem
    probes (assumption-grade answers, clearly marked).
  • Onboarding: two checkouts of the same repository are tellable apart —
    colliding names show their full path. (Authored end-to-end by no_human
    from its own board, review PASS, 8,847/0.)
  • The stale-data banner no longer eats clicks while disconnected.
  • docs: an operator profile for reviewing untrusted external PRs in a
    credential-isolated container.
  • This release restores auto-update for installed apps: it ships the ZIP and
    latest-mac.yml that electron-updater requires (0.1.0's release lacked
    both).

Added

  • CI builds the board-carrying wheel on every run and proves it installs:
    uv tool install <wheel> yields an nh that finds its board and the Agent
    SDK's bundled claude — no Node, no separate CLI install. A release build
    (workflow_dispatch with wheel_release) keeps the wheel as an artefact.
  • A Claude Code plugin at plugins/no-human/ exposing the MCP bridge's two
    tools (task_add, task_status).
  • A Publish to PyPI workflow (workflow_dispatch only, typed confirmation)
    that builds the board-carrying wheel and uploads it with PyPI Trusted
    Publishing — no API token anywhere in the repository.
  • Version is 0.1.1 across pyproject.toml, desktop/package.json and
    web/package.json (and those lockfiles' root entries), so a built wheel is
    no longer labelled with the released 0.1.0's version.
  • CHANGELOG.md (this file) and glama.json.

Changed

  • README: download buttons, the site's hero loop under the title, install
    leads with the desktop app and names each build's architecture; nh approve
    is documented as what it does — it squash-lands the PR as the configured
    operator identity (git.approve_identity).
  • CONTRIBUTING.md, docs/adapters.md and the nh task add --backend help no
    longer say "a single Claude backend": the coder runs on the Claude Agent SDK
    by default with OpenAI Codex as the sanctioned second backend
    (worker.backend); reviewer, planner, supervisor and utility tiers stay on
    Claude.

Fixed

  • The shipped harvest test no longer asserts that the (unshipped) scored corpus
    directory exists, so the public repository's CI runs green.