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

A repository's Settings › Machines speaks the home page's language #9801

Merged opened this

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

Merged

Settings › Machines now uses the same headed sections and rows as the home page. The new test fails on the old page and passes now. `bun x tsc --noEmit`, `bun scripts/design-lint.ts`, the machine shell and `crew-machines*` tests (42 pass) are green, and `bun scripts/gate.ts` printed nothing when I ran it. I did not run the full suite; the forge runs it on push.

shipped production is serving it deploy 3d07d6f

opened this

Settings › Machines now uses the same headed sections and rows as the home page. The new test fails on the old page and passes now. bun x tsc --noEmit, bun scripts/design-lint.ts, the machine shell and crew-machines* tests (42 pass) are green, and bun scripts/gate.ts printed nothing when I ran it. I did not run the full suite; the forge runs it on push.

What changed

  • Page (src/web/pages/machines.ts): Machines and Last sessions are each a <section class="settings-block"> with an <h2>, and the tables and cards are gone.
  • Machines:

- Each machine is a row() in ul#machines, with its tools and reach in the meta line. - "Open shell" sits in the trail and still goes to machineShellPage. - Only writers reach the page, as before.

  • Last sessions:

- Each session is a row() in ul#machine-sessions. A running one has a ● glyph and a "running" badge. An ended one has a dash, with its end time and reason spelled out. - With no session, one plain sentence says so.

  • Test (test/machine-shell-page.test.ts): renders the page as a writer and checks the two headings, the machine row, the shell link and the empty sentence. It also checks there is no .card and no <table>.
  • Docs (docs/design/areas/machines.md): records the shape. No new component class.

Not done

  • I left machineShellPage and the terminal untouched.
  • I kept the heading "Last sessions" rather than "Recent", because test/machine-shell.test.ts asserts that text.

To try it: open /:owner/:name/settings/machines as a writer on the preview.

🤖 Generated with Claude Code

Closes #9788

commented

Settings › Machines now uses the same headed sections and rows as the home page. The new test fails on the old page and passes now. bun x tsc --noEmit, bun scripts/design-lint.ts, the machine shell and crew-machines* tests (42 pass) are green, and bun scripts/gate.ts printed nothing when I ran it. I did not run the full suite; the forge runs it on push.

What changed

  • Page (src/web/pages/machines.ts): Machines and Last sessions are each a <section class="settings-block"> with an <h2>, and the tables and cards are gone.
  • Machines:

- Each machine is a row() in ul#machines, with its tools and reach in the meta line. - "Open shell" sits in the trail and still goes to machineShellPage. - Only writers reach the page, as before.

  • Last sessions:

- Each session is a row() in ul#machine-sessions. A running one has a ● glyph and a "running" badge. An ended one has a dash, with its end time and reason spelled out. - With no session, one plain sentence says so.

  • Test (test/machine-shell-page.test.ts): renders the page as a writer and checks the two headings, the machine row, the shell link and the empty sentence. It also checks there is no .card and no <table>.
  • Docs (docs/design/areas/machines.md): records the shape. No new component class.

Not done

  • I left machineShellPage and the terminal untouched.
  • I kept the heading "Last sessions" rather than "Recent", because test/machine-shell.test.ts asserts that text.

To try it: open /:owner/:name/settings/machines as a writer on the preview.

🤖 Generated with Claude Code

commented

The preview deploy didn't fail on my change, and there is nothing to fix or push.

The log shows ready, serving and done at https://lab--9801--forge-trevato-apps.open-platform.sh. The "no tests declared, none run" line only means the preview deploy has no test step. In forge.json the tests are run by the check block (fast, run, verify), not by the deploy. The app block declares no tests.

I made no changes. The branch is clean at c56ac9c. The machine, shell and crew tests, tsc --noEmit, design-lint and gate.ts were already clean before I pushed.

If the forge's check on this push reports a real failure, send me its log and I'll fix that.

commented

Settings › Machines now uses the home page's language. I changed no code this time. The check failed only because no commit message had a "Try:" line, which the gate requires when a pull touches src/web/pages/machines.ts.

I added an empty commit whose message carries that line: "Try: open /settings/machines on the preview and compare its look with the home page". I didn't amend the earlier commit, because that would need a force push, which is refused here.

bun scripts/gate.ts passes locally and the push went through. I didn't re-run the type check or the tests, since nothing in the code changed. The forge's check will run on this push.

To try it, open /settings/machines on the preview at https://lab--9801--forge-trevato-apps.open-platform.sh and compare it with the home page.

Changes requested — before the latest push

Close, and the rows, headings, shell link and test are right. Two things to fix in one round. First: the Machines intro is four sentences explaining itself (principle 1, 8); cut it to one. Second: the code comment above the sessions section names a check mark that does not exist. I could not view the screenshots or the page as a writer in the time given; I read the diff and confirmed the preview answers 200.

commented

I made both fixes from the review in src/web/pages/machines.ts and pushed them.

  • Intro: it is now one sentence: "A machine is where the crew shell runs; each writer gets a directory and home of their own on it." I dropped the line about a shell outliving its tab from the page. docs/features/machines.md already says that (line 81), so I added nothing there.
  • Comment: the sessions-section comment now says "a dash", matching the code.

bun scripts/gate.ts and bun x tsc --noEmit pass, and the 21 machines tests pass. I did not run the full suite; the forge's check does that on this push.

The commit carries a "Try:" line: open /settings/machines on the preview and check the intro is one sentence.

Approved

Both earlier asks are met: the intro is now one sentence, and the sessions comment says "a dash", matching the code. The page is headed sections of rows with no card or table, state is a glyph plus a "running" badge or words, and the shell link and writers-only access are unchanged. I could not fetch the earlier head commit, so I read the final diff, not the delta. Next, non-blocking: (1) the empty-sessions sentence uses class small while the intro uses muted, so pick one; (2) the test could assert the running badge and the ended-reason text with a seeded session.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs