Commit graph

  • e5c188e2d8 state: close #314 — audit.yml scheduler was never broken main le king fu 2026-08-15 12:42:38 -0400
  • d6be676b22 state: sync after #321/#322 merge (advisories resolved, QA checklist landed) le king fu 2026-08-15 12:15:54 -0400
  • 97d376b83c docs(qa): fix the Linux state sequence the checklist had backwards le king fu 2026-08-15 11:51:21 -0400
  • f6418f79cd docs(release): add a real update-cycle QA checklist to step 9 le king fu 2026-07-27 21:34:11 -0400
  • 2d4caecae8 fix(deps): resolve the quick-xml advisories, unyank deep-link and spin le king fu 2026-07-27 21:30:58 -0400
  • 89149d06a9 state: sync after import CSV chantier (#323-#332 merged, migration v17) le king fu 2026-08-14 12:15:35 -0400
  • 37b832e084 fix(import): stop a generic bank signature from claiming, and misreading, a richer file le king fu 2026-08-14 12:03:07 -0400
  • ef7de3cf9b fix(import): veto a labelled description column that behaves like an enum le king fu 2026-08-14 12:02:59 -0400
  • 484c4beb47 fix(import): fail a row whose amount cell is unreadable beside a 0,00 sibling le king fu 2026-08-14 12:02:52 -0400
  • e2b8eb8b22 docs: architecture, ADR 0019, user guide and changelog for the import format le king fu 2026-08-14 11:13:25 -0400
  • f377d760af fix(export): preserve import sources and templates across data export/import le king fu 2026-08-14 10:58:52 -0400
  • c9872fc36b feat(import): recognise known bank layouts and report format drift le king fu 2026-08-13 14:54:46 -0400
  • ce19efd476 feat(import): make the preview mandatory and show what the amounts mean le king fu 2026-08-13 14:31:49 -0400
  • bf608b9d67 feat(import): score the detected format and run detection on its own le king fu 2026-08-13 14:15:23 -0400
  • 6f64fc5c1a feat(import): detect transaction columns by header label le king fu 2026-08-13 13:58:02 -0400
  • 7b6f063094 fix(import): read amounts with an anchored parser and a real debit/credit rule le king fu 2026-08-13 13:37:06 -0400
  • 7a604e0e0d fix(import): persist the import format and restore it faithfully le king fu 2026-08-13 13:16:52 -0400
  • bd1085c148 schema: add migration v17 carrying the full import format on import_sources le king fu 2026-08-13 12:56:28 -0400
  • c88ebd862e test: freeze CSV detection and amount parsing behaviour on a fixture corpus le king fu 2026-08-13 12:33:45 -0400
  • b30c9fa5c1 docs(spec): add import CSV format spec (decisions + reviewed plan) le king fu 2026-08-13 12:17:04 -0400
  • 81804bb94c state: sync after #310 + #311 merge (deps advisories cleared) le king fu 2026-07-27 20:41:01 -0400
  • a14258b147 fix(deps): update postcss to 8.5.23, accept the react-router advisory le king fu 2026-07-27 19:56:19 -0400
  • e3dc794a09 ci: make the suppression guard log every check, not just failures le king fu 2026-07-27 20:00:09 -0400
  • f4b09b028e fix(deps): clear 6 reachable RustSec advisories, accept 3 unreachable ones le king fu 2026-07-27 19:45:15 -0400
  • 78e8be3f1a state: sync after #232 merge (CI split + caches removed) le king fu 2026-07-27 18:55:19 -0400
  • 7779f7dc52 ci: ignore .claude/ in the frontend filter, drop stale check.yml ref le king fu 2026-07-24 21:02:12 -0400
  • 263ebe1495 ci: split check.yml, drop dead caches, prebuild cargo-audit (#232) le king fu 2026-07-24 20:26:35 -0400
  • edb0689b69 state: sync after feature-gating milestone (#297-#302 shipped) le king fu 2026-07-21 20:26:14 -0400
  • 6de96174de fix(i18n): FR typo in docs.editions tier descriptions (#302) le king fu 2026-07-21 20:20:11 -0400
  • 01da65c215 docs(gating): ADR 0017 + architecture + user guide + CHANGELOG le king fu 2026-07-20 22:48:55 -0400
  • 17833cf942 feat(gating): auto-update Base+, features[] override fail-closed, dev-override (Rust) le king fu 2026-07-20 22:35:16 -0400
  • b89074e6c6 feat(gating): multi-profile gate (Base+), non-destructive le king fu 2026-07-20 22:24:23 -0400
  • 553da0ce8c feat(gating): gate routes and Sidebar for budget, advanced reports, balance le king fu 2026-07-20 22:12:51 -0400
  • 554373e7d8 feat(gating): UI guard — RequireFeature + UpsellGate + i18n le king fu 2026-07-20 22:05:04 -0400
  • b9e13b5bca fix(gating): keep key-validation errors out of the load lifecycle (#297) le king fu 2026-07-20 21:21:18 -0400
  • fd7e053239 feat(gating): license provider + entitlements matrix + useEntitlement (#297) le king fu 2026-07-19 21:05:10 -0400
  • 0b408a8014 state: feature-gating milestone re-homed to planned-2026-07-19 (ready for autopilot) le king fu 2026-07-19 20:44:34 -0400
  • 4f39fa3434 spec(gating): adjustments -> Base tier + STATE review sync le king fu 2026-07-19 17:44:22 -0400
  • a100ee287b docs(spec): apply /review-spec corrections to feature-gating plan (2 critical + 6 improvements) le king fu 2026-07-19 17:38:42 -0400
  • 99ba147906 docs(spec): feature-gating decisions + plan + milestone spec-feature-gating (#297-#302) le king fu 2026-07-19 17:20:50 -0400
  • 195a73596e state: sync after #259 merge (rebase into main) le king fu 2026-07-19 15:44:56 -0400
  • 2314a64213 feat(categories): merge custom categories into the standard taxonomy (#259) le king fu 2026-07-18 18:06:23 -0400
  • 2a4658bad9 state: close #260 (report-uniformity epic ratified) + #259 in PR #296 le king fu 2026-07-18 18:16:55 -0400
  • 60d7f8ca49 feat(categories): merge custom categories into the standard taxonomy (#259) le king fu 2026-07-18 18:06:23 -0400
  • e4fe703578 state: sync after v0.14.0 (collapse multi-niveaux #288-291 shipped) le king fu 2026-07-18 14:59:47 -0400
  • 9c18e10281 chore: release v0.14.0 v0.14.0 le king fu 2026-07-18 14:56:17 -0400
  • 5a3d87b31f docs(collapse): ADR 0016 per-profile UI state + guide, architecture, i18n le king fu 2026-07-15 21:43:44 -0400
  • 9f628aa9f4 refactor(categories): unify both category trees' collapse state onto useCollapsibleGroups le king fu 2026-07-15 21:30:17 -0400
  • 9c325e274b feat(budget): adopt multi-level collapse on the Budget grid le king fu 2026-07-15 21:16:01 -0400
  • 48adb3db77 feat(reports): collapse category hierarchy at every level (socle + 3 reports) le king fu 2026-07-15 20:58:18 -0400
  • 524fe162ea chore: harden release skill (pre-flight and post-CI checks) le king fu 2026-07-13 20:32:58 -0400
  • 9a88e32a06 chore: release v0.13.0 v0.13.0 le king fu 2026-07-12 20:12:10 -0400
  • 0ae7ea0887 state: rework #259 — wrong module, wrong premise le king fu 2026-07-12 20:01:56 -0400
  • 05d76205a0 state: sync after M2 rapports-parite shipped (#277-#279) le king fu 2026-07-11 21:28:11 -0400
  • a982f9ed9d Merge issue-279 (dashboard Cartes convergence) into main le king fu 2026-07-11 21:22:29 -0400
  • 6dbaaa25fe Merge issue-277 (BVA income-first) into main le king fu 2026-07-11 21:21:20 -0400
  • e55c3bd250 Merge issue-278 (budget grid income-first) into main le king fu 2026-07-11 21:20:07 -0400
  • 9ee5ad353f fix(reports): thread accountIds into Cartes KPI + seasonality series le king fu 2026-07-11 21:16:09 -0400
  • 093ba83c51 state: correct M1 vitest count (791, not 4676 — worktree recursion) le king fu 2026-07-11 17:16:39 -0400
  • 193ef1d9dd feat(dashboard): converge home page on the Cartes report model le king fu 2026-07-11 17:13:23 -0400
  • 14755eb155 feat(reports): BVA (actual vs budget) income-first + result lines le king fu 2026-07-11 16:59:16 -0400
  • ab67c68605 feat(budget): flip grid to income-first + add Résultat rows le king fu 2026-07-11 16:59:01 -0400
  • 26896bbf03 state: sync after M1 filtres-fondation merged (#272-#276) le king fu 2026-07-11 16:42:56 -0400
  • fe9ae0118c feat(reports): adopt shared FilterPanel on Compare and Budget le king fu 2026-07-11 15:52:21 -0400
  • 30682004d3 feat(reports): adopt shared FilterPanel on the Trends page le king fu 2026-07-11 15:41:13 -0400
  • 70b2cd2e42 feat(reports): shared FilterPanel component (temporal slot + account multi-select) le king fu 2026-07-11 15:31:58 -0400
  • b40381fb89 docs(reports): fix stale COMPARE_DELTA_SQL comment references le king fu 2026-07-11 15:17:48 -0400
  • 4a93c60ea7 feat(reports): plumb accountIds[] account filter into 7 report services le king fu 2026-07-11 15:15:37 -0400
  • 65be6c7482 feat(reports): extend useReportsPeriod with account filter foundation le king fu 2026-07-11 15:01:43 -0400
  • a8e3775b8b state: plan #260 suite into 2 overnight milestones (#272-#279) le king fu 2026-07-11 14:46:13 -0400
  • b956091138 state: tendances hierarchiques (#260 slice) shipped — #262-#265 merged le king fu 2026-07-07 20:35:54 -0400
  • fe87313ba3 Merge PR #267/#268/#269: tendances hierarchiques (#263/#264/#265) le king fu 2026-07-07 20:31:26 -0400
  • 5b94c154f7 Merge PR #266: bugfix(reports) tendances byCategory+table (#262) le king fu 2026-07-07 20:31:18 -0400
  • 36abad7a2e feat(reports): CategoryOverTimeTable hierarchical + collapse + result interleave le king fu 2026-07-07 19:46:35 -0400
  • 19cdad2718 feat(reports): getCategoryOverTime -> id-keyed trends tree (sidecar) + tree-based results le king fu 2026-07-07 19:30:50 -0400
  • 5a1ce42034 refactor(reports): extract a generic leaf-driven tree builder le king fu 2026-07-07 19:07:20 -0400
  • 64ae00a847 bugfix(reports): open Trends on byCategory + table by default le king fu 2026-07-07 18:58:25 -0400
  • 5ade8650cf state: overnight-2026-07-08-tendances-hierarchiques prepared (#260 slice) le king fu 2026-07-07 18:47:03 -0400
  • 192c0078a4 state: sync after #254 (collapse/expand) shipped + #258 closed le king fu 2026-07-07 07:48:02 -0400
  • 0a55a47ab5 Merge PR #261: feat(reports) collapse/expand sub-categories (#254) maximus 2026-07-07 11:45:44 +0000
  • 616cccec37 feat(reports): collapse/expand sub-categories in comparable reports (#254) le king fu 2026-07-06 20:18:52 -0400
  • ababa3c010 docs(release): note FR changelog header is [Non publié], not [Unreleased] le king fu 2026-07-06 20:05:16 -0400
  • 36385320a6 state: sync after v0.12.0 — analyse de résultat (#253/#256) shipped le king fu 2026-07-05 21:07:55 -0400
  • f3ccb115ae chore: release v0.12.0 v0.12.0 le king fu 2026-07-05 20:59:03 -0400
  • 450229522b polish(reports): drop dead category_type projection from the monthly query (#256 review) le king fu 2026-07-05 20:55:16 -0400
  • 44976767d1 Merge PR #257: feat(reports) trend-by-category = income statement (#256) le king fu 2026-07-05 20:53:11 -0400
  • 1360940336 Merge PR #255: feat(reports) real-vs-real compare = income statement + previous-month default (#253) le king fu 2026-07-05 20:49:44 -0400
  • 82040abc74 feat(reports): category-over-time table as result analysis (sections + net result per month) le king fu 2026-07-05 20:15:50 -0400
  • c7914c2ca5 fix(reports): exclude income from Cartes top movers (#253 regression) le king fu 2026-07-05 20:14:23 -0400
  • d57b2563af fix(reports): StrictMode-safe period sync + review polish (#253) le king fu 2026-07-05 19:37:22 -0400
  • f45845e408 feat(reports): real-vs-real compare as an income statement + previous-month default le king fu 2026-07-05 18:36:57 -0400
  • 51531ec0ce state: sync after v0.11.0 ship (milestone overnight-2026-07-05-bilan-rapports-ux 5/5 closed) le king fu 2026-07-05 17:15:56 -0400
  • 206f89e1b1 chore: release v0.11.0 v0.11.0 le king fu 2026-07-05 17:10:00 -0400
  • 9124c888de Merge PR #252: feat(categories) editable migration target with type-ahead (#246) le king fu 2026-07-05 17:04:15 -0400
  • 2a3cc07a0e Merge PR #251: feat(balance) CSV import of holdings in detailed snapshot (#245) le king fu 2026-07-05 17:03:00 -0400
  • ead62943fe Merge PR #250: feat(balance) tile-based landing hub + reachable account management (#244) le king fu 2026-07-05 17:01:20 -0400
  • 8bd51214c1 Merge PR #249: feat(reports) hierarchical real-vs-real compare with subtotals (#247) le king fu 2026-07-05 16:59:17 -0400
  • a6fa89e041 Merge PR #248: fix(reports) net transfer-type categories in real-vs-real compare (#243) le king fu 2026-07-05 16:59:17 -0400
  • 4f87ce329c polish(categories): honest doc + extract/test picker-options glue (#246 review) le king fu 2026-07-05 16:53:27 -0400
  • ce2793fc2c refactor(categories): migration target picker lists leaves only le king fu 2026-07-04 20:40:29 -0400