<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Notes from the pipeline · Daily AI Thread</title>
    <link>https://www.dailyaithread.com/en/notes</link>
    <description>What broke while building the pipeline that publishes this site, with the numbers and the code.</description>
    <language>en</language>
    <atom:link href="https://www.dailyaithread.com/en/notes/feed.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>GitHub kept returning 403. I blamed the token for ten days; the wall was our own runner.</title>
      <link>https://www.dailyaithread.com/en/notes/the-403-was-not-about-the-token</link>
      <guid isPermaLink="true">https://www.dailyaithread.com/en/notes/the-403-was-not-about-the-token</guid>
      <pubDate>Thu, 03 Sep 2026 08:00:00 +0900</pubDate>
      <description>A 403 looked like a rate limit, so I spent ten days fixing the GitHub token. Only after I logged the response body did I see the wall was not GitHub but the cloud environment the pipeline runs in.</description>
    </item>
    <item>
      <title>The numbers we told you to check didn&#x27;t check out</title>
      <link>https://www.dailyaithread.com/en/notes/the-transparency-page-numbers-did-not-add-up</link>
      <guid isPermaLink="true">https://www.dailyaithread.com/en/notes/the-transparency-page-numbers-did-not-add-up</guid>
      <pubDate>Wed, 02 Sep 2026 08:00:00 +0900</pubDate>
      <description>We put the numbers on /data so readers can count what we filtered out for themselves. But the page said &quot;98 minus 2 leaves 59 candidates.&quot; 98 minus 2 is 96. A whole pool, our domestic Korean news, was missing from the math on screen.</description>
    </item>
    <item>
      <title>The same five updates shipped two days in a row. The dedupe ran on both days.</title>
      <link>https://www.dailyaithread.com/en/notes/the-dedupe-was-comparing-two-different-strings</link>
      <guid isPermaLink="true">https://www.dailyaithread.com/en/notes/the-dedupe-was-comparing-two-different-strings</guid>
      <pubDate>Mon, 31 Aug 2026 08:00:00 +0900</pubDate>
      <description>We answer &quot;have we run this already?&quot; by title, but the two titles being compared are built by different code. One truncates, the other restores. Entries that never matched were never filtered, and yet the filtered count rose every day.</description>
    </item>
    <item>
      <title>A feed was dead for two weeks. All my logs said was &quot;2 feeds failed&quot;.</title>
      <link>https://www.dailyaithread.com/en/notes/a-dead-feed-that-returned-a-success-code</link>
      <guid isPermaLink="true">https://www.dailyaithread.com/en/notes/a-dead-feed-that-returned-a-success-code</guid>
      <pubDate>Sun, 23 Aug 2026 08:00:00 +0900</pubDate>
      <description>I logged which feeds failed but not why. The morning after I started logging the reason, the cause showed up, and one of them had been arriving with a success-family status code.</description>
    </item>
    <item>
      <title>Three safeguards reversed the same way. None of them raised an error.</title>
      <link>https://www.dailyaithread.com/en/notes/three-safeguards-that-quietly-reverse</link>
      <guid isPermaLink="true">https://www.dailyaithread.com/en/notes/three-safeguards-that-quietly-reverse</guid>
      <pubDate>Thu, 20 Aug 2026 08:00:00 +0900</pubDate>
      <atom:updated>2026-08-31T08:00:00+09:00</atom:updated>
      <description>One rule keeps a single outlet from taking over. One keeps the same event from running twice. One keeps posts that are not news out. Over the past month all three turned into their opposites, doing exactly what they say, without making a sound.</description>
    </item>
    <item>
      <title>One outlet wrote 8 of 9 articles. The cap that should have stopped it stepped aside on purpose.</title>
      <link>https://www.dailyaithread.com/en/notes/the-per-outlet-cap-turns-itself-off</link>
      <guid isPermaLink="true">https://www.dailyaithread.com/en/notes/the-per-outlet-cap-turns-itself-off</guid>
      <pubDate>Wed, 19 Aug 2026 08:00:00 +0900</pubDate>
      <atom:updated>2026-08-31T08:00:00+09:00</atom:updated>
      <description>A three-article cap keeps one outlet from owning the edition. It lifts entirely rather than leave a slot empty. That happened four times in 28 editions, and only twice because the news was actually thin. One was a configuration mistake of mine. One I still cannot explain.</description>
    </item>
    <item>
      <title>Zero Korean articles on 15 of 19 days. The other 4 were worse.</title>
      <link>https://www.dailyaithread.com/en/notes/korean-articles-were-structurally-excluded</link>
      <guid isPermaLink="true">https://www.dailyaithread.com/en/notes/korean-articles-were-structurally-excluded</guid>
      <pubDate>Mon, 10 Aug 2026 08:00:00 +0900</pubDate>
      <atom:updated>2026-08-31T08:00:00+09:00</atom:updated>
      <description>The keyword extractor behind our cross-source bonus only matches capitalized ASCII, so Korean headlines cap out at 3.0 against a weekday cutoff above 5. Yet they do run on Sundays and Mondays. Not on merit, but because the English feeds have gone quiet.</description>
    </item>
  </channel>
</rss>
