diff --git a/workplans/CUST-WP-0045-cutover-runbook.md b/workplans/CUST-WP-0045-cutover-runbook.md index 37b15a7..1284e5d 100644 --- a/workplans/CUST-WP-0045-cutover-runbook.md +++ b/workplans/CUST-WP-0045-cutover-runbook.md @@ -78,7 +78,7 @@ export ACTCORE_DB_URL=postgresql+asyncpg://actcore:actcore@localhost:5433/actcor export TEMPORAL_HOST=localhost:7233 export TEMPORAL_NAMESPACE=default export STATE_HUB_URL=http://127.0.0.1:8000 -export LLM_CONNECT_URL=http://127.0.0.1:8080 +export LLM_CONNECT_URL=http://127.0.0.1:8088 # NOT :8080 — taken by temporal-ui export ISSUE_SINK_TYPE=null # canary must not spawn real tasks uv run python -m activity_core.worker @@ -103,9 +103,13 @@ uv run uvicorn activity_core.api:app --host 127.0.0.1 --port 8010 cd /home/worsch/llm-connect export LLM_CONNECT_CLAUDE_CLI_PATH=/home/worsch/.local/bin/claude -uv run python -m llm_connect.server --host 127.0.0.1 --port 8080 --provider claude-code +uv run python -m llm_connect.server --host 127.0.0.1 --port 8088 --provider claude-code ``` +Port `:8088` is chosen because the dev stack already binds `:8080` for the +Temporal UI (`temporal-ui` container). llm-connect's CLI default is `:8080` +and will `OSError: [Errno 98] Address already in use` if you accept it. + The explicit `LLM_CONNECT_CLAUDE_CLI_PATH` is belt-and-suspenders against the 2026-05-21 failure (the adapter resolved `/usr/bin/claude` and got the literal string `Execution error`). @@ -113,7 +117,7 @@ string `Execution error`). ## Step 6 — Smoke probe llm-connect before risking the full canary ```bash -curl -sS -X POST http://127.0.0.1:8080/execute \ +curl -sS -X POST http://127.0.0.1:8088/execute \ -H "Content-Type: application/json" \ -d '{ "prompt": "Return ONLY JSON: {\"ok\": true}",