docs(passation): record the decisions taken since it was written - #298
Conversation
Three, all of which change how future work is scoped rather than what has been done — the kind of thing this file exists to carry. Savings breakdown goes through a movements table, never a typed-in column: a typed balance lies the next day, a dated movement stays true and replays. That choice also settles "investing is not spending" — same table, so one cost for two needs. The two items merge. A commitment `start` is its FIRST instalment, not the signature or the release of funds. ADR-021 D3 said otherwise and is corrected here; every derived date hangs off that anchor, so getting it wrong shifts the whole schedule by a period. Due date and payment date are currently the same field. Until they are split, a late payment is indistinguishable from an on-time one. Identified, not yet specified. The remaining-work section keeps only pointers: the category taxonomy is applied, so the prerequisite it carried is lifted, and the database audit report is named as an out-of-repo document rather than pointed at a path. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Guide du réviseurMet à jour PASSATION.md pour consigner trois décisions récentes de produit / d’architecture concernant les engagements, la ventilation de l’épargne et les dates d’exigibilité vs de paiement, et réaligne en conséquence le plan de travail futur ainsi que les pointeurs vers les documents externes. Diagramme de relations d’entités pour la ventilation de l’épargne via la table des mouvementserDiagram
SavingsAccount ||--o{ Transfer : has
SavingsAccount {
int id
}
Transfer {
int id
date movement_date
decimal amount
enum purpose
}
Engine ||--o{ Transfer : derives_provisions_from
Diagramme de relations d’entités pour la date de début des engagements et les dates d’exigibilité vs de paiementerDiagram
Engagement ||--o{ Installment : schedules
Installment ||--o{ Payment : settled_by
Engagement {
int id
date start
}
Installment {
int id
date due_date
decimal amount
}
Payment {
int id
date payment_date
decimal amount
}
Modifications au niveau des fichiers
Conseils et commandesInteraction avec Sourcery
Personnaliser votre expérienceAccédez à votre dashboard pour :
Obtenir de l’aide
Original review guide in EnglishReviewer's GuideUpdates PASSATION.md to record three recently made product/architecture decisions about engagements, savings ventilation, and due vs. payment dates, and re-aligns the future work plan and external document pointers accordingly. Entity relationship diagram for savings ventilation via movements tableerDiagram
SavingsAccount ||--o{ Transfer : has
SavingsAccount {
int id
}
Transfer {
int id
date movement_date
decimal amount
enum purpose
}
Engine ||--o{ Transfer : derives_provisions_from
Entity relationship diagram for engagements start date and due vs payment dateserDiagram
Engagement ||--o{ Installment : schedules
Installment ||--o{ Payment : settled_by
Engagement {
int id
date start
}
Installment {
int id
date due_date
decimal amount
}
Payment {
int id
date payment_date
decimal amount
}
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Salut – j’ai trouvé un point à corriger et j’ai laissé quelques retours de haut niveau :
- La nouvelle règle selon laquelle
startest la première échéance, en contradiction avec ADR-021 D3, n’est mentionnée qu’ici ; envisage de mettre à jour ADR-021 lui‑même ou d’ajouter une référence croisée explicite afin que les lecteurs futurs n’aient pas à concilier des sources divergentes. - L’explication sur la ventilation de l’épargne via une table de mouvements apparaît à la fois dans la section principes et dans la description du chantier ; tu pourrais réduire la duplication en ne gardant qu’une explication détaillée et en faisant que l’autre emplacement y renvoie (ou y fasse référence).
- La note « demande‑le à Thierry » rend le processus dépendant d’une personne ; envisage de clarifier un moyen plus pérenne et impersonnel de retrouver le rapport d’audit (par ex. emplacement de stockage ou rôle responsable) afin que le document reste utilisable même si les personnes changent.
Prompt pour agents IA
Please address the comments from this code review:
## Overall Comments
- The new rule about `start` being the first échéance contradicting ADR-021 D3 is only noted here; consider updating ADR-021 itself or adding a direct cross-reference so future readers don’t have to reconcile divergent sources.
- The explanation about ventilation de l’épargne via a mouvements table appears both in the principles section and in the chantier description; you might reduce duplication by keeping one detailed explanation and having the other location link or refer to it.
- The note "demande-le à Thierry" makes the process person-dependent; consider clarifying a more durable, impersonal way to locate the audit report (e.g., storage location or ownership role) so the document remains usable if people change.
## Individual Comments
### Comment 1
<location path="docs/PASSATION.md" line_range="200-203" />
<code_context>
+ fera par une **table de mouvements**, pas par une colonne saisie — un solde saisi ment dès
+ le lendemain, un mouvement daté reste vrai et se rejoue. Ce choix règle du même coup
+ « investir n'est pas dépenser » : c'est la même table, donc **un seul coût pour deux
+ besoins**. La part provisions reste **dérivable** du moteur — rien à étiqueter à la main. Et
+ chaque virement proposé doit dire **pour quelles échéances**.
+ Toujours sans partie patrimoine — valorisations et rendements sont une ligne rouge FSMA (§5).
</code_context>
<issue_to_address>
**suggestion (typo):** Envisager « La part de provisions » pour une tournure plus grammaticale.
La phrase actuelle « La part provisions reste dérivable » sonne un peu bancale en français. Je recommande « La part de provisions reste dérivable » (ou éventuellement « La part "provisions" reste dérivable ») pour une tournure plus naturelle tout en conservant le sens.
```suggestion
le lendemain, un mouvement daté reste vrai et se rejoue. Ce choix règle du même coup
« investir n'est pas dépenser » : c'est la même table, donc **un seul coût pour deux
besoins**. La part de provisions reste **dérivable** du moteur — rien à étiqueter à la main. Et
chaque virement proposé doit dire **pour quelles échéances**.
```
</issue_to_address>Sourcery est gratuit pour l’open source – si vous appréciez nos revues, pensez à les partager ✨
Original comment in English
Hey - I've found 1 issue, and left some high level feedback:
- The new rule about
startbeing the first échéance contradicting ADR-021 D3 is only noted here; consider updating ADR-021 itself or adding a direct cross-reference so future readers don’t have to reconcile divergent sources. - The explanation about ventilation de l’épargne via a mouvements table appears both in the principles section and in the chantier description; you might reduce duplication by keeping one detailed explanation and having the other location link or refer to it.
- The note "demande-le à Thierry" makes the process person-dependent; consider clarifying a more durable, impersonal way to locate the audit report (e.g., storage location or ownership role) so the document remains usable if people change.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- The new rule about `start` being the first échéance contradicting ADR-021 D3 is only noted here; consider updating ADR-021 itself or adding a direct cross-reference so future readers don’t have to reconcile divergent sources.
- The explanation about ventilation de l’épargne via a mouvements table appears both in the principles section and in the chantier description; you might reduce duplication by keeping one detailed explanation and having the other location link or refer to it.
- The note "demande-le à Thierry" makes the process person-dependent; consider clarifying a more durable, impersonal way to locate the audit report (e.g., storage location or ownership role) so the document remains usable if people change.
## Individual Comments
### Comment 1
<location path="docs/PASSATION.md" line_range="200-203" />
<code_context>
+ fera par une **table de mouvements**, pas par une colonne saisie — un solde saisi ment dès
+ le lendemain, un mouvement daté reste vrai et se rejoue. Ce choix règle du même coup
+ « investir n'est pas dépenser » : c'est la même table, donc **un seul coût pour deux
+ besoins**. La part provisions reste **dérivable** du moteur — rien à étiqueter à la main. Et
+ chaque virement proposé doit dire **pour quelles échéances**.
+ Toujours sans partie patrimoine — valorisations et rendements sont une ligne rouge FSMA (§5).
</code_context>
<issue_to_address>
**suggestion (typo):** Envisager « La part de provisions » pour une tournure plus grammaticale.
La phrase actuelle « La part provisions reste dérivable » sonne un peu bancale en français. Je recommande « La part de provisions reste dérivable » (ou éventuellement « La part "provisions" reste dérivable ») pour une tournure plus naturelle tout en conservant le sens.
```suggestion
le lendemain, un mouvement daté reste vrai et se rejoue. Ce choix règle du même coup
« investir n'est pas dépenser » : c'est la même table, donc **un seul coût pour deux
besoins**. La part de provisions reste **dérivable** du moteur — rien à étiqueter à la main. Et
chaque virement proposé doit dire **pour quelles échéances**.
```
</issue_to_address>Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
…#298 Founded: the elided form read as a compound noun rather than a partitive. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Three decisions from a live test session, all of which constrain the movements table before it is built. An expense carries its source account. The model knows only one, implicitly. A household spreads spending across several accounts, and an expense without a source account cannot yield a balance: you know an amount left, never from where. A movement goes from one account to another; it is not an entry or an exit. Some accounts cannot pay directly — their money must transit through a current account first. So the model is source → destination, and a two-step path must still read as a single economic gesture, or totals double. Drill-down moves from structuring principle to non-negotiable, because it now has measured justification: a transfer computed by hand deducted twice a provision already withheld upstream. That is the charges ↔ commitments double count this project is already fixing, reproduced mentally, for the same reason — an amount appearing twice with no way to see it was already deducted. An aggregate that does not unfold hides what has already been subtracted. Written in model terms: no account names, no amounts, no personal data. Public repository. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Trois décisions prises depuis la rédaction du document. Toutes changent le cadrage du travail à venir, pas l'état de ce qui est fait — c'est précisément ce que ce fichier doit porter, et la règle du §2 dit qu'on ne le met à jour que dans ce cas.
1. La ventilation de l'épargne passe par une table de mouvements, jamais par une colonne saisie. Un solde saisi ment dès le lendemain ; un mouvement daté reste vrai et se rejoue. Ce choix règle du même coup « investir n'est pas dépenser » : c'est la même table, donc un seul coût pour deux besoins. Les deux chantiers fusionnent — §6 passe de neuf à neuf entrées mais une redondance disparaît.
2.
startd'un engagement = sa PREMIÈRE échéance, pas la date de signature ni celle du déblocage des fonds. ADR-021 D3 disait l'inverse, corrigé ici. Toute la dérivation part de cette ancre : s'y tromper décale l'échéancier entier d'une période. Inscrit dans les décisions arrêtées (§5), pas dans la liste des chantiers — c'est une règle, pas une tâche.3. Date d'échéance et date de paiement sont aujourd'hui confondues. Le pointage écrit la date d'échéance, pas celle du versement réel. Tant qu'elles le restent, un paiement en retard est indiscernable d'un paiement à l'heure et aucun historique de ponctualité n'est possible. Manque identifié, pas encore spécifié — entré dans §6 à sa place de priorité.
Pointeurs remis à jour : la taxonomie des catégories étant appliquée en base, le préalable qu'elle imposait aux graphiques de répartition est levé. Le rapport d'audit de base est désigné comme document hors dépôt, sans chemin.
Contrôle dépôt public repassé sur huit motifs sensibles : zéro occurrence.
🤖 Generated with Claude Code
Summary by Sourcery
Mettre à jour le document PASSATION afin d’y intégrer les nouvelles décisions convenues concernant les engagements, la gestion de l’épargne et la planification des paiements.
Améliorations :
Documentation :
Original summary in English
Summary by Sourcery
Update the PASSATION document to capture newly agreed decisions on engagements, savings handling, and payment scheduling.
Enhancements:
Documentation: