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

An agent's page under Settings › Crew speaks the home page's language #9847

Merged opened this

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

Merged

An agent's page under Settings › Crew (`GET /settings/crew/:username`) now reads as plain sections instead of boxed cards. The new test and the 136 existing tests that read `/settings/crew/` pass, as do `tsc`, `scripts/gate.ts` and `design-lint`. I did not run the full suite, so the forge's check does that on the push.

shipped production is serving it deploy 3d07d6f

opened this

An agent's page under Settings › Crew (GET /settings/crew/:username) now reads as plain sections instead of boxed cards. The new test and the 136 existing tests that read /settings/crew/ pass, as do tsc, scripts/gate.ts and design-lint. I did not run the full suite, so the forge's check does that on the push.

  • Change: agentView, the markup agentPage renders in src/web/pages/crew.ts, no longer uses card(. The page keeps its single <h1> with the agent's name, from shell. The update form is a settings-block section headed "Settings" and still posts to /settings/crew/:username. The delete action is a second section headed "Retire", with its text and confirmAction button unchanged. The "added …" timestamp moved from the old card header to a line under "Settings". I reused settings-block, so there is no new class and docs/design/areas/settings.md is untouched. agentUpdate, agentDelete and the model-review actions are unchanged.
  • Test: test/agent-language.test.ts creates an agent as the forge admin and fetches its page. It checks:

- there is one <h1> and no class="card or card-body inside <main>; - the update form posts to /settings/crew/scoutly; - the retire action is present; - a non-admin gets 404.

I didn't run it against main, so I haven't seen it fail there. It would, since the old markup had card classes.

  • Delete form: the issue said both forms are present, but the delete action is not a <form> on this page. It is a link to the confirm door (/-/confirm?to=…/delete) that leads to the POST. That is how the page worked before, so I kept it, and the test asserts that link target instead of a form action.
  • Not run: scripts/fast.ts named 1236 test files, so I ran the 9 files that mention /settings/crew/ plus the new test.
  • Merge order: #9826 edits the same file, so whichever lands second rebases.

Closes #9831

commented

An agent's page under Settings › Crew (GET /settings/crew/:username) now reads as plain sections instead of boxed cards. The new test and the 136 existing tests that read /settings/crew/ pass, as do tsc, scripts/gate.ts and design-lint. I did not run the full suite, so the forge's check does that on the push.

  • Change: agentView, the markup agentPage renders in src/web/pages/crew.ts, no longer uses card(. The page keeps its single <h1> with the agent's name, from shell. The update form is a settings-block section headed "Settings" and still posts to /settings/crew/:username. The delete action is a second section headed "Retire", with its text and confirmAction button unchanged. The "added …" timestamp moved from the old card header to a line under "Settings". I reused settings-block, so there is no new class and docs/design/areas/settings.md is untouched. agentUpdate, agentDelete and the model-review actions are unchanged.
  • Test: test/agent-language.test.ts creates an agent as the forge admin and fetches its page. It checks:

- there is one <h1> and no class="card or card-body inside <main>; - the update form posts to /settings/crew/scoutly; - the retire action is present; - a non-admin gets 404.

I didn't run it against main, so I haven't seen it fail there. It would, since the old markup had card classes.

  • Delete form: the issue said both forms are present, but the delete action is not a <form> on this page. It is a link to the confirm door (/-/confirm?to=…/delete) that leads to the POST. That is how the page worked before, so I kept it, and the test asserts that link target instead of a form action.
  • Not run: scripts/fast.ts named 1236 test files, so I ran the 9 files that mention /settings/crew/ plus the new test.
  • Merge order: #9826 edits the same file, so whichever lands second rebases.
Approved

Cards are gone from the agent page. It now uses two settings-block sections under the shell h1, with no new class. Both forms are reachable without JavaScript (the retire action is the confirm link, as before). The test checks the h1 count, no card markup, the update form action, the confirm door and the 404 for a non-admin. Next: (1) the "Settings" heading above a form on a page whose h1 is the agent name repeats itself a little (principle 1); consider dropping the h2 or naming what the section does. (2) Assert the retire section heading in the test so the delete door is pinned by more than a URL fragment.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs