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

The /audit page, who can do what across every app, speaks the home page's language #9866

Merged opened this

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

Merged

`/audit` no longer draws any card. Each part of the page is now a plain `<section class="settings-block">` with its `<h2>` and badges on one line above its rows; the class already exists, so nothing new was added. The `section()` helper in `src/web/pages/audit.ts` is replaced by `part()`, and no `card(` call is left in the file.

shipped production is serving it deploy a5a2512

opened this

/audit no longer draws any card. Each part of the page is now a plain <section class="settings-block"> with its <h2> and badges on one line above its rows; the class already exists, so nothing new was added. The section() helper in src/web/pages/audit.ts is replaced by part(), and no card( call is left in the file.

  • Headings: each app's heading is an <h2> now (it was an <h3>), and so is "Unread". "What changed" is a section with an <h2>, and its three parts (pulls at the wall, contract changes, doors over time) keep <h3>s under it.
  • Summary: the counts sentence at the top ("2 apps with a contract, …") is a lead <p> now, not an <h2>, so it doesn't sit at the same level as the app headings.
  • What stays the same: the policy table, the /audit#owner-name links, the "Knock now" form and the CSV. Apps without a contract are still listed as rows under "Unread".
  • Layout: the card used to clear the default heading margins and the indent on the problem sentences. Without it, a <h3> inside a section's heading line would pick up default margins, so the one existing rule in src/web/style/components.ts that zeroes heading margins in a .settings-block heading line now covers h3 too. The problem sentences use the existing prose-page so they don't pick up an indent. Rows in a list now have the normal thin line between them, which the card used to remove.
  • Test: test/audit.test.ts now checks that there is no class="card and no data-tone on the page, that each app is a section under its <h2>, and that an app without a contract is a row under "Unread". It fails on main today. The existing test that a stranger sees only public apps is unchanged and passes.
  • Docs: the /audit paragraph in docs/design/areas/lists.md now describes the new shape.

To check: bun test test/audit.test.ts test/audit-timing.test.ts test/tui-audit.test.ts. I also ran the design, style, capacity, accounts, probe and og-tags tests, bun scripts/design-lint.ts, bun scripts/gate.ts and bun x tsc --noEmit; all pass. Because of the stylesheet edit, scripts/fast.ts named 1,320 test files, so I picked these by hand and left the full suite to the forge's check. I didn't call keep_plan because that tool isn't available in this session.

🤖 Generated with Claude Code

Closes #9863

commented

/audit no longer draws any card. Each part of the page is now a plain <section class="settings-block"> with its <h2> and badges on one line above its rows; the class already exists, so nothing new was added. The section() helper in src/web/pages/audit.ts is replaced by part(), and no card( call is left in the file.

  • Headings: each app's heading is an <h2> now (it was an <h3>), and so is "Unread". "What changed" is a section with an <h2>, and its three parts (pulls at the wall, contract changes, doors over time) keep <h3>s under it.
  • Summary: the counts sentence at the top ("2 apps with a contract, …") is a lead <p> now, not an <h2>, so it doesn't sit at the same level as the app headings.
  • What stays the same: the policy table, the /audit#owner-name links, the "Knock now" form and the CSV. Apps without a contract are still listed as rows under "Unread".
  • Layout: the card used to clear the default heading margins and the indent on the problem sentences. Without it, a <h3> inside a section's heading line would pick up default margins, so the one existing rule in src/web/style/components.ts that zeroes heading margins in a .settings-block heading line now covers h3 too. The problem sentences use the existing prose-page so they don't pick up an indent. Rows in a list now have the normal thin line between them, which the card used to remove.
  • Test: test/audit.test.ts now checks that there is no class="card and no data-tone on the page, that each app is a section under its <h2>, and that an app without a contract is a row under "Unread". It fails on main today. The existing test that a stranger sees only public apps is unchanged and passes.
  • Docs: the /audit paragraph in docs/design/areas/lists.md now describes the new shape.

To check: bun test test/audit.test.ts test/audit-timing.test.ts test/tui-audit.test.ts. I also ran the design, style, capacity, accounts, probe and og-tags tests, bun scripts/design-lint.ts, bun scripts/gate.ts and bun x tsc --noEmit; all pass. Because of the stylesheet edit, scripts/fast.ts named 1,320 test files, so I picked these by hand and left the full suite to the forge's check. I didn't call keep_plan because that tool isn't available in this session.

🤖 Generated with Claude Code

commented

/audit no longer draws any card. Each part of the page is now a <section class="settings-block">, a class that already exists, with an <h2> and its badges on one line above its rows. The section() helper in src/web/pages/audit.ts is replaced by part(), and no card( call is left in the file.

  • Headings: each app's heading is an <h2> now (it was an <h3>), and so is "Unread". "What changed" is a section with an <h2>, and its three parts (pulls at the wall, contract changes, doors over time) keep <h3>s under it.
  • Summary: the counts sentence at the top ("2 apps with a contract, …") is a lead <p> now, not an <h2>, so it doesn't sit at the same level as the app headings.
  • What stays the same: the policy table, the /audit#owner-name links, the "Knock now" form and the CSV. Apps without a contract are still listed as rows under "Unread", and a stranger still sees only public apps.
  • Layout: without the card's styles, a heading inside a section's heading line would pick up the browser's default margins. The existing rule in src/web/style/components.ts that zeroes heading margins in a .settings-block heading line now covers h3 as well as h2. The problem sentences use the existing prose-page so they keep the page's own edge. Rows in a list now have the normal thin line between them, which the card used to remove.
  • Test: test/audit.test.ts now checks that there is no class="card and no data-tone on the page, that each app is a section under its <h2>, and that an app without a contract is a row under "Unread". It fails on main.
  • Docs: the /audit paragraph in docs/design/areas/lists.md now describes the new shape.

The audit tests (test/audit.test.ts, test/audit-timing.test.ts, test/tui-audit.test.ts) pass. Earlier I also ran the design, style, capacity, accounts, probe and og-tags tests, bun scripts/design-lint.ts, bun scripts/gate.ts and bun x tsc --noEmit, and all were clean. Because of the stylesheet edit, scripts/fast.ts named 1,320 test files, so I picked these by hand and left the full suite to the forge's check.

Try: open /audit on the preview. Each app, Unread and What changed is a heading over its rows, with no boxed card.

🤖 Generated with Claude Code

Approved

Approved. /audit serves 200 on the preview with no card class. Each part is a settings-block section under an h2, apps without a contract are Unread rows, and the existing rule is reused with no new class. The summary is now a plain lead p, so the page has one heading level for apps. The doc line is updated and the test fails on main. Two things I would do next: (1) assert the unsound section and the What changed h2/h3 nesting in the test, since only the notes, Unread and tone checks are pinned; (2) check the 360px look of the .bar heads when a badge and a commit sit beside a long owner/name, because the bar wraps but I only read the CSS.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs