Public: anyone can read this; the crew can change it.
Every preview of the forge pictures the Later gate's proposal at desk and phone width, from a seeded gate holding more themes than fit at rest #9222
Check · Review · Land · Live done — Landed and live in production.
Every preview now seeds a Later gate on `preview-admin/sample`, and the owner looks include `/preview-admin/sample/held` at desk and phone. I have not seen the pictures, so the last two boxes of #8971 are still open. The desk and phone pictures only exist once the forge takes the looks on this pull's preview, so they are not linked here. Look at the phone one first: if the proposal is taller than…
shipped production is serving it deploy f36206a
Every preview now seeds a Later gate on preview-admin/sample, and the owner looks include /preview-admin/sample/held at desk and phone. I have not seen the pictures, so the last two boxes of #8971 are still open. The desk and phone pictures only exist once the forge takes the looks on this pull's preview, so they are not linked here. Look at the phone one first: if the proposal is taller than one 390 px screen, the fix goes in src/web/pages/gate.ts on this pull.
Tests pass: bun test on test/preview-looks.test.ts and test/looks-owner.test.ts, plus tsc --noEmit, scripts/gate.ts and design-lint. I did not run the full suite; the forge's check does that.
- Seed: the gate holds 24 open issues in eight themes of three titles each. That is two more than
THEMES_AT_REST(6), so the page shows six theme lines and one "2 more themes" fold. No issue falls under "Other". The gate is made last, so the numbers other pages name (the pull is still #3) don't move. - Seed guard: the seed refuses to finish if the held page would be a 404 or show no more than
THEMES_AT_RESTthemes. - Looks:
PREVIEW_HELD_PAGEandPREVIEW_HELD_THEMESsit insrc/spawn/preview-looks.ts, andPREVIEW_OWNER_LOOKSnow lists the held page.forge.jsonandsrc/http/api.tsare untouched. - New test (
test/preview-looks.test.ts): it checks that the owner looks for a forge preview include the held page at both widths. It also checks that the seeded page returns 200 with exactly one "2 more themes" fold and shows onlyTHEMES_AT_RESTtheme names above it. - Changed existing test:
test/looks-owner.test.tscounted 11 seeded issues. The count now comes from the held-issue list (11 + the gate + 24), because the seed added issues. The intent of the test is unchanged.
I left out re-seeding previews that were seeded before this change, so only fresh previews get the gate. I also kept forge.json at its 24-page limit as the issue asked.
To try it, open a preview of this pull, sign in as the owner, and visit /preview-admin/sample/held.
🤖 Generated with Claude Code
The seed, the named constants, the guard and the tests are sound, and the preview answers 200 on /preview-admin/sample/held. Two things block it.
- docs/features/preview-owner-looks.md still says a forge preview takes four looks and lists home, /flow, the sample and the pull. It now takes the Iterations page and the held page as well. Name the held page and the Later gate seed there; the how-to belongs in docs/features, not the README.
- Box 4 is not met. The pull description links no desk or phone picture, and nothing shows the proposal above the fold at 390px. Once the looks are taken on this head, link both pictures. If the phone one is taller than one screen, fix src/web/pages/gate.ts on this pull, as the description already says.
Smaller points are in the comments.
I fixed both code and doc points and pushed, but I couldn't get the desk and phone pictures, so box 4 is still unmet.
I checked the pull's looks list for the earlier head, e7f9615. It has no held-page look at either width. The owner looks are writers-only, and I can't take them from this sandbox. When the forge takes the looks on the new head, 74d7634, someone with access needs to open the phone picture of /preview-admin/sample/held and link both pictures here. If the phone one is taller than one 390 px screen, the fix goes in src/web/pages/gate.ts on this pull.
docs/features/preview-owner-looks.md: it now says a forge preview takes six pages, not four. It names the Iterations page and/preview-admin/sample/held, and it describes the Later gate seed: 24 issues in eight themes, two more thanTHEMES_AT_REST, with the seed refusing to finish if the page would show fewer.src/spawn/preview-looks.ts: I re-wrapped the header comment.src/spawn/preview-seed.ts:seedLaterGatenow callsreviewGateon therepoit already has, and the separate re-fetch and 404 branch are gone. A missing gate reads as zero themes, so the same single guard refuses it. That guard is tested only for the seeded case, not for a missing gate.
The tests for the touched areas pass (test/preview-looks.test.ts and test/looks-owner.test.ts, 24 tests), and so do tsc --noEmit and scripts/gate.ts. I did not re-run design-lint after this round; I changed no src/web files.
🤖 Generated with Claude Code
Earlier asks (doc count of pages, seed guard using the repo already in hand, header comment) are met. The preview serves /preview-admin/sample/held with 200 and the fold line. Seed, constants, looks list and tests match the issue. Non-blocking: add a test for the missing-gate guard in seedLaterGate. Next: once the forge takes the looks on this head, link the desk and phone pictures in the description and confirm the phone one fits one screen; if not, trim in src/web/pages/gate.ts.
Left #9212 open: 1 unticked item remain (On this pull's own preview the phone look shows the whole proposal above the fold; the pull description links the desk and phone pictures. bun scripts/design-lint.ts passes.).
Every preview now seeds a Later gate on
preview-admin/sample, and the owner looks include/preview-admin/sample/heldat desk and phone. I have not seen the pictures, so the last two boxes of #8971 are still open. The desk and phone pictures only exist once the forge takes the looks on this pull's preview, so they are not linked here. Look at the phone one first: if the proposal is taller than one 390 px screen, the fix goes insrc/web/pages/gate.tson this pull.Tests pass:
bun testontest/preview-looks.test.tsandtest/looks-owner.test.ts, plustsc --noEmit,scripts/gate.tsanddesign-lint. I did not run the full suite; the forge's check does that.THEMES_AT_REST(6), so the page shows six theme lines and one "2 more themes" fold. No issue falls under "Other". The gate is made last, so the numbers other pages name (the pull is still #3) don't move.THEMES_AT_RESTthemes.PREVIEW_HELD_PAGEandPREVIEW_HELD_THEMESsit insrc/spawn/preview-looks.ts, andPREVIEW_OWNER_LOOKSnow lists the held page.forge.jsonandsrc/http/api.tsare untouched.test/preview-looks.test.ts): it checks that the owner looks for a forge preview include the held page at both widths. It also checks that the seeded page returns 200 with exactly one "2 more themes" fold and shows onlyTHEMES_AT_RESTtheme names above it.test/looks-owner.test.tscounted 11 seeded issues. The count now comes from the held-issue list (11 + the gate + 24), because the seed added issues. The intent of the test is unchanged.I left out re-seeding previews that were seeded before this change, so only fresh previews get the gate. I also kept
forge.jsonat its 24-page limit as the issue asked.To try it, open a preview of this pull, sign in as the owner, and visit
/preview-admin/sample/held.🤖 Generated with Claude Code
Closes #9212