summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
13 hourspayroll: design chapterAnders Betts
13 hoursdocs: prune STATE into a decision archive; record the branch ruleAnders Betts
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
13 hoursbuild: run gate in its own build directoryAnders Betts
23 hoursdeploy: cross-compile static aarch64 for the Alpine imagev0.1.54Anders Betts
23 hoursbuild: gate builds the clients too, not just the testsAnders Betts
23 hourstui: bank prefill vouchers and auto-match after postingAnders Betts
23 hoursdocs: render enum args as type(values) in the generated catalogueAnders Betts
23 hoursdocs: generate the command catalogue from the command tablesAnders Betts
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
23 hoursbokftui-bw: fall back to the checkout in the current directoryAnders Betts
23 hoursbokftui-bw: default to the checkout's build/bokftuiAnders Betts
24 hoursbuild: make gate with WERROR and a pre-push hookAnders Betts
24 hourssru: bound the org-nr copy so -Werror builds are cleanAnders Betts
24 hourscommands: shared DB-error helpersAnders Betts
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
24 hourstui: split bokftui into screen filesAnders Betts
24 hourstests: named test_core sections with --onlyAnders Betts
26 hourscommands: split the command table by domainAnders Betts
26 hourstui: bankgiro and our ref belong to Företagsuppgifterv0.1.53Anders Betts
29 hourstui: set the next invoice number from the listv0.1.52Anders Betts
30 hoursdocs: invoicing waves 1-3 completev0.1.51Anders Betts
30 hourstui: fakturering with invoice form, preview and sendAnders Betts
30 hoursdocs: document the invoice_our_ref settingAnders Betts
30 hourssettings: allow invoice_our_refAnders Betts
30 hoursdeploy: pass BOKFD_SECRET_KEY through compose; document waves 1-2Anders Betts
30 hoursinvoice: send the issued PDF over SMTPAnders Betts
30 hoursbuild: wire the SMTP client into the test suiteAnders Betts
30 hourssmtp: send messages with a PDF attachmentAnders Betts
30 hourssecret: build it as its own unitAnders Betts
30 hourssettings: encrypted secrets and SMTP settingsAnders Betts
30 hoursinvoice: skip the Swish QRv0.1.50Anders Betts
30 hoursinvoice: allow setting the bankgiro, document wave 1Anders Betts
30 hoursinvoice: customer, sequence, preview and issue commandsAnders Betts
31 hoursbuild: wire the invoice renderer into the test suiteAnders Betts
31 hoursinvoice: render the document as PDFAnders Betts
31 hoursdb: schema v9 for invoicing, vouchers source rebuildAnders Betts
31 hoursinvoice: extract the Comfortaa wordmark as vector pathsAnders Betts
31 hourspdf: minimal PDF writer for generated documentsAnders Betts
31 hoursinvoicing: keep customers in Register per the menu ruleAnders Betts
31 hoursinvoicing: design chapter with layout, numbering and SMTPAnders Betts
33 hoursdocs: bank reconciliation phase 1v0.1.49Anders Betts
33 hourstests: bank reconciliation pty scenarioAnders Betts
33 hourstui: bank reconciliation screenAnders Betts
33 hoursbank: import SEB CSV and match against vouchers (schema v8)Anders Betts
35 hoursdb: make attachments append-only (schema v7)Anders Betts
35 hourstui: pinned report headers, voucher detail headers, clamped pagingv0.1.48Anders Betts
36 hourstui: align list rows beyond nine itemsv0.1.47Anders Betts
36 hoursdocs: mark the moms rule editor and pre-migration snapshot donev0.1.46Anders Betts
36 hourstests: momsregler pty scenarioAnders Betts
36 hourstui: momsregler screen for the vat report rulesAnders Betts
36 hoursreport: per-org moms rule editor commandsAnders Betts
36 hoursdb: snapshot the database before forward migrationsAnders Betts
When db_open finds an older schema version, write a consistent VACUUM INTO copy to <backup_dir>/pre-migration-v<old>-<UTC>.db before the first migration statement. A taken name gets a numeric suffix; if the snapshot fails, the open and the migration abort.