mirror of https://github.com/garrytan/gstack.git
test: wire 12 orphaned test files into the free suite (D3a)
ios-qa/daemon/test (10 files), ios-qa/scripts/gen-accessors.test.ts, and browser-skills/hackernews-frontpage/script.test.ts ran under NO script or CI — written coverage catching nothing. All 174 tests green on arrival (4.6s), zero quarantines needed. TODOS P2 closed: main wired design/test in v1.64, the variants-retry-after flake it named is fixed on this branch, and this commit lands the remaining orphans. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
8d533f1a46
commit
faade9e592
23
TODOS.md
23
TODOS.md
|
|
@ -45,29 +45,6 @@ a silent mistake breaks all 52 skills. High blast radius — needs its own focus
|
|||
|
||||
## Test infrastructure
|
||||
|
||||
### P2: Wire `design/test/` into CI (all 8 files are invisible to every runner)
|
||||
|
||||
**What:** Add `design/test/` to the `bun test` glob (`package.json:21`) and
|
||||
`TEST_ROOTS` (`scripts/test-free-shards.ts:32`) after auditing its 8 files for
|
||||
server-spawning/flakiness (they were plausibly excluded on purpose). While in
|
||||
there, fix the known timing flake: `variants-retry-after.test.ts` "HTTP-date:
|
||||
honors a future date with no extra leading exponential" fails ~1-2 in 9 runs
|
||||
under parallel suite load (verified pre-existing on v1.58.5.0 during the
|
||||
June 2026 fix wave — wall-clock assertion with a ~2s window).
|
||||
|
||||
**Why:** Every test in `design/test/` runs only when someone types the path by
|
||||
hand — a silent coverage hole, the fix wave's theme at meta-level. The wave's
|
||||
own design tests went into `test/design-flag-utils.test.ts` to dodge this.
|
||||
|
||||
**Pros:** design binary gets CI coverage; kills a latent "we have tests" illusion.
|
||||
**Cons:** unaudited files may spawn servers or flake; audit first, wire second.
|
||||
|
||||
**Context:** Filed from the June 2026 fix-wave eng review (issue 11 + flake
|
||||
receipts). Start with the audit: which of the 8 files are hermetic? Wire the
|
||||
hermetic ones, quarantine or fix the rest.
|
||||
|
||||
**Effort:** S-M (human ~1d, CC ~30min). **Depends on:** None.
|
||||
|
||||
### P2: /context-save worktree-identity hardening (the #2052 residual)
|
||||
|
||||
**What:** Persist a stable worktree identity (path hash or worktree name) into
|
||||
|
|
|
|||
|
|
@ -75,7 +75,17 @@ const ROOT = path.resolve(import.meta.dir, '..');
|
|||
// or local free run. Keep the two lists in sync. This list is the single
|
||||
// source of truth for free-suite roots: package.json's `test` script routes
|
||||
// through this runner rather than passing its own directory globs.
|
||||
const TEST_ROOTS = ['browse/test', 'test', 'make-pdf/test', 'design/test'] as const;
|
||||
const TEST_ROOTS = [
|
||||
'browse/test',
|
||||
'test',
|
||||
'make-pdf/test',
|
||||
'design/test',
|
||||
// v1.65 orphan wire-in (decision D3a): these ran under NO script or CI —
|
||||
// written coverage that caught nothing. All were green on arrival.
|
||||
'ios-qa/daemon/test',
|
||||
'ios-qa/scripts',
|
||||
'browser-skills',
|
||||
] as const;
|
||||
const TEST_FILE_REGEX = /\.test\.(?:[cm]?[jt]s|tsx|jsx)$/;
|
||||
|
||||
// POSIX-only patterns that indicate a test will fail on windows-latest no
|
||||
|
|
|
|||
Loading…
Reference in New Issue