2.3 KiB
Lardon3D — contexte OpenCode durable
Lardon3D est un moteur de photogrammétrie C17, Clang/Meson, persistant et reprenable. La stabilité du système, les ressources bornées, les publications atomiques et la réactivité de la TUI priment sur le débit.
Invariants
- ncurses appartient au thread principal ; le layout ne modifie aucun état.
- Le Resource Governor décide des ressources ; le scheduler applique son contrat sans le réinterpréter.
- Aucun callback sans estimation immuable et réservation active.
- Une seule écriture de production et une seule validation lourde à la fois.
- Aucun commit, push, nettoyage massif ou modification de
scan3d/. - Préserver tout changement existant hors ticket.
Long run
ocaway exporte LARDON_OPENCODE_LONG_RUN=1 et lance OpenCode avec
auto-approbation des opérations non explicitement interdites. Les interdictions
configurées restent absolues.
Le ticket courant vit dans .opencode/work/current_ticket.md. Chaque phase
majeure actualise décisions, fichiers, tests, échecs et travail restant. Une
session qui approche de sa limite crée aussi .opencode/work/handoff.md et
termine par NEXT SESSION START HERE.
Validation
Ordre obligatoire : test ciblé, build normal, tests normaux, ASan/UBSan si pertinent, TSan si pertinent, stress, seconde revue, concurrence si concernée, documentation, corrections, revalidation ciblée. Un timeout est un échec à investiguer, jamais un PASS.
La machine cible possède 16 CPU logiques et 14 GiB de RAM ; -j8 est la limite
normale. Ne jamais lancer normal, ASan et TSan en parallèle.
Sorties et contexte
Filtrer les sorties volumineuses. Les sous-agents rendent seulement statut, conclusions, risques, fichiers, erreur ciblée et prochaine action. Ne pas copier de longs logs, sources ou diffs dans la conversation ou le handoff.
Modèles
- Orchestration, lecture, tests, documentation et fallback :
opencode/mimo-v2.5-free. - Architecture, implémentation, concurrence et revue :
opencode/deepseek-v4-flash-free.
Ces identifiants sont présents dans le catalogue OpenCode 1.18.15 de la machine. Après deux erreurs identiques du build DeepSeek, utiliser une seule fois le fallback MiMo à partir du handoff. Après un troisième échec identique, consigner le blocage ; ne jamais sélectionner implicitement un modèle payant ou inconnu.