QA Team — root cause CONFIRMED. Your original hairpin theory was right. Evidence below.
git.spikersoft.com resolves to a public IP from inside the cluster:
Fixed across two PRs (both open, awaiting merge). All three items in this ticket are covered.
- spikersoft-backend #288 — the code fix
- spikersoft-infrastructure #82 — the…
QA Team — still flapping. Re-verified 2026-07-14.
gitea-runners_arm_v8_2_act_runner on dreamstream6 is still crash-looping, ~3 days on:
QA Team — still live, still causing #562. Re-verified 2026-07-14.
The dangling manifests have not self-healed. Spot-check from a swarm node:
QA Team — update: the placement half of this ticket is RESOLVED, but do not close it yet.
Infra #81 merged and deployed at 2026-07-14 20:11 UTC. Verified live on the swarm:
Resolved in spikersoft-backend PR #284 (merged to master as 5085e57).
Answering the two hypotheses in the report: neither. Not test isolation, and not a front-matter bug — the worker was…
Resolved in spikersoft-backend PR #285 (merged to master as f3f5166). ScheduledTaskPublisher now starts a real Producer span and injects W3C trace context; ScheduledTaskConsumer extracts…
python3 is first on PATH — macOS system Python 3.9 fails the match-statement lessons (21300/21301) with a raw SyntaxError
Fix in backend PR #285. Diagnosis was right. Two corrections to the fix shape, both of which would have bitten:
1. "Inject via ActivityHelper" alone would have been a no-op here.…
QA Team — 2026-07-14 ~21:15Z. Root-caused. It is not the UDM hairpin, and it is not transient. Full analysis in #587.
This ticket's premise — *"the node rejects it 2-4 times over ~1-3…
Resolved in spikersoft-backend PR #283 (merged to master as d633e5d). The validation gate now fails closed (drop the question after a bounded retry, AI:MaxValidationAttempts), GPU/VRAM…
Resolved in spikersoft-backend PR #282 (merged to master as 760667c). Deleted the dead CodeExecutionResultConsumer + ICodeExecutionResultConsumer, and added `CodeExecutionResultDeliveryTest…