TASK-001: Implement First Strong Vertical Slice
- Status: Ready
- Date: 2026-04-11
- Spec: SLICE-001: First Strong Vertical Slice
- ADRs: ADR-001: Use Central App State Store
Objective
Implement the first end-to-end slice of the industrial inspection prototype so the repository can move from docs-only planning into executable runtime behavior without losing architectural discipline.
Scope
This task includes:
- application foundation for the slice across
App,Presentation,Application,Domain,Infrastructure, andTests - central app state or store with explicit state transition ownership
- simulated connection workflow with delay and failure handling
- seeded recipe loading
- motion homing and time-based scan-point movement
- explicit inspection workflow orchestration
- bounded telemetry and preview frame pipelines
- simple defect simulation
- stop, abort, critical fault, acknowledgement, and recovery behavior
- minimal diagnostics surface
- run summary creation for each terminal run outcome
- automated tests required by the spec
Non-Scope
Do not implement these in this task:
- JSON recipe files
- advanced diagnostics pages
- persistent database storage
- advanced image processing
- auto-home inside
Start - additional ADRs unless implementation reveals a truly cross-cutting unresolved design decision
Requirements To Satisfy
This task must satisfy the exact first-slice behavior from:
- Requirements Section 6.7
- Requirements Section 6.8
- Requirements Section 7.2 through 7.12
- Requirements Section 8
- Requirements Section 9.2.1
- Requirements Section 9.5
- Requirements Section 9.6
- Requirements Section 9.10
- Requirements Section 12
- Requirements Section 13.2
- Requirements Section 13.3
Target Solution Shape
The implementation should follow this shape unless a documented reason requires adjustment:
InspectionPrototype.DomainCore contracts and machine or run concepts.InspectionPrototype.ApplicationApp state store, command handlers, workflow orchestration, command guards, diagnostics coordination, and stream consumption boundaries.InspectionPrototype.InfrastructureFake vendor SDK, simulator services, telemetry and frame producers, and fault injection hooks.InspectionPrototype.PresentationViewModels and UI projections from canonical app state.InspectionPrototype.AppWPF startup, host configuration, dependency injection, and logging setup.InspectionPrototype.TestsApplication and simulator boundary tests without requiring full UI launch.
Implementation Rules
- Keep ViewModels thin.
- Do not let background services update ViewModels directly.
- Do not let the UI orchestrate workflow transitions.
- Use canonical state names from the requirements and ADR.
- Use bounded channels or equivalent explicit buffering for telemetry and preview streams.
- Make the backpressure policy explicit in code and test it.
- Ensure terminal run behavior creates exactly one run summary.
Suggested Delivery Breakdown
Use the smaller task pack instead of handing this whole epic to one AI session:
- TASK-001A: Foundation Shell
- TASK-001B: Domain and App State Core
- TASK-001C: Simulator Boundary and Seeded Data
- TASK-001D: Workflow Orchestration
- TASK-001E: Streaming, Diagnostics, and Defects
- TASK-001F: Operator UI
- TASK-001G: Tests and Verification
The recommended order, model class, and reasoning guidance are documented in SLICE-001 Task Pack.
AI Tool Guidance
This epic is too large for a single cheap AI coding session and too broad for reliable copy/paste prompting.
Use it as:
- the umbrella task for human review
- the acceptance envelope for the whole slice
- the parent of the smaller task pack used with AI tools
Minimum Deliverables
The task is not complete until it includes all of the following:
- working operator flow for connect, load recipe, home, and start
- visible progress, telemetry, preview, alarms, and diagnostics
- operator actions for stop, abort, acknowledge, and recover or reset
- distinct terminal behavior for
Completed,Stopped,Aborted, andFaulted - exactly one run summary for each terminal run
- automated tests aligned with the spec
Acceptance Criteria Mapping
The implementation must satisfy all acceptance criteria from SLICE-001.
In code review, the reviewer should be able to point to a concrete implementation and verification path for each one.
The recommended AI execution path is to satisfy them cumulatively through the task pack rather than in one prompt.
Verification
Minimum verification for this task:
- Build the solution successfully.
- Run automated tests covering start guards, stop versus abort behavior, fault transition behavior, recovery guard behavior, and bounded or coalesced streaming behavior.
- Manually verify the operator demo path from launch through a terminal run summary.
- Manually verify that a critical fault blocks invalid commands until explicit recovery.
Review Checklist
- Are command guards derived from canonical app state rather than duplicated ad hoc?
- Does the workflow end in exactly one terminal state?
- Is stop behavior meaningfully different from abort behavior?
- Are telemetry and preview pipelines bounded with explicit lag policy?
- Does the UI remain a projection layer rather than a workflow coordinator?
- Are diagnostics and summaries good enough to understand what happened during a run?