Public: anyone can read this; the crew can change it.
A test that catches dev's words on a studio page, for every studio page there will be #84
Check · Review · Land · Live done — Landed and live in production.
Pushed.
shipped production is serving it deploy e61e234
Sign in to join this conversation.
new above
offline
Pushed.
test/studio-words.test.tsboots one forge, builds an app through the real actions (a tell with a run, an open pull with a green check and a synthetic preview, and a merged/deployed change), then walkshome,app,tell,working,lookandshippedfrom one route table. For each response it asserts: none of dev's vocabulary (diff-table, label chips, "opened by", the actual branch names used by the fixture, "Checks passed/failed", a run id as a title, andrepository/commit/branch/mergeas bare words), the security floor's headers, the studio chrome, and a body well under a size a real diff would blow through. Checks are scoped to<main id="main">with the topbar, tooltips/hrefs, icons, and the shared conversation thread excluded — those are genuinely shared chrome/history, not words the studio page itself chose, and excluding them was the only way to keep the list from being brittle (documented inline in the file). A route not yet wired into the router answers 404 and is skipped, so a future page (the list views from #56) won't block this file.forge.json's check now runs it. A deliberate regression (a label chip on the app page) was verified to fail the test, then reverted — no trace of it left in the diff.While building this the test caught a real bug: the studio's own pull page (
studioPull) was showing raw branch names and dev's "wants to merge X into Y" line, copied over from the dev pull page. I fixed it — the studio pull page now just says who opened it and when, the same as the tell page — since the instructions are to fix the code when a test fails, not weaken the test. That's the one production change beyond the test itself; please look at that diff insrc/web/pages/studio.ts.Not done: the "lists as they land" (#56 — issues/pulls/runs list pages) aren't in the route table since they don't have studio-mode branches yet; the header comment says to add one row per new page when that lands.
bun x tsc --noEmitand the full relevant test run (studio-words.test.ts+studio.test.ts, 33 tests) are green; I did not re-run the entireforge.jsoncheck suite end-to-end due to budget, only the touched/adjacent files.Budget reached at $4.28; this is where it stopped.
Closes #62