LANDED 2026-09-09 (merge 1b70fc2, agent-built on feat/derived-metrics). A coherent derived layer where every value is EITHER resolved with its provenance OR unavailable with the named missing input – no third state, and no code path that emits a number when an input is absent. Frontend: new lib/derived/{types,metrics,index}.ts on top of the existing climate.ts (left untouched as the pure-math floor); ZoneModel gains .derived for both tents and the room; provenance is visible in VpdHero tiles, ZoneCard tags and every EquipmentTiles tooltip. Brain: new brain/dsc_brain/derived_metrics.py (701 lines) for values that DRIVE control, which must be brain-owned rather than display-only. Metrics added: air VPD, leaf VPD, dew point, absolute humidity, condensation margin, VPD-vs-band deficit, PPFD, DLI, dehumidifier moisture load (g/m3), plus device-only ‘possible with
Journey event · 6 Sep 2026
Derived metrics layer: values computed from sensor relationships shown with provenance; device-only values as ‘possible with’ slots
LANDED 2026-09-09 (merge 1b70fc2, agent-built on feat/derived-metrics). A coherent derived layer where every value is EITHER resolved with its provenance OR unavailable with the na
● state copied from the tracker, never improved
● event date 2026-09-06
| Event date | 2026-09-06 |
| Version found | |
| Version fixed | |
| Expected kit firmware | |
| Release file | |
| SHA-256 | |
| Served count | |
| Source | https://app.notion.com/3d32b4cda37081069c14c088044e1570 |
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.
