Files

8.9 KiB

phase, plan, type, wave, depends_on, files_modified, autonomous, requirements, must_haves
phase plan type wave depends_on files_modified autonomous requirements must_haves
03-unified-runtime-workspace 02 execute 2
03-01
tauri-app/src/features/runtime/components/RuntimeWorkspace.tsx
tauri-app/src/features/runtime/components/RuntimeWorkspace.css
tauri-app/src/features/runtime/components/RuntimeSurface.test.tsx
true
WORK-01
DIAG-01
truths artifacts key_links
One component combines runtime status, lifecycle controls, settings editing, and actionable health guidance.
The unified workspace renders endpoint or mode context, active model context, and failure guidance from the manager-owned summary instead of separate card and drawer heuristics.
Saving, starting, stopping, restart-required guidance, and invalid-draft preservation all remain available inside the same operator surface.
path provides
tauri-app/src/features/runtime/components/RuntimeWorkspace.tsx one authoritative runtime workspace component that combines summary, health, actions, and draft editing
path provides
tauri-app/src/features/runtime/components/RuntimeWorkspace.css layout and responsive styling for the consolidated runtime workspace
path provides
tauri-app/src/features/runtime/components/RuntimeSurface.test.tsx integrated regression coverage for the new unified workspace component
from to via pattern
tauri-app/src/features/runtime/components/RuntimeWorkspace.tsx tauri-app/src/features/runtime/useRuntimeManager.ts manager-owned workspace summary, health diagnostics, and action state workspaceSummary|workspaceHealth|applyImpact
from to via pattern
tauri-app/src/features/runtime/components/RuntimeWorkspace.tsx tauri-app/src/features/runtime/runtime-settings-form.ts reuse of existing draft-editing, model-selection, and validation flows inside one workspace createRuntimeConfigPatch|resolveDraftModelSelection
Build the actual unified runtime workspace component after the manager contract is in place.

Purpose: replace the conceptual split between status and settings by giving operators one surface that contains runtime summary, health details, actions, and editable runtime draft sections together. Output: a new RuntimeWorkspace component and styles that render all runtime status, control, and settings flows from one authoritative UI.

<execution_context> @$HOME/.config/opencode/get-shit-done/workflows/execute-plan.md @$HOME/.config/opencode/get-shit-done/templates/summary.md </execution_context>

