About SCALE
Schematic Compliance, Analysis, Layout & Estimation — the AURA agent that compresses Accuenergy's day-scale electrical-takeoff and commissioning workflow into hours of agent time plus engineer review.
Purpose. Multiply the takeoff engineer's throughput on U.S. energy-code metering projects (ASHRAE 90.1, IECC C406.10, California Title 24) using the EASI product line, while keeping every customer-facing artefact gated by the engineer's approval.
Version
Running 0.8.0 · environment prod
What SCALE does
- Drawing intake via takeoff@accuenergy.com — vision pass over panel schedules + one-lines.
- End-use classification + deterministic metering-strategy selection (SOP §4.2 through §4.5).
- Direct PDF markup with EASI symbol placement.
- EASI-bounded BOM + Zoho-priced quote PDF, sent on engineer approval.
- Commissioning intake via commission@accuenergy.com — AcuHMI configuration generation from installer mappings.
- Continuous learning loop: reviewer feedback clustered into reviewer patterns surfaced through the api.
Where AI is used
SCALE uses AI for the decisions below. Every one is reviewed by the takeoff engineer before reaching the customer. The engineer's correction always overrides the agent.
| Decision | Model | What the model sees | Correction path |
|---|---|---|---|
| Page classification (one-line / panel schedule / riser / cover / notes / unknown). | claude-haiku-4-5 | PNG render of a single PDF page at 200dpi. | Engineer overrides the page type via the Panels tab; the override is recorded as an extraction_correction row and feeds the v0.6 pattern extractor. |
| Panel-schedule extraction (circuits, breakers, loads, descriptions). | claude-opus-4-7 | PNG render of the page tagged 'panel_schedule'. | Inline edits on the Panels tab write extraction_correction rows; the engineer can re-trigger extraction after edits. |
| One-line / riser panel topology extraction (panel labels + parent feeder relationships). | claude-opus-4-7 | PNG render of the page tagged 'one_line' or 'riser'. | Engineer corrects the panel-fed-from relationships on the Panels tab; the correction is recorded as audit + extraction_correction. |
| Controlling-code detection (ASHRAE / IECC / Title 24 variants). | claude-sonnet-4-6 | PNG render of the cover or notes page. | Engineer sets the controlling code manually on the project metadata; this overrides the agent's detection. |
| End-use classification (HVAC, lighting interior/exterior, plug load, kitchen, EV, mechanical room, elevator, data center, DHW, process, other, flag for engineer). | claude-sonnet-4-6 | Per-circuit description + breaker amps + raw notes from the panel schedule. | Engineer reclassifies on the Metering Plan tab; the modification feeds the v0.6 pattern extractor. |
| Metering strategy per panel (whole-panel, subtraction, CTs per category, no metering, flagged, out of EASI scope). | deterministic Python rule engine (no LLM call) — see apps/worker/src/scale_worker/reason/rule_engine.py. | Per-panel category summary + parent-feeder dominant category. | Engineer modifies the chosen strategy on the Metering Plan tab; the modification + rule_fired + rationale + uncertainty flags feed the v0.6 pattern extractor. |
| Markup symbol placement (meter / CT / callout / alert on the source PDF). | deterministic placement heuristic (no LLM call) — see apps/worker/src/scale_worker/render/placement.py. | Approved metering plan + panel page references. | Engineer drags symbols on the Markup tab; positions are recorded as markup_revision rows. |
| AcuHMI configuration generation (channels, labels, BACnet object names, Modbus registers). | deterministic synthesis from plan + installer mapping (no LLM call) — see apps/worker/src/scale_worker/commission/acuhmi_config.py. | Approved metering plan, installer-returned installation sheet, project controlling code. | Engineer edits the channels on the Commissioning tab; modifications write acuhmi_config rows. |
| Installation-sheet parsing from unstructured email or photo (when the installer doesn't return the structured PDF form). | claude-opus-4-7 (vision pass) with regex fallback on the email body. | PNG render of attached pages, or plain-text email body. | Engineer edits the parsed circuit-to-CT mapping on the Commissioning tab. |
| AcuCloud recommendation (yes / no with rationale) — never autonomously bundled. | deterministic decision logic (no LLM call) — see apps/worker/src/scale_worker/commission/acucloud_recommendation.py. | AcuHMI config, customer signals (building count, recording cadence, estimated org size). | Engineer accepts or rejects; the decision is the engineer's, not the agent's. |
Data sources
| System | Role | Scope |
|---|---|---|
| Resend (inbound + outbound email) | both | Customer takeoff submissions, installer commissioning sheets, quote send. |
| Anthropic Claude API | writer | Sends rendered PDF pages + structured prompts; receives model output. |
| Voyage AI | writer | Sends pattern descriptions + cluster representations for embedding; receives 1024-dim vectors. |
| Zoho Books | reader | Per-BOM-line SKU price lookup via Items API. |
| Azure Postgres Flexible Server (scale-pg-prod) | both | All project records, panels, plans, markups, BOMs, quotes, feedback, patterns, AcuHMI configs. |
| Azure Blob Storage (scalestorage) | both | Raw drawings, marked PDFs, installation-sheet attachments, quote PDFs. |
| Azure Key Vault (scale-kv-prod) | reader | All external-service secrets (Anthropic, Voyage, Resend, Zoho, NextAuth, GitHub OAuth). |
Ownership & support
Owned by Howard Wang (AURA). howard@accuenergy.com
Support: bita@accuenergy.com · escalation howard@accuenergy.com