diff --git a/ui/src/components/BridgeView.jsx b/ui/src/components/BridgeView.jsx index 3c5a89f..f18266d 100644 --- a/ui/src/components/BridgeView.jsx +++ b/ui/src/components/BridgeView.jsx @@ -129,9 +129,11 @@ export function buildSteps(rows, { if (isLoad) { loads.value += v; loads.units += u; loads.rows += 1; continue } const meta = logMeta[r.pf_logid] || {} - // label first, the same precedence pf_segment uses, so the bridge and the - // pivot call a step by the same name - const tag = (meta.label || meta.tag || '').trim() + // The tag alone. This used to be label first, to match pf_segment, but every + // adjustment now carries a label -- the version's adjustment segment, the + // same one for all of them -- so the walk collapsed into a single bar and + // no tag was ever shown. The label is the segment; the tag is the initiative. + const tag = (meta.tag || '').trim() // Untagged entries collapse into one step, the same as the ledger's // "N untagged adjustments" line in OperationPanel.jsx -- one bar per // untagged scale/recode would otherwise turn a routine cleanup pass into diff --git a/ui/src/components/OperationPanel.jsx b/ui/src/components/OperationPanel.jsx index b628888..c854cf6 100644 --- a/ui/src/components/OperationPanel.jsx +++ b/ui/src/components/OperationPanel.jsx @@ -582,7 +582,10 @@ function ScaleLedger({ currentTotals, scaleInputs, setScaleInputs, scalePlug, se baseline.push({ ...e, label: name || 'Baseline', kind: 'baseline' }) continue } - const tag = (meta.label || meta.tag || '').trim() + // The tag alone, not the label. Every adjustment is now stamped with a + // label -- the version's adjustment segment -- so label-first put all of + // them under that one name and no tag was ever reached. + const tag = (meta.tag || '').trim() if (tag) { // Grouped case-insensitively. "Keystone reduction" and "Keystone // Reduction" are one initiative typed twice, and splitting them here