fix(budget): objectif — 1 seul "Assigner suggéré" par mois + masquer micro-montants #4

Merged
alexis merged 1 commit from fix/suggested-one-shot into main 2026-09-02 21:57:37 +02:00
Owner

Closes #2

Résumé des changements

  • Store.suggestedAssignment : filtrage micro-montants (min = max(5€, 8% cible), masque si 0 < raw < min) + one-shot intra-mois par couple via .
  • Store : format JSON v4 avec champ persistant , migration v3/v4 transparente, commit atomique.
  • Store.setAssigned : enregistrement automatique du one-shot lors de l'assignation.
  • Store.deleteCategory : purge ciblée des clés associées à la catégorie supprimée.
  • Store.readyToAssign : sécurisation tolérante sur le parsing des clés YearMonth.
  • BudgetScreen : CategoryRow conditionnée sur sans filtre seuil local dupliqué.

Audit workflowz validé à 0 erreur.

Closes #2 ### Résumé des changements - **Store.suggestedAssignment** : filtrage micro-montants (min = max(5€, 8% cible), masque si 0 < raw < min) + one-shot intra-mois par couple via . - **Store** : format JSON v4 avec champ persistant , migration v3/v4 transparente, commit atomique. - **Store.setAssigned** : enregistrement automatique du one-shot lors de l'assignation. - **Store.deleteCategory** : purge ciblée des clés associées à la catégorie supprimée. - **Store.readyToAssign** : sécurisation tolérante sur le parsing des clés YearMonth. - **BudgetScreen** : CategoryRow conditionnée sur sans filtre seuil local dupliqué. Audit workflowz validé à 0 erreur.
- Store: passage en format JSON v4 avec champ 'suggestedUsed' (Set<String> catId-YYYY-MM)
- Store.suggestedAssignment: filtrage seuil min = max(5€, 8% cible), masquage si 0 < raw < min
- Store.suggestedAssignment: one-shot isSuggestedUsed par couple (catId, month) retournant null
- Store.setAssigned: enregistre automatiquement le one-shot de manière idempotente et persiste
- Store.deleteCategory: nettoyage propre des entrées suggestedUsed par parsing exact du catId
- Store.load: parsing v3/v4 tolérant (catId valide + YearMonth parse strict), commit atomique
- Store.readyToAssign: tolérance runCatching YearMonth.parse alignée sur availableCents
- BudgetScreen: CategoryRow n'affiche le bouton Assigner que si sug != null && sug > 0
alexis merged commit cfd426bd2f into main 2026-09-02 21:57:37 +02:00
alexis deleted branch fix/suggested-one-shot 2026-09-02 21:57:37 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
alexis/demo_m3!4
No description provided.