✅ Merged to master via spikersoft-angular#132 (576fcc9). Pipeline Builder node-graph (SVG + CDK drag, /admin/art-builder staff-gated, saves via the existing preset path) landed.
✅ Merged to master via spikersoft-angular#132 (576fcc9). Export & "Load into game" (in-app game loader + Download-ZIP wired to #398) landed — the SpikerSoft tweak on Eric's DCC handoff.
✅ Merged to master via spikersoft-angular#132 (576fcc9). Curation/review visual alignment (re-themed review-queue + gallery-moderation, quality/status chips, batch actions → existing #396…
✅ Merged to master via spikersoft-angular#132 (576fcc9). Metrics dashboard (/admin/art-metrics, staff-gated, bundled-d3, consumes the #389 metrics endpoint, graceful degrade) landed.
✅ Merged to master via spikersoft-angular#132 (576fcc9). System Activity overlay (gear + S shortcut, SignalR-live via ART_ASSET_PROGRESS_SOURCE, graceful 404 degrade, HW sparklines…
✅ Merged to master via spikersoft-angular#132 (576fcc9). Asset detail depth (viewer, history, stage console, actions, bundled-d3 charts) landed. Download-ZIP button wired to the #398…
✅ Merged to master via spikersoft-angular#132 (576fcc9). Asset grid + filters landed.
✅ Merged to master via spikersoft-angular#132 (576fcc9). Stage timeline (git-rail) landed.
✅ Merged to master via spikersoft-angular#132 (576fcc9). Prompt composer (git-rail) landed.
✅ Merged to master via spikersoft-angular#132 (576fcc9). Studio theme layer (_art-studio.scss: rail/panel/console/quality-chip mixins + --studio-* tokens, light+dark) landed.
✅ Merged to master via spikersoft-angular#132 (master 576fcc9). Top-level Art Studio menu category landed — Studio + Class Gallery open, Review/Gallery Review/Presets/Metrics…
Systemic audit — exposure bounded (verified across all 13 hubs). Grepped every hub for AddToGroupAsync joins vs. server-side identity checks:
- **Identity-less joins of sensitive data →…