docs(maintenance): correct stale operating claims and add the exceptions register - #66
Merged
Merged
Conversation
…ons register - retire the ≤80-column .mjs mandate (fleet is uniformly printWidth 100) - reconcile the eslint-major block's removal condition (default.json + renovate.md): shim shipped, 14 repos on eslint ^10; nswds-ui is the remaining blocker, re-check by 2026-10 - fleet counts 17/21 → 24 across README/ONBOARDING/MAINTENANCE/renovate.md/sync.yml - README stub example matches the explicit-secrets stubs; v1 motion now via the gated workflow - exceptions register (sanctioned divergences incl. the Power Platform prod-gate compensating control) - document the repo-local automation (promote-v1, drift canary, ccc canary, confluence sync) - CODEOWNERS (advisory while solo-maintainer)
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
There was a problem hiding this comment.
Pull request overview
Documentation truth-up for the nswds-devops fleet operating model: updates consumer-repo counts, clarifies v1 promotion mechanics and formatting standards, reconciles Renovate policy docs with current ESLint/Next.js realities, and adds an exceptions register plus advisory CODEOWNERS.
Changes:
- Updates fleet-wide docs to reflect 24 consumer repos, ruleset-gated v1 promotion, and the retirement of the old ≤80-column rule.
- Refines Renovate policy documentation around the ESLint-major block (status/removal conditions) and records repo-local automation workflows.
- Adds an “Exceptions register” to MAINTENANCE.md and introduces advisory ownership routing via
.github/CODEOWNERS.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Updates reusable-workflow stub guidance and v1 promotion description. |
| ONBOARDING.md | Updates coverage statement to reflect current consumer repo count/timeline. |
| MAINTENANCE.md | Retires old formatting guidance, documents promotion constraints and repo-local automation, adds an exceptions register. |
| docs/best-practices/renovate.md | Updates Renovate guide for current fleet size and ESLint-major block rationale/conditions. |
| default.json | Updates the embedded description for the ESLint/@eslint/js major block with current status/removal condition. |
| .github/sync.yml | Updates rollout comment to reflect current consumer repo count. |
| .github/CODEOWNERS | Adds advisory ownership mapping for critical fleet-wide surfaces. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| | `conventional-changelog-conventionalcommits` v10 | incompatible with release-notes-generator 14: releases succeed but changelogs silently come out empty (nswds-email#437; upstream #992) | a v10.x compatible with release-notes-generator 14 ships | | ||
| | `typescript` majors (6/7) | TS7 is the native compiler with no JS API: `next build` fails, typescript-eslint crashes, import-sorting silently no-ops (nswds-email#444) | Next.js + typescript-eslint declare TS 6/7 support | | ||
| | `eslint` majors (10) | ESLint 10 removed `context.getFilename()`, still called by eslint-plugin-react — every lint invocation crashes, and PR CI wouldn't catch it (nswds-app#418; vercel/next.js#89764) | eslint-config-next ships an ESLint-10-compatible plugin set | | ||
| | `eslint` majors (10) | ESLint 10 removed `context.getFilename()`, still called by eslint-plugin-react — every lint invocation crashes, and PR CI wouldn't catch it (nswds-app#418; vercel/next.js#89764). The `fixupConfigRules` shim now ships inside `@nswds/eslint-config`, and the 14 Next.js repos are on eslint ^10 through it — the block stays for **nswds-ui**, whose workspace config imports eslint-plugin-react with no shim | nswds-ui's workspace config wraps or adopts `@nswds/eslint-config/base` (re-check 2026-10) | |
|
|
||
| Moving the `v1` tag changes CI for all 17 repos at once, instantly, with no | ||
| PRs. That's the point — and also why the tag only moves deliberately, after | ||
| (Stubs that need a secret map it explicitly — `secrets: inherit` is not used.) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Batch B of the fleet remediation — documentation truth-up. Retires the obsolete ≤80-column rule; reconciles the eslint-major Renovate block's removal condition between default.json and renovate.md (shim shipped and adopted; nswds-ui's unshimmed eslint-plugin-react import is the one remaining blocker, re-check dated 2026-10); fixes fleet counts (17/21 → 24) in five locations; updates the README stub example to the explicit-secrets shape and the promotion description to the gated workflow; adds an exceptions register to MAINTENANCE.md recording every sanctioned divergence (incl. the R-19 Power Platform prod-gate compensating control, which is Team-plan-blocked from environment reviewers); documents the four repo-local automation workflows; adds an advisory CODEOWNERS.