The nine stages
Each stage owns a slice of the project. They share one canonical state, so a change in Loads ripples through Service, Distribution, Branches, Compliance, and Reports automatically.
Project Setup
Standard (NEC 2023 / CEC 2024), units, jurisdiction, engineer of record. The rule pack locks here.
CEC Rule 2-024 · NEC 90.4Load Calculation
Tag loads to panels and demand groups. Lighting, receptacles, HVAC, special equipment. Live demand summary as you type.
Article 220 · Rule 8-200 / 8-202Service Entrance
Service voltage, transformer source, MSB selection. Auto-sizes conductors and OCP at the terminal-temperature column required by the connected equipment.
Article 230 · Rule 14-104Distribution Panels
Sub-distribution structure with parent-child relationships. Each panel computes its own demand from the loads tagged to it.
Article 408 · Rule 14-200Branch Circuits
One row per breaker. Conductor sized for ampacity + voltage drop. Three-phase leg balance enforced on each panel.
Article 210 · Rule 8-102Special Equipment
Motors, fire pumps, EVSE, healthcare branches. Each has its own derating + OCP rules that the engine applies automatically.
Articles 430 / 695 / 625 · Section 28Compliance & Validation
The engine emits a typed warning list: violations (red), warnings (orange), and provenance flags. Each cites the rule that fired.
TraceStep™ audit · CEC Appendix BDocuments & Reports
RPT-001 through RPT-008 generated from the same engine state. PDFs are reproducible from the audit log alone.
8 report types · ZIP bundleReview & Engineer Seal
Manual checklist, sign-off, P.Eng / P.E. seal block on every page of the export. Locks the version.
CSA C22.1 cl 2-006 · NCEES Model RulesWhy "one state" matters
No re-keying
The project has exactly one source of truth. Edit a load and the demand calc, the feeder size, the panel schedule, the single-line diagram, and the report all recompute. There is no copy-paste between sections.
Reactive recompute
The engine is a pure function over the project state. Any field change schedules a derive() call; the result lands in milliseconds. You see the consequence of every edit before you move on.
Immutable change log
Every state change writes an append-only audit row with actor, action, diff, and timestamp. The change log is the source of truth for plan review — a reviewer can replay the project to any point in its history.
Sealable artefacts
Every PDF report carries the rule pack version, the engine version, and a hash of the input state. Two reviewers running the same export from the same state get byte-identical PDFs.
Multi-entry point
Engineers don't think in a strict sequence — they jump between stages as the design evolves. The EEP workflow is a graph, not a wizard. You can:
- Open Loads first, sketch the demand, then come back to Setup once you know which jurisdiction applies.
- Edit a branch breaker and have its conductor, conduit fill, and the panel's leg balance update without leaving the row.
- Override a feeder OCP from the engineer-set column; the audit log records both the engine value and your override with the reason.
- Push past the upstream OCP rating — the coordination warning fires immediately so you can resize before exporting.
From workflow to export
The same project state drives every output. RPT-001 (Load Calculation) reads the same numbers as the on-screen demand summary; the single-line diagram is drawn from the same panel hierarchy; the change log mirrors what you actually edited. There's no separate "report module" — the report is just a render target of the engine state.