On-Hardware Validation Checklist (v2 acceptance)¶
Run in the lab, on a station with live Instrument-Framework apps. Tick every box before switching production work to v2.
Setup¶
- [ ] Fresh venv:
pip install -ethe workspace packages (oruv sync) - [ ]
flex ecosystem use levylabcompletes;flex ecosystem showlooks right - [ ]
NEXTCLOUD_PASSWORD,ASANA_ACCESS_TOKEN,ASANA_EXPERIMENTS_PROJECT_GIDset;flex ecosystem validate levylaball green
Instruments¶
- [ ]
flex instruments --probereaches every configured IF app - [ ]
CESession()boots from the real Configure Experiments VI file; the HTML summary shows the correct instruments + wiring - [ ] A slow/hung IF app produces a
TimeoutError, and the next call succeeds (REQ-socket recovery) - [ ]
exp.update()picks up an instrument added in the VI while running
Measurement pipeline¶
- [ ] A short gate sweep writes a TDMS file readable by the lab DataViewer (channel layout, units, metadata) — this is the highest-risk item
- [ ] The file uploads to Nextcloud on measurement end; pointer in the DB
- [ ] Experiment + measurement rows appear in PostgreSQL
- [ ] Ctrl-C mid-sweep: file finalized,
abortedflag set,on_abortramps the gate down, instruments still responsive afterwards - [ ] An Asana task is created on experiment start and its end time fills in on end (check the configured project directly)
UX¶
- [ ]
python -m flex dashboard: Drivers tab installs/enables a driver; Experiments tab shows the runs from today - [ ] Jupyter:
CESession()renders the summary card; cells are logged as notes
Cleanup decisions to confirm with the lab¶
- [ ] Revoke the Asana token committed in v1 (
src/flex/asana/Asana.pyon main) - [ ] Plan the v1
exp/meas/cell_logPostgreSQL migration - [ ] Confirm
flex.lv(LabVIEW call helpers) can stay retired - [ ] Decide priority for the deferred .NET/COM drivers (Newport, Ophir, Sphere)