brew update && brew upgrade agentops · bash <(curl -fsSL https://raw.githubusercontent.com/boshu2/agentops/main/scripts/install.sh) · checksums · verify provenance
AgentOps v3.1.0
Highlights
AgentOps 3.1 is the packaging-and-gate-discipline minor on top of the hookless 3.0 core: the release pipeline itself became the product. Three things hardened together — the release gate moved native (the inline bash checks were ported to a single Go gate that the pre-push hook runs as the release authority, with workflow-parity enforcement so a check can't pass locally while drifting in CI), close-admission tightened (the verdict gate now counts distinct validator families with author exclusion, so a self-graded "looks good" no longer admits a close), and the skill corpus was canonicalized (ghost skills materialized into the tree, registries and counts regenerated from one source, and bundled image copies forced back to byte identity). On top of that discipline, the three image recipes (Claude, Codex, and Gemini/AGY) ship as real, smoke-proven install paths. See docs/3.1.md for the full narrative.
Upgrade Notes
- No manual action required. Existing installs upgrade in place —
brew upgrade agentopsor re-run the install one-liner for your runtime. - New: pin the Claude marketplace install to a tagged release with
scripts/install-claude.sh --ref v3.1.0(orAGENTOPS_INSTALL_REF=v3.1.0), matching the existinginstall-agy.shbehavior. - Operators new to Day-2 care should read docs/install-day2-ops.md — install, update, backup, permission repair, recovery, and escalation across Claude, Codex, and Gemini/AGY.
At a Glance
| Product Area | Added | Changed | Refactored | Fixed | Deprecated/Removed |
|---|---|---|---|---|---|
| Install, Upgrade, and Distribution | 3 | 2 | 0 | 1 | 0 |
| CLI and Operator Commands | 2 | 0 | 0 | 0 | 0 |
| Daemon, Scheduling, and Factory | 1 | 0 | 0 | 0 | 0 |
| Skills and Workflows | 0 | 1 | 0 | 2 | 0 |
| Codex and Runtime Integrations | 0 | 0 | 0 | 1 | 0 |
| Knowledge Flywheel, Search, and Memory | 1 | 0 | 0 | 0 | 0 |
| Eval, Validation, and Release Gates | 1 | 2 | 0 | 1 | 0 |
| Docs and Onboarding | 1 | 0 | 0 | 0 | 0 |
Product Areas
Install, Upgrade, and Distribution
- Added: Installable image artifacts for the 3.1 runtime set — Claude (marketplace installer wrapper), Codex (native plugin curl installer), and Gemini/Antigravity (curl installer that validates and installs
images/geminithroughagy plugin); the recipes are materialized asimages/{claude,codex,gemini}/(manifest,README.md,verify.sh). - Added: Claude installer release-pinning —
scripts/install-claude.shaccepts--ref <ref>(orAGENTOPS_INSTALL_REF) to pin the marketplace source to a tagged release, reaching parity withinstall-agy.sh. - Added: Claude image version guard —
images/claude/verify.shasserts.claude-plugin/plugin.jsondeclares the expected release version, so a stale-version drift in the marketplace manifest fails the gate. - Changed: Push-to-main cockpit doctrine — the publish workflow was rewritten for push-to-main with a concurrency-scoped push lock (
push-serial.sh), and dead merge-machinery scripts were deleted. - Changed: Local validation is the release authority — local-CI was made viable as a DSR fallback when GitHub Actions quota is exhausted.
- Fixed: Distribution install contract aligned — the
agentops-core.distribution-install-updatecanary was failing on main; the contract was realigned soclaude plugin updateand the install/update path stay green.
CLI and Operator Commands
- Added:
ao skills resolve— a MECE corpus audit that reports skill overlap and coverage gaps so the corpus can be kept mutually-exclusive / collectively-exhaustive. - Added:
ao gate checkis now the pre-push release authority — the native Go gate the pre-push hook runs before any push to main.
Daemon, Scheduling, and Factory
- Added:
ao refinerybackstop daemon — a refinery surface for the gate/registry regeneration path, with a regeneratedcli-skills-map.
Skills and Workflows
- Changed: Skill corpus canonicalized — 4 ghost
codebase-*skills materialized into the tree and registered across catalog surfaces; explicit "Use-when" triggers added to weak-trigger skills;using-ntmrenamed tousing-atm; and the 2026-06-10 operational lessons encoded into the canonical skills. - Fixed: Gemini image bundle drift — refreshed the bundled Gemini/AGY
SKILL.mdcopies soimages/gemini/verify.shproves byte identity against the canonical source corpus; the residualvalidateandvibing-with-ntmdrift was resynced so bothimages/gemini/verify.shandscripts/validate-agy-plugin.shpass. - Fixed: Skill-auditor pass-1 gated on heal-strict, and post-merge skill lint drift was repaired.
Codex and Runtime Integrations
- Fixed: Removed Claude
--printprobes from headless paths — the headless checks and the team-runner path no longer shell out toclaude --print(LAW 0 compliance).
Knowledge Flywheel, Search, and Memory
- Added: Installer smoke proof covers all three image paths —
tests/install/test-install-smoke.shchecks the Claude, Codex, and Gemini/AGY one-liners without invoking vendor runtimes (measured: 45 passed, 0 failed).
Eval, Validation, and Release Gates
- Added: Go gate workflow coverage and parity reporting — the gate reports which CI workflows back each check and requires workflow parity, so a locally-green check that has drifted out of CI fails the gate.
- Changed: Pre-push gate flipped to the native Go gate — the inline bash checks were ported to native Go checks and the pre-push hook now runs
ao gate checkas the release authority; local validation is the routine shipping path and GitHub Actions is an optional/manual backstop. - Changed: Release notes are now a hard gate — the publisher requires a curated
docs/releases/*-notes.mdfile that passes the shape and coverage validator before GoReleaser runs. - Fixed: Verdict gate now enforces distinct validator families and author exclusion —
council_judgecounted files rather than distinct families and did not exclude the author, so a self-graded verdict could admit a close (LAW-3 gap);tickVerdictIdentityandtickCouncilGatenow record the author/judge/program/model family and enforce the family-count check.
Docs and Onboarding
- Added: Day-2 install operations are productized —
docs/install-day2-ops.mdgives operator guidance for install, update, backup, permission repair, recovery, and escalation across Claude, Codex, and Gemini/AGY.
Known Issues
- No release-blocking known issues.
Full changelog
AgentOps 3.1 is the packaging-and-gate-discipline minor on top of the hookless 3.0 core. The headline is not a new feature — it is that the release pipeline itself became the product. Three things hardened together: the release gate moved native (the inline bash checks were ported to a single Go gate that the pre-push hook runs as the release authority, with workflow-parity enforcement so a check can't pass locally while drifting in CI); close-admission tightened (the verdict gate now counts distinct validator families with author exclusion, so a self-graded "looks good" no longer admits a close); and the skill corpus was canonicalized (ghost skills materialized into the tree, registries/counts regenerated from one source, and bundled image copies forced back to byte identity with that source). On top of that discipline, the three IMAGE-CORE recipes (Claude / Codex / Gemini-AGY) ship as real, smoke-proven install paths. See docs/3.1.md for the release narrative.
Added
- Installable image artifacts for the 3.1 runtime set. Claude Code now has a dedicated marketplace installer wrapper, Codex keeps the native plugin curl installer, and Gemini/Antigravity now has a curl installer that validates and installs
images/geminithroughagy plugin. The three documented one-liners are in README §Install; the recipes are materialized asimages/{claude,codex,gemini}/(each with a manifest,README.md, andverify.sh). - Day-2 install operations are productized. Added docs/install-day2-ops.md — operator guidance for install, update, backup, permission repair, recovery, and escalation across Claude, Codex, and Gemini/AGY (the AT&O "make Day-2 part of the product, not an afterthought" doctrine).
- Installer smoke proof covers all three image paths.
tests/install/test-install-smoke.shchecks the Claude, Codex, and Gemini/AGY one-liners without invoking vendor runtimes (measured: 45 passed, 0 failed). - Claude installer release-pinning.
scripts/install-claude.shnow accepts--ref <ref>(orAGENTOPS_INSTALL_REF) to pin the marketplace source to a tagged release (e.g.v3.1.0), reaching parity withinstall-agy.sh. - Claude image version guard.
images/claude/verify.shnow asserts.claude-plugin/plugin.jsondeclares the expected release version (default3.1.0, override viaAGENTOPS_EXPECTED_VERSION), so a stale-version drift in the marketplace manifest fails the gate. ao skills resolve— MECE corpus audit (c9c3e2706). Reports skill overlap and coverage gaps so the corpus can be kept mutually-exclusive / collectively-exhaustive.ao refinerybackstop daemon (cba058c6a, ag-qidx) — a refinery surface for the gate/registry regen path, with acli-skills-mapregenerated for it.- Go gate workflow coverage + parity reporting (
390695b65,281d46d34,283e60e78) — the gate now reports which CI workflows back each check and requires workflow parity, so a locally-green check that has drifted out of CI fails the gate.
Changed
- Pre-push gate flipped to the native Go gate (
c97efcc36PB2,efbcf7e90,ca9366ccb) — the inline bash checks were ported to native Go checks (643e7ade1,b720a72cd,bcaae4b02,5b93b4814,6814e377c— PB1 batches) and the pre-push hook now runsao gate checkas the release authority. Local validation is the routine shipping path; GitHub Actions is an optional/manual backstop. - Push-to-main cockpit doctrine (
d90ff1d09,0f501beae,a023dc4df) — workflow rewritten for push-to-main with a concurrency-scoped push lock (push-serial.sh); dead merge-machinery scripts deleted. - Local validation is the release authority (
3d4fc1299,ac5664c56, ag-3l86) — local-CI made viable as a DSR fallback when GitHub Actions quota is exhausted. - Skill corpus canonicalized + triggers added. 4 ghost
codebase-*skills materialized into the tree and registered across catalog surfaces (dd34f8688,584701af8,61421cdb9,0580f7303,cp-801l); explicit "Use-when" triggers added to weak-trigger skills (5cdd8e792,5895422cd,e0932310d);using-ntmrenamed tousing-atm(5c4e7f07a); 2026-06-10 operational lessons encoded into 4 canonical skills (d286a5fc2).
Fixed
- Verdict gate now enforces distinct families + author exclusion (
ef63eec78(cherry-pick of 5f7120ff6),d6576b359,94181cc89,9c1398671) —council_judgecounted files, not distinct validator families, and did not exclude the author; a self-graded verdict could admit a close (LAW-3 gap).ef63eec78addstickVerdictIdentity(author, judge name, judge program, judge model family) and thetickCouncilGatefamily-count check totick.go;d6576b359/94181cc89/9c1398671seal the skill-edit contract surfaces that the gate now audits. - Removed Claude
--printprobes from headless paths (267f378a0,dee7a3502, ag-eli0) — the headless checks and the team-runner path no longer shell out toclaude --print(LAW 0 compliance). - Distribution install contract aligned (
29b919f92) — theagentops-core.distribution-install-updatecanary was failing on main; the contract was realigned soclaude plugin updateand the install/update path stay green. - Gemini image bundle drift (
3e0f8f4e8,0e5d07211) — refreshed the bundled Gemini/AGYSKILL.mdcopies soimages/gemini/verify.shproves byte identity against the canonical source corpus. The residualvalidateandvibing-with-ntmdrift left by the 2026-06-10 4-skill lesson encoding was resynced so bothimages/gemini/verify.shandscripts/validate-agy-plugin.shpass byte-identity. - Skill-auditor pass-1 gated on heal-strict (
dbc2a6466); post-merge skill lint drift repaired (f784d2842).
Full Changelog: v3.0.1...v3.1.0