QA watch 2026-07-13 ~21:04Z — heads-up: the fix's image build NEVER FIRED. f0b846a0 merged ~20:39Z touching SpikerSoft.EventHandlers.DockerMonitor/** (squarely inside spikersoft-docker-monitor.yml…
QA watch 2026-07-13 ~20:57Z — redis cluster health after rejoin: VERIFIED OK. Cluster gossip shows no persistent failures; one replica briefly entered FAIL at 20:48:44Z and cleared at 20:49:40Z…
QA watch 2026-07-13 ~20:53Z — guard merged (a3fba37) and version-compatible. Implementation: workflow-level concurrency group 'model-env-images' with cancel-in-progress: true — newest commit…
Both halves MERGED (artpipe #16 + backend #266). Ticket closeable after the next finals cascade runs green on the 4090 — no further code work.
QA watch 2026-07-13 ~20:48Z — BOTH halves now merged; code-complete. (1) ModelEnvImages → 4090: landed earlier (model-env-images.yml:50), live-proven by run 10821 executing on the 4090 (verified…
QA watch 2026-07-13 ~20:48Z — revert verified, and it UNBLOCKS the security deploy. Revert 2d7caa63 (PR #179) removed only the proxy commit (d5fd39f3); the security deny block from 10f80c18 is…
Race outcome: revert #179 MERGED before any of the three queued Frontend CI deploys landed — probes show the ORIGINAL config still serving (quarantine + blogs both return the bind's 403), so no…
Fix (#177) merged; deploy pending in the Frontend CI queue (old config still live — quarantine currently 403 = bind directory). Verify after deploy: curl /spikersoft/quarantine/ -> 404, and a…
HOLD: #178 merged ahead of its gates — verified live that minio.spikersoft.com/blogs/ returns AccessDenied (no anonymous read) and the old config is still serving (quarantine 403s = bind…
QA watch 2026-07-13 ~20:44Z — fix VERIFIED in master, not yet live. f0b846a0 lands all three recommendations: Message.Action-first verb resolution, hostname from Actor.Attributes['name'], and…
Both halves now authored: ModelEnvImages → 4090 was artpipe PR #16 (merged); backend tier-3 finals → 4090 is backend PR #266 (open). With both on the same exclusive runner, tier-2 and tier-3…
SECURITY — deploy needed, 2026-07-13 ~20:42Z QA watch. The nginx deny fix (angular 10f80c18, merged 20:29Z in PR #177) is NOT live yet: learn.spikersoft.com still runs the pre-fix config. Live…
artpipe PR #18: workflow-level concurrency group with cancel-in-progress (ticket fix option 1) — newest commit owns :latest + provenance; superseded runs cancel instead of clobbering. Option 2…
Backend PR #265: Action-first verb mapping, node-only name-attr hostname fallback (container names can't masquerade as hostnames), and heartbeat debounce — node updates without a state transition…
Hardening MERGED (infra #59 — --preserve-digests + optional authed Hub pulls). Mirror is still EMPTY: re-dispatch MirrorUpstreamImages once the artpipe pushes finish (optionally set DOCKERHUB_USER…
Code MERGED (backend #263 — S3MediaFallbackMiddleware behind the four disk mounts, Range pass-through). Live but inert until the API stack runs Storage__UseS3=true (infra #56 merged the env;…
Prune hardening MERGED (infra #58): size-capped hourly prune + emergency full-cache drop + exit-2 ALERT. Remaining: re-run install.sh on each build node (wait for in-flight artpipe pushes on…
EPIC SCOREBOARD (2026-07-13, after 19 loop iterations): every child ticket is code-complete. MERGED: #533 seam (closed), #530 GeoIP, #540 scheduler, #526 quarantine, #524 dlls, #525 assets, #522…
Pilot status: MinIO deployed+hardened (infra #54/#55), scanner dual-read code live since the flag flip, recipe proven and generalized into SpikerSoft.Storage (#533) — every later migration…
Code MERGED (backend #261 — ObjectFileCache + embeddings direct + quiz via ModelPathResolver delegate). Remaining = ops: ai-models bucket + per-service ro keys, mc mirror /mnt/fusionio/spikersoft/…