54 lines
2.3 KiB
Markdown
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.
|