pf_app
Go to file
Paul Trowbridge c5993d5f88 Bridge selection: apply the pivot's scope, drop bucket from the filter
Two corrections to the previous commit, both found from a real example:
a slice with pending_rep + pf_bucket, and a pivot scoped to sseas_e <= 2027.

The ledger and Bridge's ending point disagreed by a constant 1,495,062
across every step -- exactly the rows sseas_e <= 2027 excludes. Bridge's
"Selection" scope built filters from the slice alone and never picked up
the pivot's own view-level filter (what CLAUDE.md calls scope), the same
gap totalsFor in Forecast.jsx was written to close for the ledger. It's
now read off viewerRef.current.save() and applied alongside every
per-slice view.

Including pf_bucket in the per-slice filter (previous commit) was wrong
for Bridge specifically, unlike for the ledger: it fetched only the one
bucket the slice landed on, so "Compare to" had no other bucket's rows
left to compare against and always collapsed to one option. Which
bucket the walk starts and ends on is buildSteps's job, from
forecastBucket -- not something to pre-filter out of the fetch.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-22 22:50:09 -04:00
lib Isolate a slice on a blank dimension value instead of widening it 2026-09-22 12:21:06 -04:00
public Add UX mockup and update spec with navigation direction 2026-04-25 14:56:29 -04:00
routes Steer /agg off the sort-based GroupAggregate plan 2026-09-22 22:32:24 -04:00
setup_sql Land on the forecast somebody chose, not the newest one 2026-09-22 08:34:46 -04:00
ui Bridge selection: apply the pivot's scope, drop bucket from the filter 2026-09-22 22:50:09 -04:00
.env.example Put the app behind a login 2026-09-14 22:20:25 -04:00
.gitignore Refresh lockfiles and keep .env backups out of the tree 2026-09-16 17:45:58 -04:00
CLAUDE.md Say which change-log entries are yours 2026-09-22 14:30:03 -04:00
install.sh Put the app behind a login 2026-09-14 22:20:25 -04:00
package-lock.json Refresh lockfiles and keep .env backups out of the tree 2026-09-16 17:45:58 -04:00
package.json Put the app behind a login 2026-09-14 22:20:25 -04:00
PERSPECTIVE.md Filter aggregates with the rest of the layout 2026-09-19 14:43:00 -04:00
pf_perspective_options.md Record DuckDB virtual-server spike findings; choose display-grain pre-aggregation 2026-08-17 21:47:55 -04:00
pf_spec.md Merge feature/static-grain: display-grain pre-aggregation 2026-09-16 18:08:20 -04:00
pf.sh Fix the territory commands' success message and menu order 2026-09-18 11:47:02 -04:00
server.js Clone a version's definition without running it 2026-09-21 10:23:35 -04:00