Files
html/wiki/session-opus-2026-04-16-1700-helper-writesafe.md

1.9 KiB

Session Opus 2026-04-16 17:00 — Helper opus_write_safe + Fullscan Fail

Acquis

  1. Helper opus_write_safe() ajouté dans wevia-ops.php (+3643B). Gère en une fonction : chattr -i/+i, file_put_contents + sudo cp fallback si owned root, chmod +x optionnel, vérification marker post-write (strpos check). Retourne ['ok', 'bytes', 'md5', 'via', 'marker_ok'].
  2. Fullscan L99 1 fail localisé : cyber-monitor HTTP 500 transitoire à 16:09:50 (lu depuis /opt/weval-l99/l99-fullscan-state.json). Vérifié 17:00 : retourne 200 OK (auto-recovery). Pas de fix nécessaire, juste attendre le prochain fullscan run.
  3. archi_load Playwright timeout : La page architecture.html (ou route goto) timeout à 60s. Dans le fullscan L99 architecture: pass=true, 1910 elements donc la page elle-même fonctionne. Le test Playwright spécifique "archi_load" doit avoir une attente différente. À corriger au niveau du test Playwright (pas de la page).

Patches appliqués

  • wevia-ops.php v5 GOLD (wevia-ops.php.v5.GOLD)
  • Helper opus_write_safe() défini avant le switch, disponible pour toutes actions futures
  • Lint OK, SIZE 78607B, HAS helper YES

Pattern récurrent résolu

Tous les patches précédents sur fichiers root-owned (wevia-ops.php, wevia-opus-intents.php, wevia-master-api.php) nécessitaient un file_put_contents + sudo cp fallback + verification strpos. Désormais : $r = opus_write_safe($path, $content, 'MARKER'); if (!$r['ok']) ....

Restants

  • Refactorer file_create action pour utiliser opus_write_safe() (dogfood)
  • Phase 5 DeepSeek screenshot fallback 1088 défectueux cartographie
  • archi_load Playwright (fix test script, pas la page)
  • Gitea auth 401 (sync section 14 selfmanage pas encore effectif — attend minute <6 horaire)

Doctrine tenue

Zéro régression : NonReg stable 153/153. Pas d'écrasement écran existant. Helper est addition pure.