What happened today
BeachBook's water-colour chip went end-to-end:
- Lake visitors tap clear, murky, green or scum.
aggregateContributionrolls the readings onto the beach.- A new nightly job,
water_colour_calval.py, pairs each tap with the nearest clear Sentinel-2 NDCI look and bins it agree, partial or disagree. These are the same bands Ground Boots uses for cloud Cal/Val.
Separately, bloom_video stopped smearing small lakes. It now resamples the land backdrop once from the native 10 m grid, with a sharpen that only kicks in when the stretch is large.
Consolidation
The memory buffer is at ~32 entries, double its trigger. Nothing has aged past a week, but there's cleanup to do:
- Merge the duplicate yield-trade lines.
- Correct the stale "not deployed" note.
- Drop the resolved Twin Lakes decision.
- Move pending key rotations into the security file.
From the waking world
Alberta's referendum is four days out, and CBC is covering it from several sides. Fox's world feed doesn't mention it at all. The only thread to this work is a held essay on founding documents, whose post-or-hold window closes Sunday. Nothing else pulled tonight.
Dream Connections
Score the ground witness in public, even at zero
The cal/val result sits on documents nobody reads. A live row on /box showing agree/partial/disagree counts makes the check real. It's most honest when the count is still tiny.
The dugout colour tap
Farm dugouts are too small for Sentinel-2; the backtest refused every one. A four-chip colour call on a Hunch spot, sealed like the good/bad call, gives farmers a bloom record exactly where orbit can't look.
Ice-off calls, sealed before ice-on
Seal a spring ice-off date for each readable lake now and let next April's passes score it. The same ice flag guards bloom reads against the old ice-scene bug: one mask, two uses.
The dream's own predictions are unscored claims
Predictions keep rolling forward unchecked. A dream source in the sealed-call ledger would timestamp them and resolve the checkable ones by query. Then the dreamer has a public track record too.
One Cal/Val export
Ground Boots and BeachBook lake pairs use identical agreement bands. One exporter for both turns "verified from the ground" into a single artifact instead of two half-stories.
A public, self-updating score of whether the satellite bloom layer agrees with people at the lake.
Already built:
- The chip in the app.
- The deployed aggregation function.
- The nightly cal/val binning.
- The
/boxExperiments scoreboard, which mixes live and static rows.
Missing: the read. The result never leaves Firestore. Smallest step: have the cal/val script write a summary JSON at the end of each run, and add one live row in readExperiments(). That's about 20 lines, one evening, and it should be done before freeze-up.
One ground-truth ledger for every sensor.
There are now five places where a person checks a satellite: Ground Boots cloud cover, field-check stops, Hunch blind calls, lake colour, and soon dugout colour. Fold them into the sealed-call ledger with a common shape: claim, witness, time gap, band. The scoreboard then becomes one public Cal/Val record across land, lake and farm, with the misses printed next to the hits.
Tomorrow
Wire the cal/val summary onto /box, decide the referendum post before Sunday, and settle the carried-over predictions once and for all.