All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[0.3.0] - 2026-07-25
Added
Payload.Result.objectcarries a provider-returned structured object. The Claude profile liftsstructured_outputoff the result frame; the Codex profile decodes the schema-constrained final agent message, and only when the run actually requested a schema. A reply that is not JSON leaves the fieldnilrather than manufacturing an object. Amp, Cursor, and the synthetic exit result declare the field explicitly empty because no structured-output surface is proven for them.CliSubprocessCore.OutputSchemaFileandCliSubprocessCore.EphemeralFiles: an owner-monitored lifecycle for temporary files an invocation needs on disk.ProviderProfile.build_invocation/1may now return{:ok, invocation, teardown};Command.run/1andSessionrun that teardown on a normal result, an error, an interrupt, and a close, whileEphemeralFilesremoves the file when the owning process is killed untrappably and never gets to run it.- A completion-only invocation profile (
completion_only: true). Claude receives an empty tool set, plan permission mode, no settings sources, and strict MCP config. Codex receives a read-only sandbox, ephemeral operation, no user config or rules, disabled web search and skills, and anapproval_policy="never"config override. Both replace, rather than merge with, caller-supplied permission state.
Fixed
- Publish preflight now requires the exact sibling version developed against
to exist on Hex. An older package release can no longer mask a missing
current release, as the historical
execution_plane 0.1.0monolith did for the core-onlyexecution_plane 0.2.0. Nested package tasks resolve the helper-owning repository, and a manifest self-entry is not treated as a circular prerequisite. --output-schemanow receives a file path.codex exectypes the flag as a path and exits non-zero when it cannot read the file, so the previous inline JSON encoding was a hard failure rather than a degraded mode.transport_headless_timeout_msreaches the transport. Without the alias the declared orphan-reap window was silently replaced by the transport's own 30 s default, letting a subprocess outlive its owner by 25 s longer than the contract allows.- Output-schema files use an OS-process-qualified, exclusive 0600 namespace, reject cross-owner tracking collisions, and are proven to disappear through every public command/session terminal path.
Changed
- Require the core-only
execution_plane ~> 0.2.0; the historical 0.1.0 Hex package bundled the same process and JSON-RPC modules now supplied by the canonical component dependencies. - Refreshed the
zoilock from 0.18.5 to 0.18.7. - The shared Claude catalog advertises Opus 5. Both
opusand the retained compatibility choiceopus[1m]listclaude-opus-5; Opus 5 is itself a 1M-context model, so no suffixed provider id is invented. Prior full ids (claude-opus-4-8,claude-opus-4-7) remain resolvable, matching how the Sonnet entry retainsclaude-sonnet-4-6.
[0.2.0] - 2026-07-13
Added
- Current Codex GPT-5.6 Sol, Terra, and Luna catalog entries plus the public
GPT-5.3-Codex-Spark ChatGPT Pro preview, including model-specific reasoning
defaults and
max/ultravalidation. - Cursor Agent CLI (
:cursor) first-party provider profile with stream-json parsing, live fixture evidence, model catalog entries, and provider feature metadata. - Documentation updates for Cursor as the fifth built-in profile, including invocation shape, permission metadata, governed posture, and capability hints.
- Atom-safety guardrail:
.credo.exswithCredo.Check.Warning.UnsafeToAtomenabled (scoped tolib/) plus ascripts/atom_guard.shCI backstop wired intomix ci(which now runscredo --strict). - Secrets guardrail:
scripts/secrets_guard.shinmix ci;.envfiles gitignored. - README documents registry ownership and hex publish-ordering: this package
publishes first, then
claude_agent_sdk/agent_session_manager.
Changed
- Restricted the Hex archive to runtime source, model data, dependency-source support, consumer guides/examples, and public release documentation/assets.
- Replaced separate Execution Plane core, JSON-RPC, and process package
dependencies with the single generated
execution_plane ~> 0.1.0package. - Local development now consumes the generated monolith artifact and clean
clones fall back to the durable
projection/execution_planebranch. - The Codex catalog now follows an authenticated live
codex-cli 0.144.1model/listprobe from 2026-07-10:gpt-5.6-solis the default, Spark is public but non-API,codex-auto-reviewremains internal, and backend-absentgpt-5.2stays excluded. - Refreshed compatible dependencies, including Zoi 0.18.5.
Security
Commandenv validation returns offending keys (or:not_a_map) in{:invalid_env, ...}error tuples instead of echoing the full env map, whose values routinely include credentials.
Removed
- Retired the Gemini CLI profile, catalog, discovery/fallback path, feature manifest, and model-selection workflow target. Google coding-agent support now uses the Antigravity profile only.
[0.1.0] - 2026-04-06
Added
- Initial release.
- Governed CLI launch authority for command, cwd, env, config-root, auth-root, base-URL, target, and clear-env materialization without ambient provider CLI env discovery.