From 92aa0faa97235e615a2968bef339ba86cd4dd5e9 Mon Sep 17 00:00:00 2001 From: Mao Nakamoto <41178744+maonakamoto@users.noreply.github.com> Date: Thu, 20 Aug 2026 15:23:14 +0200 Subject: [PATCH] chore(shared): lock in 9 -> 6 sweep copies, and withdraw a false extraction MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The three conversions this locks in — fleetcrown, orangecat, sbb-lost-found — were each verified to actually RUN the central sweep after merging, not merely to have merged: fleetcrown and orangecat show the reusable job green with both live sites healthy, and sbb's post-merge dispatch references maonakamoto/dotfiles/.github/workflows/auto-merge-sweep.yml`@master` directly. The first sbb run checked predated the merge and was still the old local copy — which is exactly why 'the PR merged' is never the verification. SHARED.md corrections in the same change: auto-merge row 22 -> 6, with the six named and each one's reason. A number with no story reads as neglect; these are held back deliberately (canonical home; trees owned by other sessions). @ai-native-cms/core WITHDRAWN — measurement error, and worth recording loudly: maonakamoto/revampit REDIRECTS to maonakamoto/evig (renamed in the pivot), so the 'two repos with byte-identical trees' were two clones of ONE repo. Nothing to extract. Two directories are not two repos; check git remote -v before reporting cross-repo duplication. rate limiting marked as the next extraction (14 files, zero app coupling, four inside orangecat alone). Co-Authored-By: Claude Opus 5 --- SHARED.md | 6 +++--- scripts/ci/shared-inventory.baseline | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/SHARED.md b/SHARED.md index 09534a7..c2124ee 100644 --- a/SHARED.md +++ b/SHARED.md @@ -79,12 +79,12 @@ Ranked by (copies × how identical the logic is). Counts from | Concern | Files | Why it is a good candidate | |---|---|---| -| `auto-merge-sweep.sh` | **22** | 8 live versions of infrastructure that decides what ships. Highest count, worst drift. | -| rate limiting | **14** | A pure algorithm with zero app coupling. orangecat has 4, evig 3, botsmann 2 — *within one repo each*. | +| `auto-merge-sweep.sh` | ~~22~~ **6** | **EXTRACTED 2026-08-16/20.** Sixteen repos call the canonical as a reusable workflow, each verified to actually *run* it (a sweep that fails to start looks exactly like one with nothing to do). The six remaining are deliberate: dotfiles is the canonical home and runs it directly; ai-forms, datacat, petvity, solon had dirty working trees owned by other sessions when swept — convert when clear. The two repos that had ever *tested* their copies (evig, orangecat) had that coverage ported into the canonical suite **before** deletion: 17 cases, mutation-proven. | +| rate limiting | **14** | A pure algorithm with zero app coupling. orangecat has 4, evig 3, botsmann 2 — *within one repo each*. **The next extraction.** | | AI provider client | **16** | evig 7, orangecat 5. `ai-ration` already owns the hard part (chain, 429, budget); these are the callers. | | logger | **10** | sbb-lost-found alone has 4. | | health route | **8** | Identical shape in 8 repos; a 20-line contract. | -| `@ai-native-cms/core` | 2 | evig and revampit vendor it with **byte-identical trees** (`675b864b…`). Not yet diverged, so it is the cheapest extraction available — and a clock that is running. | +| ~~`@ai-native-cms/core`~~ | — | **Withdrawn — measurement error.** `maonakamoto/revampit` *redirects* to `maonakamoto/evig` (renamed in the pivot); the "two repos" with byte-identical trees were two clones of ONE repo. Nothing to extract. Two directories are not two repos: check `git remote -v` before reporting cross-repo duplication. | ## What must NOT be centralized diff --git a/scripts/ci/shared-inventory.baseline b/scripts/ci/shared-inventory.baseline index b3d405e..640a22b 100644 --- a/scripts/ci/shared-inventory.baseline +++ b/scripts/ci/shared-inventory.baseline @@ -1,4 +1,4 @@ -automerge-script 9 9 +automerge-script 6 6 rate-limit 9 14 email-send 6 7 logger 6 10