Context
Dashboards and reports show an "unpublished changes" bar with Publish/Discard. Record pages and forms have no such affordance, so runtime page edits (once persisted, see the page-persistence issue) have no publish UI.
Goal
A reusable RuntimeDraftBar surfaced on record pages (and forms) that indicates an unpublished draft exists and offers Publish / Discard, wired to the ADR-0034 seam.
Scope
- Extract/reuse the dashboard/report draft-bar pattern into a shared component.
- Mount it on
RecordDetailView (and RecordFormPage) when readRuntimeDraft returns a draft.
- Publish →
publishRuntimeMetadata; Discard → discardRuntimeMetadata; both refresh the rendered schema.
Acceptance
Context
Dashboards and reports show an "unpublished changes" bar with Publish/Discard. Record pages and forms have no such affordance, so runtime page edits (once persisted, see the page-persistence issue) have no publish UI.
Goal
A reusable
RuntimeDraftBarsurfaced on record pages (and forms) that indicates an unpublished draft exists and offers Publish / Discard, wired to the ADR-0034 seam.Scope
RecordDetailView(andRecordFormPage) whenreadRuntimeDraftreturns a draft.publishRuntimeMetadata; Discard →discardRuntimeMetadata; both refresh the rendered schema.Acceptance