Skip to content

06. First Slice Acceptance

Back to Requirements Hub

This page covers original Section 13.

13. Acceptance Characteristics of the First Strong Vertical Slice

13.1 User-Visible Demo Path

The first strong vertical slice must allow a user to:

  1. Launch the app
  2. Connect to the simulated machine
  3. Load a simple seeded recipe
  4. Home the stage
  5. Start an inspection run
  6. See machine state changes
  7. See stage position updates over time
  8. See telemetry updates
  9. See frame preview updates or placeholder frame progression
  10. See defect count change during the run
  11. Stop or abort the run
  12. Observe alarms when faults are injected
  13. Review a simple run summary

13.2 Pass / Fail Acceptance Criteria

The first slice is acceptable only if all of the following are true:

  1. On launch, the app shows a disconnected machine, no loaded run, and command availability consistent with the initial canonical app state.
  2. In the disconnected state, Connect is enabled while Home, Start, Stop, and Abort are not.
  3. Loading a seeded recipe updates the displayed current recipe and stores an ordered scan plan with at least 3 scan points.
  4. A successful connection transitions through Disconnected -> Connecting -> Connected, and a failed connection attempt returns to Disconnected with visible diagnostics.
  5. Homing transitions through Homing and results in a homed motion state before Start becomes available.
  6. Starting from valid preconditions transitions through Preparing -> Running, visits scan points in order, and produces progress, telemetry, preview, and defect updates during the run.
  7. Stop during an active run results in terminal state Stopped, and no new scan point begins after the stop request is accepted.
  8. Abort during active work results in terminal state Aborted without waiting for all remaining scan points to finish.
  9. Injecting a critical fault raises an active alarm, transitions the workflow to Faulted, blocks invalid commands, and preserves a run summary if a run was active.
  10. Every terminal run outcome stores exactly one run summary with status Completed, Stopped, Aborted, or Faulted.

13.3 Minimum Automated Verification for the First Slice

At minimum, the first slice should have automated tests for:

  • start precondition guards
  • stop versus abort terminal behavior
  • fault-to-Faulted transition and recovery guard behavior
  • bounded or explicitly coalesced streaming behavior at the application boundary

Docs-first project memory for AI-assisted implementation.