Refonte seed catégories IPC — Service categoryMappingService (algo 4 passes) #119

Open
opened 2026-04-19 15:08:05 +00:00 by maximus · 0 comments
Owner

Refs: spec-decisions-refonte-seed-categories-ipc.md + spec-plan-refonte-seed-categories-ipc.md

Livraison 2 — Algorithme de ventillage 4 passes qui calcule le plan de migration v2→v1 avec badge de confiance. Pure fonction, aucune écriture BDD.

Tâches

  • Créer src/services/categoryMappingService.ts
  • Implémenter l algo 4 passes :
    • Pass 1 : keyword match (description transaction → keyword → catégorie v1)
    • Pass 2 : supplier propagation (si un supplier matche, toutes ses tx suivent)
    • Pass 3 : fallback défaut (règle documentée par catégorie v2)
    • Pass 4 : flag à réviser (si aucune des précédentes ne matche)
  • Types : MigrationPlan, MappingRow, ConfidenceBadge (haute/moyenne/basse/aucune)
  • Fonction computeMigrationPlan(profileData): MigrationPlan — pure, sans effet de bord BDD
  • Mapping table encodée depuis ~/claude-code/.spikes/archived/seed-standard/code/mapping-old-to-new.md
  • Détection des catégories custom (non présentes dans le seed v2) → bucket preserved
  • Détection des splits (ex: Transport commun 28 v2 → Bus 1521 OR Train 1522 v1)

Dépendances

Depends on #116

Source

Les règles de mapping et le tableau de ventillage sont entièrement documentés dans ~/claude-code/.spikes/archived/seed-standard/code/mapping-old-to-new.md.

Refs: spec-decisions-refonte-seed-categories-ipc.md + spec-plan-refonte-seed-categories-ipc.md Livraison 2 — Algorithme de ventillage 4 passes qui calcule le plan de migration v2→v1 avec badge de confiance. Pure fonction, aucune écriture BDD. ## Tâches - [ ] Créer `src/services/categoryMappingService.ts` - [ ] Implémenter l algo 4 passes : - Pass 1 : keyword match (description transaction → keyword → catégorie v1) - Pass 2 : supplier propagation (si un supplier matche, toutes ses tx suivent) - Pass 3 : fallback défaut (règle documentée par catégorie v2) - Pass 4 : flag à réviser (si aucune des précédentes ne matche) - [ ] Types : `MigrationPlan`, `MappingRow`, `ConfidenceBadge` (haute/moyenne/basse/aucune) - [ ] Fonction `computeMigrationPlan(profileData): MigrationPlan` — pure, sans effet de bord BDD - [ ] Mapping table encodée depuis `~/claude-code/.spikes/archived/seed-standard/code/mapping-old-to-new.md` - [ ] Détection des catégories custom (non présentes dans le seed v2) → bucket `preserved` - [ ] Détection des splits (ex: Transport commun 28 v2 → Bus 1521 OR Train 1522 v1) ## Dépendances Depends on #116 ## Source Les règles de mapping et le tableau de ventillage sont entièrement documentés dans `~/claude-code/.spikes/archived/seed-standard/code/mapping-old-to-new.md`.
maximus added this to the spec-refonte-seed-categories-ipc milestone 2026-04-19 15:08:05 +00:00
maximus added the
status:ready
type:feature
source:human
labels 2026-04-19 15:08:05 +00:00
Sign in to join this conversation.
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: maximus/Simpl-Resultat#119
No description provided.