RFC-010 — DJED platform convergence in Atlas
RFC-010 — DJED platform convergence in Atlas (v0.6)
Section titled “RFC-010 — DJED platform convergence in Atlas (v0.6)”Context
Section titled “Context”Before v0.6, Atlas mixed bespoke shell chrome (atlas-sidebar-open localStorage, hand-rolled search field, custom phone rail) with partial adoption of @alexbayerl/djed-app-shell and almost no use of @alexbayerl/djed-workbench-shell despite an existing re-export seam.
Decision
Section titled “Decision”- App shell — Adopt djed
CommandBar(palette-first search),useShellStore(persisteddjed-shellkey + one-time migration fromatlas-sidebar-open),MobileTabBarfor phone primary nav, andConnectionStatusfor online/offline. Keep a single header DOM tree; keyboard/targetsdata-djed-commandbar-search. - Workbench — Use
WorkbenchSurface/WorkbenchCard/ContextPanelin Investigate, Case, Studio, and read-only Studio bundle, with Atlas token classes where global workbench CSS is not loaded. - Settings — Persist notification preferences in Postgres (
user_notification_preferences) and expose BFF routes; listplan_webhooksjoined tocasesfor the connectors surface. - Graph — Use
@alexbayerl/djed-graph-surfaceGraphSurfaceon the bundle permalink so reviewers share the same read-only graph renderer as the graph explorer, without React Flow. - IA — Command palette gets a “Recent” section (cases + local Investigate query strings); first-run callout on Home is gated by
atlas-onboarded.
Consequences
Section titled “Consequences”- Keystone / Axiom / Glyph can copy the same playbook: one
useShellStore, oneCommandBar+CommandPalettewiring, and workbench graph surfaces for any task-dependency viewer. - Migrations must run before notifications API returns non-500: apply
016_user_notification_preferences.sql. - Rebuild
@alexbayerl/djed-app-shelldist/when extending its public API (Atlas usesfile:and TypeScriptdisttypes).
Status
Section titled “Status”Accepted — implemented in Atlas v0.6.0.