pf_app
The Result row re-parsed the ledger's own display strings, which fmtNum grouped with toLocaleString. parseFloat stops at the first separator, so "3,456,789" came back as 3 -- a plausible small number rather than an error, which is why it read as a formatting quirk instead of a wrong answer. A 3% change on sales_usd previewed as 3. It showed only where the new value was derived rather than typed: the field you type into keeps your raw text, so entering a target directly looked right while the % and Change rows did not. derive now returns the three figures as numbers alongside the strings, and outcome reads those. Nothing has to know how the display is grouped. The write was never affected -- buildPayload reads scaleInputs[*].raw, which LedgerInput has always kept comma-free -- so this was a wrong preview of a correct write. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| lib | ||
| public | ||
| routes | ||
| setup_sql | ||
| ui | ||
| .env.example | ||
| .gitignore | ||
| CLAUDE.md | ||
| install.sh | ||
| package-lock.json | ||
| package.json | ||
| PERSPECTIVE.md | ||
| pf_perspective_options.md | ||
| pf_spec.md | ||
| pf.sh | ||
| server.js | ||