Files
Polisher-Control/docs/09-acceptance-checklist.md
2026-06-02 15:40:16 +00:00

55 lines
1.9 KiB
Markdown

# Acceptance Checklist
This checklist condenses the current P11 firmware/control spec for implementation tracking.
## Input contract
- [ ] Accepts `controller-job.v1` only.
- [ ] Rejects `job.v1` and malformed input.
- [ ] Runs 4-gate intake validation.
- [ ] Rejects wrong `machine_id`.
- [ ] Rejects incompatible `controller_version` or unsupported capability.
## Execution
- [ ] Sequential segment execution exists for future job mode.
- [ ] Force PID tracks setpoint within agreed commissioning tolerance.
- [ ] Force modulation uses live table encoder angle.
- [ ] Table and spindle RPM follow commands.
- [ ] Toolhead spindle direction follows clockwise/counter-clockwise operator/job selection and is logged explicitly.
- [ ] Pause time excluded from segment polishing time.
## Telemetry
- [ ] Core channels logged at >=100 Hz.
- [ ] Single monotonic timestamp source.
- [ ] Commanded and actual values both present.
- [ ] Sensor faults are detectable.
- [ ] CSV parseable by standard tools.
## State machine and safety
- [ ] All accepted states/transitions implemented.
- [ ] Illegal transitions logged.
- [ ] Operator acknowledge cannot be bypassed.
- [ ] E-stop all-stop independent of software state.
- [ ] Interlocks implemented with documented thresholds.
- [ ] Watchdog timeout causes pause, then abort.
- [ ] `FAULTED` exits only through explicit reset.
## Manual mode
- [ ] `MANUAL` reachable from `IDLE`.
- [ ] Live setpoint adjustment works for force, table RPM, spindle RPM, spindle direction, and optional modulation.
- [ ] Geometric gate blocks stale geometry.
- [ ] Setpoint changes are timestamped events.
- [ ] Manual-session log emitted on exit.
- [ ] Safety behavior identical to job mode.
## Data
- [ ] `/data/manual/{session_id}/` and `/data/runs/{run_id}/` layouts respected.
- [ ] `status.json` maintained.
- [ ] Hashes/manifests emitted.
- [ ] Raw telemetry preserved during commissioning.