agnostic-ai v0.70.0: quoted hook args, AGNOSTIC_AI_TARGET, and rules loaded once Agnostic-ai released v0.70.0, which quotes hook arguments so exec-form hooks on Codex, Gemini, and Cursor run `node 'guard.js'` instead of a bare `node`, exposes the `AGNOSTIC_AI_TARGET` environment variable to hooks, and adds a `requires: ">=0.70.0"` field in `agnostic-ai.yaml` that stops an older binary before it writes anything. The release also changes `agnostic-ai sync` to remove rule copies that codex-syncing tools such as cline, kiro, qoder, kilo, and augment no longer need, with `sync --check` reporting them until removed. Users must fix `sync --global` failures caused by hand-written hooks sharing a source hook's matcher and command, and make a Codex skill's bundled `agents/openai.yaml` a YAML mapping. What to do 1. In a project that syncs codex with cline, kiro, qoder, kilo, or augment, run agnostic-ai sync . It removes the rule copies those tools no longer need, and sync --check reports them until you do. 2. If sync --global stops on a hand-written hook that shares a source hook's matcher and command, remove that entry or make it match the source one entry per hook . 3. If sync fails on a Codex skill's bundled agents/openai.yaml , make that file a YAML mapping one file per skill . Nothing else needs action. What changed - Exec-form hooks on Codex, Gemini, and Cursor now run node 'guard.js' instead of a bare node 1229, 1230 . - Hooks see AGNOSTIC AI TARGET , so one shared script knows which tool ran it 1226 . - requires: " =0.70.0" in agnostic-ai.yaml stops an older binary before it writes anything 1214 . Full details are in the GitHub release notes https://github.com/Chemaclass/agnostic-ai/releases/tag/v0.70.0 . Upstream CLI and model news No new upstream change was verified for this briefing since v0.69.0.