{
  "entries": [
    {
      "date": "2026-05-17",
      "title": "AI Watch section in the daily brief",
      "category": "feature",
      "body": "New section pulled out of the news firehose: three to five ongoing AI/ML situations Walt should be tracking but that don't always make daily news. The model keeps the topic name stable across days so a thread is recognizable, and surfaces it with an explicit \"no movement\" update on quiet days so it doesn't fall out of the mental model. Seed topics include the ICLR 2026 Reasoning Trap paper, the White House / Anthropic relationship, Musk v. Altman, the DeepMind founder's seed round, and the Stanford AI-adoption-vs-internet study.",
      "pr": 5,
      "pr_url": "https://github.com/capitalthought/techthisout/pull/5",
      "reporter": "Walt"
    },
    {
      "date": "2026-05-17",
      "title": "Daily brief now opens with a stat",
      "category": "polish",
      "body": "The 10-Second Download's first bullet is now required to be a striking single-number stat that frames the day — what Walt opens his segment with on air. Example pattern: <em>\"96% of enterprises run AI agents in production, only 12% have a central platform to manage them.\"</em> Real numbers from real sources; no filler, no generic econ stats.",
      "pr": 5,
      "pr_url": "https://github.com/capitalthought/techthisout/pull/5",
      "reporter": "Walt"
    },
    {
      "date": "2026-05-17",
      "title": "Half-empty briefs now self-heal",
      "category": "fix",
      "body": "When the model chain falls through to a backup and produces a brief that's below content thresholds — fewer than ten news items or fewer than three funding rounds — the brief is stamped as <code>degraded</code> instead of <code>full</code>. Anti-flood guard lets the 10:30 UTC retry cron overwrite a degraded record with a better synth. Walt still gets <em>something</em> at 10:00 (better than nothing); the retry gets a chance to send a real brief 30 minutes later. Replays the 2026-05-08 incident: that day Walt got a brief with 7 news items and 0 funding entries; anti-flood blocked the retry. Won't happen again.",
      "pr": 3,
      "pr_url": "https://github.com/capitalthought/techthisout/pull/3",
      "reporter": null
    },
    {
      "date": "2026-05-17",
      "title": "Talker of the Day deduplication",
      "category": "polish",
      "body": "The opening stat / pull-quote is now deduplicated against the last three days' talkers. The synthesis prompt sees what's been used and is explicitly told not to repeat or paraphrase. Caught after Walt got near-identical \"Texas data centers will consume 9% of state water by 2040\" talkers two days running, both from the same UT Austin source.",
      "pr": 3,
      "pr_url": "https://github.com/capitalthought/techthisout/pull/3",
      "reporter": null
    },
    {
      "date": "2026-05-17",
      "title": "Dead-man-switch alert on two-day degradation streaks",
      "category": "security",
      "body": "If today's brief is non-<code>full</code> (fallback or degraded) AND yesterday's was too, the worker pings Healthchecks.io's /fail endpoint instead of the regular heartbeat. Catches the silent-degradation pattern that hid the 8-day breakage earlier this year behind heartbeat-only pings.",
      "pr": 3,
      "pr_url": "https://github.com/capitalthought/techthisout/pull/3",
      "reporter": null
    },
    {
      "date": "2026-05-17",
      "title": "Link-preview card for techthisout in iMessage and Slack",
      "category": "feature",
      "body": "Sharing a techthisout link in iMessage, Slack, or X now renders a proper preview card with the daily-brief tagline. The worker serves <code>/og.png</code> and <code>/og.svg</code> directly from its bundle, no R2 or CDN round-trip.",
      "pr": 2,
      "pr_url": "https://github.com/capitalthought/techthisout/pull/2",
      "reporter": null
    },
    {
      "date": "2026-05-04",
      "title": "Walt's first round of editorial asks",
      "category": "feature",
      "body": "Three changes shipped from Walt's 2026-04-29 feedback. <strong>Talker of the Day</strong> opens each brief with the single best on-air stat or pull-quote, sourced from today's data. <strong>Raw-headlines fallback</strong> now filters to tech-only sources, so when AI synthesis is down Walt gets relevant headlines instead of school-district PR and faculty-appointment news. <strong>A 10:30 UTC retry cron</strong> automatically re-attempts when the 10:00 run lands a fallback — most days that's invisible; on bad days it's the difference between a half-empty brief and a full one.",
      "pr": null,
      "pr_url": null,
      "reporter": "Walt"
    },
    {
      "date": "2026-05-01",
      "title": "Synthesis reliability rebuilt",
      "category": "fix",
      "body": "Replaced the pinned retired model with a fallback chain (Sonnet 4.6 → Opus 4.7 → Sonnet 4.5), bumped output token limit to 8192 to stop briefs being truncated mid-paragraph, and added explicit handling for the Anthropic 524 storm pattern that was producing raw-headlines emails for an 8-day stretch. End-to-end pipeline budget is now ~145 seconds with 180-second per-model timeout.",
      "pr": null,
      "pr_url": null,
      "reporter": null
    }
  ],
  "total": 8,
  "source": "https://techthisout.run/changelog"
}