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

The week page speaks the home page's language #9779

Merged opened this

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

Merged

The week page now has no card around the polish share or around any list. Each list is plain rows, and the headings and sentences get the same rhythm as the home page. I didn't open the page or check it at 390 px, and I didn't run the whole suite.

shipped production is serving it deploy 3d07d6f

opened this

The week page now has no card around the polish share or around any list. Each list is plain rows, and the headings and sentences get the same rhythm as the home page. I didn't open the page or check it at 390 px, and I didn't run the whole suite.

What I ran:

  • tsc --noEmit is clean.
  • bun scripts/design-lint.ts passes.
  • test/polish-share.test.ts and test/week-doors.test.ts pass, 19 tests.
  • I did not run scripts/gate.ts, and I didn't look for a scripts/fast.ts run.

What changed, all in src/web/pages/week.ts:

  • Boxes removed: the shipped, costly and stuck lists and the polish share are no longer wrapped in card().
  • Spacing and type: each section heading carries mt, and the "What shipped" and "Estimate accuracy" sentences use the num class.
  • Unchanged: each proposal is still a row with one "Take it" form, with the same hidden week_end and idx fields. weekSubmit is untouched, so the same-origin check and the write permission are as before. The stored polish share still shows, with its meter and the words under it.

I added no new component classes, so there is no area doc change.

To try it, open /:owner/:name/week on the preview. Check it on a 390 px phone for sideways scroll, since I didn't.

🤖 Generated with Claude Code

Closes #9732

commented

The week page now has no card around the polish share or around any list. Each list is plain rows, and the headings and sentences get the same rhythm as the home page. I didn't open the page or check it at 390 px, and I didn't run the whole suite.

What I ran:

  • tsc --noEmit is clean.
  • bun scripts/design-lint.ts passes.
  • test/polish-share.test.ts and test/week-doors.test.ts pass, 19 tests.
  • I did not run scripts/gate.ts, and I didn't look for a scripts/fast.ts run.

What changed, all in src/web/pages/week.ts:

  • Boxes removed: the shipped, costly and stuck lists and the polish share are no longer wrapped in card().
  • Spacing and type: each section heading carries mt, and the "What shipped" and "Estimate accuracy" sentences use the num class.
  • Unchanged: each proposal is still a row with one "Take it" form, with the same hidden week_end and idx fields. weekSubmit is untouched, so the same-origin check and the write permission are as before. The stored polish share still shows, with its meter and the words under it.

I added no new component classes, so there is no area doc change.

To try it, open /:owner/:name/week on the preview. Check it on a 390 px phone for sideways scroll, since I didn't.

🤖 Generated with Claude Code

commented

The week page now drops its cards, and the gate rule that blocked this pull now passes.

The preview deploy log you sent ends in done: with no error. "No tests declared, none run" is just the preview step reporting that it ran no tests. When I ran scripts/gate.ts here, it failed on the rule "say how to try it on the preview". It wants a "Try: …" line in a commit message for any pull that changes src/web/pages/week.ts.

I added an empty commit with that line and pushed it as a normal push (no amend, no force). The gate now passes and the push went through (de80e9f1..ae59d938). tsc and the two week tests (19 tests) passed earlier on the same code; I didn't re-run them.

I started a run of the broader fast tests, but the diff reaches 1285 files, so I didn't wait for it. The forge's check runs the full suite on this push.

What changed on the page (src/web/pages/week.ts):

  • Lists and polish share: the lists and the polish share are no longer wrapped in card(). The lists are plain rows, and the stored polish share, its meter and its note still show.
  • Headings and numbers: each section heading gets the mt spacing class, and the two summary sentences use the num class.
  • Proposals: each is still its own form with "Take it". weekSubmit is untouched, so the same-origin check and write permission are unchanged.

To try it, open /alice/notes/week on the preview. I didn't check it at 390 px.

🤖 Generated with Claude Code

Changes requested — before the latest push

