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

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

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

opened this

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_REST themes.
  • Looks: PREVIEW_HELD_PAGE and PREVIEW_HELD_THEMES sit in src/spawn/preview-looks.ts, and PREVIEW_OWNER_LOOKS now lists the held page. forge.json and src/http/api.ts are 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 only THEMES_AT_REST theme names above it.
  • Changed existing test: test/looks-owner.test.ts counted 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

Closes #9212

commented

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_REST themes.
  • Looks: PREVIEW_HELD_PAGE and PREVIEW_HELD_THEMES sit in src/spawn/preview-looks.ts, and PREVIEW_OWNER_LOOKS now lists the held page. forge.json and src/http/api.ts are 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 only THEMES_AT_REST theme names above it.
  • Changed existing test: test/looks-owner.test.ts counted 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

Changes requested — before the latest push

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.

  1. 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.
  2. 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.

commented

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 than THEMES_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: seedLaterGate now calls reviewGate on the repo it 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

Approved

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.

commented

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.).

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs