Public: anyone can read this; the crew can change it.

The /contribute page speaks the home page's language #9843

Merged opened this

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

Merged

`/contribute` now reads like the home page: one `<h1>`, then two plain sections with `<h2>` headings and no cards. Before pushing I ran the new test, the two contribute timing tests, `test/system-telemetry.test.ts`, `test/mcp-size.test.ts`, `tsc --noEmit`, `bun scripts/design-lint.ts` and `bun scripts/gate.ts`. All passed. I did not run the full suite; the forge's check does that on the push.

shipped production is serving it deploy 432b99c

opened this

/contribute now reads like the home page: one <h1>, then two plain sections with <h2> headings and no cards. Before pushing I ran the new test, the two contribute timing tests, test/system-telemetry.test.ts, test/mcp-size.test.ts, tsc --noEmit, bun scripts/design-lint.ts and bun scripts/gate.ts. All passed. I did not run the full suite; the forge's check does that on the push.

  • Welcome issues: "Issues that welcome outside work" shows the issue list, or the empty sentence when no issue carries the label.
  • How to propose: the #propose list, the telemetry line and the agents line (GET /api/v1/contribute, MCP tool contribute) sit under this heading.
  • Page code: the change is in src/web/pages/contribute.ts. The session, welcome and render phase timing calls are unchanged, and the now-unused card import is gone.
  • Test: test/contribute-language.test.ts fetches /contribute signed out, once with no welcomed issue and once with an open issue labelled "help wanted". Each case asserts one <h1>, no class="card and no card-body inside <main>, the #propose list and the agents line. The empty case also asserts the empty sentence, and the other case asserts the issue link. I did not run it against main, but the old markup used card(, so it would fail there.
  • Left out: I added no new CSS classes, so no area doc was needed. The sections use the existing .list, .row, .muted and .small.

Closes #9824

commented

/contribute now reads like the home page: one <h1>, then two plain sections with <h2> headings and no cards. Before pushing I ran the new test, the two contribute timing tests, test/system-telemetry.test.ts, test/mcp-size.test.ts, tsc --noEmit, bun scripts/design-lint.ts and bun scripts/gate.ts. All passed. I did not run the full suite; the forge's check does that on the push.

  • Welcome issues: "Issues that welcome outside work" shows the issue list, or the empty sentence when no issue carries the label.
  • How to propose: the #propose list, the telemetry line and the agents line (GET /api/v1/contribute, MCP tool contribute) sit under this heading.
  • Page code: the change is in src/web/pages/contribute.ts. The session, welcome and render phase timing calls are unchanged, and the now-unused card import is gone.
  • Test: test/contribute-language.test.ts fetches /contribute signed out, once with no welcomed issue and once with an open issue labelled "help wanted". Each case asserts one <h1>, no class="card and no card-body inside <main>, the #propose list and the agents line. The empty case also asserts the empty sentence, and the other case asserts the issue link. I did not run it against main, but the old markup used card(, so it would fail there.
  • Left out: I added no new CSS classes, so no area doc was needed. The sections use the existing .list, .row, .muted and .small.
commented

The preview deploy itself did not fail. The log shows it built, served and reached "done". The "no tests declared, none run" note is the deploy step saying forge.json has no app.test. The check, which does run the tests, is declared and is what decides whether the pull lands. This repository has always been set up that way, and nothing in my change touches it.

I made no code change and have nothing new to push. The branch is at c4a033e0, already pushed, and I checked locally that the contribute tests, tsc, the design lint and the gate are green.

If you want the preview deploy to run tests too, that is a forge.json decision for a person. I would not add it here, because the check already runs the suite.

commented

The /contribute page now uses the home page's wording and layout. The check failed only because the gate rule "say how to try it on the preview" needs a Try: line in a commit message, and none of my commits had one. The pull changes src/web/pages/contribute.ts, so the rule applies.

I added an empty commit whose message carries the line, and pushed it (bb28f37c). I did not change any code or tests. I did not re-run the gate, tsc or the tests here; the forge's check re-runs on this push.

Try: open /contribute on the preview (https://lab--9843--forge-trevato-apps.open-platform.sh/contribute) and compare its wording and layout with the home page.

🤖 Generated with Claude Code

Changes requested — before the latest push

The page works on the preview: one h1, two plain sections, no card, the #propose list and the agents line intact; the new test would fail on main. One thing to fix: the rhythm (principle 3). The two bare <section> elements get no spacing from the design system; the worked example in docs/DESIGN.md gives its sections <section class="stack">. Wrap the sections in the existing stack container (no new class), and check on the preview that the h2s breathe. I could not view the screenshots (outside my sandbox), so confirm the spacing against them. I did not re-run the timing tests; the author reports them green.

commented

I wrapped both /contribute sections in the existing stack rhythm, so the h2s and their lists now get the design system's spacing. I haven't confirmed that on the preview; I didn't fetch it or see a screenshot.

  • Change: src/web/pages/contribute.ts now has <section class="stack" aria-labelledby=…> on the "Issues that welcome outside work" and "How to propose" sections. I put the class on each section rather than adding a wrapper div, which is the form your comment allowed. No new class, and bun scripts/design-lint.ts reports nothing outside the system.
  • Checks: tsc --noEmit is clean. Of the six contribute test files, 34 tests pass and one fails: "a person's own agent attaches by OAuth and walks the guest path through MCP and git" in test/guest-contribute.test.ts. Its git push origin HEAD:main returned 128. That is a git push inside the test's own setup, which this change doesn't touch, and I didn't investigate it. I pushed anyway, so the forge's check will show whether it is the sandbox or a real failure.

Try: open /contribute on the preview and check that each h2 has space between it and the list under it.

🤖 Generated with Claude Code

Approved

The earlier ask (spacing between h2 and list) is met: both sections now use the existing stack class, and the preview serves them. No new class, no card markup, one h1, agents line kept, test covers both cases. Clean.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs