v0.1.0
Changelog
Breaking changes
- ac7846c: fix(loop)!: move the state dir out of the workdir and stop it following symlinks (CLA-259) (Jason Galea jason@lecstor.com)
- e9b082f: fix(config)!: stop a working-directory clankerbar.json owning the next run (CLA-260) (Jason Galea jason@lecstor.com)
- f8b8ad5: feat(cli)!: parse GNU-style --long options via spf13/pflag (CLA-140) (Jason Galea jason@lecstor.com)
Features
- f0a8a3a: feat(loop): hand back a claim the session was still holding (CLA-242) (Jason Galea jason@lecstor.com)
- 00cd6cc: feat(harness): observe what a session claimed, so the driver can hand it back (CLA-242) (Jason Galea jason@lecstor.com)
- 3fc4f66: feat(loop,doctor): survive a sleeping laptop and a queue that lies about work (CLA-134) (Jason Galea jason@lecstor.com)
- 8d48c5e: feat: add a doctor subcommand — preflight diagnostics for unattended runs (CLA-134) (Jason Galea jason@lecstor.com)
- 984ea58: feat: multi-project loop on the account key — one instance, many queues (CLA-142) (Jason Galea jason@lecstor.com)
- efecf56: feat(loop): honor the console pause flag (CLA-130) (Jason Galea jason@lecstor.com)
- b44bf0b: feat(backlog): wire the poller to get_backlog_summary (kill blind mode) (Jason Galea jason@lecstor.com)
Fixes
- be9dd7f: fix(statedir): close what the CLA-259 adversarial review found still open (Jason Galea jason@lecstor.com)
- ad13fdb: fix(statedir): close the parent-chain escape and stop doctor adopting a directory that is not ours (CLA-259) (Jason Galea jason@lecstor.com)
- 6172722: fix(config): close what the CLA-260 adversarial review found still open (Jason Galea jason@lecstor.com)
- f9051ae: fix(config): close what the adversarial review found still open (CLA-257) (Jason Galea jason@lecstor.com)
- 55c01b0: fix(release): address the CLA-261 adversarial review (Jason Galea jason@lecstor.com)
- 1d69b64: fix(config): pin the API key's destination to the operator's own config (CLA-257) (Jason Galea jason@lecstor.com)
- 20a52d4: fix(release): address the CLA-231 adversarial review (Jason Galea jason@lecstor.com)
- ade4671: fix(budget): the breaker measured the wrong things and said the wrong thing (CLA-134) (Jason Galea jason@lecstor.com)
- 56af02d: fix(doctor): check what the last run actually died on (CLA-134) (Jason Galea jason@lecstor.com)
- 915ba39: fix(cli): hard-stop on 400 project_required instead of blind-drain (CLA-133) (Jason Galea jason@lecstor.com)
- e892a1f: fix(cli): hard-stop on a bad API key (401/403) instead of blind-drain (CLA-132) (Jason Galea jason@lecstor.com)
- 90746eb: fix(cli): fix Fable review findings — opencode reachable + transient/budget/precedence bugs (CLA-131) (Jason Galea jason@lecstor.com)
- e07cf4f: fix(harness): confirm codex token usage is cumulative, not delta (CLA-127) (Jason Galea jason@lecstor.com)
- ede28dd: fix(backlog): blind-drain on an unresolvable endpoint, not endless retry (Jason Galea jason@lecstor.com)
Other changes
- fbad56b: Merge the two CLA-134 commits that missed their own PR (CLA-247) (Jason Galea jason@lecstor.com)
- f557fea: style: plain-ASCII punctuation in the prose this branch added (Jason Galea jason@lecstor.com)
- e316e35: ci: add CI gate + GoReleaser release tooling (CLA-129) (Jason Galea jason@lecstor.com)
- 874b3cd: harness: scope opencode budget-stop to error diagnostics (Jason Galea jason@lecstor.com)
- 0b72134: harness: opencode adapter (provider-agnostic, budget-stop) (Jason Galea jason@lecstor.com)
- 46f0a7c: config: env + settings passthroughs for headless auth and permission policy (Jason Galea jason@lecstor.com)
- 03320e6: config: expand ~ in path fields (config_dir/workdir/mcp_config_path/state_dir) (Jason Galea jason@lecstor.com)
- ec68eb8: Live visibility + config-dir parity for headless runs (Jason Galea jason@lecstor.com)
- 1dd9fa7: Transient-failure resilience: classify, back off, retry (port from loop.sh) (Jason Galea jason@lecstor.com)
- 374f2de: Codex adapter: parse the exec --json JSONL stream (Jason Galea jason@lecstor.com)
- afd95a3: Claude adapter: parse the usage-limit reset time (Jason Galea jason@lecstor.com)
- 84a1e67: Loop is a daemon: idle-poll instead of exiting on an empty queue (Jason Galea jason@lecstor.com)
- 6b94251: Scaffold: clankerbar loop CLI (Go) (Jason Galea jason@lecstor.com)