band-chip vocabulary · ruling · Item 1 · supersedes “Card Chip Mood Ruling”

The chip reads the band — the same way, everywhere.

Mood is a 1:1 function of the seven calibrated bands, never dialled for drama (ADR-0007 §3/§5, ADR-0004). The ratified source is mood-band-map.json. Three problems reached QA: the dashboard chip's word list drifted off the map on 3 of 7 bands (all toward alarm); the chip reads two different ways across surfaces; and two words collide with other labels on the same card. This rules all three so a coder can apply them from one word map with no further questions.

A · One reconciled word list

code ↔ map end as one

The canonical fw level ↔ UI band ↔ mood triple. The map is already correct — it is the dashboard's separate chip word list that diverged. Fixing means binding the code to the map, not editing the map.

fw levelUI bandchip todayratified moodverdict
submerged
Saturated
Drowning soaked fix
overwatered
Wet
Soggy refreshed fix
well watered
Moist
Thriving thriving ok
OK
Ideal
Content content ok
needs water
Drying
Thirsty thirsty ok
DRY
Dry
Parched parched ok
air-dry
Parched
Critical faint · “check me” fix
Drowning → soaked
“Drowning” personifies death and panic. “soaked” states the fact — fully saturated — and lets the plant keep its dignity.
Soggy → refreshed
“Soggy” is a small judgment. “refreshed” frames overwatered as the plant having had a big drink — fact, then a fond feeling.
Critical → faint · “check me”
“Critical” declares an emergency — a direct breach of the air-dry “never dramatize” rule. “faint” names the ambiguity: dry, or maybe not in soil.
“parched” is the ratified mood for the DRY band and stays — its homograph with the air-dry band name Parched is handled in section C, not by changing the map.

B · One grammar, two surfaces

ADR-0007 §6 boundary

The same reading shows as Saturated · Drowning on the summary card and submerged · Saturated on the detail readout. That isn't an accident to unify away — the two surfaces sit on opposite sides of the character↔instrument boundary. The rule makes the split intentional and the UI band word the shared anchor on both.

ambient / summary card
character present
Saturated · soaked
[ UI band ] · [ mood ]
Band first (the calibrated reading), mood second (the feeling) — fact, then feeling, per the voice. Mood belongs here: a summary/ambient surface is where the character lives.
instrument / detail readout
instrument only — no mood
submerged · Saturated
[ fw level ] · [ UI band ]
The per-probe stat card is a dense numeric readout — §6 keeps the character out. fw level (firmware value) → UI band. No mood word here.
the invariant
The UI band word appears on every surface and is the anchor. The summary appends the mood; the instrument prepends the fw level. A surface adds exactly one token to the band — and the readout never adds the mood.

C · Two word collisions

one line each
“Saturated” band vs SATURATED quality flag rename the flag
Saturated band and two rows below quality SATURATED RAILED
Rename the quality flag, not the band. The band names where the reading sits (wettest lane); the flag names a data-integrity fault — the ADC pinned at its rail, reading suspect. RAILED is precise instrument language, stays in the mono quality register (OK · SUSPECT · RAILED · NO_SIGNAL), and can never be mistaken for the band. Display-string change only — no token moves (--q-saturated keeps its value). (“PEGGED” is an acceptable synonym if Data prefers it.)
“Parched” band vs “parched” mood keep — disambiguate by rule
Dry · parched one band drier Parched · faint
Keep both — they never occupy the same slot. Band names render Title-case and are always the anchor (first) token; mood words render lowercase and only ever appear second, on the summary card. So Parched is only ever a leading band token and parched only ever a trailing mood token — and a chip shows exactly one band, so both can never appear together. Reuse-only, no map change.
fallback If the maintainer wants zero homograph even under all-caps styling, rename the DRY mood parched → dry-mouthed. That edits mood-band-map.json (+ ADR-0007 §5, + sprout-mark.js mirror) and needs voice-lane + maintainer sign-off — so it's flagged, not shipped.
for Data
Reuse-only — no new tokens. One PR against the dashboard word map:
1Bind the summary chip's word list to mood-band-map.json — retiring the local list fixes Drowning→soaked, Soggy→refreshed, Critical→faint in one move and stops future drift.
2Chip grammar: summary = band · mood; per-probe detail readout = fw · band, no mood.
3Rename the quality flag label SATURATED → RAILED. Keep band names Title-case + anchor-first, moods lowercase + summary-only.
The map itself is unchanged (already correct). The one map-touching option — the parched fallback rename — is flagged for approval, not part of this PR.