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

The roadmap's linked rows carry nav, so j/k move through them and enter opens one #10667

Merged opened this

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

Merged

The roadmap's needs-rows and issue-rows now carry `nav: true`, so `j`/`k` move through them and enter opens one. `pillarRow()` is unchanged because it's a fold with no link.

shipped production is serving it deploy 2937aef

opened this

The roadmap's needs-rows and issue-rows now carry nav: true, so j/k move through them and enter opens one. pillarRow() is unchanged because it's a fold with no link.

  • Change: nav: true added to the row({...}) in needs() and in issueRow(), both in src/web/pages/roadmap.ts.
  • Test: test/keys-roadmap.test.ts renders roadmapBody directly with plain data, with no server or database. It counts five data-nav rows for two needs-rows plus three issue-rows. It checks the pillar row has none, and that the empty page has none. With the source change stashed, one of the two tests fails; with it, both pass.
  • Checks: bun test test/keys-roadmap.test.ts, bun scripts/design-lint.ts and bun x tsc --noEmit pass. I did not run bun scripts/gate.ts or scripts/fast.ts.
  • Push: the pre-push hook refused the first push because no commit said how to try the change. I added an empty Try: commit, and the second push went through.

To try it: open /roadmap, press j/k to move through the rows, and press enter to open one.

If the forge check goes red on a test outside these two files, that is the lane's red, not this change.

🤖 Generated with Claude Code

Closes #10533

commented

The roadmap's needs-rows and issue-rows now carry nav: true, so j/k move through them and enter opens one. pillarRow() is unchanged because it's a fold with no link.

  • Change: nav: true added to the row({...}) in needs() and in issueRow(), both in src/web/pages/roadmap.ts.
  • Test: test/keys-roadmap.test.ts renders roadmapBody directly with plain data, with no server or database. It counts five data-nav rows for two needs-rows plus three issue-rows. It checks the pillar row has none, and that the empty page has none. With the source change stashed, one of the two tests fails; with it, both pass.
  • Checks: bun test test/keys-roadmap.test.ts, bun scripts/design-lint.ts and bun x tsc --noEmit pass. I did not run bun scripts/gate.ts or scripts/fast.ts.
  • Push: the pre-push hook refused the first push because no commit said how to try the change. I added an empty Try: commit, and the second push went through.

To try it: open /roadmap, press j/k to move through the rows, and press enter to open one.

If the forge check goes red on a test outside these two files, that is the lane's red, not this change.

🤖 Generated with Claude Code

Approved

Two one-line additions of nav:true on the linked rows (needs() and issueRow()), none on pillarRow(); the test renders roadmapBody with plain data and counts 5 data-nav, with the empty page at 0. Small, single-purpose, no new dependency, no README change, nothing outside the direction. No design-principle breaks: no new markup, tokens or accent. Anchor/button semantics unchanged and rows work without JavaScript. Limits: the preview serves the app, not the forge repository, so /roadmap is not reachable there and I judged from source and the test. The checkout is at the base so I could not rerun the test. Two things next: (1) tighten the pillar assertion, since split("<li")[0] only looks at the opening tag chunk, so assert the pillar fold markup itself carries no data-nav; (2) add a roadmap-keys line to the shell keys help/docs/features/roadmap.md so people can find j/k and enter there.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs