Appliqué en production : 7 écritures, 1 483,23 €, compte courant d'associé porté de −429,75 à −1 912,98 €. Grand livre auxiliaire intact — 12 tiers, 15 factures fournisseur, inchangés.
La convention annexée aux statuts et la décision n°1 de l'associé unique du 09/01/2026 fixent une indemnité d'occupation de 220 €/mois pour un bureau de 10 m² dans le domicile du gérant. Elle n'avait jamais été ni versée ni comptabilisée.
Le modèle — et la correction qui a tout changé
La première version de ce PR créait un tiers fournisseur « Radureau Gabriel » et lui adressait 7 factures. C'était faux.
Le gérant n'est pas un fournisseur de sa société. Lui ouvrir une fiche l'aurait fait apparaître au grand livre auxiliaire, dans les balances âgées et les états de dettes fournisseurs — l'objection exacte déjà opposée à l'URSSAF dans RUNBOOK_charges_sociales.md, que j'ai reproduite en la contredisant.
L'existant le disait pourtant : les 8 dettes déjà portées au compte courant sont toutes des factures de fournisseurs réels (La Poste, Greffe, Infogreffe, Qonto) payées personnellement, le règlement transitant par le compte courant. Le tiers y est toujours le fournisseur, jamais le gérant. Il suffisait de regarder.
Le modèle correct est direct. Le compte bancaire CCA1 (id 3) porte le numéro comptable 45511 et son propre journal ; un paiement divers en sens débit, code 613000 - Locations, produit :
débit 613000 Locations (la charge)
crédit 45511 G. RADUREAU, compte courant (la dette envers l'associé)
Aucun tiers, aucune facture, aucune pollution du grand livre auxiliaire.
Date
Libellé
Montant
31/01/2026
Indemnité d'occupation — janvier 2026
163,23 €
28/02 → 31/07
février … juillet
6 × 220,00 €
Total
1 483,23 €
Janvier au prorata : la convention prend effet à sa signature le 9 janvier, 23 jours sur 31.
Correction sur adc-009
Le plan comptable EST chargé — 358 comptes, dont un 455110 déjà dédié au compte courant du gérant. adc-009 affirme « module comptabilité pas déployé » en confondant trois choses distinctes : le plan chargé, l'API REST absente (/accountancy/* → 404), et le dictionnaire des types de charges sans code comptable. À reprendre dans #86.
Deux bugs de ma main, trouvés en répétition
L'idempotence comparait les 24 premiers caractères du libellé — or « Indemnité d'occupation — » en fait exactement 24. Mars reconnaissait février et se déclarait déjà enregistré : six mois silencieusement sautés. On compare désormais le libellé entier, avec tolérance à la troncature « … » de Dolibarr. recordSocialCharge.ts porte le même défaut, latent : ses libellés diffèrent avant le 24ᵉ caractère, aujourd'hui seulement.
Une boucle shell utilisait set -- $m, qui ne découpe pas les mots en zsh : la date devenait 2026--. Le script a correctement refusé d'écrire.
Ce que le run gated apprend
Conservé sous fleet/harness/runs/ avec ABANDONNE.md. Il documente ce que le harness a vu — et surtout ce qu'il n'a pas vu :
Un 403 a servi de garde-fou pour une raison qui n'était pas la sienne. Le scope prod-write exclut délibérément le droit 122 « Créer/modifier les tiers ». La production n'a rien reçu.
Le juge pré-gate a rendu BLOCK sur un détail réel mais mal qualifié (chronologie, art. 289 — qui régit les factures émises, pas la référence de classement des factures reçues) et a manqué le défaut structurel. Un juge qui lit le change-set sans lire l'existant ne peut pas voir qu'un modèle contredit celui déjà en place. Piste : lui donner l'état observé, pas seulement le manifeste.
/variouspayments répond « API not found » : le pipeline gated, qui parle REST, ne pouvait pas porter la bonne opération. Sa couverture est plus étroite qu'elle en a l'air, et le choix de l'instrument comptable décide de la voie disponible.
Le script garde la discipline — répétition sandbox, relecture par la liste, opt-in production explicite — sans le juge ni l'artefact de gate, comme recordSocialCharge.ts.
Vérifications
deno check test/recordVariousPayment.ts → OK
Répétition sandbox : 7 écritures, total 1 483,23 €, puis seconde passe — janvier et février « déjà présente », aucun doublon
Production : 7 écritures relues dans la liste, compte courant −1 912,98 €, tiers et factures fournisseur inchangés
Reste ouvert
L'indemnité est un revenu BNC pour le gérant (BOI-RFPI-CHAMP-10-30 § 80). L'inscription au compte courant vaut-elle encaissement au sens du BNC, qui est un régime de trésorerie ? Expert-comptable ; sans incidence sur les écritures de la société.
**Appliqué en production** : 7 écritures, **1 483,23 €**, compte courant d'associé porté de −429,75 à **−1 912,98 €**. Grand livre auxiliaire intact — 12 tiers, 15 factures fournisseur, inchangés.
La convention annexée aux statuts et la décision n°1 de l'associé unique du 09/01/2026 fixent une indemnité d'occupation de 220 €/mois pour un bureau de 10 m² dans le domicile du gérant. Elle n'avait **jamais été ni versée ni comptabilisée**.
## Le modèle — et la correction qui a tout changé
La première version de ce PR créait un **tiers fournisseur « Radureau Gabriel »** et lui adressait 7 factures. C'était faux.
**Le gérant n'est pas un fournisseur de sa société.** Lui ouvrir une fiche l'aurait fait apparaître au grand livre auxiliaire, dans les balances âgées et les états de dettes fournisseurs — l'objection **exacte** déjà opposée à l'URSSAF dans `RUNBOOK_charges_sociales.md`, que j'ai reproduite en la contredisant.
L'existant le disait pourtant : les 8 dettes déjà portées au compte courant sont toutes des factures de **fournisseurs réels** (La Poste, Greffe, Infogreffe, Qonto) payées personnellement, le règlement transitant par le compte courant. Le tiers y est toujours le fournisseur, jamais le gérant. Il suffisait de regarder.
Le modèle correct est direct. Le compte bancaire `CCA1` (id 3) porte le numéro comptable **45511** et son propre journal ; un **paiement divers** en sens débit, code `613000 - Locations`, produit :
```
débit 613000 Locations (la charge)
crédit 45511 G. RADUREAU, compte courant (la dette envers l'associé)
```
Aucun tiers, aucune facture, aucune pollution du grand livre auxiliaire.
| Date | Libellé | Montant |
|---|---|---|
| 31/01/2026 | Indemnité d'occupation — janvier 2026 | 163,23 € |
| 28/02 → 31/07 | février … juillet | 6 × 220,00 € |
| | **Total** | **1 483,23 €** |
Janvier au **prorata** : la convention prend effet à sa signature le 9 janvier, 23 jours sur 31.
## Correction sur `adc-009`
**Le plan comptable EST chargé** — 358 comptes, dont un `455110` déjà dédié au compte courant du gérant. `adc-009` affirme « module comptabilité pas déployé » en confondant trois choses distinctes : le plan chargé, l'API REST absente (`/accountancy/*` → 404), et le dictionnaire des types de charges sans code comptable. À reprendre dans #86.
## Deux bugs de ma main, trouvés en répétition
- **L'idempotence comparait les 24 premiers caractères du libellé** — or « Indemnité d'occupation — » en fait exactement 24. Mars reconnaissait février et se déclarait déjà enregistré : **six mois silencieusement sautés**. On compare désormais le libellé entier, avec tolérance à la troncature « … » de Dolibarr. `recordSocialCharge.ts` porte le même défaut, **latent** : ses libellés diffèrent avant le 24ᵉ caractère, aujourd'hui seulement.
- Une boucle shell utilisait `set -- $m`, qui **ne découpe pas les mots en zsh** : la date devenait `2026--`. Le script a correctement refusé d'écrire.
## Ce que le run gated apprend
Conservé sous `fleet/harness/runs/` avec `ABANDONNE.md`. Il documente ce que le harness a vu — et surtout ce qu'il n'a pas vu :
- **Un 403 a servi de garde-fou pour une raison qui n'était pas la sienne.** Le scope `prod-write` exclut délibérément le droit 122 « Créer/modifier les tiers ». La production n'a rien reçu.
- **Le juge pré-gate a rendu BLOCK sur un détail réel mais mal qualifié** (chronologie, art. 289 — qui régit les factures émises, pas la référence de classement des factures reçues) **et a manqué le défaut structurel.** Un juge qui lit le change-set sans lire l'existant ne peut pas voir qu'un modèle contredit celui déjà en place. Piste : lui donner l'état observé, pas seulement le manifeste.
- `/variouspayments` répond « API not found » : le pipeline gated, qui parle REST, **ne pouvait pas porter la bonne opération**. Sa couverture est plus étroite qu'elle en a l'air, et le choix de l'instrument comptable décide de la voie disponible.
Le script garde la discipline — répétition sandbox, relecture par la liste, opt-in production explicite — sans le juge ni l'artefact de gate, comme `recordSocialCharge.ts`.
## Vérifications
- `deno check test/recordVariousPayment.ts` → OK
- Répétition sandbox : 7 écritures, total 1 483,23 €, puis **seconde passe** — janvier et février « déjà présente », aucun doublon
- Production : 7 écritures relues dans la liste, compte courant −1 912,98 €, tiers et factures fournisseur inchangés
## Reste ouvert
L'indemnité est un revenu **BNC** pour le gérant (BOI-RFPI-CHAMP-10-30 § 80). L'inscription au compte courant vaut-elle encaissement au sens du BNC, qui est un régime de trésorerie ? Expert-comptable ; sans incidence sur les écritures de la société.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
La convention annexée aux statuts (annexe 3) et la décision n°1 de l'associé
unique du 09/01/2026 fixent une indemnité d'occupation de 220 EUR/mois pour un
bureau de 10 m² dans le domicile du gérant. Elle n'a JAMAIS été ni versée ni
comptabilisée : aucun tiers, aucune des 15 factures fournisseur, aucune ligne au
grand livre bancaire.
Change-set : un tiers « Radureau Gabriel » (FO0012) puis 7 factures fournisseur
validées et réglées par inscription au compte courant d'associé (compte 3), sans
mouvement de trésorerie — la voie adc-005. Janvier au PRORATA : la convention
prend effet à sa signature, 23 jours sur 31 → 163,23 EUR. Total 1 483,23 EUR et
non 1 540 : un mois plein aurait été légèrement généreux.
Chaque facture porte en note le fondement complet et le calcul qui justifie le
forfait — loyer 1 100 EUR, quote-part de surface 16,67 % → 183,33, charges
réelles 12,53 au prorata, soit 195,87 de prorata strict contre 220 retenus
(+12,3 %). La justification vit ainsi avec l'écriture, pas dans une note à part.
Répétition sandbox : 8 opérations, 14 suites, toutes ok. Dates vérifiées en
Europe/Paris — lues en UTC elles semblent reculées d'un jour, Dolibarr tronquant
à minuit heure serveur. Compte courant : -429,75 → -1 912,98.
Corrige un vrai défaut du pipeline découvert en route : quand une op échoue,
{id} était remplacé par le DICTIONNAIRE D'ERREUR, l'URL devenait un JSON
multiligne, urllib levait InvalidURL et l'étape mourait AVANT d'écrire son
artefact — on perdait la preuve de l'échec qu'on venait de produire. Corrigé
dans rehearse et dans apply, où --keep-going exposait la même faille en pleine
écriture de production.
Verdict pré-gate : BLOCK (mistral), au motif d'une numérotation non chronologique
contraire au CGI art. 289. FAUX POSITIF, démontré sur la production : les
factures FOURNISSEUR portent déjà 5 ruptures de chronologie, leur séquence
suivant l'ordre d'enregistrement et non la date du document ; les factures
ÉMISES, seules visées par l'art. 289, en comptent 0. Le juge a appliqué au
registre des factures reçues une règle qui ne gouverne que celles émises. Sa
recommandation de renumérotation casserait la piste d'audit fiable.
Le gate humain n'est pas franchi : rien n'est écrit en production.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Appliqué en production : 7 écritures, 1 483,23 EUR, compte courant d'associé
porté de -429,75 à -1 912,98. Grand livre auxiliaire intact — 12 tiers, 15
factures fournisseur, inchangés.
La première approche créait un tiers fournisseur « Radureau Gabriel » et lui
adressait 7 factures. C'était faux : le gérant n'est pas un fournisseur de sa
société, et lui ouvrir une fiche l'aurait fait apparaître au grand livre
auxiliaire, dans les balances âgées et les états de dettes fournisseurs —
l'objection exacte déjà opposée à l'URSSAF dans RUNBOOK_charges_sociales.md,
que j'ai reproduite en la contredisant. L'existant le disait pourtant : les 8
dettes déjà portées au compte courant sont toutes des factures de fournisseurs
RÉELS payées personnellement, le tiers n'étant jamais le gérant.
Le modèle correct est direct. Le compte bancaire CCA1 (id 3) porte le numéro
comptable 45511 et son propre journal ; un paiement divers en sens débit, code
613000 Locations, produit
débit 613000 Locations (la charge)
crédit 45511 G. RADUREAU, compte courant (la dette envers l'associé)
Correction au passage : le plan comptable EST chargé (358 comptes, dont un
455110 dédié au compte courant du gérant). adc-009 affirme « module comptabilité
pas déployé » en confondant trois choses — le plan chargé, l'API REST absente,
et le dictionnaire des types de charges sans code comptable.
Deux bugs de ma main, trouvés en répétition :
- l'idempotence comparait les 24 PREMIERS CARACTÈRES du libellé, or
« Indemnité d'occupation — » en fait exactement 24 : mars reconnaissait
février et se déclarait déjà enregistré. Six mois silencieusement sautés.
On compare désormais le libellé entier, avec tolérance à la troncature
« … » de Dolibarr. recordSocialCharge.ts porte le même défaut, latent :
ses libellés diffèrent avant le 24e caractère, aujourd'hui seulement.
- une boucle shell utilisait `set -- $m`, qui ne découpe pas les mots en zsh :
la date devenait « 2026-- ». Le script a correctement refusé d'écrire.
/variouspayments répond « API not found » : le pipeline gated, qui parle REST,
ne peut pas porter cette opération — comme pour les charges sociales. Le script
en garde la discipline (répétition sandbox, relecture par la liste, opt-in
production explicite) sans le juge ni l'artefact de gate.
Le run gated abandonné est conservé sous fleet/harness/runs/ avec ABANDONNE.md :
il documente ce que le harness a vu, et surtout ce qu'il n'a pas vu.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
arcodange
changed title from WIP: feat(erp): indemnité d'occupation janv→juil 2026 (1 483,23 €) — au gate humain to feat(erp): indemnité d'occupation janv→juil 2026 (1 483,23 €) — paiements divers, sans tiers2026-08-13 21:05:35 +02:00
L'erreur rattrapée par l'opérateur — ouvrir une fiche fournisseur au nom du
gérant — n'était pas un défaut d'exécution mais un choix d'instrument. Rien
dans le dépôt ne l'empêchait de se reproduire.
RUNBOOK_quel_instrument.md pose la question qui tranche — à qui la société
doit-elle cet argent ? — et sa table de décision : fournisseur réel → facture
fournisseur ; organisme social ou fiscal → charge ; l'associé lui-même →
paiement divers sur CCA1, sans aucun tiers. Il distingue les deux usages du
compte courant, que l'on confond facilement : le gérant AVANCE une dépense
(adc-005, le tiers est le fournisseur) contre la société DOIT au gérant
(adc-010, aucun tiers).
adc-010 enregistre la décision et sa base : le compte 455 porte les sommes dues
à l'associé, le poste fournisseurs les dettes d'exploitation envers des tiers
ayant fourni biens ou services. Le gérant qui met une pièce à disposition n'y
entre pas — même raisonnement qu'adc-008 et le runbook charges sociales
opposent déjà à l'URSSAF.
AGENTS.md porte désormais la règle dans les operating rules, avec la leçon
généralisable : une écriture dont le modèle contredit celles déjà au grand
livre est presque toujours fausse, et la vérification coûte une requête. La
règle dit aussi que le choix décide de la voie technique — ni les charges
sociales ni les paiements divers n'ayant d'API REST, le promote gated ne peut
pas les porter.
Le calendrier porte la décision de l'opérateur du 13/08 : pas de rémunération
de gérance en 2026, arbitrage reporté à 2027, avec ses conséquences — aucun
trimestre de retraite validé, et une régularisation URSSAF probablement à la
baisse puisque l'assiette réelle sera quasi nulle.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Appliqué en production : 7 écritures, 1 483,23 €, compte courant d'associé porté de −429,75 à −1 912,98 €. Grand livre auxiliaire intact — 12 tiers, 15 factures fournisseur, inchangés.
La convention annexée aux statuts et la décision n°1 de l'associé unique du 09/01/2026 fixent une indemnité d'occupation de 220 €/mois pour un bureau de 10 m² dans le domicile du gérant. Elle n'avait jamais été ni versée ni comptabilisée.
Le modèle — et la correction qui a tout changé
La première version de ce PR créait un tiers fournisseur « Radureau Gabriel » et lui adressait 7 factures. C'était faux.
Le gérant n'est pas un fournisseur de sa société. Lui ouvrir une fiche l'aurait fait apparaître au grand livre auxiliaire, dans les balances âgées et les états de dettes fournisseurs — l'objection exacte déjà opposée à l'URSSAF dans
RUNBOOK_charges_sociales.md, que j'ai reproduite en la contredisant.L'existant le disait pourtant : les 8 dettes déjà portées au compte courant sont toutes des factures de fournisseurs réels (La Poste, Greffe, Infogreffe, Qonto) payées personnellement, le règlement transitant par le compte courant. Le tiers y est toujours le fournisseur, jamais le gérant. Il suffisait de regarder.
Le modèle correct est direct. Le compte bancaire
CCA1(id 3) porte le numéro comptable 45511 et son propre journal ; un paiement divers en sens débit, code613000 - Locations, produit :Aucun tiers, aucune facture, aucune pollution du grand livre auxiliaire.
Janvier au prorata : la convention prend effet à sa signature le 9 janvier, 23 jours sur 31.
Correction sur
adc-009Le plan comptable EST chargé — 358 comptes, dont un
455110déjà dédié au compte courant du gérant.adc-009affirme « module comptabilité pas déployé » en confondant trois choses distinctes : le plan chargé, l'API REST absente (/accountancy/*→ 404), et le dictionnaire des types de charges sans code comptable. À reprendre dans #86.Deux bugs de ma main, trouvés en répétition
recordSocialCharge.tsporte le même défaut, latent : ses libellés diffèrent avant le 24ᵉ caractère, aujourd'hui seulement.set -- $m, qui ne découpe pas les mots en zsh : la date devenait2026--. Le script a correctement refusé d'écrire.Ce que le run gated apprend
Conservé sous
fleet/harness/runs/avecABANDONNE.md. Il documente ce que le harness a vu — et surtout ce qu'il n'a pas vu :prod-writeexclut délibérément le droit 122 « Créer/modifier les tiers ». La production n'a rien reçu./variouspaymentsrépond « API not found » : le pipeline gated, qui parle REST, ne pouvait pas porter la bonne opération. Sa couverture est plus étroite qu'elle en a l'air, et le choix de l'instrument comptable décide de la voie disponible.Le script garde la discipline — répétition sandbox, relecture par la liste, opt-in production explicite — sans le juge ni l'artefact de gate, comme
recordSocialCharge.ts.Vérifications
deno check test/recordVariousPayment.ts→ OKReste ouvert
L'indemnité est un revenu BNC pour le gérant (BOI-RFPI-CHAMP-10-30 § 80). L'inscription au compte courant vaut-elle encaissement au sens du BNC, qui est un régime de trésorerie ? Expert-comptable ; sans incidence sur les écritures de la société.
🤖 Generated with Claude Code
La convention annexée aux statuts (annexe 3) et la décision n°1 de l'associé unique du 09/01/2026 fixent une indemnité d'occupation de 220 EUR/mois pour un bureau de 10 m² dans le domicile du gérant. Elle n'a JAMAIS été ni versée ni comptabilisée : aucun tiers, aucune des 15 factures fournisseur, aucune ligne au grand livre bancaire. Change-set : un tiers « Radureau Gabriel » (FO0012) puis 7 factures fournisseur validées et réglées par inscription au compte courant d'associé (compte 3), sans mouvement de trésorerie — la voie adc-005. Janvier au PRORATA : la convention prend effet à sa signature, 23 jours sur 31 → 163,23 EUR. Total 1 483,23 EUR et non 1 540 : un mois plein aurait été légèrement généreux. Chaque facture porte en note le fondement complet et le calcul qui justifie le forfait — loyer 1 100 EUR, quote-part de surface 16,67 % → 183,33, charges réelles 12,53 au prorata, soit 195,87 de prorata strict contre 220 retenus (+12,3 %). La justification vit ainsi avec l'écriture, pas dans une note à part. Répétition sandbox : 8 opérations, 14 suites, toutes ok. Dates vérifiées en Europe/Paris — lues en UTC elles semblent reculées d'un jour, Dolibarr tronquant à minuit heure serveur. Compte courant : -429,75 → -1 912,98. Corrige un vrai défaut du pipeline découvert en route : quand une op échoue, {id} était remplacé par le DICTIONNAIRE D'ERREUR, l'URL devenait un JSON multiligne, urllib levait InvalidURL et l'étape mourait AVANT d'écrire son artefact — on perdait la preuve de l'échec qu'on venait de produire. Corrigé dans rehearse et dans apply, où --keep-going exposait la même faille en pleine écriture de production. Verdict pré-gate : BLOCK (mistral), au motif d'une numérotation non chronologique contraire au CGI art. 289. FAUX POSITIF, démontré sur la production : les factures FOURNISSEUR portent déjà 5 ruptures de chronologie, leur séquence suivant l'ordre d'enregistrement et non la date du document ; les factures ÉMISES, seules visées par l'art. 289, en comptent 0. Le juge a appliqué au registre des factures reçues une règle qui ne gouverne que celles émises. Sa recommandation de renumérotation casserait la piste d'audit fiable. Le gate humain n'est pas franchi : rien n'est écrit en production. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>Appliqué en production : 7 écritures, 1 483,23 EUR, compte courant d'associé porté de -429,75 à -1 912,98. Grand livre auxiliaire intact — 12 tiers, 15 factures fournisseur, inchangés. La première approche créait un tiers fournisseur « Radureau Gabriel » et lui adressait 7 factures. C'était faux : le gérant n'est pas un fournisseur de sa société, et lui ouvrir une fiche l'aurait fait apparaître au grand livre auxiliaire, dans les balances âgées et les états de dettes fournisseurs — l'objection exacte déjà opposée à l'URSSAF dans RUNBOOK_charges_sociales.md, que j'ai reproduite en la contredisant. L'existant le disait pourtant : les 8 dettes déjà portées au compte courant sont toutes des factures de fournisseurs RÉELS payées personnellement, le tiers n'étant jamais le gérant. Le modèle correct est direct. Le compte bancaire CCA1 (id 3) porte le numéro comptable 45511 et son propre journal ; un paiement divers en sens débit, code 613000 Locations, produit débit 613000 Locations (la charge) crédit 45511 G. RADUREAU, compte courant (la dette envers l'associé) Correction au passage : le plan comptable EST chargé (358 comptes, dont un 455110 dédié au compte courant du gérant). adc-009 affirme « module comptabilité pas déployé » en confondant trois choses — le plan chargé, l'API REST absente, et le dictionnaire des types de charges sans code comptable. Deux bugs de ma main, trouvés en répétition : - l'idempotence comparait les 24 PREMIERS CARACTÈRES du libellé, or « Indemnité d'occupation — » en fait exactement 24 : mars reconnaissait février et se déclarait déjà enregistré. Six mois silencieusement sautés. On compare désormais le libellé entier, avec tolérance à la troncature « … » de Dolibarr. recordSocialCharge.ts porte le même défaut, latent : ses libellés diffèrent avant le 24e caractère, aujourd'hui seulement. - une boucle shell utilisait `set -- $m`, qui ne découpe pas les mots en zsh : la date devenait « 2026-- ». Le script a correctement refusé d'écrire. /variouspayments répond « API not found » : le pipeline gated, qui parle REST, ne peut pas porter cette opération — comme pour les charges sociales. Le script en garde la discipline (répétition sandbox, relecture par la liste, opt-in production explicite) sans le juge ni l'artefact de gate. Le run gated abandonné est conservé sous fleet/harness/runs/ avec ABANDONNE.md : il documente ce que le harness a vu, et surtout ce qu'il n'a pas vu. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>WIP: feat(erp): indemnité d'occupation janv→juil 2026 (1 483,23 €) — au gate humainto feat(erp): indemnité d'occupation janv→juil 2026 (1 483,23 €) — paiements divers, sans tiers