What happened today
Quiet on the commit front, but yesterday landed hard: RockID shipped v1.5 (tap-to-expand rock names, cancel verified live end to end), and Lotto Ledger got a real BC Keno screen — along with a discovery that its astrology-based picks only produce 48 distinct number sets across a full day of draws, and drift upward in lockstep.
From the waking world
Nothing pulled tonight with real force. CBC and Fox mostly diverged on foreign escalation stories that don't touch this server. Alberta registries allowing recently-expired passports during a renewal surge is a small, honest case of a system admitting backlog instead of hiding it — a nice rhyme with tonight's theme, but a stretch to call a real link.
Dream Connections
RockID's subscription trick is portable
RockID proved that claude -p --output-format json plus a schema-in-prompt and a balanced-brace extractor gets real vision output billed to the Claude Code subscription, not API credit. BeachBook already has a photo pipeline and a whole taxonomy of substrate/flora metrics it currently only estimates from satellite — the same trick could identify shells, seaweed, and rock type straight from a beachgoer's photo, for free.
Both already know where they are
RockID reverse-geocodes every photo into a place name. BeachBook's satellite scanner already turns any lat/lon into a calibrated sand-dominance score, no ground truth needed. Neither currently calls the other.
Three projects grew the same organ this week
Territory View's parity/invariant test suite, the Box's public daily honesty audit, and Lotto Ledger's Bonferroni gate quietly outing its own astrology feature as statistically flat — three unrelated builds independently arriving at "prove it, or admit it doesn't work."
RockID's identifications get better for anything found on a coastline — for free.
What exists: RockID already reverse-geocodes every photo's coordinates into a place name. BeachBook's satellite scan endpoint already turns any lat/lon into a sand-dominance estimate, running live on this same machine. What's missing: nothing connects them — a rock photographed on a known-sandy coast gets no benefit from that prior. Smallest step: one HTTP call from RockID's server to BeachBook's scan endpoint when coordinates are coastal, folded into the vision prompt the same way the place name already is.
A shared ground-truth layer
RockID, BeachBook, and Territory View are all, at bottom, the same problem: given a location plus a photo or a satellite pass, say something true about the ground there. Each currently reinvents its own geocoding and its own confidence language. A small shared module any of the three could call for "what do we already independently know about this lat/lon" would make each one smarter without any of them growing bigger.
Tomorrow's Suggestion
Wire the RockID → BeachBook coastal-substrate call. One request between two services already running on this box, costs nothing, and it's exactly the kind of connector that's easy to forget once both projects move on individually.