Resolved: P4 (register dropped ActivitySources) in spikersoft-backend PR #187 (merged — behind an opt-in gate with source-scoped sample ratio, satisfying the decision gate), P5 (per-stack…
Resolved: umbrella PR spikersoft-angular #132 (merged) delivered the complete native Art Studio experience, and all child tickets #383–#394 are closed. The continued faithful-ArtPipe UI/UX work…
Resolved — both actions done and exceeded: digest pinning in spikersoft-backend PR #190 + spikersoft-infrastructure PR #14 (merged), and the redis:8 migration itself (not just the plan) landed in…
Resolved in spikersoft-backend PR #198 (merged; Task 1 in PR #188): mac-dev-up.sh --full brings up the entire site flow on the M5 — quiz generation + embeddings + book upload pipeline — with…
Resolved in spikersoft-backend PR #199 (merged): UserSubmittedCode.TestResults read as native BSON array instead of a JSON string — GET /api/activity/adoption no longer throws FormatException.…
Resolved in spikersoft-infrastructure PR #17 (merged): traefik pinned to v3.7.7 (follow-up swarm cleanup in PR #20 / #474). Closing.
Resolved in spikersoft-angular PR #157 (merged): System Activity overlay opens only via the gear FAB; the global 'S' shortcut was removed. Closing.
Resolved in spikersoft-infrastructure PR #19 (merged): runbook §2 bootstrap command now uses --entrypoint bash + --user root so it launches a shell instead of the .NET worker. Closing.
Resolved in spikersoft-infrastructure PR #18 (merged): jaeger pinned to jaegertracing/jaeger:2.19.0. Closing.
Resolved in spikersoft-backend PR #200 (merged): image push now redeploys all six artpipe stacks, and PR builds stay off the registry/prod :latest. Closing.