…h tsgo
Three measured dev-loop/CI cuts, no signal loss:
- typecheck now runs tsgo (already trusted for declaration emit by the
tsdown build): 21.7s -> 5.3s locally, and check:tooling drops to ~18s
total. tsc stays available as typecheck:tsc; verified tsgo fails on
type errors and respects noUnusedLocals.
- remove the Unit Tests CI job: Coverage runs the same unit +
provider-integration suites under coverage thresholds, so the job
reran ~64s of tests every PR for no extra signal.
- Size workflow: skip docs-only paths (same paths-ignore as CI) and
cache the base commit's dist keyed on base SHA, since dist is fully
determined by that commit. Startup medians are still measured fresh
on the same runner so the base/PR startup comparison stays
same-machine; the cache is saved immediately after the base
measurement so the PR build never poisons it.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FqeW8sA2ZnvnftdvpCqFMS
Summary
Three measured speed cuts to the dev loop and CI, none of which remove signal. Follow-up to the tsdown migration (#1087), where the investigation happened.
pnpm typechecknow runs tsgo (the native-preview compiler this repo already trusts for declaration emit in the tsdown build): 21.7s → 5.3s locally, takingcheck:toolingfrom ~85s pre-migration to ~18s end to end.tscremains available astypecheck:tsc, and the CI Typecheck job gets the same speedup since it callspnpm typecheck.paths-ignorelist as CI) and caches the base commit'sdistkeyed on base SHA —distis fully determined by that commit, so re-running a PR against the same base skips the base rebuild. Startup medians are still measured fresh per run, keeping the base/PR startup comparison same-machine. The cache saves immediately after the base measurement so the PR-side build can never poison the base key.Not included, checked and rejected during investigation: vitest
--no-isolate(breaks ~30 tests relying on fresh module state, and slower) and--pool=threads(27 errors) — the unit suite legitimately needs forks+isolation; Android AVD snapshot caching (whole smoke run is only ~3m22s on KVM runners, marginal payoff for the maintenance cost).Validation
Ran
pnpm check:toolinggreen in 18.5s with tsgo in the loop, and verified tsgo is actually checking: an injected type error fails with TS2322 plus anoUnusedLocalsTS6133, and the clean tree passes. Parsed both edited workflows with a YAML loader and confirmed the resulting job lists. The Size cache flow was desk-checked for the two orders: on miss, save runs right after the base measurement (before the PR build overwritesdist); on hit, the base build is skipped and the gitignoreddistsurvives the base checkout.Touched files: 3 (
package.json,.github/workflows/ci.yml,.github/workflows/size.yml).🤖 Generated with Claude Code
https://claude.ai/code/session_01FqeW8sA2ZnvnftdvpCqFMS
Generated by Claude Code