@.planning/PROJECT.md @.planning/ROADMAP.md @.planning/STATE.md @.planning/REQUIREMENTS.md @.planning/phases/03-unified-runtime-workspace/03-RESEARCH.md @.planning/phases/03-unified-runtime-workspace/03-01-PLAN.md @tauri-app/src/features/runtime/useRuntimeManager.ts @tauri-app/src/features/runtime/runtime-settings-form.ts @tauri-app/src/features/runtime/components/RuntimeStatusCard.tsx @tauri-app/src/features/runtime/components/RuntimeSettingsDrawer.tsx @tauri-app/src/features/runtime/components/RuntimeSurface.test.tsx Task 1: Create the unified runtime workspace shell for summary, health, and actions tauri-app/src/features/runtime/components/RuntimeWorkspace.tsx, tauri-app/src/features/runtime/components/RuntimeWorkspace.css, tauri-app/src/features/runtime/components/RuntimeSurface.test.tsx - tauri-app/src/features/runtime/components/RuntimeStatusCard.tsx - tauri-app/src/features/runtime/components/RuntimeSettingsDrawer.tsx - tauri-app/src/features/runtime/components/RuntimeSurface.test.tsx - tauri-app/src/features/runtime/useRuntimeManager.ts - tauri-app/src/features/runtime/runtime-utils.ts - .planning/phases/03-unified-runtime-workspace/03-RESEARCH.md - Test 1: the unified workspace renders one status section with lifecycle action buttons and does not require a separate launcher to reveal health details. - Test 2: a degraded local runtime shows readiness headline, endpoint, active model, and actionable backend error guidance in the same component. - Test 3: remote mode shows provider or endpoint context in the same workspace instead of hiding diagnostics behind a different surface. Create `tauri-app/src/features/runtime/components/RuntimeWorkspace.tsx` and `RuntimeWorkspace.css` with explicit sections titled `Runtime workspace`, `Runtime health`, `Connection details`, and `Draft settings`. In the summary area, render the manager-owned `workspaceSummary`, `workspaceHealth`, lifecycle result banner, and primary lifecycle controls using exact button copy already established in Phase 2 such as `Start`, `Stop`, `Save changes`, and `Save and start local API`. Render endpoint, connection mode, saved model, and health guidance directly in the component header or summary grid so the operator can understand readiness and next actions without opening a second surface. - `tauri-app/src/features/runtime/components/RuntimeWorkspace.tsx` exists. - `tauri-app/src/features/runtime/components/RuntimeWorkspace.tsx` contains the headings `Runtime workspace`, `Runtime health`, and `Draft settings`. - `tauri-app/src/features/runtime/components/RuntimeWorkspace.tsx` contains both `Save changes` and `Save and start local API`. - `tauri-app/src/features/runtime/components/RuntimeSurface.test.tsx` asserts unified workspace summary or health content. npm test -- RuntimeSurface The runtime status, actions, and diagnostics become visible in one component instead of a split card-plus-drawer model. Task 2: Move draft editing and apply guidance into the same authoritative workspace tauri-app/src/features/runtime/components/RuntimeWorkspace.tsx, tauri-app/src/features/runtime/components/RuntimeWorkspace.css, tauri-app/src/features/runtime/components/RuntimeSurface.test.tsx - tauri-app/src/features/runtime/components/RuntimeWorkspace.tsx - tauri-app/src/features/runtime/components/RuntimeSettingsDrawer.tsx - tauri-app/src/features/runtime/runtime-settings-form.ts - tauri-app/src/features/runtime/components/RuntimeSurface.test.tsx - .planning/phases/02-lifecycle-command-safety/02-03-SUMMARY.md - Test 1: the same unified workspace shows immediate-apply, restart-required, and save-before-apply guidance alongside editable settings. - Test 2: invalid or pending model-selection draft states remain visible and still block save inside the unified workspace. - Test 3: managed library state, models-folder actions, and Hugging Face search remain reachable from the same workspace used for runtime status and actions. Port the editable form sections from `RuntimeSettingsDrawer.tsx` into `RuntimeWorkspace.tsx` without losing draft-preservation behavior. Keep the exact operator-facing guidance phrases `Applies immediately after save.`, `Restart required to apply saved changes.`, and `Stop the local API or save first before applying this change.` visible next to the relevant controls inside the same component. Preserve the managed library section, models folder browse or rescan actions, selected model control, Hugging Face search, GPU layers, context presets, and discard confirmation behavior so the workspace remains the full runtime control plane rather than a read-only summary. - `tauri-app/src/features/runtime/components/RuntimeWorkspace.tsx` contains `Applies immediately after save.`. - `tauri-app/src/features/runtime/components/RuntimeWorkspace.tsx` contains `Restart required to apply saved changes.`. - `tauri-app/src/features/runtime/components/RuntimeWorkspace.tsx` contains `Stop the local API or save first before applying this change.`. - `tauri-app/src/features/runtime/components/RuntimeSurface.test.tsx` covers invalid-draft blocking or managed-library interactions inside `RuntimeWorkspace`. npm test -- RuntimeSurface The operator can inspect health, edit settings, and execute lifecycle actions from one authoritative runtime workspace. - `npm test -- RuntimeSurface` - `npm run build`

<success_criteria>

  • One runtime component combines summary, health, actions, and editable settings.
  • Runtime health, endpoint or mode context, and active model context are visible without opening a separate surface.
  • Draft validation, apply guidance, and lifecycle safety remain intact inside the unified workspace. </success_criteria>
After completion, create `.planning/phases/03-unified-runtime-workspace/03-02-SUMMARY.md`