diff --git a/docs/branch-review-records/768eb9c577b6057fbf79b8bfa70828b97833416d4dbfa1e821490d5d90b16df4.record.md b/docs/branch-review-records/768eb9c577b6057fbf79b8bfa70828b97833416d4dbfa1e821490d5d90b16df4.record.md new file mode 100644 index 0000000000..f01f1e3826 --- /dev/null +++ b/docs/branch-review-records/768eb9c577b6057fbf79b8bfa70828b97833416d4dbfa1e821490d5d90b16df4.record.md @@ -0,0 +1 @@ +| 2026-08-13 | PR #1924 / claude/refile-210-correction | 31ff86b2a66656e13838545613052e4e13f70d57 | PR #1924 babysit: #210 inbox correction | Confirmed and fixed the P2 false claim that Next mutates the isolated Playwright tsconfig; retained the narrower inherited-root-include risk; no other PR-introduced defects found. | Exact-head PR required, SAST, and secret-scan checks green at 31ff86b; Next 16.3 source audit; TypeScript child-config --showConfig and --listFilesOnly probe; JSON parse and focused diff review. | diff --git a/docs/outstanding-issues-inbox/24586190-0756-488d-941e-70a970c13cce.json b/docs/outstanding-issues-inbox/24586190-0756-488d-941e-70a970c13cce.json new file mode 100644 index 0000000000..6899aa8e7b --- /dev/null +++ b/docs/outstanding-issues-inbox/24586190-0756-488d-941e-70a970c13cce.json @@ -0,0 +1,10 @@ +{ + "version": 1, + "id": "24586190-0756-488d-941e-70a970c13cce", + "createdOn": "2026-08-13", + "action": "update", + "payload": { + "id": "#210", + "detail": "RE-SCOPED AGAIN 2026-08-13 (re-filed: the 2026-08-12 correction was lost when PR #1880 landed under the inbox architecture without a request being written for it). Half of this row is already fixed and its prescribed fix is REFUTED — do not apply the first suggestion. (1) FIXED: `npm run typecheck` runs `tsconfig.typecheck.json` (added in 450690f citing this row), which sets its own include and excludes `.next/**`; verified green with `.next/dev/types/validator.ts` present. (2) REFUTED: dropping `.next/dev/types/**/*.ts` from tsconfig.json does NOT hold. Next 16 emits that glob itself — `getTypeDefinitionGlobPatterns` (node_modules/next/dist/lib/typescript/type-paths.js) adds both `.next/types` and `.next/dev/types` deliberately 'to avoid tsconfig churn when switching between dev/build modes', and `writeConfigurationDefaults` adds a missing glob back when Next reads the root config directly. Deleting the line only re-creates an uncommitted change. (3) STILL OPEN, narrower than originally written: `scripts/run-playwright.mjs` writes an isolated tsconfig with `extends: '../../tsconfig.json'` and no include of its own, so it inherits the repo-root globs. The recorded `tsc --showConfig` probe resolved `../../.next/dev/types/**/*.ts`, and `--listFilesOnly` pulled in the root dev types including validator.ts. Next's API checker filters dev types with `getDevTypesPath`, but the default `experimental.useTypeScriptCli: true` path uses `runTypeCheckCli` to invoke `tsc --project` against the child config, so it honours the inherited include verbatim. Next: give the isolated tsconfig its own include/exclude (its run root is `.next-playwright/`, not under `.next/`, so excluding the repo-root `.next` keeps the run's own dist types). NOT PROVEN end-to-end: the failing Playwright build was not reproduced. Correcting the previous explanation, `next build` does not mutate this child config: Next 16.3 `writeConfigurationDefaults` returns immediately when the parsed config contains `extends` or `references`, and this config always contains `extends`. Confirm the remaining inherited-include hypothesis with one focused `verify:ui` build before and after the child include/exclude change, and hash the child tsconfig immediately before and after the build to prove it remains byte-identical. Stop: do not remove typecheck from the gate, and do not retry the include deletion." + } +}