Skip to content

test harness: root test/** has no tsgo typecheck lane (1071 latent type errors; changed gate runs no typecheck for test/ paths) #104388

Description

@steipete

Summary

Root test/**/*.ts (all 111 Vitest lane configs, the shared harness, test/scripts/**, test/e2e/**, test/helpers/**) is not typechecked by any tsgo lane, and the changed gate runs no typecheck for test/ paths.

Findings

  • test/tsconfig/tsconfig.core.test.json includes tests under src/, ui/, and packages/ but not root test/**; the only coverage is transitive (files imported from included roots). Observed cost: the envDir type error in test: fix changed-run routing, dedupe gateway package lanes, repair force-rerun triggers #104287 passed the remote check:changed gate and surfaced only in CI check-test-types — and only because that one config happens to be imported from the root vitest.config.ts.
  • scripts/changed-lanes.mjs classifies test/ paths as the tooling lane, which runs lint only (no tsgo command in scripts/check-changed.mjs).
  • A probe lane over test/**/* (extends root tsconfig, noUnusedLocals/noUnusedParameters, fixtures excluded) reports 1071 type errors: 518x TS7006 implicit-any params, 287x TS7016 missing declarations for scripts/**/*.mjs imports (the repo convention is sibling .d.mts files, which exist for some modules but not the ones test files import), and ~266 assorted real type issues. Top offenders: test/scripts/ci-node-test-plan.test.ts (98), test/scripts/ci-workflow-guards.test.ts (70), test/scripts/changed-lanes.test.ts (70).

Expected behavior

test/** TypeScript compiles under a dedicated tsgo lane (mirroring the tsgo:scripts lane from #104348), wired into check:test-types/scripts/check.mjs/the ci.yml test-types shard, with changed-file routing from test/**/*.ts edits.

Impact

Additional information

Follow-up deferred from #104321 (see its closing comment) after #104361 landed. Fix PR follows, mirroring #104348.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal backlog priority with limited blast radius.bugSomething isn't workingclawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.impact:otherThis issue has meaningful maintainer-visible impact outside the owned taxonomy.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.maintainerMaintainer-authored PR

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions