todo view verb — browse the ticket board from the pagerThe /meta/todo board is a tree of StrictMark pages (todo/README.mkd → todo/TOPIC/README.mkd → todo/TOPIC/TOPIC-123.mkd) readable today only outside the pager. Wanted: a read-only todo verb so :todo lists open tickets, :todo GET scopes to one topic, :todo GET-022 renders one ticket — ticket titles, ticket ids and wiki links all click-targets. Per Nav the pager stays arg-blind; the verb routes its arg by SHAPE (bare / TOPIC / TOPIC-123), not by path resolution. Requested by gritzko 2026-07-09.
~/src/journal): board todo/README.mkd, topic todo/TOPIC/README.mkd, thin todo/TOPIC/TOPIC-123.mkd, fat todo/TOPIC/TOPIC-123/README.mkd (/meta/todo); titles are greppable one-liners (grep '^# ' todo/*/*.mkd).verb args spells (O) per Nav; the pager's follow/click resolver dispatches them (BRO-016).be.todo_root machinery that was never built (BRO-023); the hive ruling (BE-031) puts wt cells under <meta>/work/, so the meta root (and its todo/) is discoverable from any cell.:todo (pager) / be todo (CLI) renders the open-ticket board: topics with their one-liner ticket entries, each ticket title a click-target that opens todo TOPIC-123.todo TOPIC renders that topic's open-ticket list; todo TOPIC-123 renders the ticket page itself (thin or fat layout, fat = its README.mkd).[A-Z]+-[0-9]+ shape) and page links (reflinks like [Nav], relative .mkd paths) become click-targets: ticket ids re-enter todo, wiki/meta pages open as file views.TOPIC → topic, TOPIC-123 → one ticket; a miss errors ONE uniform line (BE-003 spirit, e.g. todo: GET-999: TODONONE).<meta>/todo) or configured; tests drive a FIXTURE todo tree, never the live journal.work/BE-038): root discovery = be.todoRoot(), probe order $TODO_ROOT (test override) → current wt → launch wt → hive meta root, first dir owning todo/; nothing hardcoded.^\s*-\s+\[?KEY\b); footer refdefs and mid-bullet mentions don't count; todo TOPIC-123 renders regardless; README-less topics fall back to all-files + a visible note..mkd targets splice a U cat <meta-root-relative-path> spell — works when the pager's context tree IS the meta root; cross-tree authority stays a punted ruling. Ticket-file targets splice todo <KEY>.todo KEY / todo TOPIC); page bodies tokenize via the mkd grammar, key-shaped F/G tokens get the U spliced after.test/todo/view/, red-first, suite baseline 162/2 known reds + be-js-todo-view green).todo verb module: arg shape routing (bare/TOPIC/TOPIC-123), page load, hunk emit (views/todo/todo.js).openSet/openTickets, fallback note row); wiki/meta .mkd reflinks clickable (refdefs/targetSpell, NAVESCAPE-confined resolve); fixture legs for both (hidden-closed, README-less topic, wiki U pair). Suite 163/161, same 2 pre-existing reds.todo KEY/TOPIC spells; body ticket keys (F + reflink G) → todo KEY; non-ticket .mkd targets → cat <meta-root-rel>; TLV U pairs asserted.jab todo paints the open-only board, mouse-click on the ABC-005 row navigates to the rendered ticket page (todo ABC-005 in the address bar), q quits clean; :todo typed inside a jab ls view re-enters the board. CLI piped output sane for board/topic/page/miss.mis and be put refuses with PUTNONE — changes sit UNSTAGED in work/BE-038. Deserves its own ticket (GET-041/BE-036 kin, pending gritzko's say-so).todo: X: TODONONE + the loop's JS exception: TODONONE trailer — the known BE-003 class, left alone.work/BE-038, UNSTAGED/uncommitted: views/todo/todo.js + test/todo/view/{run.sh,check.js}; staging blocked by the cell's broken put/status; pending gritzko's review, the two rulings above, and land)