-
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