Journey event  ·  10 Sep 2026

Air changes per hour per tent — the airflow number that is arithmetic, not a model

plan-spatial-layout-2026-09-10.md S7, shipped in commit 4e24a85. The plan gives air a SHAPE not a NUMBER, with one exception: a throughput divided by a volume is division, and it a

  state copied from the tracker, never improved

  event date 2026-09-10

Event date 2026-09-10
Version found
Version fixed
Expected kit firmware
Release file
SHA-256
Served count
Source https://app.notion.com/3d62b4cda370812690a7e049edc4c530

plan-spatial-layout-2026-09-10.md S7, shipped in commit 4e24a85. The plan gives air a SHAPE not a NUMBER, with one exception: a throughput divided by a volume is division, and it answers what a grower actually asks — how fast does my tent turn over. Shipped: – space.extra.height_cm (default 210 cm, matching both twin tent models) turns a footprint into a volume. A default the operator can correct, not a measurement; the sensors state the height they used. – sensor.dsc_ach_ and sensor.dsc_air_exchange_minutes_ (the second because ‘turns over every 1.4 minutes’ is how growers think). – Surfaced on the Calibrate desk under ‘Air changes — what the curves are for’, beside the curves, because that is where a better calibration visibly pays off: the number stops being a rating and becomes a measurement. THREE PLACES A PLAUSIBLE WRONG ANSWER LIVED: 1. The two sides are the same flow counted twice — in steady state what goes in comes out, so summing intake and exhaust doubles it. The LARGER powered side sets throughflow and the passive vents make up the difference, which is how a negative-pressure tent is meant to run. 2. A tie at zero picked ‘exhaust’ for the 2×4, which has NO exhaust fan, so that space reported nothing instead of reporting its intake. A side with no fans never drives anything. 3. Tent air replaced is not fresh air: RECIRC moves it into the room and what comes back is room air. to_outside_cfm is broken out rather than folded into one number that would read as fresh-air ventilation. ACH inherits the honesty of the fans it is built from via the same _capacity_honesty the capacity totals use — a total is only as measured as its parts. BUG CAUGHT DURING THE PASS (worth remembering): with nothing reporting, ACH published a confident 0.0/hour. The first version of the test only asserted on the minutes entity, which was unavailable for an unrelated reason, so it PASSED while the sensor beside it was wrong. Found by checking the running brain, not the tests. Availability now follows whether any driving fan is reporting — a real zero when fans answer and say off, unavailable when they do not answer at all. Brain suite 653 pass; verified in-browser against a demo-mode brain (4×8 155.8x/h, 2×4 131.2x/h). NEEDS VERIFICATION: not deployed to the Pi.

All events  ·  DSC  ·  CannaLib  ·  Site  ·  Firmware releases

Empty rows are honest

A blank cell means the tracker has no value for it. Nothing on this page is filled in to look complete.