fix(biome): move file scope out of the shared base (v1.0.1) - #70
Merged
Conversation
|
Claude finished @kyle-sexton's task in 0s —— View job I'll analyze this and get back to you. |
Converting medley to the package surfaced a merge gotcha: Biome UNIONS files.includes across extends, so the base's ["**", ...] silently widened the consumer's deliberately narrow scan to the whole repo. File scope is per-repo policy, not shared ruleset — the base now ships no files block (contract recorded in the package README), and the NuGet lockfile exclusion moves to this repo's root stub, the layer that actually scans the dotnet fixtures. Verified both ways: the stub still skips fixtures/dotnet lockfiles (0 files processed); the module alone now processes them. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GbDWhcUtduCejgi7mcbMfy
kyle-sexton
added a commit
that referenced
this pull request
Jul 7, 2026
## Summary Closes out the activation checklist record after tonight's completion: App access fully done and verified (selected-repos flip, public App, personal-account installation proven by all four kyle-sexton sync legs minting tokens, local PEM deleted per key-hygiene guidance); both Layer-1 packages published and public (`biome-config@1.0.1` post-#70, `tsconfig@1.0.0`); full-fleet Layer-2 rollout merged across both accounts, with the first fleet pass's consumer customizations routed upstream (#58, #69). Remaining opens, each with an owner: the read-only marking (engine feature) and medley#1243 (Layer-1 pilot, in review). ## Verification markdownlint (module config) + editorconfig-checker clean. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01GbDWhcUtduCejgi7mcbMfy <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Documentation-only status changes with no runtime, auth, or deployment impact. > > **Overview** > Updates the **gated activation checklist** in `config-distribution-plan.md` to reflect work completed 2026-07-06/07. > > **GitHub App + access** is marked fully done: org install limited to selected repos (API-verified), App public, personal-account install proven by all four `kyle-sexton` sync legs minting tokens, and the local private key removed after secrets validation. > > **Layer-1** narrative now states both packages are published and public (`biome-config@1.0.1`, `tsconfig@1.0.0`), with the open work narrowed to checking off the parent item when **medley#1243** merges. > > **Layer-2** is recorded as a **full-fleet rollout** across both accounts (not only org targets), including examples of consumer customizations routed upstream on the first pass. The only remaining blocker before closing that item is **read-only marking** (header comments + consumer CODEOWNERS), called out as an engine feature rather than a rollout step. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit c75c611. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY --> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
kyle-sexton
added a commit
that referenced
this pull request
Jul 16, 2026
## Summary Closes decision #70 (Decisions Log: https://claude.ai/code/artifact/232ecdce-8316-4880-8c0a-dc3c7dcf3a63) — the upstream half: "add link-check.yml to github-iac" turned out to need this first. `melodic-software/github-iac` was the only repo missing `lychee` from its `managed` list in `distribution/sync-manifest.yml` — every other `lychee.toml`-carrying repo already had it. That's the actual root cause of the missing `link-check.yml`: there was nothing to sync from. The companion `melodic-software/github-iac` PR (melodic-software/github-iac#132) materializes the synced `lychee.toml` via this repo's own `distribution/sync-manifest.sh apply` — not hand-copied — and adds the `.github/workflows/link-check.yml` caller. ## Verification - `distribution/sync-manifest.sh validate`: passes (21 components, 8 targets). - `distribution/sync-manifest.sh plan --targets melodic-software/github-iac`: shows `lychee.toml` as the only new mapping; every other managed component unchanged (idempotent — confirms nothing else drifts from this edit).
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.


Summary
Found while converting medley (the Layer-1 pilot consumer) to
@melodic-software/biome-config: Biome unionsfiles.includesacrossextends— verified empirically, not documented prominently — so the base's["**", "!**/packages.lock.json"]overrode medley's deliberately narrowfiles.includesand widened its scan to every JSON file in the repo (17 spurious formatter findings).File scope is per-repo policy, not shared ruleset:
modules/typescript/biome.json(the package's staged source) ships nofilesblock.biome.jsoncstub — the layer that actually scansfixtures/dotnet(wherepackages.lock.jsonlives, from feat(dotnet): enable NuGet lock files in the overlay #59) — with the rationale recorded at both sites.filesblock.Verification
biome check fixtures/dotnet/→ 0 files processed (exclusion intact).fixtures/dotnet/bad/packages.lock.jsonand reports a format diff — proving the stub is now the excluding layer.fixtures/typescript/goodclean under the module config (CI lane path).The medley conversion PR follows, pinned to 1.0.1.
🤖 Generated with Claude Code
https://claude.ai/code/session_01GbDWhcUtduCejgi7mcbMfy
Note
Low Risk
Config packaging and documentation only; no runtime or security logic—consumers must add their own
filesblock when upgrading.Overview
Fixes shared Biome config so consumers can define their own scan scope without Biome unioning
files.includesfromextendsand widening lint/format to extra files (e.g. all JSON in medley).modules/typescript/biome.jsonno longer ships afilesblock—only linter/formatter rules stay in the shared SSOT.biome.jsoncat the repo root now ownsfiles.includeswith!**/packages.lock.jsonfor this repo’s dotnet fixtures, with comments explaining why scope is per-repo.@melodic-software/biome-configis bumped to 1.0.1; the README documents that extenders must define their ownfilesblock.Reviewed by Cursor Bugbot for commit 7602bd2. Bugbot is set up for automated code reviews on this repo. Configure here.