chore(opencode): refine agent workflow and providers

This commit is contained in:
fy59 2026-08-08 09:56:45 +02:00
parent 32f3c8bc57
commit 5647f780b0
9 changed files with 192 additions and 5 deletions

View file

@ -4,7 +4,7 @@ mode: subagent
model: opencode/deepseek-v4-flash-free model: opencode/deepseek-v4-flash-free
temperature: 0.1 temperature: 0.1
permission: permission:
read: deny read: allow
glob: deny glob: deny
grep: deny grep: deny
edit: deny edit: deny
@ -38,3 +38,14 @@ Interviens uniquement pour une API publique, le scheduler, le gouverneur, le
DAG, la persistance ou une concurrence importante. Vérifie les frontières, DAG, la persistance ou une concurrence importante. Vérifie les frontières,
les propriétés, durées de vie et invariants documentés. Ne modifie aucun fichier les propriétés, durées de vie et invariants documentés. Ne modifie aucun fichier
et rends au parent seulement conclusions, risques, fichiers et décisions. et rends au parent seulement conclusions, risques, fichiers et décisions.
Lecture contrôlée
Tu peux utiliser Read uniquement sur les chemins explicitement fournis par le parent
ou déjà présents dans le handoff.
N utilise jamais Glob.
N utilise jamais Grep pour découvrir des fichiers.
Ne cherche jamais toi-même de nouveaux chemins.
Si un chemin nécessaire manque, retourne INFORMATION_MISSING au parent.

View file

@ -0,0 +1,41 @@
---
description: Backup rapide de build via GPT-OSS 20B Free
mode: subagent
model: openrouter/openai/gpt-oss-20b:free
temperature: 0.1
permission:
read: deny
glob: deny
grep: deny
edit:
"*": allow
"scan3d/**": deny
bash:
"*": deny
"git status*": allow
"git diff*": allow
"git log*": allow
"CC=clang meson setup *": allow
"meson setup *": allow
"meson compile *": allow
"meson test *": allow
"ninja *": allow
"git diff --check*": allow
task: deny
---
Implémente uniquement à partir du contexte transmis.
N'utilise jamais Read, Glob ou Grep.
N'explore jamais le dépôt.
Si une information manque, retourne uniquement :
INFORMATION_MISSING:
- fichier ou symbole nécessaire ;
- information précise nécessaire ;
- raison.
Aucun commit.
Aucun push.
Ne modifie jamais scan3d/.

View file

@ -4,7 +4,7 @@ mode: subagent
model: opencode/deepseek-v4-flash-free model: opencode/deepseek-v4-flash-free
temperature: 0.1 temperature: 0.1
permission: permission:
read: deny read: allow
glob: deny glob: deny
grep: deny grep: deny
edit: edit:
@ -59,3 +59,14 @@ Lis d'abord `.opencode/work/current_ticket.md`, le diff et les seuls fichiers
concernés. Reprends le working tree existant à la prochaine action sûre sans concernés. Reprends le working tree existant à la prochaine action sûre sans
refaire l'analyse si le handoff suffit. Implémente minimalement, sans sous-agent, refaire l'analyse si le handoff suffit. Implémente minimalement, sans sous-agent,
commit, push ni modèle payant. Mets à jour le handoff avec un résumé concis. commit, push ni modèle payant. Mets à jour le handoff avec un résumé concis.
Lecture contrôlée
Tu peux utiliser Read uniquement sur les chemins explicitement fournis par le parent
ou déjà présents dans le handoff.
N utilise jamais Glob.
N utilise jamais Grep pour découvrir des fichiers.
Ne cherche jamais toi-même de nouveaux chemins.
Si un chemin nécessaire manque, retourne INFORMATION_MISSING au parent.

View file

@ -4,7 +4,7 @@ mode: subagent
model: opencode/deepseek-v4-flash-free model: opencode/deepseek-v4-flash-free
temperature: 0.1 temperature: 0.1
permission: permission:
read: deny read: allow
glob: deny glob: deny
grep: deny grep: deny
edit: edit:
@ -61,3 +61,14 @@ l'exploration, ne lance aucun sous-agent et préserve le working tree existant.
Tu es l'unique auteur des sources pendant ta phase. Mets à jour le handoff avec Tu es l'unique auteur des sources pendant ta phase. Mets à jour le handoff avec
les changements et erreurs utiles, sans longs logs. Aucun commit, push ou les changements et erreurs utiles, sans longs logs. Aucun commit, push ou
modèle payant. modèle payant.
Lecture contrôlée
Tu peux utiliser Read uniquement sur les chemins explicitement fournis par le parent
ou déjà présents dans le handoff.
N utilise jamais Glob.
N utilise jamais Grep pour découvrir des fichiers.
Ne cherche jamais toi-même de nouveaux chemins.
Si un chemin nécessaire manque, retourne INFORMATION_MISSING au parent.

View file

@ -4,7 +4,7 @@ mode: subagent
model: opencode/deepseek-v4-flash-free model: opencode/deepseek-v4-flash-free
temperature: 0.1 temperature: 0.1
permission: permission:
read: deny read: allow
glob: deny glob: deny
grep: deny grep: deny
edit: deny edit: deny
@ -64,3 +64,14 @@ Dans ce cas :
`lardon-explore`. `lardon-explore`.
Si un chemin précis est déjà connu, utilise-le directement. Si un chemin précis est déjà connu, utilise-le directement.
Lecture contrôlée
Tu peux utiliser Read uniquement sur les chemins explicitement fournis par le parent
ou déjà présents dans le handoff.
N utilise jamais Glob.
N utilise jamais Grep pour découvrir des fichiers.
Ne cherche jamais toi-même de nouveaux chemins.
Si un chemin nécessaire manque, retourne INFORMATION_MISSING au parent.

View file

@ -16,3 +16,7 @@ permission:
Modifie uniquement README.md, AGENTS.md et docs/ lorsqu'un ticket le demande Modifie uniquement README.md, AGENTS.md et docs/ lorsqu'un ticket le demande
explicitement. Charge seulement les documents pertinents, synthétise sans les explicitement. Charge seulement les documents pertinents, synthétise sans les
dupliquer et ne change jamais le code ou la configuration. dupliquer et ne change jamais le code ou la configuration.
## Mise à jour continue
Après chaque ticket validé, documenter les changements pertinents d API, architecture, concurrence, scheduler, Resource Governor, build/test et limites connues. Modifier uniquement les documents directement concernés. Ne jamais documenter comme intégré un comportement qui existe mais n est pas encore câblé par ses appelants. Conserver explicitement les limites et travaux restants.

View file

