Skip to content

T-7BIN-appframe-determined-adapter

Status: closed/done · Impact: high · Complexity: medium

Turn @determined/shell into a thin adapter over the neutral frame: it registers determined’s experience manifests, injects @determined/platform/transport, and sets the determined scheme, tokens, and product config — proving the extraction is behavior-neutral across all 21 products.

LocationRole today
packages/ts/shell/@determined/shell — extends the frame (T-4JGE-appframe-scaffold-move) but still carries the determined seams inline.
apps/determined/products/21 products, each extends ['@determined/shell', ...].

@determined/shell becomes a thin adapter that supplies the frame’s contracts (T-D2SL-appframe-contracts) with determined’s implementations: experience manifests (already manifests, now via the neutral defineModule with base routes), the @determined/platform/transport client as SettingsTransport, the determined:// scheme, @determined/ui tokens, and product config. No product nuxt.config.ts changes; behavior unchanged.

  1. Move determined’s experience registration onto the neutral manifest model (defineModule, base routes).
  2. Inject @determined/platform/transport into the frame as the domain client.
  3. Set the determined scheme, the @determined/ui design-system layer, and product config through the frame’s config.
  4. Verify parity: a representative set of products (and workbench) render and behave identically — palette, keybindings, context-menus, deep-links, and settings all still work.
LocationKindChange
packages/ts/shell/modifyreduce to a thin adapter supplying the frame’s contracts
  • AC-1: @determined/shell supplies the frame’s contracts with determined’s implementations, with no product nuxt.config.ts changes.
  • AC-2: Parity — palette, keybindings, context-menus, deep-links, settings, and nav behave identically across a representative product set including workbench.
  • AC-3: The determined seams no longer live in the frame package.
  • Dashboard adoption — Phase B (see the milestone).

Depends on T-D2SL-appframe-contracts, T-21FI-appframe-neutralize-tokens.

T-D2SL-appframe-contracts, T-21FI-appframe-neutralize-tokens


← Back to Tasks