chore(opencode): refine agent workflow and providers
This commit is contained in:
parent
32f3c8bc57
commit
5647f780b0
9 changed files with 192 additions and 5 deletions
|
|
@ -4,7 +4,7 @@ mode: subagent
|
|||
model: opencode/deepseek-v4-flash-free
|
||||
temperature: 0.1
|
||||
permission:
|
||||
read: deny
|
||||
read: allow
|
||||
glob: deny
|
||||
grep: 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,
|
||||
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.
|
||||
|
||||
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.
|
||||
|
|
|
|||
41
.opencode/agents/lardon-build-backup-fast.md
Normal file
41
.opencode/agents/lardon-build-backup-fast.md
Normal 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/.
|
||||
|
|
@ -4,7 +4,7 @@ mode: subagent
|
|||
model: opencode/deepseek-v4-flash-free
|
||||
temperature: 0.1
|
||||
permission:
|
||||
read: deny
|
||||
read: allow
|
||||
glob: deny
|
||||
grep: deny
|
||||
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
|
||||
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.
|
||||
|
||||
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.
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ mode: subagent
|
|||
model: opencode/deepseek-v4-flash-free
|
||||
temperature: 0.1
|
||||
permission:
|
||||
read: deny
|
||||
read: allow
|
||||
glob: deny
|
||||
grep: deny
|
||||
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
|
||||
les changements et erreurs utiles, sans longs logs. Aucun commit, push ou
|
||||
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.
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ mode: subagent
|
|||
model: opencode/deepseek-v4-flash-free
|
||||
temperature: 0.1
|
||||
permission:
|
||||
read: deny
|
||||
read: allow
|
||||
glob: deny
|
||||
grep: deny
|
||||
edit: deny
|
||||
|
|
@ -64,3 +64,14 @@ Dans ce cas :
|
|||
`lardon-explore`.
|
||||
|
||||
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.
|
||||
|
|
|
|||
|
|
@ -16,3 +16,7 @@ permission:
|
|||
Modifie uniquement README.md, AGENTS.md et docs/ lorsqu'un ticket le demande
|
||||
explicitement. Charge seulement les documents pertinents, synthétise sans les
|
||||
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.
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ permission:
|
|||
"*": deny
|
||||
"lardon-build": allow
|
||||
"lardon-build-backup": allow
|
||||
"lardon-build-backup-fast": allow
|
||||
"lardon-build-backup-router": allow
|
||||
"lardon-build-light": allow
|
||||
"lardon-architect": allow
|
||||
|
|
@ -47,6 +48,52 @@ Ne lance jamais de commande de découverte globale :
|
|||
AGENTS.md et l’overview sont déjà injectés comme instructions projet. Ne les relis
|
||||
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 :
|
||||
|
||||
1. Lire `.opencode/work/current_ticket.md` s’il existe.
|
||||
|
|
@ -170,3 +217,9 @@ N’utilise jamais :
|
|||
|
||||
Les rapports intermédiaires doivent être courts et ne contenir que les
|
||||
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.
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ mode: subagent
|
|||
model: opencode/deepseek-v4-flash-free
|
||||
temperature: 0.1
|
||||
permission:
|
||||
read: deny
|
||||
read: allow
|
||||
glob: deny
|
||||
grep: 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
|
||||
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.
|
||||
|
||||
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.
|
||||
|
|
|
|||
|
|
@ -41,5 +41,39 @@
|
|||
".opencode/work/**",
|
||||
"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"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue