v0.6.30
polycli v0.6.30
Agent-native control-plane release on top of v0.6.29. Polycli is now self-describing, stricter at the CLI boundary, explicit about run identity and lifecycle, and incrementally observable without becoming a daemon or workflow engine.
The Path B architecture remains unchanged: provider adapters stay flat and explicit, @bbingz/polycli-runtime remains private, and host or external workflow systems continue to own orchestration.
What changed
Declarative command contract and offline discovery
- Added one declarative command registry as the source for strict parsing, generated root/nested help, typo suggestions, host-map validation, generated terminal metadata, error/output catalogs, and
agent-context. - Added deterministic offline
polycli agent-context --json, exposing build and schema versions, command grammar and effects, provider capabilities, review-safety levels, JSON schemas, typed errors, and exit codes without provider/auth/state probes. - Registered commands now reject unknown flags before provider invocation and suggest bounded command-local candidates. Tokens after
--remain literal prompt/focus text.
Explicit identity and lifecycle reliability
- Split
hostSessionId,providerSessionId,invocationId, andattemptIdacross state, job envelopes, and ledger events while keeping old state and ledger records readable without migration. - Foreground, background, setup, health, cancellation, and recovery paths now publish one attempt-keyed terminal pair; projections no longer apply an older attempt's terminal evidence to a newer attempt.
- Decoder overflow terminates the provider child/process group, escalates to
SIGKILLwhen needed, and settles only once.
Versioned automation and cursor observation
- Added opt-in
--json-v2for every operational command with schema-validated result discriminators, typed errors, bounded suggestions/next steps, and private-path/secret redaction. Existing--jsonremains compatible and stays the host default. - Added explicit job selectors (
id:,prefix:,latest,latest-active,latest-terminal) and typed waits that distinguish satisfied, timed out, and terminal-mismatch outcomes. - Added redacted
debug tail --after --limit --waitwith opaque cursor anchors, bounded pages, explicit expiration/rotation behavior, and raw logs retained as pointers only.
Verification
npm run release:checkpassed before publication with 771/771 tests.- Release verification included regenerated bundle equality, fixture metadata plus strict freshness, manifest/host/Codex adapter validation, review-drift probes, Claude plugin validation, and npm publish dry-runs.
- Three independent spec/code-quality reviews returned
SPEC COMPLIANCE: PASSandCODE QUALITY: APPROVEDacross Gates A-D. - Public-registry installation smoke loaded terminal
agent-contextand the OpenCodePolycliPluginentry successfully.
Release artifacts
- GitHub release
v0.6.30: https://github.com/bbingz/polycli/releases/tag/v0.6.30 - npm
@bbingz/polycli@0.6.30(latest, registry time2026-07-15T08:55:13.583Z, shasum882e134363d70545c15e060a8da6c1274a2aa1e7). - npm
@bbingz/polycli-utils@1.0.4(latest, registry time2026-07-15T08:51:16.560Z, shasumf89c94947199f4d9d61ec6eddca889bb83a95ec4). - npm
@bbingz/polycli-opencode@0.6.30(latest, registry time2026-07-15T08:55:44.359Z, shasum9f71767156d2278f3f9bbe0cadc3fd1c90ae289f). @bbingz/polycli-timing@1.0.2is unchanged and was not republished.