Architecture
Source formats parse into typed network models. Normalization, lowering, matrix projection, package construction, and problem instance assembly consume those models without changing parser dependencies.
powerio powerio-dist
│ │
├──────► powerio-matrix
│
├──────► powerio-pkg ◄──── powerio-dist
│
└──────► powerio-prob
│
└── optional "matrix" ──► powerio-matrix
powerioowns the balanced network model, format routing, indexing, normalization, and shared GOC3 document parsing.powerio-distowns the multiconductor network model and distribution formats.powerio-matrixowns generic sparse matrix and graph projections from a balanced network. It does not depend onpowerio-prob.powerio-pkgowns.pio.jsonpackages, operating points, study commits, provenance, validation, and lowering between model families.powerio-probowns complete numerical problem instances. Its default build depends onpowerio; the optionalmatrixfeature projects a DC OPF instance into sparse operators. It has nopowerio-distdependency because no distribution problem instance is implemented.powerio-cli,powerio-py, andpowerio-capidepend on the layers they expose.
A problem instance contains the complete indexed input for a problem family:
coefficients, bounds, mappings, units, and conventions. It is not a source
network, matrix projection, solver formulation, or solution. The current crate
provides DcOpfInstance and ScopfInstance.
Compiler model layers describes the balanced and
multiconductor payloads. .pio.json format defines the
package metadata and its independent payload versioning.