be and the piped path)
jab status colours the status verb token (mod yellow, unk grey, adv blue, …) on the DIRECT path but NOT through the interactive pager, so on a real terminal the tokens come out uncoloured — diverging from native be status and from jab status --color | cat. Routing: jab status piped/--color → view/bro.js renderHunkLog→tableHunk, which paints via the C THEME .color() sink (view/bro.js:565,571) — verified byte-identical to be (\e[33mmod\e[39m, \e[34madv\e[39m). But on a TTY, JAB-030 (core/loop.js:24-25) routes the hunk stream through the bro PAGER (views/bro/pager.js), a separate JS renderer (cellSGR over view/theme.js) that colours the date band but does not paint the per-row verb token. Net: the interactive pager is the one path that drops the verb colour. Surfaced during DIS-057's status-colour review (the new colours were invisible interactively) but pre-existing and independent of DIS-057 — the DIS-057 colour mapping itself is correct on the direct path. Scope: be/ JS pager. See Bro; method Issues.
jab status --color | cat -v → \e[33mmod\e[39m/\e[34madv\e[39m, matching be status --color (the C THEME .color() sink in view/bro.js tableHunk).core/loop.js:24-25) opens the bro pager (views/bro/pager.js, hunksFromLog) on a tty instead of renderHunkLog; the pager paints the date band (cyan) but renders the verb token plain.core/loop.js:259 sets mode=color on a tty (or --color); the loss is purely in the pager's per-cell rendering, not the gate.<date> <verb3> <path>, views/status/status.js) and the THEME has every slot (view/theme.js VERB_SLOT); the pager just doesn't apply verbSlot to the verb cell.be (C) colours the token in BOTH its piped and pager paths — the reference.VERB_SLOT/cellSGR colour, matching renderHunkLog and native be status (mod yellow, unk grey, adv blue, pat bold, rmv brown, cnf red, …).--color path (already correct) or to diff/log/grep hunk rendering in the pager.be/ JS only (views/bro/pager.js, view/bro.js/view/theme.js); ABC/JS house style.renderHunkLog's for the same status hunk (the verb cell must carry the same SGR), rather than relying on an interactive tty.verbSlot-driven SGR to the verb cell inside the pager's row renderer (views/bro/pager.js cellSGR path), reusing the same THEME slot table renderHunkLog/tableHunk use — single source, no second colour map..color() cell painter the direct path uses, if feasible, so the two paths can't drift again.test/bro/pager/run.sh extended in the landing commit) — landed a21e630d.view/bro.js THEME (cellAnsi → deltaSGR) — the same source as the direct renderHunkLog/C .color() path, so the two can't drift; the legacy cellSGR/THEME16 table (which had no status-verb slots) is retired from the pager (views/bro/pager.js:103-110 comment cites BRO-010) — landed a21e630d.test/bro/{pager,status,color,…}) intact in the landing session.be self-locator) can make jab load stale main-tree scripts in a non-be-named worktree — when testing this fix, ensure jab resolves the LOCAL worktree (e.g. be -> .), else you may be exercising old code.a21e630d ("BRO-010: pager themes and colors", 2026-06-29): the pager paints per-cell through the shared view/bro.js THEME — status verb tokens carry their VERB_SLOT SGR on the TTY path, matching renderHunkLog and native be.