From ad02aba8fb55210e10eff9c5569806bcbc53a99d Mon Sep 17 00:00:00 2001 From: Paul Trowbridge Date: Wed, 16 Sep 2026 23:26:32 -0400 Subject: [PATCH] Keep segment loads out of the forecast change log Baseline and reference loads are segment construction, not forecasting. Listing them beside the adjustments buries what the log is actually for -- on version 29 that is four load entries against however many adjustments -- and offers an undo next to them that would silently gut the version. They are managed in the Baseline view instead, which is where they can be edited in place and their date ranges seen. Filtered in the dialog rather than in the route, since Baseline.jsx and the ledger's tag lookup both read the same endpoint and do want every entry. Co-Authored-By: Claude Opus 5 (1M context) --- ui/src/views/Forecast.jsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ui/src/views/Forecast.jsx b/ui/src/views/Forecast.jsx index 7812274..dac84e3 100644 --- a/ui/src/views/Forecast.jsx +++ b/ui/src/views/Forecast.jsx @@ -1163,7 +1163,11 @@ export default function Forecast({ sources = [], sourceId, versions = [], versio setLogLoading(true) try { const data = await fetch(`/api/versions/${versionId}/log`).then(r => r.json()) - setLogEntries(data) + // Baseline and reference loads are segment construction, not forecasting. + // They are managed in the Baseline view, where they can be edited in place + // and their date ranges seen; listing them here only buries the adjustments + // this log is for -- and offers an undo that would silently gut the version. + setLogEntries(data.filter(e => !['baseline', 'reference'].includes(e.operation))) } catch (err) { flash(err.message, 'error') } finally {