Platform
How the system is built
These pages are derived from the repository — the decisions on record, the boundaries the build enforces, the public surface in the code, and the invariants under test. They are regenerated, never written, so they cannot describe a system we no longer have.
Data
The data engine. It aggregates raw telemetry into per-minute statistics, encodes those into the vectors the world model consumes, curates them, and publishes every dataset — training, validation, testing and runtime — through the same code. Size varies; the path does not.
18 decisions · 335 enforced invariants
Encoder
Data's implementation of the transform: flowsheet records plus per-minute telemetry in, observation/action/reward vectors out, in the plant's own engineering units. Pure and deterministic — the same flowsheet and the same telemetry produce byte-identical arrays in an identical order, which is why a re-identified plant encodes the same.
3 decisions · 78 enforced invariants
Environment
The only Python path to the database. Every other module reads and writes shared persisted truth through this seam, so there is exactly one place where the schema, the credentials and the RPC surface are known.
15 decisions · 33 enforced invariants