feat(lib): Define data and metadata schemas for device config, telemetry and experimental output
Define the first schema standards for data and metadata across Plesty, establishing a unified data layer in plesty-lib that all HUB modules will depend on.
Motivation
Before formalizing the Experiment ABC, we need a stable data contract. Every device driver, analyzer, and experiment will need to acquire, store, and exchange data in a consistent format. Defining this now prevents divergence and "dependency hell" at the data layer.
Scope
Define core schemas (e.g. JSON/Pydantic models or NeXus/HDF5 mappings) for:
- Device configuration — structured representation of device parameters and settings
- Operational telemetry — real-time status, state, and diagnostic data from devices
- Experimental output — acquired data and associated metadata (units, timestamps, provenance)
Provide utilities in plesty-lib for reading/writing data in the chosen unified format (HDF5 preferred).
Definition of Done
- Schema classes/models defined and documented in
plesty-lib - At least one reference implementation consuming the schemas (e.g. Thorlabs powermeter driver)
- Integrated with the
plesty-cidata layer compliance gate (seeSCOPE_v1.0.0.md)