Cards are gone and the proposal forms are untouched, which is right. Three things to fix in one round: (1) Principle 1: every proposal row repeats "Nothing changes until you tap." (or "Only someone who writes here can take it."). Say it once under the Proposed changes heading, or drop it, and keep each row to its words and one Take it button. (2) Box 1 asks for the home page's type on the numbers and the pacing line. .num is only tabular-nums (src/web/style/base.ts:167); the home page's counts are <strong class="num">. Use the same treatment for the shipped and accuracy figures and the polish share/pacing line, and use the home page's section rhythm rather than a 12px .mt on every h2 (principle 3). (3) Box 3 is unverified: the builder did not open the page or check it at 390 px. Check there is no sideways scroll and say so. Also add a test that fails without the change (for example, the served week HTML has no card wrapper around the lists or the polish share).

commented

The week page now has no card wrappers, and the proposal note appears once. I could not check it at 390 px.

What changed (src/web/pages/week.ts):

  1. Proposal note. "Nothing changes until you tap." (or "Only someone who writes here can take it.") is now one muted line under the Proposed changes heading. Each row is just its words and one Take it button, plus "Taken." once a proposal is taken. The proposal forms and POST behaviour are unchanged.
  2. Type on the figures. Shipped, projection range and accuracy counts are <strong class="num">, as on the home page. The polish line is <strong class="num">x% of y%</strong> followed by the muted dollars and the "ready polish may start" or "no polish starts until it is under" words. I did not change .num itself, because other pages use it.
  3. Section rhythm. Every section is <section class="settings-block"><h2>…, which gives 24px between sections and a 14px heading. The 12px .mt on each h2 is gone; only the page header's .mt remains.
  4. Polish duplicate. I dropped the "Polish this week" heading and kept "Polish share" as the heading, since the stat label said the same thing. The polish share is now a .settings-block section with the meter, not a stat box.

Test. I added a test to test/week-doors.test.ts that fetches the served week page. It asserts:

  • there is no card, stat or mt wrapper;
  • Polish share is a section;
  • "Polish this week" is gone;
  • the figures are strong.num;
  • the proposal note appears exactly once.

I did not run it against the old code to confirm it fails there. The page tests, tsc, design-lint and the gate pass, along with test/later-gate.test.ts, test/week.test.ts and test/week-wiring.test.ts. scripts/fast.ts named 1285 files, too many to run here.

Box 3 (390 px). I could not open the page at 390 px, because the sandbox has no browser. The preview answers 200, but I did not look at the week page on it. By reading the markup, the page is block flow of p, ul and the meter with no fixed widths, and the only new element is the section wrapper, so I expect no sideways scroll. That is a reading of the markup, not an observation.

Chose not to: change .num or add CSS. I used settings-block rather than door-section, because door-section uses a 96–128px landing-page gap.

Try it: open /<owner>/<repo>/week on the preview as a writer. There is one note under Proposed changes and one Take it per row.

🤖 Generated with Claude Code

commented

The failing test, "the week page and the week tool show polish spent against the share", is fixed and pushed. The cause was in the test, not the page.

An earlier commit on this pull reworded the week page's polish line. It now reads 10.0% of 10%, then ($1.00 of $10.00), then no polish starts until it is under. The test still looked for the old polish 10.0% of 10% this week (...) wording. I split that one assertion into two checks on the new wording in test/polish-share.test.ts. The page and its behaviour are unchanged.

test/polish-share.test.ts passes (8 tests) and bun x tsc --noEmit is clean. I didn't re-run the full suite or the gate; the forge runs the full check on this push.

The changes from earlier commits on the pull:

  • Week page: it now uses the home page's plain sections and figure type.
  • Proposal note: it appears once.
  • README: it says how to try the week page.

To try it, open /alice/notes/week on the preview. The polish line sits above the retrospective.

🤖 Generated with Claude Code

Approved

The earlier asks are met: no card around any list or the polish share, figures in strong.num, the proposal note said once, Polish share as a plain section, and the stale polish test updated to the new wording. Each proposal is still its own post form with one Take it, and weekSubmit is untouched. The only change since my last look is a test-wording edit and the page restructure, both read and fine. Two things I would do next: (1) Non-blocking: look at the page at 390 px in a real browser, since the builder only read the markup; it is block flow with no fixed widths, so I expect no sideways scroll. (2) Non-blocking: have the test fetch a taken proposal and assert Taken. shows once, so that state is covered as well as the open one.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs