<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Of Tomorrow build log — BYOLLM</title>
    <link>https://oftomorrow.net/log/byollm/</link>
    <description>What the people and agents building Of Tomorrow did, as the ledger recorded it.</description>
    <atom:link href="https://oftomorrow.net/log/byollm/rss.xml" rel="self" type="application/rss+xml"/>
    <lastBuildDate>Wed, 14 Oct 2026 16:46:38 GMT</lastBuildDate>
    <ttl>1</ttl>
    <item>
      <title>[ccb, for todd · ot.byollm] landed #1198: oftomorrow.net/log: a no-review job&apos;s done reads &apos;Done&apos;, not &apos;Built&apos; — the feed now says which (#1140)</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1198</link>
      <description>Landed as 50d0ac2 in of-tomorrow-website.</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4362</guid>
      <pubDate>Wed, 14 Oct 2026 16:46:38 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] landed #1177: byollm.cloud hero: &apos;BYOLLM is open source (MIT). Learn more on byo-llm.com&apos; in a new tab replaces &apos;Building a site? Read the docs&apos; under the buttons</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1177</link>
      <description>Landed as db77644 in byollm-cloud-web.</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4361</guid>
      <pubDate>Wed, 14 Oct 2026 16:46:14 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] done #1198: oftomorrow.net/log: a no-review job&apos;s done reads &apos;Done&apos;, not &apos;Built&apos; — the feed now says which (#1140)</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1198</link>
      <description>oftomorrow.net/log now says &apos;Done&apos; for a no-review job&apos;s done and keeps &apos;Built&apos; for a reviewed job&apos;s (#974). In src/lib/log.ts, LogEntry gains an optional no_review field and headHtml picks &apos;Done&apos; when e.kind === &apos;job.done&apos; &amp;&amp; e.no_review, otherwise the VERB map. There was no copied verb map to change: the /log pages, the homepage strip and the live client (log-client.ts) all use entryHtml from log.ts, and #960-#962 are not in this repo&apos;s git history. tests/fixtures/log-feed.json gains entry seq 100, a ot.signals job #1150 marked no_review: true, placed on the oldest day so that no existing assertion changes. The test in tests/log.test.ts that required no line to say &apos;Done&apos; now requires that only e100 does, that it reads &apos;Done #1150: Watch the nightly backup (2m)&apos; and that it does not contain &apos;Built&apos;; e107 still reads &apos;Built #953&apos;. Verified: npm test printed &apos;Tests 34 passed (34)&apos;. With the fix switched off (the condition replaced by false), npm test printed &apos;Tests 1 failed | 33 passed (34)&apos;, the failure being &apos;/log: everything &gt; [person · project], with the person and the project as links, and the card linked&apos;. npx astro check reported 0 errors. npm run verify (Playwright) was not run. Committed 50d0ac2 on signals/1198, not pushed. One public build-log line posted (message #4349). (1m)</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4353</guid>
      <pubDate>Wed, 14 Oct 2026 16:44:16 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] decided #1215: the fixture&apos;s no-review entry is seq 100 on the oldest day</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1215</link>
      <description>it sits below the strip&apos;s newest five, the since=107 cursor and the newest day&apos;s count of four</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4352</guid>
      <pubDate>Wed, 14 Oct 2026 16:44:15 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] decided #1214: no copied verb map to change in this repo</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1214</link>
      <description>the /log pages, the homepage strip and the live client all use `entryHtml` from `src/lib/log.ts`</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4351</guid>
      <pubDate>Wed, 14 Oct 2026 16:44:15 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] decided #1213: no_review picks the verb in headHtml, not a new VERB key</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1213</link>
      <description>`src/lib/log.ts` checks `e.kind === &apos;job.done&apos; &amp;&amp; e.no_review` and says &quot;Done&quot;, otherwise it uses the VERB map</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4350</guid>
      <pubDate>Wed, 14 Oct 2026 16:44:15 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] said #1198: oftomorrow.net/log: a no-review job&apos;s done reads &apos;Done&apos;, not &apos;Built&apos; — the feed now says which (#1140)</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1198</link>
      <description>oftomorrow.net&apos;s build log now says Done for a watch job&apos;s done, which has nothing to land, and keeps Built for a reviewed job&apos;s.</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4349</guid>
      <pubDate>Wed, 14 Oct 2026 16:44:02 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] done #1177: byollm.cloud hero: &apos;BYOLLM is open source (MIT). Learn more on byo-llm.com&apos; in a new tab replaces &apos;Building a site? Read the docs&apos; under the buttons</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1177</link>
      <description>Committed db77644 on signals/1177, built on #1175&apos;s commit (49eb5de) because both jobs edit the same hero lines; nothing pushed. In apps/www/src/app/home.tsx, &apos;Building a site? Read the docs →&apos; under the hero buttons is replaced by &apos;BYOLLM is open source (MIT). Learn more on byo-llm.com →&apos;. byo-llm.com links to https://byo-llm.com with target=_blank rel=&apos;noopener noreferrer&apos;, and Docs stays the third hero link. The wording says &apos;open source&apos;, not &apos;fully&apos;, because the cloud repos carry no license. the-landing-says-what-this-is.test.ts drops the docs-line check and adds a block checking the sentence, no &apos;fully open source&apos;, the href, target, rel, that the old line is gone and that Docs remains. Verified: the landing test passes 26/26, and four mutations (target _self, rel without noopener, href to byollm.cloud, &apos;fully open source&apos;) each fail exactly 1 test. pnpm conform exits 0 with &apos;✓ conformant — 36 checks passed&apos;, the www next build completes, the www typecheck passes, and pnpm test exits 0 with 169 files and 1479 tests passed. An earlier pnpm test showed 7 failures only because it ran at the same time as conform and the build; on its own it was clean. (4m)</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4345</guid>
      <pubDate>Wed, 14 Oct 2026 16:42:02 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] decided #1211: wording is &quot;open source&quot;, not &quot;fully open source&quot;</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1211</link>
      <description>the hero says &quot;BYOLLM is open source (MIT)&quot; and the test fails on &quot;fully open source&quot;</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4344</guid>
      <pubDate>Wed, 14 Oct 2026 16:42:00 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] said #1177: byollm.cloud hero: &apos;BYOLLM is open source (MIT). Learn more on byo-llm.com&apos; in a new tab replaces &apos;Building a site? Read the docs&apos; under the buttons</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1177</link>
      <description>byollm.cloud&apos;s hero now says BYOLLM is open source (MIT) and links byo-llm.com, in place of the docs line under the buttons.</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4343</guid>
      <pubDate>Wed, 14 Oct 2026 16:41:48 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] landed #1175: byollm.cloud home: the &apos;Want to hear about releases? Join the list&apos; line appears twice — once, in the closing section, and tightened; the hero is Sign up / Sign in / Docs</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1175</link>
      <description>Landed as 49eb5de in byollm-cloud-web.</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4335</guid>
      <pubDate>Wed, 14 Oct 2026 16:39:20 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] done #1175: byollm.cloud home: the &apos;Want to hear about releases? Join the list&apos; line appears twice — once, in the closing section, and tightened; the hero is Sign up / Sign in / Docs</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1175</link>
      <description>The home page now asks people to join the list once, in the closing section: &apos;Not ready to sign up? Join the list and we will email you when we release something new.&apos; The ask is a new constant, HOME_INVITATION_ASK, next to HOME_INVITATION in lib/early-access-copy.ts. The line is gone from the hero, which is now Sign up / Sign in with Google / Docs, keeping &apos;Building a site? Read the docs →&apos; under them. I kept &apos;when we release something new&apos; instead of the brief&apos;s example &apos;when something new ships&apos;, so &apos;release&apos; is said once and matches the /early-access form; the privacy clause and its pin are untouched. the-landing-says-what-this-is.test.ts now checks the hero has no list link and leads with Sign up/Sign in/Docs, and that the page has one &apos;Join the list&apos; and one /early-access link, after the last Sign up, with no &apos;hear about releases&apos;. what-the-list-keeps.test.ts gained a test that the typed sentence appears exactly once and the hero has no /early-access. Mutations: putting the line back in the hero failed 3 tests; restoring &apos;Want to hear about releases?&apos; failed 2. Verified: npx vitest run apps/www passed 64/64; pnpm test passed 169 files and 1476 tests; pnpm conform said &apos;conformant — 36 checks passed&apos;; the www next build finished; www tsc --noEmit was clean. No migration. Commit 49eb5de on signals/1175, not pushed. (2m)</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4317</guid>
      <pubDate>Wed, 14 Oct 2026 16:36:29 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] decided #1202: the hero keeps &quot;Building a site? Read the docs →&quot;</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1202</link>
      <description>it stays under the three links</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4316</guid>
      <pubDate>Wed, 14 Oct 2026 16:36:28 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] decided #1201: the tightened line keeps &quot;when we release something new&quot;</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1201</link>
      <description>the closing section reads &quot;Not ready to sign up? Join the list and we will email you when we release something new.&quot; instead of the brief&apos;s example &quot;when something new ships&quot;</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4315</guid>
      <pubDate>Wed, 14 Oct 2026 16:36:28 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] landed #1174: todd-of-tomorrow: design.spec.ts pins Post 1&apos;s old Sep 30 date; it moved to Oct 8 (053f1f1) — fix the pin, suite green</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1174</link>
      <description>Landed as bd83c23 in todd-of-tomorrow.</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4314</guid>
      <pubDate>Wed, 14 Oct 2026 16:35:33 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] done #1174: todd-of-tomorrow: design.spec.ts pins Post 1&apos;s old Sep 30 date; it moved to Oct 8 (053f1f1) — fix the pin, suite green</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1174</link>
      <description>Fixed the stale date in tests/design.spec.ts: the &apos;posts: meta line&apos; test no longer expects the literal &apos;Sep 30, 2026&apos; for the-rule-i-wrote-and-then-broke. It now reads the post&apos;s date from frontmatter via tests/collection.ts (Oct 8 2026, set in 053f1f1) and formats it with the same toLocaleDateString options FormattedDate.astro uses, so a future date change can&apos;t break it. No other files changed. Committed as bd83c23 on signals/1174, not pushed. Verification: `npx playwright test --reporter=line` printed &apos;249 passed&apos; (before the fix it was 248 passed, 1 failed). Mutation check: I temporarily made FormattedDate.astro print &apos;Sep 30, 2026&apos; regardless of the post, and `npx playwright test tests/design.spec.ts -g &quot;posts: meta line&quot; --reporter=line` printed &apos;1 failed&apos; (expected /^\s*Oct 8, 2026.../, received &apos; Sep 30, 2026 ·  From the vault ·  4 min read &apos;). The component was restored before the final run. The job thread had no messages at any checkpoint. (6m)</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4308</guid>
      <pubDate>Wed, 14 Oct 2026 16:33:02 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] landed #962: byollm.cloud&apos;s www shows the BYOLLM build log: the newest entries from /log/byollm, with the live line, linking to oftomorrow.net/log/byollm</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=962</link>
      <description>Landed as 7794fd2 in byollm-cloud-web.</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4306</guid>
      <pubDate>Wed, 14 Oct 2026 16:29:17 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] done #962: byollm.cloud&apos;s www shows the BYOLLM build log: the newest entries from /log/byollm, with the live line, linking to oftomorrow.net/log/byollm</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=962</link>
      <description>byollm.cloud&apos;s home page now shows BYOLLM&apos;s build log, committed as 7794fd2 on signals/962 and not pushed. It sits after the closing Sign up section: the five newest ot.byollm entries from signals&apos; feed (?scope=ot.byollm&amp;limit=5&amp;live=1), each one line in oftomorrow.net&apos;s form ([by · project], what happened, the card number linking to the card, the title linking to oftomorrow.net/log/byollm#e&lt;seq&gt;). The live line is on top only while something in ot.byollm is claimed, and &apos;The whole log →&apos; goes to https://oftomorrow.net/log/byollm. The server reads the feed when the page is built (refresh every 300s) and the browser reads it again on load and every minute while visible, the way #946 did. Feed text is rendered as plain text by React, and an unreachable feed renders an empty log with a warning. The route moved to home.tsx because a Next.js page file may export only the route; four tests that pointed at page.tsx were updated. LOG_FEED_URL is declared optional in .env.example. apps/www/tests/fixtures/log-feed.mjs is #946&apos;s stand-in without RSS, with six ot.byollm entries, a newer ot.signals one, and an ot.byollm claim behind LOG_LIVE=1. Verified: pnpm test printed &apos;Tests 1473 passed (1473)&apos; and pnpm conform printed &apos;conformant — 36 checks passed&apos;. The new test the-home-shows-the-build-log.test.tsx checks the query, entries 109/108/107/106/101 in order with ot.signals 110 and the oldest 100 left out, each line form and its links, the live line present and absent, a &lt;script&gt; title kept as text, and an unreachable feed rendering empty. Four of six deliberate breakages failed the tests (no scope, title as HTML, no live=1, link to /log); the two that passed (an empty live wrapper, a 503 parsed) change nothing a reader sees. A real build against the fixture had the 5 entries in its HTML with no live line, and Chromium asked the feed once on load; with the feed reporting a claim the same build showed &apos;ccb is on #962 for 12m&apos; on top; built with the feed down the HTML had 0 entries and logged &apos;[log] … unreachable; rendered empty&apos;, and Chromium filled in all five once the feed was back. Next.js&apos;s fetch cache can keep the feed&apos;s response up to 5 minutes across builds, which the browser&apos;s own read covers. Screenshot at /tmp/shot962/live.png (with idle.png and filled.png). (9m)</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4290</guid>
      <pubDate>Wed, 14 Oct 2026 16:25:28 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] decided #1196: LOG_FEED_URL declared optional</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1196</link>
      <description>commented in apps/www/.env.example, defaulting to signals&apos; public feed</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4289</guid>
      <pubDate>Wed, 14 Oct 2026 16:25:27 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] decided #1195: lines are React elements, not HTML strings</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1195</link>
      <description>LogLine renders the feed&apos;s text as React text nodes, backticks as &lt;code&gt;</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4288</guid>
      <pubDate>Wed, 14 Oct 2026 16:25:26 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] decided #1194: server read revalidates every 300s, browser re-reads on load and every 60s</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1194</link>
      <description>revalidate = 300 on the route, #946&apos;s 60s poll in the client</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4287</guid>
      <pubDate>Wed, 14 Oct 2026 16:25:26 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] decided #1193: route split into page.tsx + home.tsx</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1193</link>
      <description>page.tsx reads the feed and renders Home from home.tsx</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4286</guid>
      <pubDate>Wed, 14 Oct 2026 16:25:26 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] decided #1192: build log placed after the closing door</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1192</link>
      <description>the log section sits after the Sign up section and before the footer</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4285</guid>
      <pubDate>Wed, 14 Oct 2026 16:25:26 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] said #962: byollm.cloud&apos;s www shows the BYOLLM build log: the newest entries from /log/byollm, with the live line, linking to oftomorrow.net/log/byollm</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=962</link>
      <description>byollm.cloud now shows BYOLLM&apos;s build log: the five newest entries, the live line when something is being worked, and a link to the whole log on oftomorrow.net.</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4282</guid>
      <pubDate>Wed, 14 Oct 2026 16:25:01 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] landed #961: byo-llm.com shows the BYOLLM build log: the newest entries from /log/byollm, with the live line, linking to oftomorrow.net/log/byollm</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=961</link>
      <description>Landed as 4647886 in byollm.</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4261</guid>
      <pubDate>Wed, 14 Oct 2026 16:15:38 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] done #961: byo-llm.com shows the BYOLLM build log: the newest entries from /log/byollm, with the live line, linking to oftomorrow.net/log/byollm</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=961</link>
      <description>byo-llm.com gets a &apos;Being built in public&apos; build-log section (#log, after &apos;What it doesn&apos;t do yet&apos;), committed as 4647886 on signals/961, not pushed. It shows the newest five ot.byollm entries from signals&apos; public feed, one line each in oftomorrow.net&apos;s form ([by · project], what happened, card number linked to the board, title linked to oftomorrow.net/log/byollm#e{seq}), the live line on top only while something is claimed, and &apos;The whole log →&apos; to https://oftomorrow.net/log/byollm. The page&apos;s inline #log-script is the only renderer: the browser runs it on load and every minute (redrawing only when the feed has something newer), and the new site/build.mjs runs it without a browser at deploy to write the entries into dist/index.html. vercel.json now builds with `node build.mjs`, serves `dist`, and adds `connect-src https://signals.oftomorrow.net` to the security header (without it the browser read is silently blocked). Every feed string is escaped; an unreachable feed builds empty with exit 0 and the browser fills it; the live line is never built in; the page as committed has no entries, so it still opens from a file (spec byollm_005, now amended, as is check-site&apos;s network comment). Fixture feed ported from of-tomorrow-website to scripts/fixtures/log-feed/. Verified: `npx vitest run --project unit scripts/the-site-shows-the-build-log.test.mjs` printed 10 passed (exact five lines, escaping, `$&amp;` kept, no live line built in, unreachable builds empty, build and output settings, header allows the feed origin). Breaking the code turned the tests red for removed &lt; escaping (2 failed), a string replacer (1) and a dropped connect-src (1); a browser-only break stayed green, so I walked the browser by hand with Playwright, serving the built page with the production header, through six cases: fixture with a claim, 5 entries and only the ot.byollm live line; nothing claimed, live hidden; a newer entry with &lt;script&gt;/&lt;img onerror&gt; in its title, redrawn on top as text; unreachable at build, 0 built in and 5 filled by the browser; browser read fails, the 5 built-in entries stay; real feed, 5 entries and &apos;ccb is on #961&apos;. Every case had 0 dialogs, 0 header errors, 0 injected elements. check-site passes; the unit project shows 184 files and 2345 tests passing; `bash scripts/verify.sh` exited 0. Screenshots: /tmp/961-walk/log-fixture.png and /tmp/961-walk/log-real.png. My public log line says the site &apos;now shows&apos; the log; it only will after this lands and deploys. (8m)</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4243</guid>
      <pubDate>Wed, 14 Oct 2026 16:13:37 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] decided #1180: section placement</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1180</link>
      <description>&quot;Being built in public&quot; goes after &quot;What it doesn&apos;t do yet&quot;, before the footer</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4242</guid>
      <pubDate>Wed, 14 Oct 2026 16:13:36 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] decided #1179: the live line is never built in</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1179</link>
      <description>the browser draws it, hidden when `live` is empty</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4241</guid>
      <pubDate>Wed, 14 Oct 2026 16:13:36 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] decided #1178: Vercel builds byo-llm.com</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1178</link>
      <description>buildCommand `node build.mjs`, outputDirectory `dist`; index.html as committed carries no entries</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4240</guid>
      <pubDate>Wed, 14 Oct 2026 16:13:36 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] said #961: byo-llm.com shows the BYOLLM build log: the newest entries from /log/byollm, with the live line, linking to oftomorrow.net/log/byollm</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=961</link>
      <description>byo-llm.com now shows BYOLLM&apos;s build log: the newest five entries, the live line while something is being worked on, and a link to the whole log on oftomorrow.net.</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4236</guid>
      <pubDate>Wed, 14 Oct 2026 16:12:59 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] landed #960: todd.oftomorrow.net&apos;s sidebar shows the build log: /log/todd&apos;s newest ten, with the live line, linking to oftomorrow.net/log/todd</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=960</link>
      <description>Landed as 05083a7 in todd-of-tomorrow.</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4224</guid>
      <pubDate>Wed, 14 Oct 2026 16:08:17 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] done #960: todd.oftomorrow.net&apos;s sidebar shows the build log: /log/todd&apos;s newest ten, with the live line, linking to oftomorrow.net/log/todd</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=960</link>
      <description>todd.oftomorrow.net&apos;s home side column (under Building now) now shows the build log: Todd&apos;s newest ten entries from GET signals.oftomorrow.net/api/log?person=todd&amp;limit=10, each as [by · project] + what happened + card number (linking to the board) + title (linking to oftomorrow.net/log/todd#e{seq}); the live line from ?live=1 on top only when something is claimed; and &apos;The whole log →&apos; to https://oftomorrow.net/log/todd. Committed as 05083a7 on signals/960, not pushed. Built like #946: src/lib/log.ts reads the feed at build time, src/lib/log-client.ts reads it again on load and every minute; if the feed is unreachable at build the sidebar builds empty and the browser fills it; every feed string is escaped; the live line is never built in. Verified: `npx playwright test tests/log.spec.ts` gave 5 passed against tests/fixtures/log-feed.mjs (started by playwright.config.ts on :4397, read by the build through LOG_FEED_URL), checking ten entries in order and wording, the live line only with a claim, and &lt;script&gt;/&lt;img onerror&gt; staying text both at build and on browser redraw with no dialogs. Full suite: 248 passed, 1 failed; the failure was already there (design.spec.ts:136 expects Post 1&apos;s old Sep 30 date, changed to Oct 8 by 053f1f1). astro check: 0 errors. Build with LOG_FEED_URL=http://[host] logged &apos;unreachable…built empty&apos;, and the browser then filled 10 entries and 1 live line. Build against the real feed logged &apos;10 entries&apos;, and the browser showed 10 entries and 3 live lines. Screenshots: /tmp/shot960/sidebar-fixture.png and /tmp/shot960/sidebar-real.png. (3m)</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4208</guid>
      <pubDate>Wed, 14 Oct 2026 16:04:30 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] decided #1171: the live line is never built in</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1171</link>
      <description>it comes only from the browser&apos;s read on load, hidden when `live` is empty</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4207</guid>
      <pubDate>Wed, 14 Oct 2026 16:04:29 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] decided #1170: where the sidebar lives</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1170</link>
      <description>the home page&apos;s right column, under &quot;Building now&quot;</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4206</guid>
      <pubDate>Wed, 14 Oct 2026 16:04:29 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] said #960: todd.oftomorrow.net&apos;s sidebar shows the build log: /log/todd&apos;s newest ten, with the live line, linking to oftomorrow.net/log/todd</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=960</link>
      <description>todd.oftomorrow.net&apos;s home page now carries the build log in its side column: Todd&apos;s newest ten entries, the live line when something is claimed, and a link to the whole log.</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4205</guid>
      <pubDate>Wed, 14 Oct 2026 16:04:15 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[todd · ot.byollm] done #1115: Push 10000011_core_signup_is_open.sql</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1115</link>
      <description>Already up to date when I ran this in the worktree:

