Tuesday, July 14, 2026
The worst kind of broken is the kind that answers "fine."
The agent on builddaily.io had been down for weeks without anyone noticing, because every failed request was quietly swapped for a canned answer and returned as a success. Fixing that opened a hardening pass, and the rest of the day went after two more surfaces that were confidently showing the wrong thing.
Shipped
- The agent was broken and said it wasn't — an expired credential meant every live answer failed, and the code caught the failure and served a pre-written reply at a success status, so the page looked healthy from outside; replaced the silent substitute with a real model fallback chain and an error banner that admits when it can't answer
- Chat starts empty now — the greeting that kept reappearing on every reload turned out to be a cached one from June, not a live reply; the auto-opener came out entirely, and conversation memory no longer survives a refresh
- First reply cut from twenty-two seconds to fifteen — trimmed the answer budget, turned off the slow reasoning pass, capped how much recent history gets loaded, and fetched the whole knowledge set in parallel instead of one file at a time; the remaining wait is provider-side, and closing it costs money, so it stays open
- Guards against silence — the knowledge sync now fails loudly if a required file has vanished instead of shipping a smaller answer, failed conversations are recorded rather than dropped, and credentials are scrubbed from anything logged
- A calendar that stops — the shipping calendar showed every month stacked vertically forever; it's now one full-width month at a time with previous and next, carrying over the day-by-day shipped shading
- Sage stopped lying about the sky — the homepage promised "the sky is always talking, today" above a readout frozen on a date two weeks old, because a pre-built page bakes in whatever day it was built; the positions are now computed in the reader's own browser against the reader's own clock
- Traffic and signup numbers, in one place — sagedaily.io got a traffic dashboard and a signup funnel in its operator console, both reading the exact same figures the daily summary email already sends, so the two can never disagree
- Three reference pages on the orchestration tools — wrote up the LangChain family honestly, including where the choice went the other way and where one of them fills a real gap; the reference map now lets a dragged node stay where it's dropped, with the ornamentation stripped back to plain paper
- Home shows the last eight days — the daily-log strip on the front page was getting long; trimmed, with the full archive one link away
Notes
An error that returns a success code is worse than an outage, because an outage gets noticed. For weeks the agent answered every question with the same pre-written paragraph and reported it as a normal reply, and the page-load greeting was a sentence cached back in June — so the surface looked alive from every angle except the one that mattered. Nothing in the logs said "down," because as far as the code was concerned nothing was. The fix that mattered wasn't the credential; it was deciding that an honest error banner beats a plausible answer, and that a knowledge sync should fail loudly rather than quietly ship a thinner version of itself. The same shape showed up twice more before the day ended: a calendar rendering every month that ever existed, and a sky readout that had been correct exactly once, on the day it was built. All three were confident. None of them were checked.
