[Atlas/feat] Dashboard snapshot — POST /api/dashboard/{id}/snapshot creates immutable child artifact done

← Live Dashboard Artifact Framework
Quest: Live Dashboard Artifact Framework (1ad65f21-f51). Acceptance: - POST /api/dashboard/{id}/snapshot executes current view_spec, captures rendered output + materialized data, creates new artifact with type='dashboard_snapshot', parent_version_id=, content_hash of result, captured_at timestamp, immutable (lifecycle_state='frozen'). - Snapshots are citable (URL stable, content hash stable) — used in proposals/papers needing a point-in-time figure. - Auto-snapshot policy: any dashboard referenced from a finalized proposal/paper auto-snapshots at finalization time. - UI: dashboard detail page shows 'Snapshots (k)' list with timestamps + download (JSON + HTML). - Spec: docs/planning/specs/dashboard_snapshot_artifact.md. Why now: live views are useful for operators; cited views need to be frozen. This separation is what makes dashboards reproducibility-grade.

Completion Notes

Auto-completed by supervisor after successful deploy to main

Git Commits (2)

[Atlas] Dashboard snapshot — POST /api/dashboard/{id}/snapshot creates immutable frozen artifact2026-04-25
[Atlas] Add dashboard_snapshot to ARTIFACT_TYPES — completes dashboard snapshot feature [task:12b77c9e-5e9e-41ed-8665-ff4ffc92fd3d]2026-04-25

Sibling Tasks in Quest (Live Dashboard Artifact Framework) ↗