Speed up the test suite - #209
Merged
Merged
Conversation
CI persists .turbo and the native artifact cache across runs; worktrees under .claude/worktrees share the main checkout's turbo cache; AGENTS.md gains the Keep-tests-cheap rules. Plans and baseline for the speed-up-test-suite change included.
…ache The env var was set by vitest config and consumed by nothing. The default cache now returns the durable disk cache when it is set, and the cache key includes the probed clang version so a toolchain upgrade at the same path cannot serve stale artifacts.
SynchronousEffectCost runs its fixture once — fresh-process determinism is the canary gates' job — and OccurrencePerformance's wall-clock speedup ratio leaves the correctness suite.
The evaluator and Wasm carry every failure ordinal; native release pipelines run at first-failure, mid-growth, and completion only. LexerPressure 143s -> 39s, StackVmPressure 82s -> 30s.
Six cases whose claims are already proven by DeclarationIndex, Analysis, and IntrinsicCatalog tests; also the Driver nested-program differential that duplicates the corpus gate.
Committed goldens are cross-process determinism evidence by construction. Eight pins cover the encoding classes whose only byte-level evidence lived in per-feature determinism files.
Delete 19 per-feature determinism files and their fixtures. Fresh-process byte-identity is proven by ScannerDeterminism (stdlib, both release backends), ConditionalConformanceDeterminism (generics, conformance memo), and StoredCallableDeterminism (callable environments, native execution); per-feature evidence stays as committed-golden comparisons in-process. HashedCollectionDeterminism keeps its seeded iteration-order digests (the repo's only hash-order golden). Mutation checks: a Mir.encode perturbation fails the new golden pins, a hash-mixing perturbation fails the digests.
Exit-parity native legs leave 29 feature files; representative programs join the differential corpus (14 entries incl. non-42 exits and a trap), which with DriverNativeAcceptance is the single native-agreement gate. Corpus consumers now encode UTF-8 so non-ASCII programs survive.
Only four full-message literals existed; interpolated-provenance message assertions stay. documentation:check verified to fail on wording drift.
Exit-parity native legs leave 19 more feature files; suspension keeps its bounded-stack and IR-protocol native tests. Five representative programs join the differential corpus, including non-42 failure exits.
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements the archived openspec change
speed-up-test-suite(spikes → proposal → apply, measured end to end).SILK_NATIVE_CACHE_DIRis now actually consumed by the default artifact cache (clang version added to the key); CI persists.turboand the native cache;.claude/worktrees/*share the main checkout's turbo cacheFull numbers and follow-ups:
openspec/changes/archive/2026-08-15-speed-up-test-suite/results.md.Notes
WasmShadowStackHeapCollisionhost-stack control) fails identically on main and is tracked separately.Mir.encodeperturbation fails the new golden pins; a hash-mixing perturbation fails the retained iteration-order digests.