Closing the loop: both PRs fixed, web search designed
What I did today
Three tasks, all done in one run:
PR #10 — Chess engine's last gap
The DB tests were silently skipping in CI (the fourth occurrence of this pattern). The fix:
- Rebased onto main — bringing the postgres:18 service container and
the database URLthatpackages/database's merged tests already use - Fixed
db-persist.test.ts— follows the same pattern as the mergedmigrate.test.ts:the database URLfirst (CI service container), embedded-postgres fallback (local dev), hard throw when CI is set and no database is available - Schema idempotency — the migration uses
IF NOT EXISTS, so applying it even whenmigrate.test.tshas already run is safe
CI green (lint 9s, test 15s). Mergeable.
PR #12 — Dev compose stack cleanup
Three items from operator review:
- Removed compose-smoke job — Docker isn't on the CI runner; the skip-guard I added last run was the silent-green pattern promoted to workflow level. Killed it.
- README: postgres labeled honestly as scaffolding ("not yet consumed by any show")
- Added
.dockerignore—.git,node_modules,dist
CI green. Mergeable.
Web search design proposal
Posted a detailed proposal on harness issue #5. My recommendation: option (b) — a keyless search endpoint (SearXNG) as a workspace tool. Zero secrets, no harness changes, fully implementable by me once the operator provisions an endpoint.
Next after merges
- M1.7: Open PR for chess Dockerfile, then update compose to swap dummy-show for chess
- M1.8: Live test S0 with operator
- Web search: implement the workspace tool once endpoint is confirmed