@blamejs/exceptd-skills 0.12.29 → 0.12.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -184,15 +184,29 @@ function readMaybe(p) {
184
184
 
185
185
  // --- Categorization ---------------------------------------------------------
186
186
 
187
+ // Mechanical / contributor-only docs the gate auto-allows: their content
188
+ // has no operator-facing semantic surface (CONTRIBUTING is for PRs;
189
+ // LICENSE / NOTICE / CODE_OF_CONDUCT are boilerplate; .gitignore / .npmrc
190
+ // / .editorconfig are tooling). Edits here never need a regression test.
187
191
  const DOCS_ALWAYS_GREEN = new Set([
188
- "CHANGELOG.md", "README.md", "CONTRIBUTING.md", "SECURITY.md",
189
- "LICENSE", "NOTICE", "CODE_OF_CONDUCT.md", "AGENTS.md", "CLAUDE.md",
190
- "SUPPORT.md", "MIGRATING.md", ".gitignore", ".npmrc", ".editorconfig",
192
+ "CONTRIBUTING.md", "LICENSE", "NOTICE", "CODE_OF_CONDUCT.md",
193
+ "CLAUDE.md", "SUPPORT.md", ".gitignore", ".npmrc", ".editorconfig",
194
+ ]);
195
+
196
+ // Cycle 9 finding: operator-facing docs (release notes, install instructions,
197
+ // security disclosure policy, migration guides, AI-assistant ground truth)
198
+ // previously auto-greened. A PR could land deceptive copy here without any
199
+ // reviewer signal. Downgrade to manual-review so the diff surfaces in the
200
+ // gate output — a human (or the maintainer reviewing the bot summary) at
201
+ // least sees the change exists.
202
+ const DOCS_MANUAL_REVIEW = new Set([
203
+ "CHANGELOG.md", "README.md", "SECURITY.md", "MIGRATING.md", "AGENTS.md",
191
204
  ]);
192
205
 
193
206
  function categorize(file) {
194
207
  const norm = file.replace(/\\/g, "/");
195
208
  if (DOCS_ALWAYS_GREEN.has(norm)) return "docs";
209
+ if (DOCS_MANUAL_REVIEW.has(norm)) return "manual-review";
196
210
  if (norm.startsWith("tests/")) return "test"; // no recursion
197
211
  if (norm.startsWith("docs/")) return "docs";
198
212
  if (norm.endsWith(".md") && !norm.startsWith("data/")) return "docs";
@@ -662,5 +676,5 @@ module.exports = {
662
676
  extractCliSurface, extractLibExports, extractPlaybookIds, extractCveIocChanges,
663
677
  coversCliVerb, coversCliFlag, coversLibExport, coversPlaybookId, coversCveIoc,
664
678
  scanForCoincidenceAsserts,
665
- DOCS_ALWAYS_GREEN,
679
+ DOCS_ALWAYS_GREEN, DOCS_MANUAL_REVIEW,
666
680
  };