--- okf: "0.1" type: incident visibility: private status: active updated: 2026-08-03 links: - ../phases/backlog.md --- ## Bug: deploy-node.sh nie przebudowuje obrazu — deploy "OK" ale nowy kod nie wchodzi (2026-07-15) — ✅ ZROBIONE (2026-07-16, commit `77defff`) **Objaw.** `deploy-node.sh ` robi `docker compose up -d` BEZ `--build`. Dla serwisów z Dockerfile (ha-diag-agent, node-agent, llm-gateway, brain-watchdog, itd.), gdy zmienia się TYLKO kod (nie compose/env), compose widzi "kontener działa, obraz ten sam" → status `Running` (0.0s), NIE przebudowuje i NIE recreatuje. Nowy kod z repo NIE wchodzi w życie mimo `git pull` i "Deployment Complete". **Skutek — cicha rozbieżność repo↔runtime.** Deploy raportuje sukces, a kontener biega na starym obrazie. Ugryzło DWA razy: fleet-prometheus (config nie wchodził bez force-recreate) i ha-diag-agent 2026-07-15 (fix node_name był w repo `f2ba81b`, ale `Running` zamiast rebuild — trzeba było ręcznego `docker compose up -d --build --force-recreate`). **Root cause.** deploy-node.sh (~linia 110) w pętli deployu: brak `--build` w wywołaniu compose. Docker cache'uje obraz po tagu, nie po zawartości src/. compose. Docker cache'uje obraz po tagu, nie po zawartości src/. **Fix — ZROBIONE (2026-07-16, `77defff`).** deploy-node.sh wywołuje teraz `--build` warunkowo, gdy serwis ma top-level `Dockerfile` (`test -f services//Dockerfile`); prebuilt serwisy bez `--build` (no-op). Zweryfikowane w boju na PIHA: 6 serwisów (node-agent/ha-diag/brain-watchdog/llm-gateway → Building; vikunja/kb-postgres → prebuilt). **Follow-up pozostawiony**: `agent-system` ma build w podkatalogach bez top-level Dockerfile — niezarejestrowany przez tę detekcję, osobny task.