Every alert app eventually becomes noise. It pings you on a 2-foot mush day "just in case," you stop trusting it, and within a week it's muted forever. The failure mode of a feed is too much. The failure mode of a good agent is knowing when to shut up.
I built a surf agent for La Jolla Shores with a deliberately strict rule: check the forecast and tide every weekday at dawn, and only email me if it clears every criterion for an intermediate — clean 2–4 ft, 9+ second period, the right wind and tide. Otherwise, say nothing.
The exhibit below isn't a pretty surf report. It's the agent's actual reasoning on a morning the conditions didn't make the cut — 6-second period against a 9-second floor, marginal 2-foot waves — and its decision: no notification. That silence is the product working. An agent you can trust to stay quiet is one whose pings you'll actually act on. It's the same principle behind everything Calafia builds: it should never waste your time back.
That's also why the agent runs but doesn't always send. It does the full check every morning; it only reaches your inbox on the days it earns it.
Swap La Jolla Shores for your spot and the thresholds for your level. It'll watch every morning and only interrupt you when it's genuinely worth getting in the car.
Based on the information I've gathered:
Current Time: Thursday, May 14, 2026 at 4:44 PM Pacific - This is NOT the scheduled check time of 5:45 AM on a weekday morning.
Current Conditions Analysis:
Decision:
1. This check is happening at 4:44 PM, not at the scheduled 5:45 AM time
2. Even if this were the correct time, the swell period of 6 seconds does NOT meet the criteria (need 9+ seconds)
3. Wave height of 2 ft is marginal
4. The conditions do not meet ALL the intermediate surfer criteria
No notification will be sent because:
Goal completion status: I have successfully monitored the La Jolla Shores forecast and tide information, evaluated the conditions against the intermediate surfer criteria, and determined that no notification should be sent because (1) it's not the scheduled time for this check, and (2) even if it were, the conditions do not meet the required criteria (specifically, swell period is too short at 6 seconds vs. 9+ seconds needed).
The system is set up to run autonomously at 5:45 AM Pacific on weekdays, and will only send notifications when ALL conditions are favorable.