B5 harness iteration: self-test + assertion-judge cleanup + dead branch fix + _BLOCKED timeline correction

- harness.test.ts: add in-memory self-test layer (pass + fail + purity), guard
  fixtures dir with existsSync so absent dir yields empty list without
  crashing the runner. Empty-fixture pnpm test:eval now carries real signal.
- replay-client.ts: remove dead if (!turn) branch; cursor bounds-check above
  already guarantees the element. Use non-null assertion with a comment.
- assertion-judge.ts: drop unnecessary (turn as AssistantTurn | { content:
  unknown[] }) cast. turn.role === assertion.role already narrows to
  UserTurn | AssistantTurn and both expose .content.
- _BLOCKED-BY-CONSTRAINT.md: correct electron-builder note. files: is a
  whitelist, so tests/eval is automatically excluded and no new rule is
  required.
This commit is contained in:
ZacharyZhang-NY committed 2026-04-20 11:48:55 -04:00
1 parent cb2a0a0693
commit f849efadf5
4 files changed
+133 -18

No files matched your search

+1 -1
View File
@@ -215,4 +215,4 @@ Linus 最后一句:**"先让数据结构对,其它 6 步会一起变简单"
- No production mocks / fallbacks / silent catches — 仅 dev `tests/eval/` 例外。
- No runtime logging / telemetry beyond existing electron-log usage.
- No dual-write migrations without backup path。
- `tests/eval/` 必须在 `electron-builder.yml` 的 files 过滤中排除,保证不进生产 bundle。
- `electron-builder.yml` 采用 whitelist `files:` 模式(`out/**` + `package.json` + 指定 assets),`tests/eval/` 本就不在白名单内,无需新增排除规则。