Repository navigation
v3.9.0
brew update && brew upgrade agentops · update skills · checksums · verify provenance
Highlights
AgentOps 3.9 narrows the product to its own guidance. The ten bundled external tool skills are removed. Three repository delivery workflows are retired. The Codex plugin now reads the same skills/ tree every other install uses, instead of a generated copy. Installation has three supported paths: the Claude Code plugin, the Codex plugin, and npx skills for every other agent.
Validation is now spent where a mistake is costly. For an ordinary change the checks and CI are the gate; the skills call for one fresh review only when you ask, when a mistake can't be cheaply undone, or when no check covers what changed. A review is one round, and a fix does not start another.
Two skills are new. Interview settles a large outcome with you one question at a time before agents work alone. Navigate picks the next wave on a bead graph and keeps the graph honest toward the acceptance you froze. Council gains duel and interview-panel modes, and you can give each member its own model, effort and perspective.
The optional menu goes from 36 to 28 skills. Native coding still requires none of them.
Upgrade Notes
- Update your managed plugin or selected source checkout using the update guide, then start a fresh session.
- Codex plugin users: refresh the marketplace and re-add the plugin. The plugin now ships
skills/instead of the generatedskills-codex/copy; skill names, descriptions and bodies are unchanged. - AgentOps no longer ships
account-rotation,agent-mail,cass,cc-hooks,dcg,ms,ntm,rch,sbhorusing-flywheel, and provides no replacement for them. The README's recommended tools section links the projects it still recommends: DCG, CASS, Meta Skill, the Agentic Coding Flywheel and Gas City. Get those tools, and any skills for them, from their authors. Copies you installed earlier withnpx skillsare not deleted by this release. - If you track a source checkout, upgrade
aoto 3.9 before running anyaocommand from it:brew upgrade agentops, orcd cli && go install ./cmd/aoin the checkout. A 3.8aolooks for the deletedskills-codex/directory and refuses the updated checkout. - If you track a source checkout with
ao skills link, pulling 3.9 removes the ten skills from the checkout and leaves a dangling link for each in every runtime's skill directory.ao skills linkadds missing links and never removes one. From the checkout, runao skills unlink(preview with--dry-run), then repeat theao skills linkcommand you first used. Pass the same--destto both if you linked into a custom directory.unlinkhas no--skillselector, so repeat any--skilloptions on the second command; a bareao skills linklinks all 28 skills. - If you install with an old
curl … | bashline, switch to a plugin ornpx skills@latest add boshu2/agentops. Those scripts already refused to install in 3.8; their URLs now return 404. - If you copied the retired workflow files instead of linking them, replace the copies. For
~/.claude/workflows, runbash scripts/install-workflows.shfrom the AgentOps checkout and name only the retired files you have, for examplebash scripts/install-workflows.sh bdd-foundry.js ship-beads.js. Each named file becomes a link to the current one, and a file that differs is backed up first; without file names the script installs every workflow. For another project's.claude/workflows, remove the old file, then runao workflows link --into <project>/.claude/workflowsfrom the AgentOps checkout, which links every workflow that has no entry there yet. - If you call the hook guard scripts directly, update
skills/cc-hooks/scripts/install-hooks.shandskills/cc-hooks/hooks/*toscripts/install-policy-dispatch.shandhooks/guards/. Plugin users and already-installed guards need no action. - A skill-only install (
npx skills) no longer carries a hook installer. The guards come with the Claude plugin, which activates them itself, or with a source checkout throughscripts/install-policy-dispatch.sh. If you move to the plugin, remove thenpx skillscopy first so each skill is not loaded twice. - If you use Skill Builder's scripts outside a source checkout, install
ao3.9 or later. Inside a checkout they buildaowith Go. - If you installed the Gemini package, run
agy plugin disable agentops-core-geminiand thenagy plugin uninstall agentops-core-gemini, and install throughnpx skills. - If an earlier
ao skills linkput Pi links in~/.pi/skills, remove them withao skills unlink --dest ~/.pi/skills. Pi loads user-level skills from~/.pi/agent/skills. - If upgrading from 3.6 or earlier, follow the migration guide first.
Breaking Changes
- Ten skills are removed from the bundle:
account-rotation,agent-mail,cass,cc-hooks,dcg,ms,ntm,rch,sbhandusing-flywheel. - The
bdd-foundry,ship-beadsandbead-crankClaude workflows are retired. Each name still resolves, and fails with a migration message before doing any work. - The 3.x curl and PowerShell skill installer stubs are deleted:
scripts/install.sh,install-claude.sh,install-codex.sh,install-agy.sh,install-opencode.shandinstall-codex.ps1. They already refused to install; their raw URLs now return 404. - The
images/geminipackage (agentops-core-gemini) is removed. - The generated
skills-codex/copy and its tooling are removed. Anything that readskills-codex/directly must readskills/. - The
skills/cc-hooks/paths are gone. AgentOps' own guards now live underhooks/guards/. Theskill-first-coord-guard.shhook is removed, not moved. scripts/install-ms-reindex-hook.shandscripts/ms-reindex.share deleted.- The fixed-dispatch RPI reference adapter (
skills/rpi/scripts/run_once.py) is removed. - Skill Builder's scripts require
ao. Build no longer writes a default report under.agents/scratch/skill-builder/, and invalid creation inputs exit 1 instead of 2. ao skills check --jsonno longer hasparity_driftor a per-skillcodex_parity, andskills/catalog.jsonno longer hascodex_override_present.
At a Glance
| Area | What changes for the user |
|---|---|
| Skill menu | 28 skills instead of 36: Interview and Navigate are new, ten external tool skills are removed. |
| Validation | Checks and CI are the gate; one fresh review only where a mistake is costly; one round, no re-review after a fix. |
| Codex plugin | Reads skills/ directly; the generated copy is gone. Refresh the marketplace and re-add the plugin. |
| Shaping work | Interview settles a large outcome question by question; Navigate walks the resulting bead graph one wave at a time. |
| Council | Duel and interview-panel modes; per-member model, effort and perspective. |
| Delivery workflows | bdd-foundry, ship-beads and bead-crank fail with a migration message. Deliver with native Git and your tracker. |
| Installation | Claude Code plugin, Codex plugin, or npx skills. The curl installer stubs and the Gemini package are gone. |
| Skill authoring | Skill Builder runs through ao skills build, audit and check-source, and reports structure separately from evidence that a skill helps. |
Product Areas
Skills and Workflows
- Changed: Validation is spent where a mistake is costly. For an ordinary change the author's checks and CI are the gate. RPI, Validate, Implement, Orchestrate, Craft Goal and Navigate call for one fresh review only when the caller asks, a mistake cannot be cheaply undone after it lands, or no deterministic check covers the changed behavior. The reviewer answers one question, does not re-run checks, and reports as defects only what would mislead a user, break install or the CLI, or remove protection for the product. A fix is confirmed by a check and does not start another review.
- Added: Interview shapes a large outcome with the caller one question per turn. Each question carries a recommendation and its main tradeoff, and acceptance is recorded as Given/When/Then examples. It is invoked by a person and creates no goal or bead.
- Added: Navigate picks the next wave on a bead graph: the acceptance matrix, the ready frontier, a small wave, then results and discoveries recorded on the beads. It never dispatches, judges or closes work. The bead graph contract and wave loop move here from Craft Goal.
- Added: Council duel mode. Each member writes its own ranked ideas, scores every other member's ideas on a rubric fixed before launch, then concedes or defends in one bounded round. Ideas rank by cross-member agreement.
- Added: Council interview-panel mode. Each member answers Interview's questions in its own context. Agreed answers are marked, one bounded debate covers the open ones, and the caller accepts or amends the result.
- Changed: The caller may give each council member its own model, effort and perspective. A perspective steers what a member examines, never what evidence it receives. The same model in separate contexts counts as one model's confirmation.
- Changed: Craft Goal, Interview and Navigate are marked stable. Craft Goal's frozen goal prompt states acceptance as Given/When/Then examples and names domain terms once.
- Changed: Skill Builder creates a minimal scaffold that is explicitly incomplete. Its audit script reports conformance, effect observations, behavioral evidence and review suspicions separately; the earlier report format stays available through
skills/skill-builder/scripts/audit.sh --legacy. - Changed: Skill Builder's build, check, heal and audit scripts run through
ao skills: outside a source checkout they needao3.9 or later, and inside one they buildaowith Go. Build no longer writes a default report under.agents/scratch/skill-builder/; pass--reportor read stdout. Invalid creation inputs exit 1 instead of 2. - Fixed: Skill Builder's
heal.sh --checkexits 2 with a message whenaocannot run; it used to report a pass. - Removed: The ten bundled external tool skills listed under Breaking Changes. AgentOps keeps its own session-identity and source-reading guidance.
- Removed: The
bdd-foundry,ship-beadsandbead-crankworkflows. In place ofbdd-foundry, state accepted behavior in the conversation or a bead. In place ofship-beadsandbead-crank, deliver with native Git and BD under your repository's policy, or dispatch to a software factory through its coordinator. - Removed: The fixed-dispatch RPI reference adapter, which modelled repeated review rounds, with its tests and reference page.
CLI and Operator Commands
- Added:
ao skills build <from-scratch|from-template|absorb-external> <slug>creates an incomplete skill scaffold and its generated projections. All three modes write the same scaffold;--sourceis recorded as a hint and no content is imported. - Added:
ao skills auditreports static conformance, effect observations and unmeasured behavior as separate results for one skill package. - Added:
ao skills check-sourcechecks named source packages without claiming they are semantically complete. - Changed:
ao skills checkauditsskills/only. Its JSON no longer hasparity_driftor a per-skillcodex_parity, and--strictfails on errors alone. - Fixed:
ao skills link,ao skills unlinkandao doctoruse Pi's user-level skills directory,~/.pi/agent/skills, and detect Pi by~/.pi/agent. Before, Pi user skills were linked into~/.pi/skills, which is not Pi's user-level directory. - Removed: The
ao doctorcheck that flagged running Claude headless in print mode (claude -p), and the doctor failure mode that synced the deleted Codex copy into Codex's plugin cache.
Install, Upgrade, and Distribution
- Changed: Installation is documented as three paths: the Claude Code plugin, the Codex plugin, and
npx skills@latest add boshu2/agentopsfor Cursor, OpenCode, Gemini CLI/Antigravity, Pi, Grok Build and OpenClaw. Grok Bot takes the sameSKILL.mdfiles through its own skill settings. - Changed:
ao skills linkis documented as the contributor path. The docs no longer suggest--all -g, which creates config directories for agents you do not have. - Changed: The metadata-derived skill inventory is 28. The Claude plugin and the Codex plugin both ship it from
skills/at version 3.9.0. - Changed: A skill-only install no longer carries a hook installer. The Claude plugin and a source checkout keep theirs.
- Removed: The six curl and PowerShell skill installer stubs and the Gemini package, as listed under Breaking Changes.
install-ao.ps1, the Windows CLI installer, is kept. - Removed:
scripts/install-ms-reindex-hook.shandscripts/ms-reindex.sh. Get Meta Skill maintenance guidance from its upstream project.
Codex and Runtime Integrations
- Changed: The Codex plugin reads
skills/directly. Checked with codex-cli 0.156.1: a plugin install and a linked install each load all 28 skills with no load errors. The plugin now ships the full AgentOps frontmatter; Codex ignores the extra fields.prompt.mdand the generated markers are no longer shipped; Codex did not read them. - Changed: Each explicit-only skill (
craft-goal,interview,postmortem,rpi) carries its ownagents/openai.yamlwithpolicy.allow_implicit_invocation: false, so Codex does not select it implicitly. The files are hand-maintained inskills/. - Fixed: The Codex policy check fails on the
agents/openai.yamlshapes Codex silently ignores: a non-objectinterface,dependencieswithout atoolslist, and a boolean spelled other thantrueorfalse. - Changed: The skill evaluation fixtures moved from
skills/_fixtures/totests/fixtures/skill-eval/; Codex loads everySKILL.mdunder the plugin's skill tree and would have shipped them. - Removed: The generated
skills-codex/copy, its override catalog, generator, hash and parity tooling, and the Gemini image, which was a second generated copy of every skill. The Skill Builder converter's Codex target no longer writesprompt.md.
Hooks and Lifecycle
- Changed: AgentOps' own guards move from
skills/cc-hooks/tohooks/guards/: the policy dispatcher, the Claude and Codex read-budget guards and the installed-skill-edit guard, with their policies and installers. The plugin'shooks/hooks.jsonand thescripts/install-*entry points keep working. - Removed: The
skill-first-coord-guard.shhook and its reference page. - Removed: The generic Claude Code hook reference pages that shipped inside
cc-hooks. The guard docs link the official hooks reference instead.
Eval, Validation, and Release Gates
- Fixed: The repository's skill evaluation suite under
evals/skills-rpi/runs task-bank controls through the exact packaged verifier, prepares both arms with shared task and image identities, and rechecks both before launch. Packaging and identity mismatches are rejected before model resources are spent. The Skill Eval skill itself is unchanged. - Added: A gate checks that each retired workflow file contains only its metadata and an immediate failure, so code placed ahead of the failure is rejected. The install drift check now fails on a stale installed copy of any retired workflow, in
~/.claude/workflowsand in a project's.claude/workflows. - Added: A test requires the checked-in version to have exactly one curated release-notes file, so a version bump without notes fails before the tag instead of at publish.
- Changed:
docs.cli-snippetsis a blocking gate that resolvesaocommands cited in code spans and fenced blocks of the live docs against the real command tree. It is one of the fact checks that replaced documentation tests which froze wording. - Fixed: The conformance probe that checks the Validate helper makes no Git, tracker or delivery calls now intercepts calls made in-process; before, those reached the real binaries unnoticed.
- Removed: The four gates that policed the Codex copy, the repository gate that banned Claude print mode, and several gates with no live consumer.
- Fixed: The CI job that syntax-checks workflow scripts parses them the way the harness runs them, so a top-level
returnno longer fails it.
Docs and Onboarding
- Changed: The README is rebuilt around the operational loop, with a goals section, Beads as the work graph, and a grouped skill chart. It adds BDD/DDD links and a fuller Gherkin example, and recommends upstream projects for some external tools by link.
- Changed: The contract (
AGENTS.md), the workflow reference and the product, architecture and how-it-works pages describe validation as checks and CI plus one fresh review where a mistake is costly. - Changed: The migration guide covers the removed skills, the deleted installer stubs, the moved guards, the Codex plugin change and the retired workflows.
- Changed: The release body's header links the update guide instead of a one-line source-checkout update command.
- Fixed: The documentation site banner no longer shows the retired 3.3 tagline, and the site build no longer publishes its internal generator scripts.
- Docs: The AgentOps logo is redrawn.
Known Issues
ao skills linkdoes not remove a link whose skill was removed from the checkout. Until it does, useao skills unlinkand then repeat your originalao skills linkcommand (with the same--dest, andao3.9) after an update that removes skills.- The retired-workflow checks identify a workflow by its file name. An old workflow body installed under a different file name is not detected.
- Codex's own bundled plugin validator rejects this plugin on fields unrelated to loading, as it did in 3.8. Skills load normally.
- Structural checks do not establish that any skill improves outcomes. No efficacy or token-cost improvement is claimed for Interview, Navigate or the new Council modes.
- Restricted-source enforcement remains unavailable, as in 3.8.
Full changelog
AgentOps 3.9 narrows the product to its own guidance. The ten bundled external tool skills are removed, three repository delivery workflows are retired, the Codex plugin reads skills/ directly instead of a generated copy, and installation has three supported paths: the Claude Code plugin, the Codex plugin, and npx skills for every other agent. Validation is now spent where a mistake is costly instead of on every change. Interview and Navigate are new, and Council gains duel and interview-panel modes. The optional menu goes from 36 to 28 skills; native work still requires none of them.
See the curated release notes for upgrade instructions, breaking changes and known limits.
Added
- Interview shapes a large outcome with the caller one question at a time before agents work alone. Each question carries a recommendation and its main tradeoff; acceptance is recorded as Given/When/Then examples. It creates no goal or bead.
- Navigate picks the next wave on a bead graph and records results and discoveries on the beads. It never dispatches, judges or closes work. The bead graph contract and wave loop move here from Craft Goal.
- Council gains two modes. In a duel, members rank their own ideas, score every other member's ideas on a rubric fixed before launch, then concede or defend in one bounded round. In an interview panel, each member answers Interview's questions in a separate context; agreed answers are marked and the caller accepts or amends the result. The caller may give each member its own model, effort and perspective.
ao skills buildcreates an explicitly incomplete skill scaffold and its generated projections; its three modes write the same scaffold and import no content.ao skills auditreports static conformance, effect observations and unmeasured behavior separately.ao skills check-sourcechecks named source packages.- A gate checks that each retired workflow file contains only its metadata and an immediate failure. A test requires the checked-in version to have exactly one curated release-notes file.
Changed
- Fresh validation is no longer owed on every change. For an ordinary change the author's checks and CI are the gate. RPI, Validate, Implement, Orchestrate, Craft Goal and Navigate call for one fresh read only when the caller asks, a mistake cannot be cheaply undone after it lands (a published release or instructions users will follow, a security boundary, destroying data or tracker state, deleting a check that protects the product), or no deterministic check covers the changed behavior. A review is one round: the reviewer does not re-run checks, reports as defects only what fails accepted behavior or would mislead a user, break install or the CLI, or remove protection for the product, and a repair does not start another review. A requested binding verdict keeps its PASS rule;
NOT_PROVENis reported with its gaps instead of being chased. - Craft Goal, Interview and Navigate are marked stable; the README no longer labels goals experimental.
- The Codex plugin now loads
skills/directly..codex-plugin/plugin.jsonships./skills, the same treeao skills linkandnpx skillsalready install, instead of a generated copy. Skill names, descriptions and bodies are unchanged. Codex plugin users should refresh the marketplace and re-add the plugin. Checked against codex-cli 0.156.1: a plugin install and a linked install each load all 28 skills with no load errors. - Each explicit-only skill carries its Codex invocation policy in its own
agents/openai.yaml, hand-maintained inskills/; the generator no longer derives it.scripts/validate-codex-api-conformance.shfails when one is missing or does not parse. scripts/validate-codex-api-conformance.shchecksskills/against what the Codex loader enforces (unique frontmatter keys, a non-empty description, a name of at most 64 characters, no nestedSKILL.md) and the explicit-only policy. It no longer enforces the portable Agent Skills field allowlist.ao skills checkauditsskills/only. Its JSON no longer hasparity_driftor a per-skillcodex_parity, and--strictfails on errors alone.skills/catalog.jsonno longer hascodex_override_present.- The
skill-evalfixtures moved fromskills/_fixtures/totests/fixtures/skill-eval/. Codex loads everySKILL.mdunder the plugin's skill tree, so the fixtures would have shipped as a skill and a load error. - Craft Goal's frozen goal prompt states acceptance as Given/When/Then examples and names domain terms once.
- Skill Builder's build, check, heal and audit scripts run through
ao skills: outside a source checkout they needao3.9 or later; inside one they buildaowith Go. Its audit reports conformance, effect observations, behavioral evidence and review suspicions separately;skills/skill-builder/scripts/audit.sh --legacykeeps the earlier format. Build no longer writes a default report under.agents/scratch/skill-builder/, and invalid creation inputs exit 1 instead of 2. - AgentOps' own guards (policy dispatcher, read-budget, Codex read-budget and installed-skill-edit guards) moved from
skills/cc-hooks/tohooks/guards/. Plugin users and already-installed guards need no action; update any direct call toskills/cc-hooks/scripts/install-hooks.shorskills/cc-hooks/hooks/*toscripts/install-policy-dispatch.shorhooks/guards/. A skill-only install no longer carries a hook installer. docs.cli-snippetsis a blocking gate that resolvesaocommands cited in code spans and fenced blocks of the live docs against the real command tree. It is one of the fact checks that replaced documentation tests which froze wording.- The install drift check fails on a stale installed copy of any retired workflow, in
~/.claude/workflowsand in a project's.claude/workflows. - The release body's header links the update guide instead of a one-line source-checkout update command.
- The README is rebuilt around the operational loop, with a goals section and a grouped skill chart. It recommends upstream projects for some external tools by link instead of bundling their skills.
- Install narrowed to three paths: the Claude Code plugin, the Codex plugin, and
npx skills@latest add boshu2/agentopsfor every other agent (Cursor, OpenCode, Gemini CLI/Antigravity, Pi, Grok Build, OpenClaw). Grok Bot takes the sameSKILL.mdfiles through its own skill settings.ao skills linkis now documented as the contributor path. The docs no longer suggest--all -g, which creates config directories for agents you don't have.
Removed
- The generated Codex copy of the skills:
skills-codex/(278 files) andskills-codex-overrides/catalog.json, with the generator and everything that only policed the copy. Gone:scripts/codex-sync.sh,regen-codex-hashes.sh,register-new-codex-skill.sh,append-codex-override-entry.sh,mirror-codex-references.sh,refresh-codex-artifacts.sh,audit-codex-parity.{py,sh},check-codex-parity-drift.sh,lint-codex-native.sh,smoke-test-codex-skills.sh,export-claude-skills-to-codex.sh, thevalidate-codex-generated-*,-install-bundle,-override-coverage,-runtime-sectionsand-skill-parityvalidators,scripts/lint/, their tests, and the gatesskill.codex-parity-drift,skill.codex-runtime-sections,skill.codex-override-coverageandskill.codex-generated-artifacts.scripts/regen-all.shno longer takes--skills, andscripts/test-ci-deterministic-gates.shno longer takes--skip-codex. - What Codex plugin users lose with the copy. Each skill's
prompt.md,.agentops-generated.jsonand the.agentops-manifest.jsoninventory are no longer shipped; Codex did not read them (the stringprompt.mddoes not occur in the codex-cli 0.156.1 binary, and skills load without it). The plugin now ships the full AgentOps frontmatter instead of onlynameanddescription; Codex ignores the extra fields, but the packages are no longer strict portable Agent Skills frontmatter. Skill text is shipped as written: the generator's rewrites (Claude CodetoCodex,~/.claudeto~/.codex,/skillto$skill) no longer run. They changed nothing in the current 28 bodies. ao doctorno longer has thefm-skills-stale-codex-syncfailure mode, and its fixers can no longer write to~/.codex/plugins/cache/agentops-marketplaceor~/.codex/.agentops-codex-install.json.- The fixed-dispatch RPI reference adapter, which modelled repeated review rounds:
skills/rpi/scripts/run_once.py, its tests, its reference page andskills/rpi/references/rpi.feature, plustests/e2e/rpi-phased-domain.sh, a no-op tombstone that existed only to keep that feature file's scenario link resolving. - The Skill Builder converter's Codex target no longer writes
prompt.md; Codex does not read it. - Bundled Flywheel tool skills (
account-rotation,agent-mail,cass,cc-hooks,dcg,ms,ntm,rch,sbh,using-flywheel) and their generated Codex copies. AgentOps provides no replacement. The README recommends the upstream projects for DCG, CASS, Meta Skill, the Agentic Coding Flywheel and Gas City; get those tools and any skills for them from their authors. Copies installed earlier withnpx skillsare not removed; a source link to a removed skill is left dangling (see the release notes). - The
skill-first-coord-guard.shhook and its reference page, and the generic Claude Code hook reference pages that shipped insidecc-hooks. scripts/install-ms-reindex-hook.shandscripts/ms-reindex.sh.- The
ao doctorcheck and repository gate that banned running Claude headless in print mode (claude -p). Print mode is an ordinary dispatch option again. - The
bdd-foundry,ship-beadsandbead-crankClaude workflows. The names stay as tombstones that fail with a migration message before doing any work, likeoperating-loop. In place ofbdd-foundry, state accepted behavior in the conversation or a bead. In place ofship-beadsandbead-crank, deliver with native Git and BD under your repository's policy, or dispatch to a software factory through its coordinator. An installed copy of the old files now fails theworkflow.install-driftgate.ao workflows linkdoes not replace a copied file. For~/.claude/workflows, runbash scripts/install-workflows.shfrom the AgentOps checkout and name only the retired files you have (for examplebdd-foundry.js): each becomes a link to the current file, and a file that differs is backed up first. Without file names the script installs every workflow. For another project's.claude/workflows, remove the old file, then runao workflows link --into <project>/.claude/workflowsfrom the checkout.scripts/check-bdd-foundry-markers.shis removed. - The 3.x curl and PowerShell skill installer tombstones (
scripts/install.sh,install-claude.sh,install-codex.sh,install-agy.sh,install-opencode.sh,install-codex.ps1). Their raw URLs now 404, so an oldcurl … | bashline installs nothing; switch to a plugin or npx. - The
images/geminipackage (agentops-core-gemini) and its generator branch. Remove an installed copy withagy plugin disable agentops-core-geminiand thenagy plugin uninstall agentops-core-gemini.
Fixed
- The repository's skill evaluation suite under
evals/skills-rpi/checks task-bank controls through the exact packaged verifier and prepares both arms with shared task and image identities before any trial starts, so packaging and identity mismatches are rejected before model resources are spent. - The documentation site banner no longer shows the retired 3.3 tagline, and the site build no longer publishes its internal generator scripts.
- The CI job that syntax-checks workflow scripts parses them the way the harness runs them, so a top-level
returnno longer fails it. ao skills link,unlinkandao doctoruse Pi's user skills dir,~/.pi/agent/skills, and detect Pi by~/.pi/agent. Links an earlier version made in~/.pi/skillsare no longer swept by default; remove them withao skills unlink --dest ~/.pi/skills.- Skill Builder's
heal.sh --checkexits 2 with a message whenaocannot run. It used to report a pass in non-strict mode. - The Codex policy check also fails on
agents/openai.yamlshapes Codex silently ignores: a non-objectinterface,dependenciesthat is not a mapping with atoolslist, and a boolean spelled other thantrueorfalse. Any of these made an explicit-only skill implicitly selectable. - The conformance probe that checks the Validate helper makes no Git, tracker or delivery calls now also intercepts calls made in-process; before, those reached the real binaries unnoticed.
- The user-facing docs (
PRODUCT.md, the docs index, how-it-works, architecture, philosophy, migration and CI pages) describe validation as checks and CI plus one fresh read where a mistake is costly, matching the skills.
Full Changelog: v3.8.0...v3.9.0