lardon3d/.opencode/context.md
2026-08-09 00:34:51 +02:00

54 lines
2.3 KiB
Markdown

# 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.