[PR #457] [MERGED] test: overhaul deterministic suite architecture #2004

Closed
opened 2026-10-16 21:13:16 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/457
Author: @morluto
Created: 7/29/2026
Status: ✅ Merged
Merged: 7/30/2026
Merged by: @morluto

Base: main ← Head: agent/test-suite-architecture-overhaul


📝 Commits (10+)

  • 513d9b1 test: overhaul deterministic suite architecture
  • a8161f0 refactor: preserve provider-neutral runtime seams
  • 3c42403 ci: document deterministic suite ownership
  • 935721d fix(test): bound boundary worker pressure
  • f47ee1a fix(ci): align Vitest project worker budgets
  • f07acde fix(ci): stabilize Vitest project routing and shards
  • 788f405 fix(ci): make coverage report merging composable
  • 8ccdb33 test(contracts): cover validation branches
  • 92a1c33 fix(test): honor boundary ownership and public aliases
  • 97f6a0f fix(ci): allow documented public type aliases

📊 Changes

386 files changed (+31377 additions, -24462 deletions)

View changed files

📝 .github/workflows/ci.yml (+49 -15)
📝 .oxlintrc.json (+77 -3)
📝 CONTRIBUTING.md (+7 -9)
📝 README.md (+4 -1)
➕ docs/test-migration-ledger.md (+73 -0)
➕ docs/testing.md (+94 -0)
📝 knip.json (+4 -0)
📝 package.json (+13 -5)
➕ src/application/BinarySessionComposition.test.ts (+35 -0)
➕ src/application/BinarySessionComposition.ts (+62 -0)
📝 src/application/LoopbackReplay.ts (+1 -1)
📝 src/application/SessionProviderRouter.ts (+10 -10)
📝 src/application/runtime.ts (+27 -29)
📝 src/domain/boundedCartesianProjection.test.ts (+1 -1)
📝 src/domain/jsonShape.test.ts (+1 -1)
📝 src/domain/mobileApplicationInvestigation.ts (+0 -1)
📝 src/domain/objcSwiftMetadata.ts (+0 -1)
📝 src/domain/symbolAnalysis.test.ts (+1 -1)
📝 tests/acceptance/analysis/packageAnalysis.test.ts (+1 -1)
➕ tests/acceptance/applications/applicationEvidenceMcp.test.ts (+244 -0)

...and 80 more files

📄 Description

Description

Reorganizes REA deterministic tests by behavioral depth, adds typed workspace/process/CLI/MCP seams, removes legacy flat topology and module spies, and routes CI through native Vitest projects and four shards. Public CLI, MCP, provider, Evidence, and file-format behavior is unchanged.

Type of Change

  • Refactoring (no functional change)
  • Test architecture and developer-experience improvement
  • CI and documentation maintenance

Testing Performed

  • npm run typecheck
  • npm run lint (0 errors; existing production size/complexity warnings remain)
  • npm run format:check
  • Focused boundary regression batch: 12/12 tests passed with capped worker pressure
  • npm pack --dry-run
  • npm run verify:package was started but interrupted after the build phase because the package verifier did not produce output on this host
  • npm run check:pr was started; the initial four-worker boundary run exposed EMFILE/timeout contention and was interrupted, then the worker-cap fix was verified with focused boundary coverage
  • Real Hopper/Ghidra/browser lanes were not run

Tool Contract Impact

None. The canonical MCP catalog and public CLI/MCP contracts are unchanged.

Review Order

  1. vitest.config.ts, .oxlintrc.json, and tests/support/**
  2. Test topology and decomposition under src/**/*.test.ts and tests/**
  3. Provider-neutral composition seam and runtime cleanup
  4. CI, package scripts, migration ledger, and testing documentation

None.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/457 **Author:** [@morluto](https://github.com/morluto) **Created:** 7/29/2026 **Status:** ✅ Merged **Merged:** 7/30/2026 **Merged by:** [@morluto](https://github.com/morluto) **Base:** `main` ← **Head:** `agent/test-suite-architecture-overhaul` --- ### 📝 Commits (10+) - [`513d9b1`](https://github.com/morluto/rea/commit/513d9b15558f9174a8e2c0ab00e31cbc05dbaba7) test: overhaul deterministic suite architecture - [`a8161f0`](https://github.com/morluto/rea/commit/a8161f0e5540f3261a08015dfe56a4254980c064) refactor: preserve provider-neutral runtime seams - [`3c42403`](https://github.com/morluto/rea/commit/3c42403b78b53e7b5358c2bca9bc156ef2c32efd) ci: document deterministic suite ownership - [`935721d`](https://github.com/morluto/rea/commit/935721df10d25d23621dbc2be90d334644e0858c) fix(test): bound boundary worker pressure - [`f47ee1a`](https://github.com/morluto/rea/commit/f47ee1abb4fc8dbd5da3fa13c5870d6580b28bfa) fix(ci): align Vitest project worker budgets - [`f07acde`](https://github.com/morluto/rea/commit/f07acde513d4c74d027b66e143cf5072246b412b) fix(ci): stabilize Vitest project routing and shards - [`788f405`](https://github.com/morluto/rea/commit/788f4057aee65dfae441249d2c9789bb996912a7) fix(ci): make coverage report merging composable - [`8ccdb33`](https://github.com/morluto/rea/commit/8ccdb33dd25922e039140bcd1e3cbf3d5acee837) test(contracts): cover validation branches - [`92a1c33`](https://github.com/morluto/rea/commit/92a1c33625ff88d81581554687e7708dd3c91e2d) fix(test): honor boundary ownership and public aliases - [`97f6a0f`](https://github.com/morluto/rea/commit/97f6a0f3fd2ebf8fa884d7f7ba6e1c66ecfe80e0) fix(ci): allow documented public type aliases ### 📊 Changes **386 files changed** (+31377 additions, -24462 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/ci.yml` (+49 -15) 📝 `.oxlintrc.json` (+77 -3) 📝 `CONTRIBUTING.md` (+7 -9) 📝 `README.md` (+4 -1) ➕ `docs/test-migration-ledger.md` (+73 -0) ➕ `docs/testing.md` (+94 -0) 📝 `knip.json` (+4 -0) 📝 `package.json` (+13 -5) ➕ `src/application/BinarySessionComposition.test.ts` (+35 -0) ➕ `src/application/BinarySessionComposition.ts` (+62 -0) 📝 `src/application/LoopbackReplay.ts` (+1 -1) 📝 `src/application/SessionProviderRouter.ts` (+10 -10) 📝 `src/application/runtime.ts` (+27 -29) 📝 `src/domain/boundedCartesianProjection.test.ts` (+1 -1) 📝 `src/domain/jsonShape.test.ts` (+1 -1) 📝 `src/domain/mobileApplicationInvestigation.ts` (+0 -1) 📝 `src/domain/objcSwiftMetadata.ts` (+0 -1) 📝 `src/domain/symbolAnalysis.test.ts` (+1 -1) 📝 `tests/acceptance/analysis/packageAnalysis.test.ts` (+1 -1) ➕ `tests/acceptance/applications/applicationEvidenceMcp.test.ts` (+244 -0) _...and 80 more files_ </details> ### 📄 Description ## Description Reorganizes REA deterministic tests by behavioral depth, adds typed workspace/process/CLI/MCP seams, removes legacy flat topology and module spies, and routes CI through native Vitest projects and four shards. Public CLI, MCP, provider, Evidence, and file-format behavior is unchanged. ## Type of Change - [x] Refactoring (no functional change) - [x] Test architecture and developer-experience improvement - [x] CI and documentation maintenance ## Testing Performed - `npm run typecheck` - `npm run lint` (0 errors; existing production size/complexity warnings remain) - `npm run format:check` - Focused boundary regression batch: 12/12 tests passed with capped worker pressure - `npm pack --dry-run` - `npm run verify:package` was started but interrupted after the build phase because the package verifier did not produce output on this host - `npm run check:pr` was started; the initial four-worker boundary run exposed EMFILE/timeout contention and was interrupted, then the worker-cap fix was verified with focused boundary coverage - Real Hopper/Ghidra/browser lanes were not run ## Tool Contract Impact None. The canonical MCP catalog and public CLI/MCP contracts are unchanged. ## Review Order 1. `vitest.config.ts`, `.oxlintrc.json`, and `tests/support/**` 2. Test topology and decomposition under `src/**/*.test.ts` and `tests/**` 3. Provider-neutral composition seam and runtime cleanup 4. CI, package scripts, migration ledger, and testing documentation ## Related Issues None. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-16 21:13:16 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#2004
No description provided.