v0.14.0
This release makes action and workflow inputs and outputs machine-readable, and completes the public rename from tactics to actions.
Highlights
Section titled “Highlights”Validated action and workflow contracts
Section titled “Validated action and workflow contracts”Bundled actions and workflows now declare validated I/O contracts. input_schema and output_schema support a JSON-Schema subset with types, required properties, additional-property rules, enums, constants, and length/item constraints. Contracts are validated when the registry loads, inputs are checked before any step or subprocess runs, and outputs are checked after runs, plans, or --apply. ayx actions describe and ayx actions workflows explain expose the effective schema and whether it was declared or inferred. Legacy custom entries without schemas continue to use permissive placeholder-based inference.
Guarded Mongo mutations
Section titled “Guarded Mongo mutations”ayx mongo mutate --apply and ayx mongo undo --apply now execute bounded named templates. Applying requires --accept-mutation-risk, a current successful backup audit artifact, a preview approval artifact, and the matching --approve <sha256:digest>, together with --apply; every attempt writes a redacted audit artifact. Undo uses guarded recorded post-mutation values and refuses a batch if any affected document has drifted.
Breaking changes
Section titled “Breaking changes”ayx workflows moved to ayx actions workflows, and ayx workflow moved to ayx designer workflow. There are no compatibility aliases.
ayx tactics is now ayx actions, and the tactic noun is now action throughout. This breaks three contracts at once:
- Agent-facing JSON keys change from
tactics/tactic_id/tactic_counttoactions/action_id/action_count, with corresponding resolved and missing keys renamed. - Registry files must use
*.action.yamlor*.action.ymlunderactions/; old*.tactic.yamlfiles are skipped and must be renamed. - Composition YAML changes
kind: tactictokind: action, the workflow list key changes fromtactics:toactions:, and the registry schema version changes from1to2.
There is no dual-read or back-compat alias. Update custom registry files and any scripts or JSON consumers before upgrading.
Other changes
Section titled “Other changes”ayx catalog listis now derived from the live clap command tree, defaults to--scope all, and reports unclassified metadata honestly while preserving curated metadata.- The email-OTP login flow retries safe transient requests, permits local OTP/password retries, and avoids duplicating side effects on ambiguous failures.