fix(coding): preserve conflict and unicode search results

This commit is contained in:
2026-08-23 18:31:53 +08:00
parent 9520872d2f
commit 365c2b0f76
6 changed files with 152 additions and 19 deletions

View File

@@ -86,15 +86,20 @@
- Added focused unit and Windows Electron coverage for Git/non-Git files,
Unicode truncation, path rejection/redaction, shared tracker identity,
catalog filtering, seven route DTOs, Renderer encoding, and Main dispatcher.
- Architecture review reproduced two reachable parity gaps in the first
implementation commit. The follow-up recognizes porcelain-v2 unmerged
records as `conflicted` in both file status and target-run changes, and maps
length-changing Unicode case-fold indices back to the original line before
returning search submatches. Both failures now have real regression tests.
## Verification
- `corepack pnpm exec vitest run tests/unit/coding-project-files.test.ts tests/unit/coding-product-services.test.ts tests/unit/coding-files-routes.test.ts tests/unit/coding-product-tools-facade.test.ts` — Pass, 4 files / 10 tests.
- `corepack pnpm exec vitest run tests/unit/coding-project-files.test.ts tests/unit/coding-product-services.test.ts tests/unit/coding-files-routes.test.ts tests/unit/coding-product-tools-facade.test.ts` — Pass, 4 files / 12 tests after review fixes.
- `corepack pnpm exec vitest run --config vitest.electron.config.ts tests/electron-runtime/coding-files-host.test.ts` — Pass, 1 file / 1 test (focused seam).
- `corepack pnpm run typecheck` — Pass.
- `corepack pnpm run lint:check` — Pass with 6 pre-existing warnings and no errors.
- `corepack pnpm run build:vite` — Pass; existing dynamic-import/chunk-size warnings remain.
- `corepack pnpm test` — Pass on clean rerun, 207 files / 2237 passed / 2 skipped. The first run had one Windows temporary-file `EPERM` and one async AI-hardware loading timeout; both passed when isolated and the complete suite then passed.
- `corepack pnpm test` — Pass after review fixes, 207 files / 2239 passed / 2 skipped. The first pre-review run had one Windows temporary-file `EPERM` and one async AI-hardware loading timeout; both passed when isolated and complete-suite reruns passed.
- `corepack pnpm run test:electron:windows` — Pass, 3 files / 7 tests. A direct Vitest invocation was intentionally discarded because it bypassed the repository's local-Electron wrapper.
- Real Provider verification — **Explicitly Waived / Accepted Risk**;
`realTurnVerified=false`, not Pass.