Skip to content

Batch 19: VAV VPACC CUSUM trio (VAV-FC-101/102/103) - #39

Merged
jscott3201 merged 1 commit into
mainfrom
batch-19/vav-vpacc-cusum
Aug 18, 2026
Merged

Batch 19: VAV VPACC CUSUM trio (VAV-FC-101/102/103)#39
jscott3201 merged 1 commit into
mainfrom
batch-19/vav-vpacc-cusum

Conversation

@jscott3201

Copy link
Copy Markdown
Owner

What

The VPACC family (NIST/CEC PIER Project 2.3 §5.1) as three two-sided CUSUM rules — the library's first feedback-loop topology (Discrete.UnitDelay accumulators; the engine's emit-before sort admits the cycle because UnitDelay declares no feedthrough):

  • VAV-FC-101 — airflow tracking CUSUM (13 vectors): CFMerror = zone_airflow − setpoint; catches small sustained bias below VAV-FC-053's threshold (complementary, no suppression).
  • VAV-FC-102 — zone temperature CUSUM (verified, ffbf4740): the deadband piecewise built as max(0,e_clg)+min(0,e_htg); carries the calibration finding that healthy Temperror is identically zero (15 zones × 2 seasons) — sigma ships as a documented floor.
  • VAV-FC-103 — reheat coil leakage CUSUM (b1d17ece, 8 vectors): dTerror = vav_dat − sat armed only while the coil is commanded off; reset-not-hold on reheat-on (vector-pinned); yLow renamed as an instrumentation finding (a leak cannot produce a negative rise). Defaults from the vavcal measurement (0.44/0.39 °C) + Table 5's Iowa campaign (k=3).

All three gate occupancy in-graph (Switch reset + TrueDelay first-hour exclusion) because CUSUM needs state cleared, not output muted; yOccupiedOk/yReheatOk are evaluability flags, yHigh/yLow sub-condition directions per SCHEMA.

Also: vav README index + VPACC section, vav-min-flow-reheat Applies-To wiring, points dict (vav_dat / sat / occ_scheduled with batch contracts), simharness vavcal mode, root README count 89 → 92.

Verification

cargo verify --all green at e2ff2f8 (92 rules); svg fitment + id-band lints clean. Authoring agents were killed by server-side API errors mid-batch; their verified rules/vectors survived and the remaining cards/diagrams were completed from that output.

🤖 Generated with Claude Code

…loop topology

Two-sided CUSUM charts over the three per-box VPACC error signals
(NIST/CEC PIER Project 2.3 §5.1): airflow tracking (101), zone
temperature piecewise (102), reheat-off discharge rise (103). The
accumulators are the library's first Discrete.UnitDelay feedback loops —
the engine's block-level sort admits them without workarounds — with
in-graph occupancy reset and first-hour exclusion per the source, and
103 adds a reheat-off arming gate (reset-not-hold, pinned by vectors).

Parameter defaults: 102 ships Figure 9's illustrative pair with the
vavcal finding that healthy Temperror is identically zero (sigma is a
floor, not a statistic); 103 ships the vavcal-measured 0.44/0.39 degC
baseline and Table 5's Iowa-campaign k=3 with an alarm limit in its
published range. All commissioning values per §5.1.5.

points/vav.points.json gains vav_dat, sat, occ_scheduled; harness gains
the vavcal calibration mode. 92 rules verify green at the pin.

The three authoring agents were killed mid-write by server-side API
errors (500/529); rules and vectors survived and verified, the missing
cards/diagrams were completed from their output.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@jscott3201
jscott3201 merged commit cf86a84 into main Aug 18, 2026
3 checks passed
@jscott3201
jscott3201 deleted the batch-19/vav-vpacc-cusum branch August 18, 2026 17:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant