Simpl-Resultat/docs/adr
le king fu cd0a2b826f feat(balance): starter accounts + opt-in modal + ADR 0012
Part 1 — New profiles: seed 4 starter accounts in
consolidated_schema.sql (Compte chèque/CELI/REER/Compte
non-enregistré, currency CAD, is_active=1) right after the
balance_categories seeds. Categories resolved via SELECT subquery
on the seeded `key` values for robustness.

Part 2 — Existing profiles: StarterAccountsModal proposes the same
4 starters at first /balance visit. Default-checked checkboxes,
collision rule (case-insensitive trim name + matching category)
disables matches with a "Déjà présent" tooltip. The atomic helper
`proposeStarterAccounts` wraps the inserts in BEGIN/COMMIT (rolls
back on error). user_preferences.balance_starter_proposed records
{shown_at, accepted} so the modal never reappears, dismissed or
confirmed.

Part 3 — docs/adr/0012-balance-two-level-model.md (Proposed):
captures the future vehicles × compositions model for reflection,
no code change. Numbered 0012 because 0011 was already taken by
the providers-best-effort-yahoo ADR. Linked from architecture.md
ADR table and Bilan section.

Tests: StarterAccountsModal.test.tsx covers STARTER_ACCOUNTS shape,
getStarterCollisions (case-insensitive trim, category-scoped) and
proposeStarterAccounts (insert order, COMMIT, ROLLBACK on failure).
No render tests — mirrors the BalanceOnboardingCard pattern (no
jsdom configured).

Resolves #179
2026-05-02 11:59:45 -04:00
..
0001-tauri-v2.md docs: organize technical documentation into docs/ folder 2026-02-19 07:34:01 -05:00
0002-useReducer-vs-redux.md docs: organize technical documentation into docs/ folder 2026-02-19 07:34:01 -05:00
0003-sqlx-migrations.md docs: organize technical documentation into docs/ folder 2026-02-19 07:34:01 -05:00
0004-aes-256-gcm-encryption.md docs: organize technical documentation into docs/ folder 2026-02-19 07:34:01 -05:00
0005-multi-profile-db.md docs: organize technical documentation into docs/ folder 2026-02-19 07:34:01 -05:00
0006-oauth-tokens-keychain.md docs: ADR 0006 + changelog + architecture for OAuth keychain (#82) 2026-04-14 08:26:21 -04:00
0007-reports-hub-refactor.md docs: polish + changelog + ADR + legacy cleanup for reports refactor (#76) 2026-04-14 15:29:49 -04:00
0008-modified-dietz-pour-rendement.md docs(adr): add ADRs 0008-0010 (Modified Dietz, proxy price-fetching, FK RESTRICT) 2026-04-25 17:06:40 -04:00
0009-proxy-price-fetching-via-maximus-api.md docs(adr): add ADRs 0008-0010 (Modified Dietz, proxy price-fetching, FK RESTRICT) 2026-04-25 17:06:40 -04:00
0010-fk-restrict-balance-transfers.md docs(adr): add ADRs 0008-0010 (Modified Dietz, proxy price-fetching, FK RESTRICT) 2026-04-25 17:06:40 -04:00
0011-providers-best-effort-yahoo.md docs(prices): commit /v1/prices contract + ADR 0011 2026-04-27 08:06:03 -04:00
0012-balance-two-level-model.md feat(balance): starter accounts + opt-in modal + ADR 0012 2026-05-02 11:59:45 -04:00