Skip to main content

0.2.24

Behavior changes​

  • elanous dev --child-llm-provider claude-acp (and harness ask/say --child-llm-provider claude-acp) runs the implementation child on the Claude Code subscription through ACP on the host; it never falls back to an API-key provider, and it refuses to start when the subscription cannot be confirmed, its usage cannot be measured, or usage is at the cap (85% by default, lower with ELANOUS_CLAUDE_ACP_CAP).
  • elanous tasks close <card> --reason <text> closes a task card that is stuck as launched, so the dispatcher can launch that cell again.
  • elanous usage runs --by stage|model|account breaks run cost down by pipeline stage, model or account.
  • Z.ai GLM Coding Plan is available as an LLM provider (glm, flat subscription via ZAI_API_KEY); harness child Pods can run on it with a concurrency cap that overflows to OpenRouter.
  • Amazon Bedrock non-Anthropic models (OpenAI, Meta, Mistral, DeepSeek, Qwen and others) can be called through Bedrock's OpenAI-compatible route, alongside the existing Claude-on-Bedrock provider.
  • elanous usage records OpenRouter bring-your-own-key upstream cost and prices Bedrock Claude usage from Bedrock's own rate table, so cost totals no longer under-count those calls.
  • The TUI tells you when the installed elanous was updated underneath a running session and shows the exact command to resume it (elanous --resume <session-id>).
  • Projects get a stable id per git folder: clones and worktrees of the same repository share one id, and folders without a git remote fall back to a path-based id.
  • Worker node setup script now supports Linux hosts (including WSL) in addition to macOS.
  • elanous pr land checks a reused pull request's base branch and bench label before it touches the pull request, and no longer retargets an existing pull request to the default branch unless --base is given; a refused land leaves the pull request unchanged.
  • elanous harness stop reports the number of Pod jobs it actually deleted (it previously printed 0 even when the jobs were deleted).
  • implementation runs no longer discard their work as out of scope when they create the new files a goal lists on its new files: line, or when a declared package.json change updates the bun.lock next to it.
  • goal grounding reads a traced path correctly when a list marker sits inside backticks (`- src/x.ts`), instead of failing with «traced path does not exist».
  • a grok implementation run inside a Pod no longer stops before starting when grok usage cannot be measured there; it proceeds and records the provider as unmeasured.
  • --child-llm-provider bedrock harness launches now really run on Bedrock (the provider was silently replaced by the default).
  • elanous self review exits with code 1 when any requested PR could not be reviewed, instead of reporting success.
  • a review that writes «none — acceptance criteria met» with a long explanation in its must-fix section is counted as zero must-fix, so landing is no longer refused for it.

Plus 216 internal changes.