BRO-012: one-click ticket codes — an F issue-key opens its ABC-123.{md,txt,mkd}; log-view commit summaries mint the same F token

The tokenizers already fuse an issue key (ABC-123) into ONE F-tagged token — MKDTonKey/MDTonKey (dog/tok/MKDT.c:41, MDT.c.rl) and FREEonKey (sticky through the D comment overlay, dog/tok/FREE.c.rl:71 rule uc ucnum* "-" dgt+ => on_key), asserted by MKDTIssueKeyTest/MDTIssueKeyTest (dog/test/TOK01.c:1227,1259"ABC-123" → "F"). The tag exists SO the pager can navigate it (MKDT.c:41 comment: "one filename-tagged token so the pager can navigate it (BRO-012)"), but no consumer resolves it: a left-click on an F cell is DEAD because BRO-005's _uriAt only follows a token's adjacent hidden U target (be/views/bro/pager.js:414), and an F issue key carries none. Goal: (1) a click on an F issue-key token OPENS the ticket file named for it — ABC-123.{md,txt,mkd} — located under $TODO_ROOT, a NEW env var naming the ticket tree ON PAR with SRC_ROOT (default: the root of the FIRST worktree opened, i.e. the launch tree — tickets live in ONE tree, e.g. journal/todo/, not in the code worktree being browsed); (2) the log: view detects ticket codes in commit summaries and mints the SAME F token, so those are clickable too. JS (jab) side. Method: Issues.

Input

Context

Goals

Constraints

WIP

Design decisions

TODOs

Blockers and bummers

Outcome