docs(migration): record that step 5 never reached the published repos

org-ops reported that 30-fix-references.mjs:3-5 promises a disclosure-link
rewrite that 10 published plugin repos do not have. Confirmed by measurement,
at each plugin's catalog-pinned tag rather than in the sibling working trees:
10 of 12 still carry ../../README.md#ai-generated-code-disclosure on README.md:7.
Only repo-mailbox and repo-standard — both created after the migration — are clean.

The rewriter is not broken. Its DISCLOSURE_LINK regex was re-verified against the
live text at okr@v1.8.2:README.md:7 and matches, so "fix the script" would have
been a no-op. What never happened is the application: the migration's push half
was operator-gated and ran 0 pushes (review.md:79), so this step's output never
reached the content that was published. The header was true about the code and
false about the outcome — which is exactly how it got read as a receipt.

The header now says so, with the measurement date and method. Remediation is not
the catalog's to make: each plugin repo owns its README, and all 10 were notified.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015bmkz7r2zycwwG2kcCCf9H
This commit is contained in:
Kjell Tore Guttormsen 2026-08-03 21:12:50 +02:00
commit a5a13b010a

View file

@ -1,4 +1,14 @@
#!/usr/bin/env node
// ⚠ NOT APPLIED TO THE PUBLISHED REPOS. Read item 1 below as a description of what this code DOES,
// never as a record of what the standalone repos CONTAIN. Measured 2026-08-03 at each plugin's
// catalog-pinned tag: 10 of 12 still carry the `../../README.md#ai-generated-code-disclosure` link
// on README.md:7 (only repo-mailbox and repo-standard, both created after the migration, are clean).
// The rewriter itself is correct — its DISCLOSURE_LINK regex was re-verified against the live text
// at okr@v1.8.2:README.md:7 and matches. What never happened is the application: the migration's
// push half was operator-gated (review.md:79 — "full local dry-run 11/11 targets, 0 pushes"), so
// this step's output never reached the content that was published. Remediation is NOT the catalog's
// to make — each plugin repo owns its own README; all 10 were notified 2026-08-03.
//
// Step 5 — Reference-rot rewriter. Operates on an extracted repo in $WORK/<key>.
// 1. Replaces the "[Full disclosure →](../../README.md#ai-generated-code-disclosure)" footnote with
// INLINE disclosure text (M13 — self-contained, no dangling cross-repo anchor; the monorepo root