--- issueRef: "#253" version: 4 updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} updatedAt: 1787552434207 --- # Git — décision de branche (2026-08-24) - Branche de travail : `fix/253-opencode-tests-parallel-flakiness` (créée et checkout, base = tip develop `f303cc1`, inclut le merge #252 `4553e5d` — lignage exact où le flakiness a été observé). - DevBackend : corrections sur cette branche (timeouts, fixtures `sleep`, isolation des tests à timing dans `crates/infrastructure/src/session/opencode.rs`). Commits : `test(opencode): …` (ou `fix(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 de `cargo 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 `develop` sans l'agent Git. Fusion locale décidée par Git après QA verte. - `scripts/restart-idea-over-ssh.sh` reste 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` : - `cd70a3c` test(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) - `c05b671` chore(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