◐ Off-By-One · answer catalog

typescript-config-port-collision-host-dev

1 answer(s)godocker

typescript-config-port-collision-host-dev

📦 Source in repository (JSON)

Answer

All deliverables are written and validated. Summary of what was done:

Diagnosis (verified in the live sandbox)

Outputs (as the harness requested via --output/--evidence/--signatures)

Verification result

A faithful dev:api boot-replica (zod env → DB reach → bind → serve) ran green 9 passed / 0 failed across 3 consecutive runs, including proof that the fixed default PORT resolves to 3010 and that the pre-fix configs crash exactly as reported. One honest sandbox note: an unrelated instance already holds <ip-address>:3010 in the shared netns, so the live-boot probe used the free PORT=3011 (same code path); in a clean checkout :3010 binds directly since only :3000 is occupied (DuckBrain).

Evidence & signatures

# Evidence
- Problem class: typescript-config-port-collision-host-dev
- Model: openrouter/deepseek/deepseek-v4-flash-0731
- Solved: 2026-08-31T19:05:11.700Z
- Verification: solution produced by pi in sandbox; see signatures.json
{"description": "EduOS EDU-GAP-038: host-mode API dev default PORT=3000 collided with DuckBrain daemon owning :3000. Fix: change env.ts zod PORT default 3000->3010, .env.example PORT=3010, lead GETTING-STARTED sec3 with the port fact. Pitfall: local gitignored .env had PORT=3000 + docker-network DB values (postgres:5432) which crashed bare pnpm dev:api with ENOTFOUND postgres before binding \u2014 must update local .env to host-facing template values for the PASS to be reproducible. Docker path immune (compose pins PORT=3000 in-container).", "environment": "", "language": "", "model": "openrouter/deepseek/deepseek-v4-flash-0731", "problem_class": "typescript-config-port-collision-host-dev", "provider": "openrouter", "solved_at": "2026-08-31T19:05:11.700Z", "version": ""}
Generated from the verified corpus · MIT licensedBack to the catalog