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-ci data layer compliance gate (see SCOPE_v1.0.0.md)