0.42.1 · core 2026-07-07
Two patches addressing items deferred from the v0.42.0 release notes:
Fixed
scripts/version-sync.mjsidempotent TOML rewrite. The script's TOML rewrite usedupdated === contentto detect "no match", but that check returns a false negative when the file is already at the target version (e.g., runningnpm version 0.42.1whenherdr-plugin.tomlalready readsversion = "0.42.0").String.prototype.replacereturns the original string both when no match exists AND when the replacement was a no-op — so we'd mistake idempotency for a missing line. Fix: use a regex +.test()to distinguish "no match found" from "replacement was a no-op". Idempotent runs now succeed quietly. Symptom: v0.42.0 release shipped with a "Failed to sync herdr-plugin.toml" log line. Manifest was always correct — this was just a noisy false negative.
Added
tests/integration/cli-dispatch-syntax.test.ts(10 cases): validates the per-CLI PARALLEL dispatch table fromsubagents.md. Two layers:- Binary availability check for pi (built-in + pi-subagents extension), opencode, codex, claude-code (optional).
- Static call-shape validation for each documented PARALLEL invocation shape (tasks[] + concurrency for pi-subagents, multi-Task-per-turn for claude-code, parallel codex-exec subagents, opencode PR #14196 shape, generic
&/wait). Includes aresolveCli()helper that actively skipsnode_modules/.bindirectories when searching PATH — prevents a known shadowing issue where vitest's modified PATH included a local olderpi-coding-agent@0.73.1dev dep that shadowed the global runtime. Real LLM session-launching smoke tests are explicitly out of scope (require a live model session; documented as different test class).
Note on thenpmpackage name.@calionauta/stelowis the canonical name (set inpackage.json). The package was never published to npmjs.com at any name (confirmed vianpm view @calionauta/stelowandnpm view @renatocaliari/stelowboth returning 404 at release time). Installers in this repo use the git URL (git:github.com/calionauta/stelow); thenamefield is a future-facing label for any eventual publish. External references that were intentionally preserved (NOT bug, NOT regression): -docs/design/stelow-board-herdr.md: a future separate project. -skills/cali-product-discovery/SKILL.md(lines 95, 101, 107): credits to a third-party author's repositories (not stelow). -setup.shline 70 (pi-tool-repair-layer): a separate upstream package with its own naming. -docs/archive/: 2026-05-20 archive snapshot.