Skip to content

v0.6.0

Latest

Choose a tag to compare

@github-actions github-actions released this 02 Jul 08:07
· 6 commits to main since this release

The first stable release under the new name (0.6.0-rc.1 claimed tokenroom on npm
2026-07-01). Gated on — and released with — the batched ADR-9 wording eval for every
post-0.3 wording item (ADR-19/20/22/23/24): PASSED
, all equipped assertions green on
the Sonnet tier with clean naive-harm baselines for the ADR-24 items
(eval/v3-wording/results/2026-07-02-batched-post-0.3-wording.md).

Fixed (since 0.6.0-rc.1)

  • Account-switch banner no longer false-fires on a same-account window rollover, and
    the pair advisor will never recommend switching to the profile you are already on
    (ADR-24 hardening).
  • Hooks never mislead: every quota-consuming hook honors the per-account show-gate
    (ADR-21), and a malformed resume.json suppresses the readiness stamp instead of
    garbling it (ADR-5).
  • Eval harness: eval/v3-wording/ gained the seven batched post-0.3 scenarios
    (S-R/S-G/S-B/S-Q/S-W/S-E/S-K) + rubric.

Added

  • Multi-account profiles + smart switch advice (ADR-24). For users toggling two
    subscription accounts via /login:
    • Instant switch detection — the payload is ground truth: a statusline render whose
      account key differs from the session's mapping remaps in that same tap invocation
      (payload wins, always), logs an account_switch event, and the next stamp announces
      the switch once with the NEW account's numbers. Fixes the field capture 2026-07-01
      where a session stamped "0% left" for ~20 minutes after switching to an account at 98%.
    • Echo honesty — the tap tracks when window VALUES last moved
      (values_changed_at); a critical figure frozen >5 min while a sibling account has
      values-newer data is stamped as a possible pre-switch echo ("figures refresh on the
      next completed turn"), never asserted as fresh.
    • Named profiles are identity (ADR-21's phase keys give isolation, not identity):
      tokenroom account label <name> / list / fold <key> <name> /
      config-dir <name> <path>, stored in ~/.tokenroom/profiles.json. Heuristic folding
      only ever HINTS (doctor + account list); zero profiles → behavior unchanged.
    • Pair-aware descent — low active window + a fresh other profile → stamps and
      mid-turn bands say "finish this unit at full speed, then switch (/login or
      tokenroom switch) for zero downtime; defer only if BOTH profiles are thin"; the 1%
      floor becomes land-and-switch. Healthy active → HUD-only terse alt '<label>' ≈X%.
    • tokenroom switch (profile decision table + recommended move) and
      tokenroom run [--profile X] (launch claude under the best/named profile's
      config dir via the official CLAUDE_CONFIG_DIR env var — launch-time selection only;
      auth files are never read or written, nothing is swapped mid-session).
    • New stamp/advice wording joins the batched ADR-9 eval before the npm release.

Fixed

  • MCP tools no longer report whichever account rendered last (ADR-21 gap). The server
    now resolves quota via the tap's session map: one recently-active account → that
    account's state; two or more active in the last 10 minutes → quota is withheld with an
    explicit attribution: "ambiguous — quota withheld …" on
    resource_state/estimate_remaining/fit_check/plan_resume instead of ever
    returning the wrong account's numbers.

Changed

  • Renamed: headroom → tokenroom (ADR-23). The practical owner of the name "headroom"
    is headroomlabs-ai/headroom (55k★, whose CLI binary is literally headroom — a direct
    bin conflict), with a commercial extraheadroom.com in the same niche; tokenroom was
    verified free on npm 2026-07-01. Everything user-visible renames with it: package
    tokenroom, bin tokenroom, state dir ~/.tokenroom (installer COPIES ~/.headroom
    across once, never moves/deletes it), env TOKENROOM_DIR/TOKENROOM_DISABLE (clean
    break), [tokenroom] stamp prefix (mechanical branding; ADR-9 eval batched to the
    harden round), MCP server tokenroom, skill tokenroom, repo
    github.com/tyejcoleman/tokenroom. Install now REPLACES any pre-rename headroom
    statusline/hooks/skill/MCP/CLAUDE.md-block artifacts in place — never duplicates them —
    and uninstall removes both namings; doctor hints while a stale ~/.headroom remains.
    Historical records (past CHANGELOG entries, prior ADR bodies, eval results/fixtures)
    keep the old name.

Removed

  • ARM mode (armed resume, the autonomous headless executor) — removed entirely
    (ADR-22, supersedes ADR-16).
    src/arm.mjs, the launchd plist machinery, headless
    claude -p invocation, headroom resume --arm/--disarm, the resume-run entry
    point, the auto_arm config flag, and their tests are gone. The 2026-06-15 platform
    change moved programmatic use (claude -p, SDK) to a separate monthly API-priced
    credit pool, so an armed resume no longer salvages expiring subscription quota — it
    spends new metered credits. Autonomous continuation moves to the separate Conductor
    package on official in-session surfaces (Stop hook + scheduled wakeups + cron
    routines), carrying ADR-16's consent principle with it. The awareness half stays
    untouched: plan_resume, the resume-plan file, the HUD reset countdown /
    ✓ deferred work ready, readiness stamps, and headroom resume [--clear].