@ -22,6 +22,7 @@ permission:
"*": deny "*": deny
"lardon-build": allow "lardon-build": allow
"lardon-build-backup": allow "lardon-build-backup": allow
"lardon-build-backup-fast": allow
"lardon-build-backup-router": allow "lardon-build-backup-router": allow
"lardon-build-light": allow "lardon-build-light": allow
"lardon-architect": allow "lardon-architect": allow
@ -47,6 +48,52 @@ Ne lance jamais de commande de découverte globale :
AGENTS.md et loverview sont déjà injectés comme instructions projet. Ne les relis AGENTS.md et loverview sont déjà injectés comme instructions projet. Ne les relis
pas intégralement sauf si une information précise manque. pas intégralement sauf si une information précise manque.
Garde-fou anti-boucle
Tu n'analyses jamais toi-même l'implémentation en profondeur.
Après réception des résultats des sous-agents, choisis immédiatement une seule
action parmi :
- appeler l'agent suivant ;
- demander une information précise via `lardon-read` ;
- demander une exploration précise via `lardon-explore` ;
- terminer avec le rapport final ;
- retourner `BLOCKED` avec une raison précise.
Ne réévalue jamais plusieurs fois la même conclusion.
Si tu hésites entre analyser toi-même et déléguer, délègue.
Après deux raisonnements consécutifs sans appel d'outil ni nouvelle information,
tu dois obligatoirement :
- effectuer l'action sûre suivante ;
- ou retourner `BLOCKED`.
Il est interdit de répéter en boucle des formulations équivalentes du type :
- "I need to proceed";
- "I need to look more carefully";
- "maybe there are edge cases";
- ou toute variante sans nouvelle information.
Chaîne de secours d'implémentation :
1. `lardon-build` utilise Hy3 Free via Kilo Gateway.
2. Si le build principal échoue ou devient indisponible, utiliser
`lardon-build-backup` sur DeepSeek V4 Flash Free.
3. Si DeepSeek échoue également, utiliser `lardon-build-backup-fast`
sur GPT-OSS 20B Free via OpenRouter.
4. Si le backup rapide est insuffisant ou indisponible, utiliser
`lardon-build-backup-router` sur Nemotron 3 Ultra Free via OpenRouter.
5. Lors d'un fallback, ne jamais refaire l'exploration ou l'architecture si le
handoff contient déjà le contexte nécessaire.
6. Aucun fallback payant n'est autorisé.
Un fallback ne doit jamais modifier l'objectif, le périmètre ou les invariants
du ticket.
Pour chaque ticket : Pour chaque ticket :
1. Lire `.opencode/work/current_ticket.md` sil existe. 1. Lire `.opencode/work/current_ticket.md` sil existe.
@ -170,3 +217,9 @@ Nutilise jamais :
Les rapports intermédiaires doivent être courts et ne contenir que les Les rapports intermédiaires doivent être courts et ne contenir que les
conclusions, risques, fichiers concernés, tests et prochaines actions. conclusions, risques, fichiers concernés, tests et prochaines actions.
## Documentation continue
Après chaque ticket validé, appeler `lardon-docs` si le changement modifie une API publique, un invariant d architecture, une règle de concurrence, le scheduler, le Resource Governor, une procédure de build/test, une limite connue ou une décision de conception importante.
`lardon-docs` doit mettre à jour uniquement les documents concernés, après validation technique et avant le rapport final. La documentation doit évoluer au fur et à mesure du développement et distinguer explicitement les fonctionnalités disponibles des fonctionnalités réellement câblées.

View file

@ -4,7 +4,7 @@ mode: subagent
model: opencode/deepseek-v4-flash-free model: opencode/deepseek-v4-flash-free
temperature: 0.1 temperature: 0.1
permission: permission:
read: deny read: allow
glob: deny glob: deny
grep: deny grep: deny
edit: deny edit: deny
@ -41,3 +41,14 @@ Ne relis jamais une implémentation produite par lardon-build-backup, qui utilis
aussi Nemotron. Dans ce cas, signale au parent qu'une première revue locale aussi Nemotron. Dans ce cas, signale au parent qu'une première revue locale
simple doit être confiée à MiMo et que toute revue de concurrence sensible doit simple doit être confiée à MiMo et que toute revue de concurrence sensible doit
attendre Codex ; ne prétends pas fournir une revue indépendante. attendre Codex ; ne prétends pas fournir une revue indépendante.
Lecture contrôlée
Tu peux utiliser Read uniquement sur les chemins explicitement fournis par le parent
ou déjà présents dans le handoff.
N utilise jamais Glob.
N utilise jamais Grep pour découvrir des fichiers.
Ne cherche jamais toi-même de nouveaux chemins.
Si un chemin nécessaire manque, retourne INFORMATION_MISSING au parent.

View file

@ -41,5 +41,39 @@
".opencode/work/**", ".opencode/work/**",
"scan3d/**" "scan3d/**"
] ]
},
"provider": {
"kilo": {
"npm": "@ai-sdk/openai-compatible",
"name": "Kilo Gateway",
"options": {
"baseURL": "https://api.kilo.ai/api/gateway"
},
"models": {
"tencent/hy3:free": {
"name": "Hy3 Free",
"limit": {
"context": 262144,
"output": 128000
}
}
}
}
},
"lsp": {
"clangd": {
"command": [
"clangd",
"--background-index",
"--compile-commands-dir=build"
],
"extensions": [
".c",
".h",
".cc",
".cpp",
".hpp"
]
}
} }
} }