rdev/internal
jordan 002c32aedb feat: add album generation system to skeleton
Adds anchor-based image album generation across docs, skeleton, and rendered
full-monorepo. One subject description + one anchor image + N directed shots,
covering personas, products, characters, and brand assets out of the box.

## What ships

**Skeleton packages:**
- pkg/album/types.go — Album, Shot, ShotStatus, ShotTemplate, AlbumUpdater
- pkg/album/templates.go — PortraitSession, ProductShoot, CharacterSheet built-ins
- pkg/album/handler.go — AnchorHandler + ShotHandler queue job handlers
- packages/realtime/src/useAlbumGeneration.ts — SSE hook owning all album state
- packages/ui/src/components/AlbumGrid.tsx — responsive shot grid with shimmer
- packages/ui/src/components/ShotCard.tsx — pending/generating/complete/failed states
- packages/ui/src/components/AnchorPreview.tsx — anchor CTA + image with controls

**Component service template:**
- internal/port/album.go — AlbumRepository interface
- internal/adapter/memory/album.go — in-memory repo for standalone dev
- internal/service/album.go — create, list, get, generateAnchor, generateAllShots
- internal/api/handlers/album.go — HTTP handlers (CRUD + 202 generation endpoints)
- Routes: GET/POST /albums, GET/DELETE /albums/{id}, POST /albums/{id}/anchor,
  POST/DELETE /albums/{id}/shots, POST /albums/{id}/shots/{index}

**Documentation:**
- .claude/guides/album.md — full guide with API, SSE events, frontend usage

**Key architecture decisions:**
- Anchor bytes never stored in queue payload — workers fetch AnchorURL at runtime
- Generation order enforced: POST /shots returns 422 if no anchor exists
- All album SSE events on existing user:<userId> channel (no new channel)
- AlbumUpdater interface lets job handlers update repo from inside queue workers

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 23:57:21 -07:00
..
adapter feat: add album generation system to skeleton 2026-02-22 23:57:21 -07:00
auth feat: implement project access enforcement and management API 2026-02-21 15:38:37 -07:00
circuitbreaker chore: accumulated platform hardening and CI fixes 2026-02-10 23:16:56 -07:00
claudebox fix(git): harden git flow for concurrent SDLC stress test failures 2026-02-10 20:57:27 -07:00
cmdlimit feat: Add CI pipeline proxy, DNS alias management, and worker executor system 2026-01-27 21:05:28 -07:00
db feat: add GCS-based persistent media storage, AI generation pipeline, and composable skeleton packages 2026-02-19 21:29:09 -07:00
domain feat: implement project access enforcement and management API 2026-02-21 15:38:37 -07:00
envutil feat: implement composable monorepo template system with component architecture 2026-01-31 19:11:42 -07:00
handlers feat: implement project access enforcement and management API 2026-02-21 15:38:37 -07:00
logging fix(logging): implement http.Flusher on responseWriter for SSE streaming 2026-02-09 13:23:42 -07:00
metrics feat(saga): implement enterprise-grade resilience architecture 2026-02-08 01:58:02 -07:00
middleware feat: Add CI pipeline proxy, DNS alias management, and worker executor system 2026-01-27 21:05:28 -07:00
port feat: implement project access enforcement and management API 2026-02-21 15:38:37 -07:00
ratelimit feat: Add CI pipeline proxy, DNS alias management, and worker executor system 2026-01-27 21:05:28 -07:00
sanitize feat: Add claude-config API, security hardening, and testing infrastructure 2026-01-25 01:29:13 -07:00
sdlc refactor: add timeout constants for agent execution tiers 2026-02-11 10:48:24 -07:00
service feat: implement project access enforcement and management API 2026-02-21 15:38:37 -07:00
telemetry fix: Use FQDN for k8s service hostnames and remove broken commonLabels 2026-01-31 20:46:04 -07:00
testutil feat: Implement hexagonal architecture with services, webhooks, queue, and telemetry 2026-01-25 19:57:46 -07:00
validate feat: Add CI pipeline proxy, DNS alias management, and worker executor system 2026-01-27 21:05:28 -07:00
webhook chore: accumulated platform hardening and CI fixes 2026-02-10 23:16:56 -07:00
worker refactor: add timeout constants for agent execution tiers 2026-02-11 10:48:24 -07:00