FOXA-2542 : un push vide sans jeton ne supprime plus les collections #102

Merged
foXaCe merged 1 commit from passe-20260930-192605-4599e744 into main 2026-09-30 21:27:28 +02:00
Owner

Résumé

FOXA-2542 : un push vide sans jeton ne supprime plus les collections

  • 4599e74 FOXA-2542 : un push vide sans jeton ne supprime plus les collections

Pourquoi

FOXA-2542 — le motif complet est dans le ticket, et dans le message du ou des commits ci-dessus.

Ce qui a été mesuré

Porte jouée par la forge, pas sur le poste. « Porte / porte* » est le seul contexte qu'exige la protection de « main » : la fusion attend son vert et ne le contourne pas.

Livrée par livrer-passe.sh depuis le worktree /home/agent/multica_workspaces/foxace-lab-f4e3a862d1f3/foxa-2542-22b66e3c1280/workdir/backend, tête 4599e744.

## Résumé FOXA-2542 : un push vide sans jeton ne supprime plus les collections - 4599e74 FOXA-2542 : un push vide sans jeton ne supprime plus les collections ## Pourquoi FOXA-2542 — le motif complet est dans le ticket, et dans le message du ou des commits ci-dessus. ## Ce qui a été mesuré Porte jouée par la forge, pas sur le poste. « Porte / porte* » est le seul contexte qu'exige la protection de « main » : la fusion attend son vert et ne le contourne pas. Livrée par livrer-passe.sh depuis le worktree /home/agent/multica_workspaces/foxace-lab-f4e3a862d1f3/foxa-2542-22b66e3c1280/workdir/backend, tête 4599e744.
FOXA-2542 : un push vide sans jeton ne supprime plus les collections
All checks were successful
Porte / porte (pull_request) Successful in 1m19s
4599e744db
Le 2026-09-28 à 19 h 48, un NuvioTV 1.0.316 a rejoué le semeur du miroir sur un
magasin local vide et poussé `[]` SANS `p_expected_version` : les 13 collections
du profil 1 sont devenues une liste vide. La garde de la 008 ne pouvait rien
voir — `null` y signifie « pas de vérification », et c'est précisément ce qu'envoie
un client qui n'a rien à comparer.

La migration 103 repose `sync_push_collections` (signature, retour, grants
inchangés) avec une garde en plus : tableau vide ET `p_expected_version IS NULL`
ET la ligne existe ET elle porte au moins une collection => `conflict` AVEC le
contenu courant, pour que le client fusionne au lieu d'effacer.

Deux cas ne sont volontairement pas durcis : `[]` avec le jeton qui correspond
(effacement voulu) et une ligne déjà vide ou inexistante. Un client 1.0.316
rejoue le semeur : il doit récupérer son contenu, pas être puni.

Garde de banc : le test applique les migrations dans leur ordre, récupère le
corps en vigueur de la fonction, en extrait les gardes et les ÉVALUE sur le décor
du 28 septembre. Avant la 103 il rend `ok` — le défaut, rouge.
foXaCe scheduled this pull request to auto merge when all checks succeed 2026-09-30 21:26:08 +02:00
foXaCe merged commit 448ba2f35f into main 2026-09-30 21:27:28 +02:00
foXaCe deleted branch passe-20260930-192605-4599e744 2026-09-30 21:27:29 +02:00
Sign in to join this conversation.
No reviewers
No labels
montee-majeure
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
foXaCe/backend!102
No description provided.