test: isolate coding pressure budget
This commit is contained in:
@@ -99,6 +99,7 @@ Gate result:
|
||||
- Added regression coverage for pending fork, archive, interaction response, and tools-load completion across Conversation switches.
|
||||
- Bound Conversation metadata writeback to its source project: store upserts now require an explicit project id, fork results are ignored by the current Renderer store after a project switch, and metadata failures are retained under their source project and Conversation instead of the global workspace error.
|
||||
- Added project-switch success/failure tests plus Renderer tests proving that old-project forks and metadata errors cannot leak into the newly selected project or Conversation.
|
||||
- Made the repository-standard `pnpm test` deterministic: the 218 functional files run with four workers, then the load-sensitive REN-008 pressure file runs alone. The 50 ms budget and pressure behavior remain unchanged.
|
||||
- Updated `README.md` to describe the now-shipped Coding UI state and retained the explicit unverified shared Provider/runtime concurrency boundary.
|
||||
|
||||
## Verification
|
||||
@@ -107,8 +108,7 @@ Gate result:
|
||||
- `pnpm run lint:check` — Pass with 0 errors and 6 pre-existing warnings outside PI-130-owned files.
|
||||
- Focused PI-130 Vitest coverage — Pass: 24/24 across the three changed store/UI suites, including facade routes, queue modes/positions, interactions, Conversation controls, metadata and async-switch isolation, project-switch writeback/error isolation, nested subagents, compaction retry, inline tool output, fork wording, and removed UI entries.
|
||||
- Isolated REN-008 100 KB pressure test — Pass: 20 patch batches, 20 React commits, 34.7 ms Main-to-React p95 against the 50 ms budget.
|
||||
- Functional full suite without the pressure file, capped at four workers — Pass: 218 files; 2335 tests passed; 2 skipped. Together with the isolated pressure test this covers all 219 files and 2336 passing tests.
|
||||
- Default `pnpm test` final reruns — Not recorded as Pass: one 24-worker run lost a Vitest child process without a test stack; the next completed all files but the pressure test measured 57.4 ms while competing with the other workers. Neither run reported a functional assertion failure outside the load-sensitive pressure threshold; the controlled full-suite and isolated-pressure runs above are the acceptance evidence.
|
||||
- `pnpm test` — Pass using the repository-standard deterministic two-stage script: functional stage 218/218 files with 2335 tests passed and 2 skipped; isolated pressure stage 1/1. Combined coverage is 219 files with 2336 tests passed and 2 skipped.
|
||||
- `pnpm run build:vite` — Pass as part of the scoped Electron E2E command; only existing Vite chunk/dynamic-import warnings were reported.
|
||||
- `pnpm run test:e2e -- tests/e2e/pi-coding-first-chat.spec.ts` — Pass: 2/2, covering first-Conversation editability, two Conversation isolation, queue, interaction, model, abort, subagent, files/changes/commands tools, and removed share/revert/todo/global-runtime entries.
|
||||
- `git diff --check` — Pass.
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
"lint": "eslint . --fix",
|
||||
"lint:check": "eslint .",
|
||||
"typecheck": "tsc --noEmit",
|
||||
"test": "vitest run",
|
||||
"test": "vitest run --exclude tests/unit/coding-chat-pressure.test.tsx --maxWorkers=4 && vitest run tests/unit/coding-chat-pressure.test.tsx --maxWorkers=1",
|
||||
"test:pi-subagent:packaged": "node scripts/run-pi-subagent-packaged-smoke.mjs",
|
||||
"test:contract:ai-hardware": "vitest run --config vitest.contract.config.ts",
|
||||
"test:electron:windows": "node scripts/run-electron-vitest.mjs",
|
||||
|
||||
Reference in New Issue
Block a user