Repository navigation
Update agent-sh/agnix action to v0.58.0 - #78
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
yegor256
approved these changes
Jul 3, 2026
Member
|
@rultor please, try to merge, since 9 checks have passed |
renovate
Bot
force-pushed
the
renovate/agent-sh-agnix-0.x
branch
from
July 4, 2026 16:55
e0db621 to
378e566
Compare
renovate
Bot
force-pushed
the
renovate/agent-sh-agnix-0.x
branch
from
July 4, 2026 21:15
378e566 to
8539886
Compare
renovate
Bot
force-pushed
the
renovate/agent-sh-agnix-0.x
branch
from
July 5, 2026 01:04
8539886 to
ee64795
Compare
renovate
Bot
force-pushed
the
renovate/agent-sh-agnix-0.x
branch
from
July 15, 2026 14:56
ee64795 to
7e0b15b
Compare
renovate
Bot
force-pushed
the
renovate/agent-sh-agnix-0.x
branch
from
July 16, 2026 08:36
7e0b15b to
c3f6d53
Compare
renovate
Bot
force-pushed
the
renovate/agent-sh-agnix-0.x
branch
from
July 16, 2026 12:44
c3f6d53 to
858e879
Compare
renovate
Bot
force-pushed
the
renovate/agent-sh-agnix-0.x
branch
from
July 26, 2026 00:36
858e879 to
3e41687
Compare
renovate
Bot
force-pushed
the
renovate/agent-sh-agnix-0.x
branch
2 times, most recently
from
July 31, 2026 01:06
7fd9fd3 to
b2d74d7
Compare
renovate
Bot
force-pushed
the
renovate/agent-sh-agnix-0.x
branch
from
July 31, 2026 10:48
b2d74d7 to
d8dcafa
Compare
renovate
Bot
force-pushed
the
renovate/agent-sh-agnix-0.x
branch
from
July 31, 2026 18:11
d8dcafa to
4677126
Compare
renovate
Bot
force-pushed
the
renovate/agent-sh-agnix-0.x
branch
2 times, most recently
from
August 5, 2026 14:57
ed95067 to
447daac
Compare
renovate
Bot
force-pushed
the
renovate/agent-sh-agnix-0.x
branch
from
August 9, 2026 00:38
447daac to
49131eb
Compare
renovate
Bot
force-pushed
the
renovate/agent-sh-agnix-0.x
branch
from
August 27, 2026 07:59
d00a925 to
37b7206
Compare
renovate
Bot
force-pushed
the
renovate/agent-sh-agnix-0.x
branch
from
August 27, 2026 17:34
37b7206 to
621d4da
Compare
renovate
Bot
force-pushed
the
renovate/agent-sh-agnix-0.x
branch
from
September 6, 2026 00:50
621d4da to
d167884
Compare
renovate
Bot
force-pushed
the
renovate/agent-sh-agnix-0.x
branch
from
September 14, 2026 04:36
d167884 to
f8048d3
Compare
renovate
Bot
force-pushed
the
renovate/agent-sh-agnix-0.x
branch
from
September 16, 2026 13:01
f8048d3 to
e143fdc
Compare
renovate
Bot
force-pushed
the
renovate/agent-sh-agnix-0.x
branch
from
September 27, 2026 16:58
e143fdc to
a3a69f3
Compare
renovate
Bot
force-pushed
the
renovate/agent-sh-agnix-0.x
branch
from
September 30, 2026 00:02
a3a69f3 to
8a48cca
Compare
renovate
Bot
force-pushed
the
renovate/agent-sh-agnix-0.x
branch
from
October 1, 2026 16:10
8a48cca to
aa82f14
Compare
renovate
Bot
force-pushed
the
renovate/agent-sh-agnix-0.x
branch
from
October 4, 2026 00:45
aa82f14 to
c6f71af
Compare
renovate
Bot
force-pushed
the
renovate/agent-sh-agnix-0.x
branch
2 times, most recently
from
October 5, 2026 21:08
1ed377c to
97bbc9d
Compare
renovate
Bot
force-pushed
the
renovate/agent-sh-agnix-0.x
branch
from
October 6, 2026 15:57
97bbc9d to
fea33fc
Compare
renovate
Bot
force-pushed
the
renovate/agent-sh-agnix-0.x
branch
from
October 8, 2026 16:34
fea33fc to
2a4d22c
Compare
renovate
Bot
force-pushed
the
renovate/agent-sh-agnix-0.x
branch
from
October 16, 2026 14:09
2a4d22c to
5bc462f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
This PR body was truncated due to platform limits.
This PR contains the following updates:
v0.36.2→v0.58.0Release Notes
agent-sh/agnix
v0.58.0Compare Source
Migration
disabled_rules, severity overrides, and explicit rule lists. Generic-instruction advice remains under PE-005; unrelated retirements have no replacement.--fix-unsafe. Review the proposed values first: enabling previously ignored settings can change behavior or security policy. Plain--fixleaves these strings unchanged.Removed
@package.json.CONTEXT.mdis not invalid in an explicit OpenCode instructions list.requiresApprovalorconfirmationfields in MCP tool definitions.tools-to-permissionkey-only migration from OC-DEP-002.Added
match/excludestring arrays and the real user/workspace policy paths.Manualis accepted without claiming CLI invocation support..kiro/hooks/*.jsondocuments validate undernew rules KR-HK-011 (document
versionmust bev1), KR-HK-012 (documentedPascalCase triggers, camelCase 2.x aliases accepted, required
name/trigger/action) and KR-HK-013 (action.typecommand/agentwith a non-empty payload; seconds-based
timeoutwith a sanity ceiling).(
allowedTools,toolsSettings) without apermissionsblock: CLI V3skips such profiles until
/upgrade-agentconverts them.excludedToolsandincludePowers,and the V3 permission capabilities
powerandsandbox_network.idleCompactionin Claude Code settings(key added in v2.1.290, documented by the v2.1.299 release notes).
Fixed
infer, and KR-HK-011 version strings1/1.0; add unsafe OC-DEP-005 cleanup only after manually copying TUI settings. Keep OC-DEP-001 safe and OC-DEP-002 without a key-only fix.project_doc_max_bytes; negative and non-integer values remain invalid.once, output-stylekeep-coding-instructions, and MCPalwaysLoad. Converting ignored strings can activate security-sensitive behavior, so plain--fixleaves them untouched. Other wrong types remain manual corrections.compiled test entry point, isolate the test profile, and check explicit settings.
[tui]options (mouse_scroll_speed,keymap,agents_overview_groupingand the rest of the current schema) and the newroot keys (
goals,cloud,browser_use,computer_useand others).include_environment_context_time,js_repl_node_module_dirs,js_repl_node_pathand the 67 new[features]flags.autoCompactWindowon Claude Code subagent frontmatter (v2.1.296).A non-number is a CC-AG-007 parse error. No range rule: the published
AgentDefinitiontype isnumber, and the 100000-1000000 window is documentedfor settings and
/autocompact, not this field.Changed
managed.policies[].codekey lives ingateway.yaml, which agnix does notvalidate. Refresh the reviewed Claude Code hooks, memory, plugins, skills,
and subagents spec hashes. Hook event names, skill frontmatter fields, plugin
manifest keys, and the four-hop memory import limit are unchanged.
Gemini CLI v0.64.0; refresh the drifted Cline and Cursor spec hashes.
v0.57.0Compare Source
Fixed
pinning diagnostics to the configuration actually loaded.
--ignore-inline-suppressionsandignore_inline_suppressionsfor CI validation.agents to load under their filename when frontmatter is absent or malformed.
Added
Changed
no new validation constraints.
Security
SockJS UUID versions. Upstream braces and sprintf-js advisories remain open.
Changed
OpenCode 1.18.35, Cursor 3.23.23 and Gemini CLI 0.63.0. Refresh the
reviewed Claude Code specification baselines.
v0.56.6Compare Source
Changed
/agnixcommand, the
agnix-agentagent and both agnix skills. Rules are stated oncewith their reasons; the "follow the flow exactly, no deviations" rails are
gone; the
revuto-reviewmerge rule now says not to wait when revuto iscapped. Rule IDs, count phrases, tier lines and config keys are unchanged.
Fixed
and skill wrappers can import files from the project root without REF-001.
Workspace-relative exclusions still apply, and scans stay limited to the
requested paths (#1629).
/agnixreported zero issues when the agent'sAGNIX_RESULTblock wasmissing; it now shows the raw output. The result block now carries the
diagnostics the report table needs.
agnix-agentloaded the skill with the Skill tool. The skill shares its namewith the
/agnixcommand, so that call can load the command and spawn theagent again. The agent now runs the CLI itself.
--targettoclaude-code, while the command andthe CLI default to
generic. The skill now uses the CLI default, and thecommand, agent and skills accept
kiro.v0.56.5Compare Source
Fixed
skill with both invocation flags; preserve the automatic-invocation guard.
Changed
specification baselines after documentation clarifications.
v0.56.4Compare Source
Fixed
and handle the separate SessionEnd settings budget.
explicit older SessionEnd versions. Accept current tools and hook handlers,
and free-form Claude skill metadata without weakening generic metadata checks.
per-request metadata as an uncovered validation surface.
Changed
v0.56.3Compare Source
Fixed
shell chains and interpreter exec form.
preserving real tag locations, fixes and platform guard comments.
HTTPS MCP bundles. Warn about ignored agent
oncefields. Treat plugin semveras optional dependency advice and align fix metadata with emitted edits.
Changed
default after comparing it with nextest.
run lint and merge contracts; external contributions and daily runs keep the
full suite, including doc tests.
v0.56.2Compare Source
Changed
v2.1.288, Codex CLI torust-v0.160.0, Cline tov4.1.22, Cursor to3.23.12, OpenCode tov1.18.34, and Kiro CLI to2.27.0after reviewing current vendor documentation and releases.Fixed
against directory targets.
v0.56.1Compare Source
Fixed
blocks. Command examples such as
dig @192.168.40.4in a bash fence wereread as
@fileimports and reported as errors.fences, fences nested inside a longer fence, indented code blocks and inline
code spans. It shares the fence scanner with
extract_importsinstead oftoggling on triple-backtick lines.
Security
and VS Code lockfiles for GHSA-6j4f-fj2g-mc7p, GHSA-qhr7-859c-m2p7,
GHSA-q2hr-2g5m-vwhr and GHSA-hrr3-gc8f-f4qj. Lock-only, no manifest change.
v0.56.0Compare Source
Changed
plaid-mode, Claude Code tov2.1.285, Codex CLI torust-v0.159.1, Cursor to3.22.12, Gemini CLI tov0.62.0, and OpenCodeto
v1.18.33after reviewing their primary releases. Claude Code adds themanaged-only
allowedProviderspolicy, validated by CC-SET-032; the otherchanges are outside agnix's configuration schemas.
rule bookkeeping and contributor guidance while retaining CLAUDE.md validation
for user projects and fixtures.
pre-push hook. Report per-check timing and fail on missing prerequisites.
scheduled runs.
retaining the security query suite and dependency checks.
v0.55.0Compare Source
Added
would otherwise make the skill silently fail to load.
Fixed
omitClaudeMdsubagent field andvalidates its boolean type through the agent schema.
.cline/rules/now receive the same content andfrontmatter checks as Markdown rules under
.clinerules/.PermissionRequestwhilecontinuing to allow prompt hooks on that event.
amp.runner.autoUpdate.enabled,amp.remoteThreadCreation.enabled, andamp.updates.modesettings keys.ServerConfigname, keeping warning-deniedbuilds clean after the rmcp 3.4 update.
Changed
writing the formula directly to its default branch.
less-noise, Claude Code tov2.1.283, Cline tov4.1.21, Codex CLI torust-v0.157.1, Cursor to3.22.7, Gemini CLI tov0.61.0, Kiro CLI to2.24.0, and OpenCode tov1.18.32after reviewingtheir live releases. The OpenCode and Gemini releases do not change a
validated configuration format.
at v2.87.18, and anthropics/claude-code-action at v1.0.231.
Cursor, and MCP documentation. The Cline rules layout and Claude hook
behavior changes are handled above.
AGENTS.mdfallback and combined-instruction supportto the tracked compatibility surface. Existing AGM and XP rules already
validate the documented file, imports, hierarchy, and size constraints.
v2.1.278, Codex CLI torust-v0.155.1, and Cursorto
3.21.16; refresh the five changed Claude documentation hashes afterreviewing the current vendor sources. The other release changes affect
runtime classifier and reasoning-summary defaults outside validated schemas.
actions/setup-javav6.0.1, andanthropics/claude-code-actionv1.0.226.one-runner-is-now-enough, Claude Code tov2.1.276, Clineto
v4.1.19, Codex CLI torust-v0.155.0, Cursor to3.21.9, and Kiro CLIto
2.22.0after reviewing their primary release notes. Only Amp changed avalidated configuration contract; the other releases cover runtime, UI,
security, model, and session behavior outside the current schemas.
v0.54.0Compare Source
Added
matcherfield on Cursor hook entries as a regexstring, now that the hooks documentation types it as one.
Changed
versionin.cursor/hooks.jsonand checks that it is apositive integer, matching the hooks documentation's per-file options table.
after review. CUR-006 now cites the help-center migration guide, where the
.cursorrulesdeprecation notice moved.v2.1.273, Cursor to3.20.21, Gemini CLI tov0.60.0, and OpenCode tov1.18.31after reviewing their primary releasenotes. The changes are runtime, security, session-restoration, provider, and
cloud-agent updates outside agnix's validated configuration schemas.
rustlsto 0.23.45 to addressRUSTSEC-2026-0285, which allowedselected TLS 1.3 handshake messages at the wrong encryption level.
Fixed
egressAllowlist,egressMode,chromeExecutablePath,enable_testing,image, andbuild.dockerfileContentsfields, and validates their types.v0.53.0Compare Source
Added
maxEffortLevelcaps added inClaude Code 2.1.267.
Changed
features.worktrees,features.unified_exec_tty, and the new TUI preferences.and OpenCode release baselines after reviewing their primary release notes.
Refresh Cursor's hooks specification hash; its documented event and field
contracts remain covered by CUR-010 through CUR-019.
v2.1.263and refresh thecurrent hooks, memory, plugins, skills, and subagent documentation hashes.
The patch release contains reliability fixes only, and the documented
configuration contracts remain covered by existing rules.
v0.52.2Compare Source
Added
managedMcpServers.Changed
Cursor/Copilot spec, and Copilot inventory baselines.
action pins.
Fixed
Changed
CC-SET-030for local-command entries that Claude Code silently skips in
managedMcpServers; accept Codex CLI 0.153'stui.auto_recap,tui.disable_paste_burst, and experimental context-management keys; andrefresh Amp, Cline, Cursor, Kiro, OpenCode, and changed specification hashes.
and refresh the VS Code and docs-site npm lockfiles.
v2.1.258and Codex CLI to
rust-v0.152.1. Their primary notes contain only a macOSlaunch repair, remote-session message replay repair, and Guardian Node REPL
policy fix; neither patch changes a configuration schema agnix validates.
v1.18.26; its primaryrelease notes contain model-provider, replay, timing, patch metadata, Azure
sign-in, and desktop bug fixes, with no change to a configuration surface
agnix validates.
fable-5.1, ClaudeCode to
v2.1.257, Codex CLI torust-v0.152.0, Cursor to3.18.25, andGemini CLI to
v0.58.0after reviewing their current primary release notesand validated configuration surfaces. Refresh the Claude hooks, plugins,
skills, and subagent documentation hashes after confirming the documented
event, manifest, frontmatter, and matcher contracts remain covered by the
existing rules. Claude's new clock and read-boundary preferences are not
correctness constraints agnix currently validates; Codex's package-style MCP
names, per-tool output limits, app-server timeout, and opt-in planning flag
are accepted by the current lenient nested configuration handling. The Amp,
Cursor, and Gemini markers do not change a schema agnix validates.
uuidto 1.26.0, synchronize bothCodeQL steps on 4.37.8, and refresh the pinned setup-java, install-action,
and Claude Code action revisions.
amp-on-ios-and-macos, ClaudeCode to
v2.1.251, Codex CLI torust-v0.151.0, Cursor to3.18.9, OpenCodeto
v1.18.25, and Kiro CLI to2.20.0after reviewing their current upstreamnotes and validated configuration surfaces. Claude Code added the
PreModelSwitchandPostModelSwitchhook events, now accepted by theexisting
CC-HK-001rule; the other releases do not change a schema agnixvalidates. The
Codex research inventory now also records its shared
MCPrule family andaccepted
.yml,.mcp.json,[mcp_servers.*], and managed-environmentrequirements.tomlsurfaces, with parity regression assertions.Fixed
v0tag pushes no longer trigger the release pipeline. Therelease workflow matched every
v*tag, so the manually pushed floatingaction tag ran the entire pipeline with version "0": the semver verification
guards stopped crates.io, npm, PyPI, and VS Code, but a junk GitHub release
was created, a junk Zed update PR was opened, and a version-"0" plugin update
reached the JetBrains marketplace (all three cleaned up the same day; the
marketplace update was deleted via the vendor API). The trigger now matches
only semver-shaped tags (
v[0-9]*.[0-9]*.[0-9]*), which the automatedfloating-tag move never produces - and that move uses
GITHUB_TOKEN, whoseevents do not start workflows anyway.
Fixed
uses: agent-sh/agnix@v0did not resolve. The README, configurationguide, and marketplace snippet all instruct
agent-sh/agnix@v0, but nov0tag or branch has ever existed - every user who copied the documented GitHub
Action snippet got "unable to resolve action". The repo's own CI never
noticed because it exercises the action as
uses: ./. The floating tag nowexists (pointing at v0.52.1) and the release workflow force-moves it to each
new release commit, so the documented ref tracks the latest release the way
major-version action tags are expected to.
Fixed
brew install agnixbuilt v0.18.0from source because nothing told the tap about new releases: the tap's
update-formula.ymllistens for arelease-publisheddispatch that the mainrepository never sent. The tap has been dispatched to v0.52.1 manually, the
vestigial in-repo
Formula/agnix.rbcopy is synced to match, and release.yml nowdispatches the tap directly from a new
homebrewjob. A separaterelease: publishedworkflow could never have worked here: the release ispublished with the default
GITHUB_TOKEN, and events created byGITHUB_TOKENdo not start workflow runs - which is exactly how the driftstayed invisible. The job reuses the existing cross-repo
COMMITTER_TOKEN(already pushing to other repos in the zed and version-docs jobs), so no new
secret is needed; the dispatch shape was verified live against the tap's
update-formula.yml. Manual fallback staysgh workflow run update-formula.yml --repo agent-sh/homebrew-agnix -f tag=<tag>.Changed
section claimed v0.37.3 fifteen releases later; nothing in the bookkeeping
sync touches that line, so it now points at GitHub releases instead of
hardcoding a number that drifts.
v0.52.1Compare Source
Fixed
(#1444,
#1445). The
files:patternin
.pre-commit-hooks.yamlwas^(...)$-anchored with root-level entries, soSKILL\.mdmatched only a repository-root SKILL.md - a skill at its normal.claude/skills/<name>/SKILL.mdlocation, a nestedAGENTS.md, a pluginmanifest, or a scoped Copilot instruction file never reached agnix, and the
hook reported Passed with nothing validated. The pattern now covers
every tool-scoped path shape
file_types/detection.rsrecognizes: thefilename-based entries (
SKILL.md, theCLAUDE.md/AGENTS.mdvariants,GEMINI.md,plugin.json,mcp.json,*.mcp.json,mcp-*.json,opencode.json{,c},gemini-extension.json, the.cursorrules,.clinerules,.roorules/.roomodes/.rooignore, and.windsurfruleslegacy files) match at any depth via a shared
(?:.*/)?prefix, and the.claude,.github,.cursor,.codex,.gemini,.amp,.agents,.roo,.windsurf, and.kirodirectory surfaces are enumerated -including
.cursor/rules/**/*.mdso CUR-020 can flag plain-markdown rulesCursor silently ignores. Also covers plugin
hooks/hooks.jsonat any root, bareagents/directories (which detectionvalidates as agent configs,
agents/README.mdincluded),.kiro/settings.json,and the undotted
codex/requirements.tomlsystem surface - while deliberatelynot matching
.codex/requirements.toml, which Codex does not read. Verifiedagainst the 149 concrete paths in
detection.rs's own tests; the onlyremaining exclusions are deliberate: detection's loose fallback arms outside a
tool directory (a bare
settings.json,hooks.json,environment.json,POWER.md, orrequirements.tomlanywhere), uppercase directory spellings,and generic markdown. Verified end to end: a repo with a nested skill, a
package-level AGENTS.md, GEMINI.md, and a scoped instruction file - all
invisible to the old pattern - now produces their diagnostics through the
hook.
v0.52.0Compare Source
Changed
(#1439). The three hooks in
.pre-commit-hooks.yamlmove fromlanguage: systemtolanguage: python,so
pre-commitandprekcreate a virtualenv and pull theagnixwheel thatmatches the pinned
revinstead of requiring a manualcargo installonPATH. This is what the new PyPI distribution makes possible. A root
pyproject.tomlexists solely for that install: pre-commit clones the repoand
pip install .s it, so the clone has to be pip-installable, and this shimdeclares the matching
agnix==<version>as its only dependency.scripts/sync-versions.shmoves the shim's version and its pin together, so ahook pinned at
rev: vX.Y.Zalways runs agnix X.Y.Z. Platforms without awheel can still pin
language: systemin their own config, which theconfiguration guide now documents.
Added
feedbackDraftssetting(#1435). Claude Code v2.1.247
added the
SendFeedbacktool and thefeedbackDraftssetting that governs it.The setting is a string enum -
notify,quiet, oroff- so the naturalguess of a boolean silently leaves the default
notifyin place. Flags anyvalue outside the documented enum.
spinnerTipsOverrideshape(#1435). v2.1.247 extended the
key with tip objects (
id,text,cooldownSessions,priority),tipsFile,and
label. Claude Code drops an invalid tip with a debug warning instead ofrejecting the file, so a malformed tip is simply never shown. Validates the
object's fields, each tip entry, the documented
id/textlimits, the0-1000and-10-10numeric ranges, the 40-characterlabelcap, andthat
tipsFileis absolute or~/-rooted.nameas a kebab-case identifier with no spaces, and v2.1.247 hardenedmarketplace handling to reject names containing control or invisible
characters. Those fail kebab-case by construction, so this catches them before
a plugin reaches a marketplace.
Fixed
SendFeedbackandListAgentsreported as unknown tools(#1435).
KNOWN_AGENT_TOOLShad not been refreshed since 2026-07-31, so CC-AG-009/010 flagged two
documented built-in tools -
ListAgentsfrom Claude Code v2.1.224 andSendFeedbackfrom v2.1.238 - as invalid names in an agent'stoolsordisallowedToolslist. Diffed the whole list against the live tools reference,and these were the only two missing.
Changed
#1435,
#1436,
#1437). Claude Code
v2.1.246tov2.1.247, Clinev4.1.15tov4.1.16, and Codex CLIrust-v0.149.1torust-v0.150.0. Cline's release moves hook workspaceresolution from shared global state to the VS Code window, which changes
runtime behaviour rather than any validated file contract. Codex adds an
Interrupthook event; CDX-PL-013 validates hook shape without an event-nameallowlist, so nothing false-positives, and the missing allowlist is recorded in
RESEARCH-TRACKING along with the uncovered
spinnerVerbssetting.Fixed
which the watcher degrades silently to "post the raw changelog": the
GLM_API_KEYsecret had expired, andscripts/glm-extract.jsran with anoutput budget too small for a thinking model. Reasoning tokens are drawn from
the same
max_tokensbudget as the answer, so at 4096 the model intermittentlyspent the entire budget reasoning and returned
finish_reason: "length"withempty
content(reproduced at 1 failure in 3 runs, 4095 of 4096 tokens onreasoning).
MAX_TOKENSis now 32768, roughly six times the 1.9k-5.2kreasoning observed on real triage prompts, and thinking stays enabled because
it measurably improves the "does this touch a validated config surface?"
judgement. The default model is now named
glm-5.3explicitly rather thanrelying on the endpoint's
glm-5alias, so an alias move cannot change triagebehaviour silently. The empty-content error now also reports
finish_reason,reasoning size, and usage instead of just "empty content", and
scripts/glm-extract.test.js- which no workflow ran - is now part of CI.v0.51.0Compare Source
Added
pip install agnixanduvx agnix .now work. Thewheels in
pypi/bundle the release binary for each supported target(manylinux and musllinux x86_64, manylinux aarch64, macOS Apple silicon,
Windows x86_64), so there is no Rust toolchain to install and nothing is
downloaded after install.
python -m agnixand a small Python API(
agnix.run,agnix.lint,agnix.version) mirror the Node wrapper.pypi/build_wheels.pyrepacks the archives the release already built andverified against their
.sha256sidecars, deriving each manylinux tag fromthe binary's own glibc symbol references rather than a hardcoded floor.
(#1346). IntelliJ on Windows
can now run
agnix-lspfrom inside a WSL distribution for projects that livein WSL, without Remote Development. The plugin launches an argument-safe
wsl.exe --distribution <name> --exec <path>command, maps document andworkspace URIs at the LSP boundary, validates configuration, and skips the
host-local binary installer. Native launches remain unchanged.
Changed
#1426,
#1427,
#1428,
#1429). Advanced Claude Code
from
v2.1.245tov2.1.246, Cursor from3.17.19to3.17.21, and amp fromfriendly-urls-for-sharing-orbstosetup-without-a-commit, and re-baselinedthe eight drifted spec sources (Claude Code hooks/skills/plugins-reference;
Cursor rules/hooks/subagents/mcp and the environment schema). Reviewing all
eight against the rules they back found no contract change that agnix asserts
incorrectly: Claude Code's 31 known hook events still cover every event the
hooks reference documents, the skill frontmatter allowlist still covers all 20
documented fields, the plugin path-bearing keys remain a superset of the
documented table, Cursor's hook events (including the still-supported
beforeShellExecution/beforeMCPExecution) and per-script options areunchanged, subagent frontmatter and model-parameter syntax still validate, the
environment schema's property set still matches
ALLOWED_ROOT_FIELDS, andneither MCP nor hook entries reject unknown fields, so newly documented keys
cannot produce false positives. Coverage gaps the review surfaced (upstream's
new wildcard-permission warning, unvalidated
keybindings.json, Cursor'snow-required MCP
typeand STDIO-onlyenvFile) are recorded inRESEARCH-TRACKING. amp's release stores pre-clone and pre-setup scripts in
server-side project settings rather than any validated file. Cline
(
v4.1.16) and Codex (rust-v0.150.0) published after those issues wereopened and are deliberately left at their previous baselines so the watcher
files their own triage issues.
v2.1.243tov2.1.245and OpenCode fromv1.18.22tov1.18.23after reviewing theirlive release notes. Claude Code's change is a Linux glibc 2.44 startup-crash
fix; OpenCode's changes fix Cloudflare AI Gateway routing, Anthropic model
slugs, parent-session headers, and immutable-OIDC GitHub auth. None changes
an agnix-validated configuration contract. Advanced Gemini CLI from
v0.56.0to
v0.57.0; its changes affect OAuth redirects, IDE and Git worktree state,runtime retry and cancellation behavior, agent enablement, and command help,
without changing an agnix-validated configuration contract.
Fixed
npm/README.mdadvertised405 rules against a canonical 451, and no automation covered it, so the number
had drifted for several releases and was copied into the new PyPI README.
Corrected, and both wrapper READMEs are now in
sync-rule-bookkeeping.js'sCOUNT_FILESso CI fails on the next drift.v0.50.0Compare Source
Added
CC-SET-025for theuser-or-managed
modelPickerscope and documented option shape,CC-SET-026for thepromptCacheTtlenum, andCC-SET-027for thesubagentPromptCacheTtlenum.Changed
v2.1.243, Codex CLI torust-v0.149.1, Cursor to3.17.19, and OpenCode tov1.18.22. AcceptCodex's new
compaction_image_budgetfeature flag; the remaining releasechanges outside the three Claude settings above do not alter a validated
configuration contract.
v4.1.15and Amp tofriendly-urls-for-sharing-orbsafter reviewing the intervening live releasenotes. The changes affect runtime MCP approval behavior, model metadata,
telemetry, and shared-orb URLs, not an agnix-validated configuration contract.
v2.1.241, Cline tov4.1.13, OpenCode tov1.18.21, and Amp toexplain-usageafter reviewingthe live releases against agnix's validated configuration surfaces. Refresh
all CodeQL action pins to
v4.37.7; these pins move together to avoid theaction's mixed-version configuration failure.
plugins, skills, and subagent documentation hashes. The current documented
hook lifecycle and configuration surfaces are already represented by the
existing schemas and rule families, so no validator rule changes are needed.
CUR-016for the publisheddisableAllMcpServersandmcpServerAllowlistfields, including HTTP andstdio server identities, optional tool allowlists, and closed-field checks.
v2.1.238, Codex CLI torust-v0.149.0, Cursor to3.17.8, Kiro CLI to2.19.0, Gemini CLI tov0.56.0, OpenCode tov1.18.19, and Amp tomcp-in-orbs. Apart from theCursor schema change above, the reviewed releases do not change an
agnix-validated configuration contract.
Fixed
format!callthat is now rejected by
clippy::useless_format.elicitation_url_dialogmatcher instead of reporting it as invalid, andadvance the reviewed Claude Code hooks, memory, plugins, skills, and
subagent specification baselines.
hashes with the sentinel's trailing-newline normalization so those sources
do not immediately re-report drift.
h2from 0.4.13 to 0.4.16 to addressRUSTSEC-2026-0258 (unbounded empty DATA frames).
Changed
v2.1.232tov2.1.235, Cline fromv4.1.9tov4.1.10, and Amp's release marker fromglobal-plugins-and-skillstoedu-discount. These releases do not changean agnix-validated configuration surface, so no validator or rule update is
required.
v0.49.0Compare Source
Added
sandbox.ripgrep(#1358). Claude Code
v2.1.232 honors the sandbox ripgrep binary only from user settings, managed
settings, and the
--settingsflag, so a value in a repository's.claude/settings.jsonor.claude/settings.local.jsonis silently ignored.agnix now warns on that dead override and points at the scopes that still
apply. User and managed settings are unaffected.
Changed
tracked releases for Kiro CLI (
2.17.0to2.18.0), OpenCode (v1.18.17tov1.18.18), Claude Code (v2.1.229tov2.1.232), Cline (v4.1.8tov4.1.9), and Cursor (3.15.19to3.16.17). Only the Claude Code and KiroCLI releases touched a validated surface; the OpenCode, Cline, and Cursor
deltas were bookkeeping only.
AGENTS.mdsteering (#1356). Kiro CLI 2.18.0loads nested
AGENTS.mdfiles as steering context from anywhere in theworkspace tree, so the tool inventory and release baseline now list
AGENTS.mdand theagents_mdvalidator (AGM rules) for Kiro. No validationbehaviour change - agnix already validated those files.
v0.48.1Compare Source
Changed
Claude Code (
v2.1.226tov2.1.229), OpenCode (v1.18.15tov1.18.17),Kiro CLI (
2.16.0to2.17.0), Cline (v4.1.6tov4.1.8), Cursor(
3.15.6to3.15.19), Gemini CLI (v0.54.4tov0.55.1), and amp (newsmarker
size-the-orbs-of-productiontoglobal-plugins-and-skills), plus thecursor-environmentspec hash. Registered theoutput_style,gemini_agent,and per-client skill validators in the tool inventory and filled in the
matching config surfaces and rule prefixes (
CC-OS,MCP,OC-SK,CR-SK,GM-AG) inknowledge-base/RESEARCH-TRACKING.md. Watcher bookkeeping only -no validation behaviour changes.
Fixed
by top-level
excludeor[files].excludewhen calculating the 8 MB skilldirectory total, while continuing to validate the rest of the skill.
line (#1368). The
workspace root came from the parent of the first path, so a file in a
subdirectory listed first became the root and
CLAUDE.md's root-relative@importswere reported as escaping the project. Since pre-commit passesmatched files in sorted order,
.claude/...sorted ahead ofCLAUDE.mdandthe same tree passed or failed depending on argument order. The root is now
the deepest common ancestor of every path, walked up to the nearest
.gitor.agnix.tomlmarker, so results no longer depend on argument order or onwhich files a commit happens to touch.
(#1371). The x86_64 gnu
build ran natively on
ubuntu-latest, so it linked the runner's glibc andfailed at load time with
version 'GLIBC_2.39' not foundon Debian bookworm,RHEL/Rocky 9, and Ubuntu 22.04. Both gnu targets now build through
crossagainst an old sysroot (currently
GLIBC_2.18), a release gate fails thebuild if any binary needs newer than
GLIBC_2.31, andnpm install -g agnixplus
scripts/download.shprobe the downloaded binary and retry with thestatic musl archive when the host cannot load it.
Security
GHSA-5p4m-2wfm-xmqj (quadratic
!!omapcomplexity) and nanoidGHSA-2v37-7h3g-55p8 (zero-size generator loop). Lockfile-only; no manifest
range changes.
v0.48.0Compare Source
Fixed
explicit
nameordescription, validate the documenteddisallowed-toolsfield with the existing Claude tool vocabulary, and parse prompt-hook
continueOnBlockas a boolean.plugins, skills, and subagent documentation hashes after auditing the current
validation contracts.
v0.47.0Compare Source
Added
crossSessionInboundanddialogExpiryenums. Rule count 445 -> 447.Changed
v2.1.226, Codex CLI torust-v0.147.0, OpenCode tov1.18.15, Cline tov4.1.6, Cursor to3.15.6, Gemini CLI tov0.54.4, and Amp's release marker tosize-the-orbs-of-productionafter reviewing their current validated surfaces.rmcpto3.1.2,ignoreto0.4.33, andsimilarto3.1.2.actions/setup-nodeto7.0.0,github/codeql-actionto4.37.6,softprops/action-gh-releaseto3.0.2, andactions/attestto4.2.2, keeping synchronized action families and SHA assertions in lockstep.Fixed
decodeandmaskClaims, AWS credential pairs, and SigV4 policies.v0.46.0Compare Source
Added
remoteControlAtStartup: truein project settings; agnix now warns on the ignored value while allowing project-levelfalseand managed settings. Rule count 444 -> 445.Changed
v2.1.222, OpenCode tov1.18.13, Cline tov4.1.4, Cursor to3.14.27, the Agent Skills specification to217be548739f, and Amp's release marker toattach-anythingafter reviewing their current release notes and validated configuration surfaces (closes #1311, #1312, #1313, #1316, #1317, #1318, and #1319).Fixed
allowPlaintextInject; accept mask-only fields that Claude Code ignores ondenyentries; accept the newly documentedskills: "."plugin-root path under CC-PL-007.metadataand metadata entries with non-string keys or values, matching the clarified Agent Skills specification instead of silently coercing YAML scalars.Security
v0.45.0Compare Source
Added
.cursor/rules/must use.mdc; plain.mdfiles are ignored. agnix reports the silent failure and suggests renaming the file. Rule count 443 -> 444.Fixed
composer-2.5[]andclaude-opus-5[effort=high]; validate prompt hooks as non-empty strings; accept comments and enforce the full publishedenvironment.jsonschema; and infer HTTP transport for documented URL-only servers in.cursor/mcp.json, including MCP-017 HTTPS enforcement for remote endpoints (closes #1306).2026-07-28, compare newly detected MCP releases directly, and add Cursor MCP documentation to drift coverage (closes #1305).Changed
3.14.7, Gemini CLI tov0.53.1, and Kiro CLI to2.16.0after reviewing their validated configuration surfaces. Gemini's patch is error-reporting only; Kiro adds/tangentand context display without changing persisted config (closes #1307, #1308).v0.44.0Compare Source
Added
project_doc_max_bytescap is cumulative across the instruction chain, not per-file - it "stops adding files once the combined size reaches the limit". XP-007 checks eachAGENTS.mdin isolation, so a project split across several mid-size files was truncated with no diagnostic at all. The new project-level rule builds the chain the way Codex discovers it (root down, at most one file per directory,AGENTS.override.mdbeforeAGENTS.md), sums root-first, and reports on the file where the running total crosses the limit - that file and everything deeper is what Codex drops. Rule count 442 -> 443 (closes #1289).argson command hooks. The exec-form field - "When present,commandis resolved as an executable and spawned directly withargsas the argument vector, with no shell involved" - was absent from the schema, so it was silently ignored and two rules could not tell exec form from shell form.Removed
context: forkhad noagentfield and shipped an unsafe autofix insertingagent: general-purpose. The skills reference states "Theagentfield specifies which subagent configuration to use... If omitted, usesgeneral-purpose", so the rule demanded that users restate a default the tool already applies. Rule count 443 -> 442.Setuphook event was deprecated in favor ofSessionStartand shipped an unsafe autofix that rewrote the event key.Setupis not deprecated: it is documented as a current event that fires on--init-onlyand on--init/--maintenancein-pmode, with its own matcher set (init,maintenance), exit-code row, and decision-control entry.SessionStartfires on every session begin/resume, so applying the "fix" silently changed when a hook ran. The rule cited no upstream deprecation notice when it was added. Rule count 444 -> 443. Follows the origin-less-rule removal precedent from PR #979.Fixed
excludeAgentvalue and autofixed it wrong. The valid values arecode-reviewandcloud-agent; agnix listedcoding-agent, which was never upstream - so the doc's own value errored, and the unsafe autofix rewrote a correct value into the invalid one.coding-agentis retained as a deprecated alias so configs written against agnix's previous wrong advice keep validating, reported at info level rather than accepted silently, and kept out of the autofix candidate list so the fixer can never write it. Fixed across the validator, all 12 locale files, bothrules.jsoncopies, and the knowledge-base docs.applyTo. "You can specify multiple patterns by separating them with commas", withapplyTo: "**/*.ts,**/*.tsx"as the doc's own example. The whole string went toglob::Pattern, so every such config errored. A correct brace/bracket-aware splitter already existed with 18 passing tests but was marked#[allow(dead_code)] // reserved for future useand never called.globs. Same class as COP-003, same upstream wording ("Separate multiple patterns with commas"). This one was intermittently wrong, which is why it survived: the doc's literal exampledocs/**/*.md, docs/**/*.mdxhappens to parse as one pattern, whilesrc/**, tests/**does not.versionin.cursor/hooks.json. It is documented with a default of1and several of the doc's own examples omit it. Now optional, and type-checked as a number (not an integer) only when present.commandon prompt hooks. "Prompt hooks use an LLM to evaluate a natural language condition" and carrypromptinstead - the doc's example has onlytype,prompt,timeout. CUR-018 already checkedpromptfor those.installin.cursor/environment.json. The published schema has norequiredarray at all (definitions.common) andrequired: [](definitions.container), and the setup page's own snapshot example omitsinstall. Terminal entries now require onlycommand(name/descriptionare optional per bothoneOfbranches, and the array branch is accepted), andupdate- absent from the schema, which setsunevaluatedProperties: false- is reported as renamed toinstallrather than accepted as valid.timeoutsuggestions said milliseconds. The option is "Execution timeout in seconds"..mdcfiles.ClaudeMdValidatoris registered forFileType::CursorRulefor its generic prose checks, so a.cursor/rules/*.mdcfile was reported asCLAUDE.md has N non-empty lines, exceeding the recommended 200 line limit- wrong filename, wrong threshold (Cursor documents 500), wrong tool attribution. Now scoped to Claude memory files.docs.github.com/en/copilot/customizing-copilot301-redirects and `docs.clinConfiguration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.