Roadmap now reflects reality: config done, db tests red awaiting
implementation (with the 'do not alter test intent' guard), and the
epsilon-parser branch open-but-empty pending the step-2 spec.
Guidelines adjusted so an agent can work a feature branch
unattended: fixtures are the explicit exception to the data/ commit
ban, and per-passing-test commits need no feedback on a branch —
main still does.
Cargo needs an installed, PATH-visible Rust; record how (rustup via
brew) and where build/test commands run (Application/). Python is a
fixture-regeneration aid only, not a product dependency.
data/fixtures/: committed sanitized copies of all three input formats
(see scripts/ and prior commit), safe for any repo consumer and the
expected substrate for parser tests. Documents the sanitization
choices: values with personal content are replaced, non-PII values
(amounts, GL codes, descriptions) kept verbatim, and subfranchise
cross-value arithmetic intentionally broken.
Move the untracked 'schema draft.sql' to Documentation/schema.sql: the
agreed v1 fuel-domain schema (files, customers, batches, cards,
transactions, invoices, invoice_items), design decisions recorded in the
header: NULL-able cleartext card PINs, slim ledger projection (10 of 16
source fields, the files table is the canonical archive), string customer
business key, unified DECIMAL SEK money, full invoice traceability,
cli.md status values.
cli.md: transaction read takes <date> <receipt> -- the register's
receipt counter repeats across days (9,990 distinct receipts in the
138k-row sample), the day+receipt pair is the ledger dedup key, verified
unique in all samples. File import step 5 clarified as an internal
consistency check, since source files carry no totals of their own.
Invoice business key corrected to invoice number.
readme.md: point the database bullet at Documentation/schema.sql.
- In development: the CLI command structure is specified in
Documentation/cli.md
- Config: daemon state and database backups default to ~/.config/rpn
(backups in its backups/ subdirectory), overridable in config