speca-cli v0.9.1
Patch release on the 0.9.x soak line.
npx speca-cli@latest doctorHighlights
- All
ErrorKinds now have a real caller. v0.9.0 shipped the
errors-reporterinfrastructure but four kinds —auth-expired,
schema-mismatch,stale-resume,subprocess-crash— had no code path
firing them. v0.9.1 wires them all up:speca runrefuses to spawn when the active OAuth token is past its
expires_at(auth-expired), or whenoutputs/TARGET_INFO.jsonwas
rewritten meaningfully later than the newest
outputs/01b_PARTIAL_*.jsonwithout--force(stale-resume, with a
60-second grace window for back-to-backinit+run).speca browsenow exits with a parseable
[ERROR kind=schema-mismatch] …line when every matched partial fails
loader validation, instead of dropping into a zero-row TUI.speca run's spawn-error handler reportskind=subprocess-crashon
both headless and TUI paths.
- Unknown phase-id heads-up.
speca runwarns to stderr when
--phase/--targetcarry an id outsideKNOWN_PHASE_IDS. Forks may
legitimately add phases via custom orchestrator configs, so the unknown
id is forwarded — the warn just removes the surprise factor. KNOWN_VERDICTSclosed-set type. Call sites that hand-write a
verdict literal can now opt intoKnownVerdict; a typo'd verdict fails
to compile.- Post-publish smoke job.
release.ymlnow spins up a clean ubuntu
runner after every successfulnpm publish, installs the freshly-
published version from the registry, and runsspeca version/
speca help/speca doctorplus annpxroute check. Catches
tarball / bin-shim / dependency-pinning regressions the in-tree tests
can't see. - Git-build install path documented in
cli/README.mdand root
README.mdfor contributors testing unreleased branches
(git clone && npm install && npm run build, plusnpm link).
Tests
- 290 vitest cases (was 256 in v0.9.0) — +34 cases covering the new
surfaces: errors-reporter (×13), preflight detectors (×10), browse
error-kinds (×2), run pre-flight + phase warn (×5), verdict closed-set
(×2),speca askmulti-turn chain (×2, closes [#31]).
Issues closed
Install / upgrade
# Always-fresh
npx speca-cli@latest <command>
# Pin to this release
npx speca-cli@0.9.1 <command>
# Global install
npm install -g speca-cliRequires Node 20+. For the audit pipeline you also need uv, git,
and claude (speca doctor checks all of them).
Documentation
cli/README.md— usage guidecli/CHANGELOG.md— full v0.9.1 entrycli/TESTING.md— manual test recipedocs/SPECA_CLI_SPEC.md— design spec
Full changelog: https://github.com/NyxFoundation/speca/blob/main/cli/CHANGELOG.md