An audit against the code found every doc had drifted. pf_spec.md mostly
described behaviour the app no longer has and missed auth, territory,
layouts, load plans, segment naming and scope entirely; CLAUDE.md had
grown to carry the history as well as the rules, and loads into every
session.
- CLAUDE.md: rules, invariants and single-definition pointers only, with
stale claims corrected (project layout, routes, schema, the pf_ slice
columns, the price/volume and footing rules, known issues, deferred).
Each section that lost its reasoning links to the spec.
- docs/pf_spec.md: rewritten as the current design doc under twelve fixed
headings, holding the history and rationale moved out of CLAUDE.md, the
code issues found on the way, and a proposed (not built) design for
additional measures -- cost, rebates, surcharges -- as rates on a driver.
- docs/PERSPECTIVE.md: cut to the cross-app lessons that still hold; the
fork and its rebuild are in ui/vendor/README.md.
- docs/pf_perspective_options.md: marked as a dated decision record.
- ui/vendor/README.md: depth is sent floored at 1, not d + 1; rebuild steps.
- ui/README.md: removed (Vite template boilerplate).
- Two stale code comments (server.js, Forecast.jsx).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>