Skip to content

docs(npm-exemptions): mirror hypatia#405 vscode-* + tree-sitter-* carve-outs (standards#253)#320

Merged
hyperpolymath merged 1 commit into
mainfrom
campaign-253/mirror-nodejs-carveouts
May 30, 2026
Merged

docs(npm-exemptions): mirror hypatia#405 vscode-* + tree-sitter-* carve-outs (standards#253)#320
hyperpolymath merged 1 commit into
mainfrom
campaign-253/mirror-nodejs-carveouts

Conversation

@hyperpolymath
Copy link
Copy Markdown
Owner

Summary

Mirrors hyperpolymath/hypatia#405 (expanded :nodejs_detected carve-outs) into standards' two policy surfaces:

  • .claude/CLAUDE.md §npm Exemptions (Approved) — adds 6 new rows (vscode- substring, tree-sitter- substring, /.lake/, /office-addin/, /bindings/javascript/, /bindings/typescript/).
  • rhodium-standard-repositories/.github/workflows/language-policy.yml — adds parallel grep filters to the NEW_NPM_LOCK block.

Closes the rule/policy gap surfaced during the standards#253 STEP 3 batch (root-level vscode-* and tree-sitter-* repos were flagged by the previous narrower /vscode/ segment match).

Test plan

  • Documentation table mirrors hypatia rule exactly.
  • Bash grep -vE filters added for: vscode-, tree-sitter-, /.lake/, /office-addin/, /bindings/(javascript|typescript)/.
  • Workflow run on a PR that adds e.g. vscode-k9/package-lock.json → does not flag (carve-out hit).

🤖 Generated with Claude Code

@hyperpolymath hyperpolymath enabled auto-merge (squash) May 30, 2026 22:38
…ve-outs (standards#253)

Mirrors hypatia#405 (`:nodejs_detected` carve-out extension) into the
two policy surfaces under standards:

- `.claude/CLAUDE.md §npm Exemptions (Approved)` — adds 6 new exemption
  rows (vscode- substring, tree-sitter- substring, /.lake/,
  /office-addin/, /bindings/javascript/, /bindings/typescript/).
- `rhodium-standard-repositories/.github/workflows/language-policy.yml`
  — adds parallel `grep -vE` filters to the NEW_NPM_LOCK block, updates
  carve-out comment from "6 classes" to "8 classes".

Refs: hypatia#405. Closes the rule/policy gap surfaced during the
standards#253 STEP 3 batch (root-level vscode-* and tree-sitter-* repos
were flagged by the previous narrower `/vscode/` segment match).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@hyperpolymath hyperpolymath force-pushed the campaign-253/mirror-nodejs-carveouts branch from b7e2336 to 25f9e10 Compare May 30, 2026 22:54
@hyperpolymath hyperpolymath merged commit eb2c82f into main May 30, 2026
0 of 18 checks passed
@hyperpolymath hyperpolymath deleted the campaign-253/mirror-nodejs-carveouts branch May 30, 2026 23:07
hyperpolymath added a commit that referenced this pull request May 31, 2026
…t (post #275 closeout cleanup) (#328)

## Summary

Surfaced during the standards#275 STEP 7 closeout **estate-wide hypatia
scan**: `proven-servers/bindings/rescript/package-lock.json` was the
single uncarved hit across 20 estate-wide `package-lock.json` files.

[hypatia#412](hyperpolymath/hypatia#412) extends
the `:nodejs_detected` rule's class 5c
(`/bindings/{javascript,typescript}/`) to also cover
`/bindings/rescript/`. This PR **mirrors that to the
LANGUAGE-POLICY.adoc Node.js narrative row**, matching the docs-vs-rule
parity pattern from hypatia#405 + standards#320.

## Change

`rhodium-standard-repositories/spec/LANGUAGE-POLICY.adoc` Node.js
banned-language row:

| Before | After |
|---|---|
| "nine carve-out classes (six original + three added during the
migration via hypatia#405)" | "nine carve-out classes (six original +
three added during the migration via hypatia#405 + one added
post-closeout via hypatia#412 for `/bindings/rescript/` symmetry)" |
| Class (5): `**/bindings/{javascript,typescript}/**` | Class (5):
`**/bindings/{javascript,typescript,rescript}/**` with rationale "the
`rescript` variant is host-required for the rescript-to-js compile
chain" |

## Why post-closeout

The standards#253 closeout PR (#325) merged 2026-05-31T07:11Z. The
campaign is officially complete. This PR makes the closeout declaration
"zero `:nodejs_detected` flags outside carve-outs" **exactly true** (was
19/20 prior) without re-opening #253 or #275.

Pairs with hyperpolymath/hypatia#412 (rule update + test). Both should
land together to maintain docs↔rule parity.

## Test plan

- [ ] CI green (text-only change)
- [ ] Cross-link to hypatia#412 PR description visible in this PR
comments
- [ ] Hypatia self-scan unchanged (rule is in hypatia repo, not
standards)

Refs #253 (umbrella, CLOSED 2026-05-31)
Refs #275 (STEP 7, CLOSED 2026-05-31)
Refs #320 (predecessor mirror PR pattern for hypatia#405)
Refs hyperpolymath/hypatia#412 (the rule update this mirrors)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant