Split out of WORK-003 (gritzko, chat 2026-07-19): the ahbeh-buttons ruling was filed inside WORK-003's WIP but is a separate UI feature, not part of that ticket's post-dispatch defect. Evidence, be tip (///be):
ahbehSpans renders +N/-N as TEXT only (tags G/M), right-aligned to 7, render-clamped at 99.[get] mints get ///<relpath>, [diff] mints diff //KEY, [post] mints post '<ticket title>' (title via todo.pageTitle, work.js:333-339).G = green(32), M = bright red(91), W = green, E = yellow, Y = blue.[get] still renders; reference read-only.RULING (gritzko, chat 2026-07-19): the ahead/behind indicator IS the button row — bare get / bare post correspond 1:1 to the behind/ahead states.
[+N] mints bare post (advance the track); [-N] mints bare get (pull); each an O-invite in the ROW's ctx (//KEY); a zero side shows no button.[post] mints ONLY the commit, post '<ticket title>'; no title — no button.[get] button goes away entirely (slot and all); [diff] stays as is.[+3]/[-2]; render clamps at two digits, [+99] max (counts themselves stay unclamped).+ side salad green, - side salmon (NOT the current green-32/bright-red-91 — pick nearer 256-color shades in the THEME idiom).ahbehSpans): plain/repo rows keep TEXT +N/-N padded
to 7; a pager WT row (btns+ctx) renders [+N]/[-N] buttons padded to 11.[+N] mints bare post, [-N] bare get as //KEY/: verb O-invites; the
zero side shows nothing, two-digit clamp; [post] stays the titled commit.bro/pager/verbcolor pins it and
conflicts stay bright-red. Collateral: pager string-green softens to salad.[get]/text-ahbeh row; captured the new row[get]+SLOT_GET; BTNW=14, ahbeh col aligns (check.js diff/#hash)[+N]/[-N] fixed-width button, two-digit clamp+ (G→256) / salmon - (new 'A') THEME slots in view/bro.js[get] → now RED;
rework it to click [-N] when WORK-002/003/004 weave together.896ed3d8 (///be) + 2e5e51ac (//WORK-004/test sub), ahead 1;
NOT landed/merged. Files: views/work/work.js, view/bro.js, test/work/view/
{check.js, run.sh, clickpty.py}.