|
| 1 | +# Post-release Follow-ups Implementation Plan |
| 2 | + |
| 3 | +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. |
| 4 | +
|
| 5 | +**Goal:** Resolve the approved dependency, correctness, and performance follow-ups as independently verified green-on-merge changes. |
| 6 | + |
| 7 | +**Architecture:** Dependency updates remain isolated by compatibility boundary; the release Action follows the CLI migration. The sole new product fix defines scroll authority at the React/controller seam. Already-shipped issue work is verified against current main before issue closure. |
| 8 | + |
| 9 | +**Tech Stack:** Node 24.19.0, pnpm 10.12.1, TypeScript 6, React 18-19, Vitest, Playwright, Changesets, GitHub Actions. |
| 10 | + |
| 11 | +**Spec:** `docs/superpowers/specs/2026-08-30-post-release-followups-design.md` |
| 12 | + |
| 13 | +--- |
| 14 | + |
| 15 | +### Task 1: Commit and merge the follow-up design |
| 16 | + |
| 17 | +**Files:** |
| 18 | +- Create: `docs/superpowers/specs/2026-08-30-post-release-followups-design.md` |
| 19 | +- Create: `docs/superpowers/plans/2026-08-30-post-release-followups.md` |
| 20 | + |
| 21 | +- [ ] Run `pnpm prettier --check docs/superpowers/specs/2026-08-30-post-release-followups-design.md docs/superpowers/plans/2026-08-30-post-release-followups.md`. |
| 22 | +- [ ] Review the two documents against the GitHub issue and PR state. |
| 23 | +- [ ] Commit, push, open a documentation PR, wait for required checks, and squash-merge. |
| 24 | + |
| 25 | +### Task 2: Repair and merge dependency group PR #538 |
| 26 | + |
| 27 | +**Files:** |
| 28 | +- Modify: `status/milestones/2026-08-15-s2-comparative-rebaseline.json` |
| 29 | +- Existing PR files: `package.json`, `pnpm-lock.yaml`, `apps/bench/package.json`, `apps/website/package.json` |
| 30 | +- Test: `scripts/__tests__/bench-comparator-provenance.test.mjs` |
| 31 | + |
| 32 | +- [ ] Refresh the PR branch from current `main` without force-pushing unrelated history. |
| 33 | +- [ ] Reproduce the provenance failure with `node --test scripts/__tests__/bench-comparator-provenance.test.mjs`. |
| 34 | +- [ ] Add an `adapterVersions.superseded` block naming MUI Data Grid, MUI Material, TanStack Table, and TanStack Virtual version drift; leave recorded versions unchanged. |
| 35 | +- [ ] Re-run the provenance test and inspect the complete PR diff. |
| 36 | +- [ ] Run `pnpm install --frozen-lockfile --ignore-scripts --ignore-pnpmfile`, `pnpm security:audit`, `pnpm test`, `pnpm typecheck`, `pnpm lint`, `pnpm format`, `pnpm build`, `pnpm api:check`, `pnpm consumer:check`, `pnpm react:compat`, and `pnpm lint:packaging`. |
| 37 | +- [ ] Push, wait for every required check, and squash-merge PR #538. |
| 38 | + |
| 39 | +### Task 3: Combine Changesets CLI 3 and Action 2 in PR #474 |
| 40 | + |
| 41 | +**Files:** |
| 42 | +- Existing PR files: `package.json`, `pnpm-lock.yaml` |
| 43 | +- Modify: `.github/workflows/release.yml` |
| 44 | +- Inspect: `.changeset/config.json`, `scripts/publish-configured-packages.mjs`, `scripts/publish-preflight.mjs` |
| 45 | +- Test: `scripts/__tests__/publish-public-packages.test.mjs`, `scripts/__tests__/publish-preflight.test.mjs`, `scripts/__tests__/security-audit-workflow-contract.test.mjs`, `scripts/__tests__/node-toolchain-contract.test.mjs` |
| 46 | + |
| 47 | +- [ ] Read the official CLI 3 and Action 2 migration notes and compare them to the repository configuration, workflow, and custom publish wrapper. |
| 48 | +- [ ] Refresh the PR branch from current `main`. |
| 49 | +- [ ] Write failing workflow-contract assertions for `version-script`, `publish-script`, `pr-title`, `commit-message`, `github-token`, `pr-number`, and output-file propagation. |
| 50 | +- [ ] Migrate the Action in the same PR as the CLI. Keep npm token variables absent and the OIDC preconditions fail-closed. |
| 51 | +- [ ] Run the focused workflow/publish/preflight tests and safe CLI commands (`changeset status`, config parsing, and a disposable versioning fixture if needed). |
| 52 | +- [ ] Run the full verification matrix from Task 2. |
| 53 | +- [ ] Push the combined migration, wait for green checks, and squash-merge PR #474. |
| 54 | +- [ ] Close PR #476 as superseded by the verified atomic migration. |
| 55 | + |
| 56 | +### Task 4: Resolve fuzzysort 4 PR #472 |
| 57 | + |
| 58 | +**Files:** |
| 59 | +- Existing PR files: `apps/website/package.json`, `pnpm-lock.yaml` |
| 60 | +- Modify/Test: website search modules and their existing tests discovered with `rg -n "fuzzysort" apps/website` |
| 61 | + |
| 62 | +- [ ] Read the official fuzzysort 4 migration notes. |
| 63 | +- [ ] Refresh the PR branch and run existing focused search tests to establish the failure or compatibility baseline. |
| 64 | +- [ ] Add a regression for every behavior affected by the v4 API change before changing production code. |
| 65 | +- [ ] Implement the minimal migration, verify red-green, then run website, typecheck, build, smoke, and full repository gates. |
| 66 | +- [ ] Push, wait for green checks, and squash-merge PR #472. |
| 67 | + |
| 68 | +### Task 5: Resolve jest-dom 7 PR #475 |
| 69 | + |
| 70 | +**Files:** |
| 71 | +- Existing PR files: `package.json`, `pnpm-lock.yaml` |
| 72 | +- Inspect: every Vitest setup file and `tsconfig` matcher-type entry returned by `rg -n "jest-dom" .` |
| 73 | + |
| 74 | +- [ ] Read the official jest-dom 7 migration notes and engine requirements. |
| 75 | +- [ ] Refresh the PR branch and run representative React, UI, bench, and website DOM suites. |
| 76 | +- [ ] Add a focused type/runtime regression before any setup migration required by v7. |
| 77 | +- [ ] Run all DOM suites plus the full repository gates. |
| 78 | +- [ ] Push, wait for green checks, and squash-merge PR #475. |
| 79 | + |
| 80 | +### Task 6: Fix scroll authority issue #524 |
| 81 | + |
| 82 | +**Files:** |
| 83 | +- Modify: `packages/react/src/pretable-model.ts` |
| 84 | +- Test: create `packages/react/src/__tests__/scroll-authority.test.tsx` or extend the narrowest existing controller-seam test after investigation |
| 85 | +- Inspect: `packages/renderer-dom/src/row-layout-controller.ts`, `packages/react/src/pretable-surface.tsx` |
| 86 | + |
| 87 | +- [ ] Trace user scroll, grid viewport, controller viewport, anchor restore, and status-change data flow on current `main`. |
| 88 | +- [ ] Write a React integration regression that reproduces stale viewport re-feed after an anchor-adjusting publish; confirm it fails for the #524 reason. |
| 89 | +- [ ] Make status-only controller publications unable to reassert stale DOM scroll while preserving legitimate viewport feeds. |
| 90 | +- [ ] Confirm the regression passes, mutation-check by restoring the old dependency/behavior, then restore the fix and run React plus renderer focused suites. |
| 91 | +- [ ] Run full repository gates and Chromium/WebKit smoke tests. |
| 92 | +- [ ] Push a dedicated PR, wait for green checks, squash-merge, and close #524 through the PR. |
| 93 | + |
| 94 | +### Task 7: Verify and close #491 |
| 95 | + |
| 96 | +**Files:** |
| 97 | +- Existing test: `packages/renderer-dom/src/__tests__/indexed-renderer.test.ts` |
| 98 | + |
| 99 | +- [ ] Run the focused journal-anchor test on current `main`. |
| 100 | +- [ ] Confirm PR #508's merge commit is an ancestor of current `main` and inspect the exact anchor ladder. |
| 101 | +- [ ] Comment with the test evidence and close #491 as completed. |
| 102 | + |
| 103 | +### Task 8: Re-measure and close #452 |
| 104 | + |
| 105 | +**Files:** |
| 106 | +- Generated/committed measurement only if the bench workflow requires it: `status/runsets/*`, `status/milestones/*` |
| 107 | + |
| 108 | +- [ ] Check the machine for a quiet measurement window. |
| 109 | +- [ ] Run Chromium S2 hypothesis sort, filter-metadata, and filter-text for Pretable and TanStack with at least three repeats in the same runset. |
| 110 | +- [ ] Compare interaction latency and correctness metrics to the original issue and PR #479/#487 evidence. |
| 111 | +- [ ] If the gap remains closed, comment exact results and close #452; if not, keep it open and write a new evidence-based implementation plan before changing code. |
| 112 | + |
| 113 | +### Task 9: Final main and production audit |
| 114 | + |
| 115 | +- [ ] Pull latest `main` into a fresh verification worktree. |
| 116 | +- [ ] Run security audit, full tests, typecheck, lint, format, build, API, packaging, packed consumers, React compatibility, and Chromium/WebKit smoke. |
| 117 | +- [ ] Verify npm package dist-tags and the latest main CI, CodeQL, Scorecard, release, and production-deploy checks. |
| 118 | +- [ ] Review open PRs/issues for superseded dependency branches or newly exposed blockers and report the final handoff. |
0 commit comments