inspector/docs
Repository files (latest commit first)
Filename Latest commit message Latest commit date
cliffhall 69e6097b68 refactor: assert retry and asyncUtilTimeout at runtime, delete the source scanner
Round 8 of the review asked for an AST. That was the right diagnosis of the
wrong problem: the question was never which parser to use, it was why a
test-timeout guard was parsing JavaScript at all.

It got there one reasonable step at a time. The guard enforces two rules no
Vitest config can report — a per-test `retry`, and Testing Library's
`asyncUtilTimeout` — so it read them out of source text, and the review found a
new valid spelling it missed in five consecutive rounds: a trailing comment,
nested parens in `it.each([makeCase()])`, a member-access prefix, the shorthand
`{ retry }`, an aliased import, a non-literal title. Each fix was correct and
each made it more parser-shaped, until it carried eight helpers doing quote
tracking and bracket balancing.

Both rules are observable at runtime, exactly:

- `vitest.setup.shared.mts` is loaded by all six projects and reads
  `ctx.task.retry` — the value Vitest resolved for the test. That covers
  strictly more than the scan did: a per-test option, a `describe` option
  inherited by children, a project-level setting, and a `--retry` flag typed at
  a command line, which the scan could never see since it only read npm scripts.
- `clients/web/src/test/asyncUtilTimeout.test.ts` asserts
  `getConfig().asyncUtilTimeout`, the value this project's own waitFors read.

Neither has a spelling to anticipate, so neither can be outrun by a new one.
Both were observed firing before being trusted.

The guard keeps only what it can answer by asking Vitest: resolved budgets,
project-level retry, config discovery, and that each project still loads the
setup file — the one thing about the runtime assertion a config CAN report.
868 lines to 361, every scanner helper gone, and 33 of 48 unit tests deleted
because they pinned edge cases of a thing that no longer exists.

storybookSetup.ts goes with it. At the library's own value its configure() call
was a no-op, and the assertion is what pins the number.

AGENTS.md gains the general rule: a rule about what the code DOES is asserted at
runtime, not read out of the source — reach for a verify:* guard when the
question is about configuration, which a tool can be asked to resolve.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PsmUAZ6aLUAFqenjJKSSRp
Signed-off-by: cliffhall <cliff@futurescale.com>
2026-09-12 15:58:19 -04:00
..
images docs: restore the missing docs/ targets and split the catalog-seeding wording (#1811) (#1812) 2026-07-27 20:37:14 -04:00
architecture.md Merge branch 'v2/main' into v2/chore/2163-agent-skills 2026-08-29 23:06:01 -04:00
cli-smoke-testing.md docs: harden the Actions example in the CLI smoke-testing guide 2026-09-06 14:41:56 -04:00
docker.md chore: extract AGENTS.md recipes into agent skills 2026-08-29 00:36:37 -04:00
inspector-roadmap-2026-h2.md chore(scripts): rename the local pre-push gate off ci, and guard it out of CI (#2146) 2026-08-26 23:56:34 -04:00
launcher-config-consolidation-plan.md docs: restore the missing docs/ targets and split the catalog-seeding wording (#1811) (#1812) 2026-07-27 20:37:14 -04:00
mcp-app-review.md fix(web): move the app origin off 6276, bound the publish route 2026-08-24 08:45:40 -04:00
mcp-server-configuration.md feat: seed the MCP org example server as a remote first-run card (#2201) 2026-09-06 22:57:53 -04:00
publishing.md chore: extract AGENTS.md recipes into agent skills 2026-08-29 00:36:37 -04:00
quality-gate.md refactor: assert retry and asyncUtilTimeout at runtime, delete the source scanner 2026-09-12 15:58:19 -04:00
skill-authoring.md chore: land the #2247 round-9 review findings on v2/main (#2322) 2026-09-11 08:22:16 -04:00
test-servers.md test: pin the CIMD form copy; narrow the "no exemption" claim in the docs 2026-09-11 03:48:54 -04:00
v1-to-v2-migration.md fix(web): bound retained app documents by size; correct the cookie claim 2026-08-24 08:45:40 -04:00