commit: must inline the full diff (tree vs parent) hunks, like C COMMIT-002The C commit: view inlines the commit's full diff as relayed graf hunks after the metadata (COMMIT-002, landed df596d0f). The JS commit: (be/views/commit/commit.js) emits ONLY the metadata hunk (commit/tree/parent/author/body) — no diff. So jab commit:?<sha> shows who/when/why but not WHAT changed. Port COMMIT-002's diff-relay to the JS view. Method: Issues.
df596d0f) — commit: inlines the full diff as relayed graf
hunks (keeper/graf), superseding COMMIT-001's diff:?<sha> link.be/views/commit/commit.js: emits the metadata hunk only (the recent
COMMIT-003/004/005 + the BRO-006 tree/parent U-links work). No diff hunks.diff: VIEW is inert (ctx.views unset, JS-071); but the diff
GENERATION (graf weave/diff binding, used by be/views/diff/diff.js) may work
independently of the dead view-routing — the producer can call it directly.jab commit:?<sha> inlines the FULL diff of the commit's
tree vs its parent's tree, as relayed hunks — matching C be commit:.--first-parent).
Root (0 parents): diff vs the empty tree (all-added) or skip.be/views/diff/diff.js's hunk generation / the
graf binding); do NOT depend on the inert diff VIEW routing (JS-071). PRESERVE
COMMIT-003/004/005 + the BRO-006 tree/parent U-links (uncommitted in commit.js).be commit: where feasible. Repro-first (CLAUDE §17).commit.tree vs parent[0].tree
(the FIRST parent) — merges included (git --first-parent; consistent with
beagle's first-parent log spine, LOG-001). No merge special-case, no skip.../diff/diff.js) with a PINNED views
spec {mode:range, fromSha:parent[0], toSha:sha} — bypasses dead ctx.views.jab commit:?<sha> 1-parent shows NO diff (RED, verified);
after, the diff hunks follow the metadata (asserts vs native be commit:).--first-parent style
— uniform with the non-merge path. JS-071 (dead diff view): call the diff
generator directly, not via ctx.views.aef4caef (commit.js) + be/test 6a8c8b3c (links+diff tests). Fix:
be/views/commit/commit.js — require ../diff/diff.js (l.39); gate +
diffPlainText/diffFeedRecords/diffSpecRow helpers (inline = parents.length>=1 ? parents[0],
PLAIN folds diff text into the 1 record, COLOR/TLV feed diff records after.be/test/commit/diff/run.sh (CONFIGURE_DEPENDS, no CMakeLists edit)
— 1-parent inline+native-parity, root SKIP, real 2-parent merge first-parent
diff vs native. RED-verified (no '+++' pre-fix). be-js-commit-diff GREEN.hunks.length==1→>=1 (FORCED one-line relax:
native commit: --tlv now = 2 hunks; U-target logic on hunks[0] unchanged).
Color = best-effort (be --color pages via bro, not a producer oracle).