Skip to content

T-JPFC-ontological-desktop-real-backend-e2e

State: planning/proposed · Impact: medium · Complexity: medium

Give SDF (solutions/ontological/desktop) its first e2e suite: the web build against sdf-serve in a scratch root, through the harness. It replaces the fake SDF fixture server in Determined’s tests.

LocationRole today
solutions/ontological/desktop/src-tauri/src/bin/sdf-serve.rsHeadless bin: serves the generated entity routes (token-guarded), proxies other /api/* to the sdlc dashboard server, serves the SPA. Port from SDF_HTTP_PORT, default 16175
solutions/ontological/desktop/src-tauri/src/lib.rsSDF_FLEET_ROOT roots fleet for integration tests; otherwise Fleet::new()
solutions/ontological/desktop/src-nuxt/app/plugins/transport.client.tsPicks the generated HTTP transport in the browser
solutions/ontological/desktop/moon.yml (sdf)serve runs sdlc dashboard start --port 16174 then sdf-serve. No Playwright config, no e2e task
solutions/determined/tests/ui/serve-sdf.tsA fake server with canned /api reads for SDF’s SPA (15094)
solutions/ontological/products/suspendersSeparate Tauri shell over the same sdf_lib backend

A Playwright suite under solutions/ontological/desktop boots sdf-serve and the dashboard server it proxies to, both in one scratch root, through a small SDF adapter over withScratchApp. It runs as moon run sdf:e2e with a smoke spec per top-level view. SDF_FLEET_ROOT is removed in favour of FLEET_ROOT. sdf-serve reports resolved paths. serve-sdf.ts and its Determined spec are deleted or moved here.

  1. Replace SDF_FLEET_ROOT with fleet’s FLEET_ROOT; update the integration tests.
  2. Add a resolved-paths route to sdf-serve, or reuse the shared helper from T-UU4J if it has landed.
  3. Decide how the harness starts the dashboard server: a second process in the same root, or sdf-serve starting it. Record the choice in the PR.
  4. Add the Playwright config, the adapter and smoke specs; add the moon e2e task.
  5. Move or delete serve-sdf.ts and its spec.
AreaNote
solutions/ontological/desktop/src-tauri/FLEET_ROOT, resolved paths
solutions/ontological/desktop/src-nuxt/Playwright suite
solutions/ontological/desktop/moon.ymlE2e task
solutions/determined/tests/ui/serve-sdf.tsRemoved
  • AC-1: moon run sdf:e2e passes in a scratch root with the isolation check on, covering sdf-serve and the dashboard server.
  • AC-2: SDF_FLEET_ROOT no longer appears in the repo.
  • AC-3: solutions/determined/tests/ui/serve-sdf.ts is gone.
  • Suspenders’ own shell; it shares the backend tested here.
  • Desktop smoke.
  • T-NNAG for FLEET_ROOT.
  • T-4HBC for the harness.
  • SDF was out of scope in the first plan. It already has a headless bin and an HTTP client, so the gap is the suite, the dashboard dependency and one root override.

T-NNAG, T-4HBC


← Back to Tasks