mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-12 01:37:06 +02:00
Mode Code : git sur le dépôt cloné, budget de build, sous-agents moins rigides
Trois trous relevés en comparant avec OpenFox. - git_status / git_diff tournaient à la racine de la discussion, qui n'est souvent pas un dépôt : git_clone range le projet dans un sous-dossier, et le vérificateur — dont la consigne commence par git_diff — tombait sur « not a git repository ». Ils visent maintenant le sous-dossier demandé (dir), la racine si c'est un dépôt, sinon l'unique dépôt présent ; plusieurs : on demande de choisir. - Budget d'outils triplé en mode Code : lire, éditer, compiler, relancer les tests dépasse vite 24 appels sans tourner en rond, et le troisième rappel (« n'appelle plus d'outil ») coupait le build au milieu. - Sous-agents : température 0.6 au lieu de 0 (en glouton, Qwen avec réflexion boucle vite ; le TEMP du preset l'emporte toujours), et seul le texte écrit après le dernier outil revient au builder. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
2e0356cd6c
commit
dfafca6fb2
5 files changed
+104
-8
No files matched your search
@@ -157,3 +157,28 @@ func TestEditCRLFMultiligne(t *testing.T) {
|
||||
t.Fatalf("résultat inattendu : %q", b)
|
||||
}
|
||||
}
|
||||
|
||||
// git_status / git_diff trouvent le dépôt cloné dans un sous-dossier de la
|
||||
// discussion, et demandent de choisir quand il y en a plusieurs.
|
||||
func TestGitRepoDirDetecteLeClone(t *testing.T) {
|
||||
ws := withWorkspace(t)
|
||||
if d, err := gitRepoDir(""); err != nil || d != agentCwd() {
|
||||
t.Fatalf("sans dépôt : %q, %v", d, err)
|
||||
}
|
||||
if err := os.MkdirAll(filepath.Join(agentCwd(), "projet", ".git"), 0o755); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if d, err := gitRepoDir(""); err != nil || filepath.Base(d) != "projet" {
|
||||
t.Fatalf("un clone : %q, %v (ws %s)", d, err, ws)
|
||||
}
|
||||
_ = os.MkdirAll(filepath.Join(agentCwd(), "autre", ".git"), 0o755)
|
||||
if _, err := gitRepoDir(""); err == nil {
|
||||
t.Fatal("deux dépôts : il fallait demander dir")
|
||||
}
|
||||
if d, err := gitRepoDir("autre"); err != nil || filepath.Base(d) != "autre" {
|
||||
t.Fatalf("dir explicite : %q, %v", d, err)
|
||||
}
|
||||
if _, err := gitRepoDir("../dehors"); err == nil {
|
||||
t.Fatal("dir hors de la discussion accepté")
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user