Added
- OC-DEP-007: Deprecated Reference Field. The published OpenCode schema marks the top-level
referencekey as@deprecated Use 'references' field instead; the new rule warns and offers a safe autofix rename. Rule count increased from 443 to 444.
Fixed
- JetBrains
SKILL.mdhighlighting. RegisterSKILL.mdwith the bundled Markdown language and declare the Markdown plugin dependency, restoring syntax highlighting and Markdown editor features in supported JetBrains IDEs. - Codex 0.146 config compatibility. Accept
shell_environment_policy.filters, validate itsinclude/excludeactions and legacy-list conflicts, recognize the four new feature flags, validate structuredfeatures.non_prefixed_mcp_tool_names, and refresh the managedrequirements.tomlallowlist without the removedallowed_permissionskey. - Codex Agent Plugins compatibility. Recognize schema-discriminated Agent Plugins 1.0 root
plugin.jsonmanifests, validate required metadata types, inspect Codexapps,hooks, andinterfacefields underextensions.com.openai, accept all supported hooks forms, stop after unsupported schemas, and avoid Claude plugin location false positives. - OpenCode MCP environment validation. Validate local server
environmentmaps as string-to-string objects and reject the unsupportedenvspelling that OpenCode ignores. - Cursor
workspaceOpenhooks. Recognize the documented hook event without a CUR-011 unknown-event warning. - Rule-count bookkeeping now covers every file CI validates.
scripts/check-rule-counts.pyenforced the rule total in 13 locations thatscripts/sync-rule-bookkeeping.jsnever wrote — the six editor/website docs, the per-category tables inknowledge-base/INDEX.mdandknowledge-base/VALIDATION-RULES.md, and theSPEC.mdtable — so every rule addition failed the "Rule count table check" step until someone hand-patched the numbers. The checker gained a--fixmode (it already owns the category-to-label maps, so duplicating them in the sync script would have guaranteed drift) and the sync script now invokes it. The Auto-Fix column is also validated for the first time, which surfaced pre-existing drift: Claude Skills read 13 against 11 autofixable rules. - Deprecated-key autofix no longer produces a duplicate key. OC-DEP-001/002/003 (and the new OC-DEP-007) offered a rename fix unconditionally, so running
--fix-safeon a config that already contained the replacement key emitted both:{"mode": "agent", "agent": {}}became{"agent": "agent", "agent": {}}. The rename is now only offered when the replacement key is absent; when both keys are present the diagnostic still fires but carries no fix, since merging the two values is a judgment call about which one wins. - OC-004/OC-CFG-003 false positives on five current OpenCode config keys.
attachment,reference,references,shell, andtool_outputare all present in the publishedhttps://opencode.ai/config.jsonschema but were missing from agnix's known-key allowlist, so each one produced a pair of spurious "unknown config key" warnings on a perfectly validopencode.json. Found by diffing the allowlist against the live schema rather than reading release notes — the notes for v1.18.6/v1.18.7 are desktop-UX only and mention none of these keys.
Changed
- Tool release baselines (2026-07-30 sweep). Advanced Codex CLI to
rust-v0.146.0, OpenCode tov1.18.10, Cursor to3.13.25, Kiro CLI to2.15.0, Cline tov4.0.12, Gemini CLI tov0.53.0, and amp toamp-labs-westpacafter reviewing the validated surfaces (closes #1267 through #1273). - OpenCode release baseline advanced to v1.18.7. v1.18.6 and v1.18.7 contain no changes to a validated config surface (repository cache fix, client-API compatibility, macOS titlebar inset, command palette, project-selector scrolling).