diff --git a/CHANGELOG.md b/CHANGELOG.md index 14026d058..0e2090796 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **Docs drift** - updated validation rule count from 385 to 399 across 20+ user-facing locations: `CLAUDE.md`, `AGENTS.md`, `README.md`, `SPEC.md`, `npm/README.md`, `crates/agnix-lsp/README.md`, `docs/EDITOR-SETUP.md`, Neovim and VS Code editor READMEs, `editors/vscode/package.json`, `editors/zed/README.md`, `knowledge-base/INDEX.md` (5 places), `knowledge-base/README.md`, `plugin/.claude-plugin/plugin.json`, `plugin/commands/agnix.md`, `plugin/skills/agnix/SKILL.md`, `skills/agnix/SKILL.md`, `crates/agnix-mcp/src/main.rs` server instructions (3 places), and website docs (intro, getting-started, contributing). `rules.json` is the source of truth; these human-written references had drifted. - **CONTRIBUTING tone** - `CONTRIBUTING.md` and `website/docs/contributing.md` use first-person singular ("I welcome", "I want to know") since agnix is single-maintainer. Previously used "we" which implied a team. - **Docusaurus** - bumped `@docusaurus/core` and `@docusaurus/preset-classic` from 3.9.2 to 3.10.0. +- **Cline v3.77.0 -> v3.80.0 doc refresh** (#746) - re-verified all 10 Cline rules (CLN-001..006, CLN-009 + CL-SK-001..003; CLN-007/008 are reserved IDs not currently defined) against the upstream `https://docs.cline.bot/features/cline-rules/overview` and `https://docs.cline.bot/features/hooks` docs. The 3-version bump introduced `globalSkills` enterprise remote config with `alwaysEnabled` enforcement (v3.79.0/v3.80.0), removed foreground terminal mode (v3.80.0), added quota-exceeded UI, and fixed long-conversation OOM crashes - none of these touch any on-disk file agnix validates. `globalSkills`/`alwaysEnabled` live exclusively in Cline's `RemoteConfigSchema` (delivered over the network via the enterprise remote-config API), not in `.cline/skills/*/SKILL.md` or `.clinerules/skills/*/SKILL.md` frontmatter. Foreground terminal removal is VS Code extension internals; agnix has no validator for Cline settings files. Verified the v3.77.0 changelog mention "Polish Notification hook functionality" against the official hooks docs - `Notification` is NOT a valid Cline hook event (the 8 valid events match agnix's `VALID_HOOK_EVENTS` exactly: TaskStart, TaskResume, TaskCancel, TaskComplete, PreToolUse, PostToolUse, UserPromptSubmit, PreCompact). No code changes required. Bumped `verified_on` for all 10 Cline rules to 2026-04-22; bumped `RESEARCH-TRACKING.md` "Last Reviewed" for Cline from 2026-02-05 to 2026-04-22; expanded the Config Format column to list all 5 file types Cline validates (was only listing 2) and filled in the Rules column (was `--`). - **Kiro CLI 1.28.3 -> 2.0.1 doc refresh** (#751) - re-verified all 51 Kiro rules (KIRO-* steering, KR-AG-* agents, KR-HK-* hooks, KR-MCP-* MCP, KR-PW-* powers, KR-SK-* skills) against the upstream `https://kiro.dev/changelog/cli/` HTML changelog and the relevant pages under `https://kiro.dev/docs/`. The 1.28 -> 2.0 jump was platform expansion (Windows native, headless mode `KIRO_API_KEY`, TUI graduation, granular tool trust, session settings tool, simplified agent creation) - none of those add fields to any of the 5 Kiro file types agnix validates. Two ambiguous changelog mentions (`availableAgents`/`trustedAgents` from v1.25, `knowledgeIndex` resource type from v1.23/v1.24) were verified against `kiro.dev/docs/cli/custom-agents/configuration-reference` and confirmed NOT to appear in `.kiro/agents/*.json` field lists - they're either global settings or were never shipped as documented config. No code changes required. Bumped `verified_on` for all 51 Kiro rules to 2026-04-22; bumped `RESEARCH-TRACKING.md` "Last Reviewed" for Kiro CLI from 2026-02-05 to 2026-04-22 (also added `.kiro/powers/*/POWER.md` to the Config Format column - it was missing). Discovered: agnix has FIVE Kiro validators, not four - `kiro_power.rs` (KR-PW-001..008) for `.kiro/powers/*/POWER.md` was undocumented in earlier triage briefings. ### Fixed diff --git a/crates/agnix-rules/rules.json b/crates/agnix-rules/rules.json index 459ee9484..3f9db7c2d 100644 --- a/crates/agnix-rules/rules.json +++ b/crates/agnix-rules/rules.json @@ -5125,7 +5125,7 @@ "source_urls": [ "https://docs.cline.bot/prompting/cline-memory-bank#cline-memory-bank-custom-instructions-[copy-this]" ], - "verified_on": "2026-02-09", + "verified_on": "2026-04-22", "applies_to": { "tool": "cline" }, @@ -5153,7 +5153,7 @@ "source_urls": [ "https://docs.cline.bot/features/cline-rules/overview" ], - "verified_on": "2026-03-28", + "verified_on": "2026-04-22", "applies_to": { "tool": "cline" }, @@ -5181,7 +5181,7 @@ "source_urls": [ "https://docs.cline.bot/features/cline-rules/overview" ], - "verified_on": "2026-03-28", + "verified_on": "2026-04-22", "applies_to": { "tool": "cline" }, @@ -5208,7 +5208,7 @@ "source_urls": [ "https://docs.cline.bot/features/cline-rules/overview" ], - "verified_on": "2026-02-09", + "verified_on": "2026-04-22", "applies_to": { "tool": "cline" }, @@ -5235,7 +5235,7 @@ "source_urls": [ "https://docs.cline.bot/features/cline-rules/overview" ], - "verified_on": "2026-02-09", + "verified_on": "2026-04-22", "applies_to": { "tool": "cline" }, @@ -5262,7 +5262,7 @@ "source_urls": [ "https://docs.cline.bot/features/cline-rules/overview" ], - "verified_on": "2026-02-09", + "verified_on": "2026-04-22", "applies_to": { "tool": "cline" }, @@ -5290,7 +5290,7 @@ "source_urls": [ "https://docs.cline.bot/features/cline-rules" ], - "verified_on": "2026-02-13", + "verified_on": "2026-04-22", "applies_to": { "tool": "cline" }, @@ -5318,7 +5318,7 @@ "source_urls": [ "https://docs.cline.bot/features/cline-rules/overview" ], - "verified_on": "2026-03-28", + "verified_on": "2026-04-22", "applies_to": { "tool": "cline" }, @@ -5345,7 +5345,7 @@ "source_urls": [ "https://docs.cline.bot/features/cline-rules/overview" ], - "verified_on": "2026-03-28", + "verified_on": "2026-04-22", "applies_to": { "tool": "cline" }, @@ -5373,7 +5373,7 @@ "source_urls": [ "https://docs.cline.bot/features/cline-rules/overview" ], - "verified_on": "2026-03-28", + "verified_on": "2026-04-22", "applies_to": { "tool": "cline" }, diff --git a/knowledge-base/RESEARCH-TRACKING.md b/knowledge-base/RESEARCH-TRACKING.md index c655b5eba..eaf025c48 100644 --- a/knowledge-base/RESEARCH-TRACKING.md +++ b/knowledge-base/RESEARCH-TRACKING.md @@ -26,7 +26,7 @@ Tools are organized by support tier (see [../CONTRIBUTING.md#tool-tier-system](. | Tool | Config Format | Documentation URL | Monitoring | Frequency | Last Reviewed | Rule Prefix | |------|---------------|-------------------|------------|-----------|---------------|-------------| | GitHub Copilot | `.github/copilot-instructions.md`, `.github/instructions/*.instructions.md` | https://docs.github.com/en/copilot/customizing-copilot | Automated (spec-drift.yml + tool-release-watch.yml via microsoft/vscode-copilot-chat) | Monthly | 2026-04-22 | COP | -| Cline | `.clinerules`, `.cline/rules/*.md` | https://docs.cline.bot/features/cline-rules/overview | Automated (spec-drift.yml + tool-release-watch.yml) | Monthly | 2026-02-05 | -- | +| Cline | `.clinerules` (file or dir), `.clinerules/workflows/*.md`, `.clinerules/hooks/*`, `.clinerules/skills/*/SKILL.md`, `.cline/skills/*/SKILL.md` | https://docs.cline.bot/features/cline-rules/overview | Automated (spec-drift.yml + tool-release-watch.yml) | Monthly | 2026-04-22 | CLN, CL-SK | | Cursor | `.cursor/rules/*.mdc`, `.cursorrules` | https://cursor.com/docs/context/rules | Automated (spec-drift.yml + tool-release-watch.yml via api2.cursor.sh stable update endpoint) | Monthly | 2026-02-26 | CUR | ### B Tier (test on significant changes if time permits) diff --git a/knowledge-base/rules.json b/knowledge-base/rules.json index 459ee9484..3f9db7c2d 100644 --- a/knowledge-base/rules.json +++ b/knowledge-base/rules.json @@ -5125,7 +5125,7 @@ "source_urls": [ "https://docs.cline.bot/prompting/cline-memory-bank#cline-memory-bank-custom-instructions-[copy-this]" ], - "verified_on": "2026-02-09", + "verified_on": "2026-04-22", "applies_to": { "tool": "cline" }, @@ -5153,7 +5153,7 @@ "source_urls": [ "https://docs.cline.bot/features/cline-rules/overview" ], - "verified_on": "2026-03-28", + "verified_on": "2026-04-22", "applies_to": { "tool": "cline" }, @@ -5181,7 +5181,7 @@ "source_urls": [ "https://docs.cline.bot/features/cline-rules/overview" ], - "verified_on": "2026-03-28", + "verified_on": "2026-04-22", "applies_to": { "tool": "cline" }, @@ -5208,7 +5208,7 @@ "source_urls": [ "https://docs.cline.bot/features/cline-rules/overview" ], - "verified_on": "2026-02-09", + "verified_on": "2026-04-22", "applies_to": { "tool": "cline" }, @@ -5235,7 +5235,7 @@ "source_urls": [ "https://docs.cline.bot/features/cline-rules/overview" ], - "verified_on": "2026-02-09", + "verified_on": "2026-04-22", "applies_to": { "tool": "cline" }, @@ -5262,7 +5262,7 @@ "source_urls": [ "https://docs.cline.bot/features/cline-rules/overview" ], - "verified_on": "2026-02-09", + "verified_on": "2026-04-22", "applies_to": { "tool": "cline" }, @@ -5290,7 +5290,7 @@ "source_urls": [ "https://docs.cline.bot/features/cline-rules" ], - "verified_on": "2026-02-13", + "verified_on": "2026-04-22", "applies_to": { "tool": "cline" }, @@ -5318,7 +5318,7 @@ "source_urls": [ "https://docs.cline.bot/features/cline-rules/overview" ], - "verified_on": "2026-03-28", + "verified_on": "2026-04-22", "applies_to": { "tool": "cline" }, @@ -5345,7 +5345,7 @@ "source_urls": [ "https://docs.cline.bot/features/cline-rules/overview" ], - "verified_on": "2026-03-28", + "verified_on": "2026-04-22", "applies_to": { "tool": "cline" }, @@ -5373,7 +5373,7 @@ "source_urls": [ "https://docs.cline.bot/features/cline-rules/overview" ], - "verified_on": "2026-03-28", + "verified_on": "2026-04-22", "applies_to": { "tool": "cline" }, diff --git a/website/docs/rules/generated/cl-sk-001.md b/website/docs/rules/generated/cl-sk-001.md index 6c7ed4fd9..44181cac9 100644 --- a/website/docs/rules/generated/cl-sk-001.md +++ b/website/docs/rules/generated/cl-sk-001.md @@ -13,7 +13,7 @@ keywords: ["CL-SK-001", "cline skill uses unsupported field", "cline skills", "v - **Category**: `Cline Skills` - **Normative Level**: `SHOULD` - **Auto-Fix**: `Yes (safe/unsafe)` -- **Verified On**: `2026-02-09` +- **Verified On**: `2026-04-22` ## Applicability diff --git a/website/docs/rules/generated/cl-sk-002.md b/website/docs/rules/generated/cl-sk-002.md index 8cbc8472c..a8a925935 100644 --- a/website/docs/rules/generated/cl-sk-002.md +++ b/website/docs/rules/generated/cl-sk-002.md @@ -13,7 +13,7 @@ keywords: ["CL-SK-002", "missing skill name", "cline skills", "validation", "agn - **Category**: `Cline Skills` - **Normative Level**: `MUST` - **Auto-Fix**: `Yes (safe)` -- **Verified On**: `2026-03-28` +- **Verified On**: `2026-04-22` ## Applicability diff --git a/website/docs/rules/generated/cl-sk-003.md b/website/docs/rules/generated/cl-sk-003.md index bd12caeb1..01d32d341 100644 --- a/website/docs/rules/generated/cl-sk-003.md +++ b/website/docs/rules/generated/cl-sk-003.md @@ -13,7 +13,7 @@ keywords: ["CL-SK-003", "missing skill description", "cline skills", "validation - **Category**: `Cline Skills` - **Normative Level**: `MUST` - **Auto-Fix**: `No` -- **Verified On**: `2026-03-28` +- **Verified On**: `2026-04-22` ## Applicability diff --git a/website/docs/rules/generated/cln-001.md b/website/docs/rules/generated/cln-001.md index 8e1cfa7c9..ee2d319fa 100644 --- a/website/docs/rules/generated/cln-001.md +++ b/website/docs/rules/generated/cln-001.md @@ -13,7 +13,7 @@ keywords: ["CLN-001", "empty cline rules file", "cline", "validation", "agnix", - **Category**: `Cline` - **Normative Level**: `MUST` - **Auto-Fix**: `No` -- **Verified On**: `2026-02-09` +- **Verified On**: `2026-04-22` ## Applicability diff --git a/website/docs/rules/generated/cln-002.md b/website/docs/rules/generated/cln-002.md index 7c1781597..6d846edd3 100644 --- a/website/docs/rules/generated/cln-002.md +++ b/website/docs/rules/generated/cln-002.md @@ -13,7 +13,7 @@ keywords: ["CLN-002", "invalid paths glob in cline rules", "cline", "validation" - **Category**: `Cline` - **Normative Level**: `MUST` - **Auto-Fix**: `No` -- **Verified On**: `2026-02-09` +- **Verified On**: `2026-04-22` ## Applicability diff --git a/website/docs/rules/generated/cln-003.md b/website/docs/rules/generated/cln-003.md index a67bf437c..f429dcb57 100644 --- a/website/docs/rules/generated/cln-003.md +++ b/website/docs/rules/generated/cln-003.md @@ -13,7 +13,7 @@ keywords: ["CLN-003", "unknown frontmatter key in cline rules", "cline", "valida - **Category**: `Cline` - **Normative Level**: `SHOULD` - **Auto-Fix**: `Yes (unsafe)` -- **Verified On**: `2026-02-09` +- **Verified On**: `2026-04-22` ## Applicability diff --git a/website/docs/rules/generated/cln-004.md b/website/docs/rules/generated/cln-004.md index d04330a85..ad2d41f06 100644 --- a/website/docs/rules/generated/cln-004.md +++ b/website/docs/rules/generated/cln-004.md @@ -13,7 +13,7 @@ keywords: ["CLN-004", "scalar paths in cline rules", "cline", "validation", "agn - **Category**: `Cline` - **Normative Level**: `MUST` - **Auto-Fix**: `Yes (safe)` -- **Verified On**: `2026-02-13` +- **Verified On**: `2026-04-22` ## Applicability diff --git a/website/docs/rules/generated/cln-005.md b/website/docs/rules/generated/cln-005.md index 1b1f860ef..b802f1b36 100644 --- a/website/docs/rules/generated/cln-005.md +++ b/website/docs/rules/generated/cln-005.md @@ -13,7 +13,7 @@ keywords: ["CLN-005", "empty workflow file", "cline", "validation", "agnix", "li - **Category**: `Cline` - **Normative Level**: `MUST` - **Auto-Fix**: `No` -- **Verified On**: `2026-03-28` +- **Verified On**: `2026-04-22` ## Applicability diff --git a/website/docs/rules/generated/cln-006.md b/website/docs/rules/generated/cln-006.md index b4aff424b..6739fdb85 100644 --- a/website/docs/rules/generated/cln-006.md +++ b/website/docs/rules/generated/cln-006.md @@ -13,7 +13,7 @@ keywords: ["CLN-006", "workflow with frontmatter", "cline", "validation", "agnix - **Category**: `Cline` - **Normative Level**: `SHOULD` - **Auto-Fix**: `Yes (unsafe)` -- **Verified On**: `2026-03-28` +- **Verified On**: `2026-04-22` ## Applicability diff --git a/website/docs/rules/generated/cln-009.md b/website/docs/rules/generated/cln-009.md index e96582cbc..a77abadfe 100644 --- a/website/docs/rules/generated/cln-009.md +++ b/website/docs/rules/generated/cln-009.md @@ -13,7 +13,7 @@ keywords: ["CLN-009", "unknown hook event name", "cline", "validation", "agnix", - **Category**: `Cline` - **Normative Level**: `SHOULD` - **Auto-Fix**: `No` -- **Verified On**: `2026-03-28` +- **Verified On**: `2026-04-22` ## Applicability