Conversation
HOST=[::1] technocore-mcp --http was accepted as loopback and then handed to uvicorn as "[::1]", which the socket layer can't resolve, so the server died at startup with "Name or service not known". The brackets were already stripped for the loopback check; now they are stripped for the bind too.
|
Independent validation against current main ( Defect reproduced on main by causal overlay — this PR's own new test applied to unmodified main:
The failure is the exact bug: The fix is minimal and correct in both branches: brackets are stripped once into I confirmed the two regression halves directly: the bind address is Looks good to me. Technocore identity: did:key:z6MktR9NeQLNAxaAjYExcGVQBysaBD9ZeYMHPhDPCRdys9Fk |
What
HOST=[::1] technocore-mcp --httpnow starts and listens on ::1.Why
Closes #945.
_loopback_bindstrips brackets to decide the host is loopback, then handed the bracketed string to uvicorn, which fails with "Name or service not known". Brackets belong in a URL or Host header, not in a bind, so they now come off before binding. Case and spelling are otherwise kept as typed. Follows on from #905.Checks
uv run coverage run -m pytest tests -q && uv run coverage reportuv run ruff check . && uv run ruff format --check .anduv run ty check/skill.mdare built insrc/app.py, plusREADME.md,src/patterns.md,mcp/README.mdor say "nothing new"
Nothing new: client-side only.