T-T425-sdf-adopt-sections-routing-steering
State: planning/draft · Impact: medium · Complexity: large
Build adopt sections 6 (hosts, harnesses, models) and 8 (steering and notifications).
The shell stubs both sections; no routing fixtures exist.
Proposed
Section titled “Proposed”Routing is a DTable matrix with DSelect cells plus a resolution preview showing what a work kind
resolves to; notifications and budget are DSettingRows. Sections are props-in, emit-out
(update:value); only useAdoption() writes the draft. Controls map from sectionRender in
docs/planning/strategy/wizard-prototype.html: text to DFieldRow+DInput; packs and posture to
DChipChoice; enums and toggles to DSettingRow+DSelect.
Approach
Section titled “Approach”- Add
components/adopt/sections/{Routing,Steering}Section.vue. - Add
fixtures/adopt/routing.ts. - Build the resolution preview from the draft. Gotcha: the matrix must scroll horizontally at
tauriSmall. - Add stories Empty and Filled per section.
| Area | Note |
|---|---|
solutions/ontological/desktop/src-nuxt/app/components/adopt/sections/RoutingSection.vue | section 6 |
solutions/ontological/desktop/src-nuxt/app/components/adopt/sections/SteeringSection.vue | section 8 |
solutions/ontological/desktop/src-nuxt/app/fixtures/adopt/routing.ts | routing fixtures |
solutions/ontological/desktop/src-nuxt/app/types/adopt.ts | extend draft types |
Acceptance criteria
Section titled “Acceptance criteria”- AC-1: Changing a matrix cell updates the resolution preview and emits
update:value. - AC-2: The matrix scrolls horizontally at
tauriSmallwithout clipping. - AC-3: Both sections have Empty and Filled stories.
- AC-4:
moon run sdf:checkandmoon run sdf:testpass, run detached one at a time;nuxi typecheckand vue-tsc are never run locally (CI typechecks). - AC-5: Every new story renders at the
tauriMediumviewport in light and dark, and a screenshot pair is committed underdocs/screenshots/sdf-adopt-sections-routing-steering/{light,dark}.pngand embedded in the PR body. - AC-6: Only
--d-*tokens, no raw colors; D* components come from@determined/ui;app/generated/*,app.vue,nuxt.config.tsandpackage.jsonare untouched unless this task says so. - AC-7: Fixture timestamps are constants; any force layout has a deterministic seed and a cooldown.
Out of scope
Section titled “Out of scope”- Post-mortem (separate task) and backend
profiles:/routing:keys.
Dependencies
Section titled “Dependencies”- Depends on
T-XC1D.
Discovery context
Section titled “Discovery context”- Plan:
/Users/sksizer/.claude/plans/toasty-soaring-ullman.md(the adoption wizard and operator screens, built in SDF) andN-6DUQ. - Control spec:
docs/planning/strategy/wizard-prototype.html; strategy: N-HETB-adopting-a-project. - Rules every agent follows are in the plan and the shared acceptance criteria above; the derive step later replaces fixtures with generated transport.
Depends on
Section titled “Depends on”T-XC1D