2.7 KiB
issueRef, version, updatedBy, updatedAt
| issueRef | version | updatedBy | updatedAt | ||||
|---|---|---|---|---|---|---|---|
| #253 | 4 |
|
1787552434207 |
Git — décision de branche (2026-08-24)
- Branche de travail :
fix/253-opencode-tests-parallel-flakiness(créée et checkout, base = tip developf303cc1, inclut le merge #2524553e5d— lignage exact où le flakiness a été observé). - DevBackend : corrections sur cette branche (timeouts, fixtures
sleep, isolation des tests à timing danscrates/infrastructure/src/session/opencode.rs). Commits :test(opencode): …(oufix(opencode): …si du code produit est touché)— #253. Sans dégrader la couverture : les scénarios restent, seule la fiabilité change. - QA : preuve = sérialisé toujours vert (
--test-threads=1) ET exécution parallèle verte sur ≥5 runs consécutifs decargo test -p infrastructure --lib session::opencode(le mode par défaut, celui qui flake). Consigner runs et sortie réelle dans ce carnet. - Interdits : aucun push distant ; pas de merge/rebase vers
developsans l'agent Git. Fusion locale décidée par Git après QA verte. scripts/restart-idea-over-ssh.shreste non suivi — ne pas le committer.- Contexte : symptômes initiaux documentés dans le carnet #252 (section « Signalement QA » du 2026-08-24).
Git — commits, merge et tag de build (2026-08-24, QA verte vérifiée)
Commits sur fix/253-opencode-tests-parallel-flakiness :
cd70a3ctest(opencode): fiabilisation de la suite en parallèle — écriture atomique des fixtures, gates par fichier au lieu de sleep, runtime dédié par test, timeout 5s — #253 (QA verte)c05b671chore(tickets): synchro du store local — carnet et statut #253
Merge local : effectué — d9af4b5 merge(opencode) --no-ff dans develop.
Tag de build AppImage : v0.33.0 (annoté) sur le commit de merge d9af4b5 — build sur develop → incrément de y (dernier tag v0.32.0). Branche finale de build : develop @ d9af4b5. Aucun push (branche, tag, tout reste local).
Re-vérification indépendante par Git avant merge : 3 runs parallèles + 1 run sériel (--test-threads=1) de cargo test -p infrastructure session::opencode → 21 passed partout ; durée de la suite passée de ~1 s à ~0,06 s (suppression des sleep au profit de gates par fichier). Stratégie retenue (par DevBackend, validée par Git) : écriture atomique des scripts fixtures (tmp+fsync+rename), synchronisation déterministe par fichier de release au lieu de sleep, exécution des fixtures via sh <script>, runtime tokio dédié par test au lieu du runtime partagé #[tokio::test], timeout d'événements live porté à 5 s (LIVE_EVENT_TIMEOUT). Couverture inchangée — mêmes 21 scénarios.