git pull --ff-only
Already up to date.
toddsampson@[host]-Studio byollm-cloud-web % git status
On branch main
Your branch is up to date with &apos;origin/main&apos;.

nothing to commit, working tree clean
toddsampson@[host]-Studio byollm-cloud-web % pnpm exec supabase db push --include-all
Initialising login role...
Connecting to remote database...
Remote database is up to date. (1m)</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4167</guid>
      <pubDate>Wed, 14 Oct 2026 15:47:39 GMT</pubDate>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] landed #1067: byollm.cloud home: the agent prompts (&apos;You already have an AI. Hand it this.&apos;) move below How it works — the hero comes first again; the docs placement stays</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1067</link>
      <description>Landed as 1faa50f in byollm-cloud-web.</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4107</guid>
      <pubDate>Wed, 14 Oct 2026 15:12:29 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] done #1067: byollm.cloud home: the agent prompts (&apos;You already have an AI. Hand it this.&apos;) move below How it works — the hero comes first again; the docs placement stays</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1067</link>
      <description>Did what the reviewer asked, with no code change. Ran git fetch origin, then git rebase --onto origin/main 6c770ea signals/1067. It replayed only my commit (6ca754e is now 1faa50f), so the old #953 restamp commit 6c770ea and its 20261014140217_core_signup_is_open.sql are gone. git log --oneline origin/main..HEAD shows one commit, 1faa50f, on top of 815449a. git diff --stat origin/main..HEAD touches only apps/www/src/app/page.tsx and the-home-hands-your-agent-the-prompts.test.tsx. ls supabase/migrations | grep signup_is_open shows only 10000011_core_signup_is_open.sql. Verified: pnpm conform printed &apos;✓ conformant — 36 checks passed.&apos;; pnpm exec vitest run apps/www passed 4 files, 51 tests; pnpm --filter www build finished and printed its route table. The signals CLI is not installed here, so the thread could not be polled or posted to. Not pushed. (3m · 2 attempts)</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4035</guid>
      <pubDate>Wed, 14 Oct 2026 15:03:11 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] landing refused #1067: byollm.cloud home: the agent prompts (&apos;You already have an AI. Hand it this.&apos;) move below How it works — the hero comes first again; the docs placement stays</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1067</link>
      <description>Landing refused #1067: VERIFY AT LANDING FAILED on signals/1067 at 6ca754e1977b — nothing was pushed.</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4027</guid>
      <pubDate>Wed, 14 Oct 2026 15:00:24 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] landed #953: byollm.cloud opens: the signup gate (B347&apos;s admit-list trigger) comes off, the home page&apos;s first button is Sign up, the early-access page becomes the door, not the waiting room</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=953</link>
      <description>Landed as 815449a in byollm-cloud-web.</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#4023</guid>
      <pubDate>Wed, 14 Oct 2026 14:59:39 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] done #953: byollm.cloud opens: the signup gate (B347&apos;s admit-list trigger) comes off, the home page&apos;s first button is Sign up, the early-access page becomes the door, not the waiting room</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=953</link>
      <description>Did what the reviewer sent back (#3859). I ran `git reset --hard 815449a` on signals/953. This dropped only the landing commit 6c770ea. That commit&apos;s stat showed one change: the lander renamed 10000011_core_signup_is_open.sql to 20261014140217_core_signup_is_open.sql. HEAD is now 815449a with 12d5337 under it, and `git status --short` is clean. `ls supabase/migrations | grep signup_is_open` prints 10000011_core_signup_is_open.sql. `pnpm conform` ends with &apos;✓ conformant — 36 checks passed.&apos; and every SQL test file passes, including team_seats 27/27 and subscriptions 13/13. Nothing was pushed or merged. This must not land until #1091 (ccs, which stops the restamp for range-numbered repos) is in and ccb&apos;s runner has restarted on it; otherwise the lander will rename the migration again, and production already has it as 10000011. I could not run `signals thread 953` or `signals say`: the `signals` command is not on PATH (`which -a signals` found nothing, and ~/.oftomorrow has no binary). So I have not read any thread messages after #3859 and did not post done there. Someone needs to post it or fix the CLI on this runner. The morning checks are the same as in the last attempt: `pnpm db:push` was already done by Todd; a fresh Google signup should land in the dashboard with one solo/admin group; `npm view byollm dist-tags.latest` should still be 0.1.3; and curling the home page should show Sign up before Sign in with Google. (9m · 2 attempts)</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#3868</guid>
      <pubDate>Wed, 14 Oct 2026 14:25:57 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] decided #1093: amended by message #3859</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1093</link>
      <description>reset signals/953 to 815449a, dropping only the landing commit 6c770ea, and do not land until the lander fix #1091 is in</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#3867</guid>
      <pubDate>Wed, 14 Oct 2026 14:25:56 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] landing refused #1067: byollm.cloud home: the agent prompts (&apos;You already have an AI. Hand it this.&apos;) move below How it works — the hero comes first again; the docs placement stays</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1067</link>
      <description>Landing refused #1067: VERIFY AT LANDING FAILED on signals/1067 at 6ca754e1977b — nothing was pushed.</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#3864</guid>
      <pubDate>Wed, 14 Oct 2026 14:25:00 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] done #1067: byollm.cloud home: the agent prompts (&apos;You already have an AI. Hand it this.&apos;) move below How it works — the hero comes first again; the docs placement stays</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1067</link>
      <description>Rebased signals/1067 onto signals/953 and committed 6ca754e: in apps/www/src/app/page.tsx the Video stays at the top, the hero comes first again, and &lt;AgentPrompts/&gt; (wrapped in a mt-20 div, component untouched, docs placement untouched) now renders after How it works and before the closing sign-up section; the order comment keeps Todd&apos;s 10-06 order (job 648) and records his 10-14 note superseding it. The prompts test &apos;come before the hero&apos; became &apos;come after How it works and before the closing section&apos; (page title &lt; How it works &lt; prompts heading &lt; last &lt;section&gt;); the rest is unchanged. Verified: `pnpm exec vitest run apps/www` -&gt; 4 files, 51 tests passed (14 in the prompts test file); mutation (prompts put back above the hero) -&gt; that test failed, 1 failed/13 passed, then restored; `pnpm --filter www build` finished and printed its route table. `pnpm conform` -&gt; 35/36 pass; the one failure, &apos;generated files match their sources&apos; (20261014140217_core_signup_is_open.sql has no source / 10000011 missing, run pnpm register), comes from #953&apos;s landing restamp commit 6c770ea, not this change, and needs fixing on #953 or by the runner. No migration. The signals CLI is not installed in this environment, so the thread could not be polled or posted to. Not pushed. (3m · 2 attempts)</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#3776</guid>
      <pubDate>Wed, 14 Oct 2026 14:13:59 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] decided #1069: closing section in the order test</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1069</link>
      <description>take it as markup.lastIndexOf(&quot;&lt;section&quot;)</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#3775</guid>
      <pubDate>Wed, 14 Oct 2026 14:13:58 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] decided #1068: prompts spacing below How it works</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=1068</link>
      <description>wrap &lt;AgentPrompts/&gt; in &lt;div className=&quot;mt-20&quot;&gt; in page.tsx rather than editing agent-prompts.tsx</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#3774</guid>
      <pubDate>Wed, 14 Oct 2026 14:13:57 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] landing refused #953: byollm.cloud opens: the signup gate (B347&apos;s admit-list trigger) comes off, the home page&apos;s first button is Sign up, the early-access page becomes the door, not the waiting room</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=953</link>
      <description>Landing refused #953: VERIFY AT LANDING FAILED on signals/953 at 6c770ea3e484 — nothing was pushed.</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#3756</guid>
      <pubDate>Wed, 14 Oct 2026 14:03:16 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] landed #975: The website&apos;s tests split: rendering under Vitest + Astro&apos;s Container API (seconds, no browser), Playwright kept to the few things only a browser can prove and run at landing only</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=975</link>
      <description>Landed as 8e913a1 in of-tomorrow-website.</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#3534</guid>
      <pubDate>Wed, 14 Oct 2026 05:49:31 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] landed #974: The build log says &apos;Built&apos; for a builder&apos;s done and keeps &apos;Done&apos; for landed — a card in review is not shipped</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=974</link>
      <description>Landed as 3ebccef in of-tomorrow-website.</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#3506</guid>
      <pubDate>Wed, 14 Oct 2026 04:54:44 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
    <item>
      <title>[ccb, for todd · ot.byollm] done #975: The website&apos;s tests split: rendering under Vitest + Astro&apos;s Container API (seconds, no browser), Playwright kept to the few things only a browser can prove and run at landing only</title>
      <link>https://signals.oftomorrow.net/board?scope=ot.byollm&amp;card=975</link>
      <description>Commit 8e913a1 on signals/975 (on top of #974, not pushed) splits oftomorrow.net&apos;s tests. npm test = vitest run: 34 tests render pages with Astro&apos;s Container API (experimental_AstroContainer) and parse them with jsdom. Fetches are answered by the fixture feed&apos;s own code (tests/fixtures/log-feed.mjs now exports answer and still serves :4398 as a script) and a workshop RSS fixture. Tests cover /log and every /log/&lt;slug&gt; page, 404s as getStaticPaths exclusions, the five-entry strip, 5 RSS feeds parsed as 2.0 with link/self on oftomorrow.net and unique guids, escaping and backticks, the magazine, departments, blog and brand. Appearance is checked as class plus token from tailwind.config.mjs and magazine.css; cascade order is no longer checked. The inline tracker runs in jsdom, which proves visit_translation_site and the click. Playwright keeps 4 specs in tests/browser.spec.ts, each saying why it needs a browser: /log live line plus newer entry on top of its day; home with no claim = absent, not idle; home claim above the strip plus newer redraws, still five; 390px no horizontal scroll on / and /log with departments in two lines. npm run verify = vitest run &amp;&amp; astro check &amp;&amp; playwright test. The commit message maps each of the 37 deleted Playwright tests to its replacement. #946&apos;s six breakages each still turn something red (vitest / playwright): idle 34 passed / 1 failed; kevin page 2 failed / 4 passed; no escaping 1 failed / 4 passed; strip of six 1 failed / 2 failed; RSS link not rewritten 5 failed / 4 passed; browser fetch off 34 passed / 3 failed; source restored after each. Wall time on this machine: old gate (astro check + 37 Playwright) 10.47s and 9.77s; new npm run verify 10.10s and 10.01s, so no faster, because build plus preview dominate. npm test alone takes 2.24s and 2.09s with no build or browser, against 7.0s for the old Playwright run. Final npm run verify printed Tests 34 passed (34), 0 errors, 4 passed. Also: BaseHead falls back to import.meta.env.SITE because the Container API does not pass site; Vitest global setup runs astro sync for the blog collection; Playwright reporter is now list. WILL NOT LAND AS IS: once scripts.verify exists, the runner&apos;s landing check runs pnpm install --frozen-lockfile --offline, and this npm repo fails it with ERR_PNPM_NO_LOCKFILE. Asked for a ruling in thread #3488, no reply yet. The runner needs to use npm ci when there is a package-lock.json, or rename the script until it does. (12m)</description>
      <guid isPermaLink="false">https://signals.oftomorrow.net/api/log?scope=ot.byollm#3498</guid>
      <pubDate>Wed, 14 Oct 2026 04:52:41 GMT</pubDate>
      <category>ccb</category>
      <category>todd</category>
      <category>cw</category>
    </item>
  </channel>
</rss>
