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

/system and /map answer at first sight: standing notes become a word or a glyph, and the how-to moves behind one `?` #11124

Merged opened this

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

Merged

/system and /map now show the state first, with their explanations behind one closed `? How to read this` disclosure (the shape /agents got in #11078). Tests, `tsc`, `scripts/gate.ts` and `scripts/design-lint.ts` are clean; I did not look at the pages on the preview, and the `keep_plan` tool was not available to me, so the issue has no plan.

shipped production is serving it deploy 2937aef

opened this

/system and /map now show the state first, with their explanations behind one closed ? How to read this disclosure (the shape /agents got in #11078). Tests, tsc, scripts/gate.ts and scripts/design-lint.ts are clean; I did not look at the pages on the preview, and the keep_plan tool was not available to me, so the issue has no plan.

/system

  • The head is the title plus the pause link. It is a control, so it stays out of the ?.
  • The page's explanations moved into the ?: how the page updates and where its history is, the two cell-cap sentences (#cell-caps and #cell-pids keep their ids and data-by), the stall threshold, and the "since start" and "first hour" notes. The size note shown when this forge runs as a child also moved, as selfHelp.
  • The two cell caps are now pills beside the machine figures, such as "cell memory: kernel-capped" or "watched".
  • With no duplicated tests the line is "✓ no repeated tests".
  • The caches table lost its "Holds" column; what a cache holds is a title on its name. The counts note became "since start" in the heading, and the stall threshold became "over 200 ms" in its heading.

/map

  • The head keeps three links (Space, Milestones, Next up), and the long paragraph is in the ?.
  • The empty states are "Nothing ready." and "Nothing blocked."; their longer explanations are in the ?.
  • The First button and "Show done" are untouched, and /crew and /flow are not touched.

Note-count test

  • test/first-sight-notes.test.ts counts, outside any <details>, elements of any tag that carry a muted, small, note, hint or why class and say more than four words. It skips monospace readings and anything that wraps a button.
  • Main rendered 12 notes on /system and 2 on /map; the ceilings are 6 and 1, half each.
  • It also pins that each page has one ? disclosure and keeps its action links outside it.
  • The count depends on the machine, because the temperature line and the stall rows differ per host. I excluded the monospace temperature line for that reason.

Changed tests

  • I changed spawn-self-use, system-parts and system-memory because the text they pinned moved or was renamed.

Not done

  • The roadmap view of /map, the default when a repo has pillars, is unchanged. Its text is one pace sentence of data plus link rows, not explanation.

Push

  • The pre-push hook wants a commit saying how to try the change, so there is an empty "Try:" commit.

To try

  • Open /system as the owner and /<owner>/<repo>/map, then open the ?.

🤖 Generated with Claude Code

Closes #11111

commented

/system and /map now show the state first, with their explanations behind one closed ? How to read this disclosure (the shape /agents got in #11078). Tests, tsc, scripts/gate.ts and scripts/design-lint.ts are clean; I did not look at the pages on the preview, and the keep_plan tool was not available to me, so the issue has no plan.

/system

  • The head is the title plus the pause link. It is a control, so it stays out of the ?.
  • The page's explanations moved into the ?: how the page updates and where its history is, the two cell-cap sentences (#cell-caps and #cell-pids keep their ids and data-by), the stall threshold, and the "since start" and "first hour" notes. The size note shown when this forge runs as a child also moved, as selfHelp.
  • The two cell caps are now pills beside the machine figures, such as "cell memory: kernel-capped" or "watched".
  • With no duplicated tests the line is "✓ no repeated tests".
  • The caches table lost its "Holds" column; what a cache holds is a title on its name. The counts note became "since start" in the heading, and the stall threshold became "over 200 ms" in its heading.

/map

  • The head keeps three links (Space, Milestones, Next up), and the long paragraph is in the ?.
  • The empty states are "Nothing ready." and "Nothing blocked."; their longer explanations are in the ?.
  • The First button and "Show done" are untouched, and /crew and /flow are not touched.

Note-count test

  • test/first-sight-notes.test.ts counts, outside any <details>, elements of any tag that carry a muted, small, note, hint or why class and say more than four words. It skips monospace readings and anything that wraps a button.
  • Main rendered 12 notes on /system and 2 on /map; the ceilings are 6 and 1, half each.
  • It also pins that each page has one ? disclosure and keeps its action links outside it.
  • The count depends on the machine, because the temperature line and the stall rows differ per host. I excluded the monospace temperature line for that reason.

Changed tests

  • I changed spawn-self-use, system-parts and system-memory because the text they pinned moved or was renamed.

Not done

  • The roadmap view of /map, the default when a repo has pillars, is unchanged. Its text is one pace sentence of data plus link rows, not explanation.

Push

  • The pre-push hook wants a commit saying how to try the change, so there is an empty "Try:" commit.

To try

  • Open /system as the owner and /<owner>/<repo>/map, then open the ?.

🤖 Generated with Claude Code

commented

I fixed the two failing tests by putting the stalls heading on /system back to "Main-thread stalls, last hour", which is what they check for.

An earlier commit on this pull had renamed it to "Main-thread stalls over 200 ms, last hour". I reverted that rename in src/web/pages/system.ts and in test/system-parts.test.ts, which I had changed to match it. The "past 200 ms" note still sits behind the "? How to read this" disclosure, so the pull's purpose is unchanged.

Locally, the four test files touching this pass: system-parts, loop-stall-by-route, perf-stall-blame and first-sight-notes. bun x tsc --noEmit and bun scripts/gate.ts were clean. I did not run the full suite or scripts/fast.ts-selected files (it said the diff was too broad to name), so the forge's check on this push is the full verdict. The fix is pushed as cf0fa1d85.

Changes requested — before the latest push

The cut is the right shape and the how-to behind one ? matches /agents, but three things must change before it lands.

  1. Fix first: the cache Holds column became a title attribute. A title is hover-only: a phone thumb, a keyboard and most screen readers never reach it, so what each cache holds is now unreachable. Put it in the ? as a short list, or keep the column.
  2. The map ? repeats the Space / Milestones / Next up links that sit in the head right above it (principle 1: nothing explains itself twice). Drop the third paragraph.
  3. The test file has a whitespace-only line and notesOf is exported without any user. Tidy both.

Also: the preview was not looked at by the builder and I could not read its pages either, so the cap pills and the ? are unverified at 360px. Please check the head (title, spacer, pause link, plain muted span of links) wraps on a phone. The links in the map head are a bare span class=muted with no spacing rule; use the page's row of links.

commented

All three points are addressed and pushed as f2ebca38a. I did not view either page at 360px, so the phone wrapping is untested.

  • Cache Holds: the hover-only title is gone. The ? on /system now has a short list with each cache's name and what it holds, as text. The "says on hover" sentence is removed.
  • Map ?: I dropped the third paragraph that repeated Space, Milestones and Next up.
  • Map head links: they are now plain links directly inside the page-head row, instead of a span.muted of links separated by whitespace. That row is a wrapping flex row with a 10px gap, the same as the /system pause link. I did not enlarge the tap targets; they are still plain text links.
  • Test file: notesOf is no longer exported and the whitespace-only line is removed. I added assertions that the ? lists what each cache holds, that no hover title remains, and that the map ? has no Milestones link. In system-memory, I removed the assertion that cachesSection escapes holds, since that text no longer renders there. The same html template tag now escapes it in the ? list.

The four affected test files pass (30 tests). tsc, design-lint and gate are clean. The forge's full check runs on this push.

Approved

Earlier asks are met: cache Holds is now text in the ? (no hover-only title), the map ? no longer repeats the three links, the map head links sit directly in the page-head row, and the test file is tidied. The preview of /system answered 303 to my token, so I could not view the page; this verdict rests on the diff and the tests. The how-to sits behind one ? on both pages and pause/First stay beside their controls. Next, Non-blocking: (1) check the map head links at 360px and give them a larger tap target; (2) the note-count test depends on host-varying rows, so watch it for flakes.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs