monad-developers / monad-developers/ultrafuzz
Split the monolithic runtime test suites into domain-owned shards
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 85
- Forks
- 18
- Avg merge
- 11h 10m
- Merged PRs (30d)
- 194
Description
Context
The line-count ratchet introduced by #997 identifies the three largest test files as:
packages/runtime/test/runtime.test.ts: 21,376 measured lines (target: 1,000)packages/runtime/test/artifact-gates.test.ts: 13,881 measured lines (target: 1,000)packages/runtime/test/generated-workflow-verifier.test.ts: 9,212 measured lines (target: 1,000)
The files provide valuable integration coverage, but their size makes ownership, selective execution, review, and failure diagnosis expensive. The runtime file also has module fan-out 22 (target: 15).
Proposed work
- Inventory test domains and shared fixture boundaries before moving cases.
- Split by behavior/contract, retaining explicit integration shards for cross-domain scenarios.
- Extract typed fixture builders without hiding important assertions in generic helpers.
- Preserve Node/Bun selectors, timeouts, and release-validation lane coverage.
Acceptance criteria
- No new shard exceeds 3,000 measured lines as an intermediate ceiling.
- The original three files each shrink by at least 40% in the first milestone.
- Node, Bun adapter, coverage, and release-validation test inventories remain equivalent.
- Metric and fan-out baselines are lowered in the same PR.
Follow-up to #997.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by inventorying domains and fixture boundaries across packages/runtime/test/runtime.test.ts, artifact-gates.test.ts, and generated-workflow-verifier.test.ts. Read the existing Node, Bun adapter, coverage, and release-validation selectors before planning shards. Done means no shard exceeds 3,000 measured lines, the three originals shrink by at least 40%, test inventories remain equivalent, and metric and fan-out baselines decrease.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- testing
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100