Public: anyone can read this; the crew can change it.
A guest pull's "What happens next" reads as plain lines under a heading, not a boxed card #10013
Check · Review · Land · Live done — Landed and live in production.
The notice on a stranger's pull is now a plain section under a heading instead of a boxed card. It looks like the rest of the home page and changes nothing else.
shipped production is serving it deploy f21b126
The notice on a stranger's pull is now a plain section under a heading instead of a boxed card. It looks like the rest of the home page and changes nothing else.
What changed:
src/web/pages/pull-guest.ts: Both returns ofstrangerCardnow render a<section class="settings-block mb">with a plain<h2>, "What happens next" or "A guest", above the paragraphs. They no longer usecard(...).
- The guest-waits sentence, the "Look closely" wall lines (still role="alert") and the "Approve this guest" form are unchanged. The form is still a same-origin POST that only writers see.
- The form gets class="mt" so it doesn't sit flush against the text.
- The icons that were in the card headings (ban/clock/globe) are gone, as in the earlier home-language changes like #10002. A guarded path still shows as an alert on the sentence.
- The unused card and icon imports are removed.
test/pull-guest-language.test.ts(new): A stranger opens a pull from their own fork, and the page is loaded as the owner (a writer) and as the author.
- For a guest nobody has approved yet: the "A guest" section has no class="card, and it shows the guest-waits sentence and the what-happens-next sentence. Only the writer sees Approve, which posts to /approve-guest.
- Once approved: the "What happens next" section has no card and no Approve for either person.
- Both tests fail on main.
Not done: No new CSS class and no design-area note, because settings-block already exists. The issue's keep_plan tool isn't available in this run, so the issue has no plan.
Checks:
bun scripts/gate.ts,bun x tsc --noEmitandbun scripts/design-lint.tspass.test/pull-guest-language.test.ts,test/guest-pull.test.ts,test/stranger-pull.test.tsandtest/guest-pull-env.test.tspass.- In
test/guest-contribute.test.ts, one test fails: "…walks the guest path through MCP and git". Itsgit pushto the test server returns 128 in this sandbox. It fails the same way on main, and this change doesn't touch it.
To try it: open a pull from a fork by an account that can't write the repository. The owner sees an "A guest" heading, two plain sentences and the Approve button. The author sees the same text without the button.
🤖 Generated with Claude Code
The notice on a stranger's pull is now a plain section under a heading instead of a boxed card. It looks like the rest of the home page and changes nothing else.
What changed:
src/web/pages/pull-guest.ts: Both returns ofstrangerCardnow render a<section class="settings-block mb">with a plain<h2>, "What happens next" or "A guest", above the paragraphs. They no longer usecard(...).
- The guest-waits sentence, the "Look closely" wall lines (still role="alert") and the "Approve this guest" form are unchanged. The form is still a same-origin POST that only writers see.
- The form gets class="mt" so it doesn't sit flush against the text.
- The icons that were in the card headings (ban/clock/globe) are gone, as in the earlier home-language changes like #10002. A guarded path still shows as an alert on the sentence.
- The unused card and icon imports are removed.
test/pull-guest-language.test.ts(new): A stranger opens a pull from their own fork, and the page is loaded as the owner (a writer) and as the author.
- For a guest nobody has approved yet: the "A guest" section has no class="card, and it shows the guest-waits sentence and the what-happens-next sentence. Only the writer sees Approve, which posts to /approve-guest.
- Once approved: the "What happens next" section has no card and no Approve for either person.
- Both tests fail on main.
- Gate fix: The first push failed the gate's "say how to try it on the preview" rule because no commit message had a
Try:line. Amending would need a force push, so an empty follow-up commit carries the line.
Not done: No new CSS class and no design-area note, because settings-block already exists. The issue's keep_plan tool isn't available in this run, so the issue has no plan.
Checks:
bun x tsc --noEmitandbun scripts/design-lint.tspass.bun scripts/gate.tsprinted nothing after the new commit. I didn't capture its exit code, so the forge's check on this push is the real confirmation that theTry:rule is satisfied.test/pull-guest-language.test.ts,test/guest-pull.test.ts,test/stranger-pull.test.tsandtest/guest-pull-env.test.tspass.- In
test/guest-contribute.test.ts, one test fails: "…walks the guest path through MCP and git". Itsgit pushto the test server returns 128 in this sandbox. It fails the same way on main, and this change doesn't touch it.
To try it: open a pull from a fork by an account that can't write the repository. The owner sees an "A guest" heading, two plain sentences and the Approve button. The author sees the same text without the button.
🤖 Generated with Claude Code
Both returns are now a plain settings-block section with an h2 and paragraphs, using the existing class and no new CSS. The wall lines keep role=alert, and the Approve form stays a same-origin POST shown only to writers. Principles 6 and 7 are met (no box, rows of text), and it works without JavaScript. The new test fails on main. Next: (1) rewrap the docblock in pull-guest.ts, where one line runs long. (2) Check the phone screenshot of a guarded-path pull, now that the ban icon is gone and only role=alert marks the warning.
The notice on a stranger's pull is now a plain section under a heading instead of a boxed card. It looks like the rest of the home page and changes nothing else.
What changed:
src/web/pages/pull-guest.ts: Both returns ofstrangerCardnow render a<section class="settings-block mb">with a plain<h2>, "What happens next" or "A guest", above the paragraphs. They no longer usecard(...).- The guest-waits sentence, the "Look closely" wall lines (still
role="alert") and the "Approve this guest" form are unchanged. The form is still a same-origin POST that only writers see. - The form getsclass="mt"so it doesn't sit flush against the text. - The icons that were in the card headings (ban/clock/globe) are gone, as in the earlier home-language changes like #10002. A guarded path still shows as an alert on the sentence. - The unusedcardandiconimports are removed.test/pull-guest-language.test.ts(new): A stranger opens a pull from their own fork, and the page is loaded as the owner (a writer) and as the author.- For a guest nobody has approved yet: the "A guest" section has no
class="card, and it shows the guest-waits sentence and the what-happens-next sentence. Only the writer sees Approve, which posts to/approve-guest. - Once approved: the "What happens next" section has no card and no Approve for either person. - Both tests fail on main.Not done: No new CSS class and no design-area note, because
settings-blockalready exists. The issue'skeep_plantool isn't available in this run, so the issue has no plan.Checks:
bun scripts/gate.ts,bun x tsc --noEmitandbun scripts/design-lint.tspass.test/pull-guest-language.test.ts,test/guest-pull.test.ts,test/stranger-pull.test.tsandtest/guest-pull-env.test.tspass.test/guest-contribute.test.ts, one test fails: "…walks the guest path through MCP and git". Itsgit pushto the test server returns 128 in this sandbox. It fails the same way on main, and this change doesn't touch it.To try it: open a pull from a fork by an account that can't write the repository. The owner sees an "A guest" heading, two plain sentences and the Approve button. The author sees the same text without the button.
🤖 Generated with Claude Code
Closes #10004