diff --git a/.github/scripts/ci-fanout-consolidation.test.cjs b/.github/scripts/ci-fanout-consolidation.test.cjs index 7615a84..e64424f 100644 --- a/.github/scripts/ci-fanout-consolidation.test.cjs +++ b/.github/scripts/ci-fanout-consolidation.test.cjs @@ -12,14 +12,6 @@ const ciWorkflowPath = path.join( "workflows", "ci.yml", ); -const adrPath = path.join( - repositoryRoot, - "docs", - "topics", - "ci-fanout-consolidation", - "ADR.md", -); - const ciStatusActionPath = path.join( repositoryRoot, ".github", @@ -29,7 +21,6 @@ const ciStatusActionPath = path.join( ); const ciWorkflow = fs.readFileSync(ciWorkflowPath, "utf8"); -const adr = fs.readFileSync(adrPath, "utf8"); const ciStatusAction = fs.readFileSync(ciStatusActionPath, "utf8"); // Strip the `${{ }}` wrapper, an outer `!( )`, and every run of whitespace, so @@ -409,13 +400,3 @@ test("root CI runs this repository's own test suite in a gating lane", () => { // shfmt covers the same tree, so a shell source there cannot skip formatting. assert.match(ciWorkflow, /paths: fixtures\/shell\/good \.github\/scripts/u); }); - -test("ADR records #122 COMPLETED with Shape A done", () => { - assert.match(adr, /Status: \*\*COMPLETED\*\*/u); - assert.match( - adr, - /\| Shape A \(dotfiles single selector\) \| Done \(confirmed on `dotfiles` `main`\) \|/u, - ); - assert.match(adr, /Main-push burst collapse wins/u); - assert.match(adr, /Hygiene lane consolidation/u); -}); diff --git a/.github/scripts/claude-review-plugin-path.test.cjs b/.github/scripts/claude-review-plugin-path.test.cjs index 2bba3fd..9b9b46b 100644 --- a/.github/scripts/claude-review-plugin-path.test.cjs +++ b/.github/scripts/claude-review-plugin-path.test.cjs @@ -55,20 +55,3 @@ for (const { file, defaultCommand } of [ ); }); } - -test("V2 architecture doc exists and names both skills", () => { - const doc = fs.readFileSync( - path.join( - repositoryRoot, - "docs", - "topics", - "claude-review-lanes", - "V2-PLUGIN-ARCHITECTURE.md", - ), - "utf8", - ); - assert.match(doc, /\/review:code-review/); - assert.match(doc, /\/review:security-review/); - assert.match(doc, /Dual-path|dual-path/); - assert.match(doc, /Migration/); -}); diff --git a/AGENTS.md b/AGENTS.md index 7de7d20..6fe02f8 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,6 +1,7 @@ ## Code Review Rules -Each line names a rule CI does not enforce; the linked file states it in full. +Each line names a rule CI does not enforce. A line with a link points at the file that states the +rule in full; a line without one states the whole rule itself. - Org-wide criteria: [`REVIEW.md`](REVIEW.md), synced from `melodic-software/standards`. - Claude lane security model (`SECURITY MODEL` headers): @@ -10,7 +11,5 @@ Each line names a rule CI does not enforce; the linked file states it in full. - Configurable, not forkable: [rule](README.md#contract). - Policy is authored in standards; `fixtures/` configs only exercise contracts: [rule](README.md#policy-ownership-and-action-inputs). -- Local-lane guard wrappers keep parity with the standards component: - [rule](docs/topics/local-lane-guards.md). -- Lanes consolidate as composite actions; `ci-status` stays the single required check: - [rule](docs/topics/ci-fanout-consolidation/ADR.md#decisions-locked). +- Local-lane guard wrappers keep parity with the standards component. +- Lanes consolidate as composite actions; `ci-status` stays the single required check.