mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-18 20:57:05 +02:00
L'outil par lequel le modèle tient les critères d'acceptation de sa tâche (poser, marquer faits, lister, effacer) partait au Go, qui renvoyait la liste à la façade comme delta. Il s'exécute maintenant dans le tour de la façade (chat/crittool.rs, port de toolCriteria) : mêmes messages, ids en nombre ou en chaîne, vingt critères au plus, `passed` réservé à la passe de vérification, rangement scellé (chat/crit:<id>), liste poussée à l'écran à chaque changement par un nouveau champ `deltas` de l'hôte du tour. Les critères sont rangés sous la discussion du tour (le Go prenait la discussion active : elles ne diffèrent que si l'utilisateur en change pendant la génération). see_image reste au Go (préparation de l'image). Parité : journal de 22 appels tiré du Go (parity_criteria_test.go → tests/parity_tools/criteria.json), rejoué par tests/tools.rs ; le contrat du mode Code de tests/lot6.rs est désormais vérifié par la façade seule. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016tcGfJWefW5kUGoC2wL8cv
649 lines
12 KiB
JSON
649 lines
12 KiB
JSON
[
|
|
{
|
|
"name": "liste vide",
|
|
"args": {
|
|
"action": "list"
|
|
},
|
|
"out": "[aucun critère]",
|
|
"stored": null
|
|
},
|
|
{
|
|
"name": "action absente : liste",
|
|
"args": {},
|
|
"out": "[aucun critère]",
|
|
"stored": null
|
|
},
|
|
{
|
|
"name": "action d'un autre type",
|
|
"args": {
|
|
"action": 3
|
|
},
|
|
"out": "[aucun critère]",
|
|
"stored": null
|
|
},
|
|
{
|
|
"name": "ajout sans textes",
|
|
"args": {
|
|
"action": "add"
|
|
},
|
|
"out": "[erreur] aucun critère fourni (texts)",
|
|
"stored": null
|
|
},
|
|
{
|
|
"name": "ajout de textes vides ou d'un autre type",
|
|
"args": {
|
|
"action": "add",
|
|
"texts": [
|
|
" ",
|
|
4,
|
|
null
|
|
]
|
|
},
|
|
"out": "[erreur] aucun critère fourni (texts)",
|
|
"stored": null
|
|
},
|
|
{
|
|
"name": "ajout",
|
|
"args": {
|
|
"action": "add",
|
|
"texts": [
|
|
" les tests passent ",
|
|
"la doc \u003cà jour\u003e \u0026 relue",
|
|
""
|
|
]
|
|
},
|
|
"out": "[ok] 2 critère(s) ajouté(s)\n[ ] #1 les tests passent\n[ ] #2 la doc \u003cà jour\u003e \u0026 relue",
|
|
"stored": [
|
|
{
|
|
"id": 1,
|
|
"status": "pending",
|
|
"text": "les tests passent"
|
|
},
|
|
{
|
|
"id": 2,
|
|
"status": "pending",
|
|
"text": "la doc \u003cà jour\u003e \u0026 relue"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "ajout à la suite",
|
|
"args": {
|
|
"action": "add",
|
|
"texts": [
|
|
"pas de régression"
|
|
]
|
|
},
|
|
"out": "[ok] 1 critère(s) ajouté(s)\n[ ] #1 les tests passent\n[ ] #2 la doc \u003cà jour\u003e \u0026 relue\n[ ] #3 pas de régression",
|
|
"stored": [
|
|
{
|
|
"id": 1,
|
|
"status": "pending",
|
|
"text": "les tests passent"
|
|
},
|
|
{
|
|
"id": 2,
|
|
"status": "pending",
|
|
"text": "la doc \u003cà jour\u003e \u0026 relue"
|
|
},
|
|
{
|
|
"id": 3,
|
|
"status": "pending",
|
|
"text": "pas de régression"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "le builder dit fait",
|
|
"args": {
|
|
"action": "set",
|
|
"id": 1,
|
|
"status": "completed",
|
|
"note": " vérifié à la main "
|
|
},
|
|
"out": "[ok] critère #1 → completed",
|
|
"stored": [
|
|
{
|
|
"id": 1,
|
|
"note": "vérifié à la main",
|
|
"status": "completed",
|
|
"text": "les tests passent"
|
|
},
|
|
{
|
|
"id": 2,
|
|
"status": "pending",
|
|
"text": "la doc \u003cà jour\u003e \u0026 relue"
|
|
},
|
|
{
|
|
"id": 3,
|
|
"status": "pending",
|
|
"text": "pas de régression"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "le builder ne valide pas",
|
|
"args": {
|
|
"action": "set",
|
|
"id": 1,
|
|
"status": "passed"
|
|
},
|
|
"out": "[refusé] Seule la passe de vérification peut marquer un critère passed. Termine ton implémentation ; la vérification suivra.",
|
|
"stored": [
|
|
{
|
|
"id": 1,
|
|
"note": "vérifié à la main",
|
|
"status": "completed",
|
|
"text": "les tests passent"
|
|
},
|
|
{
|
|
"id": 2,
|
|
"status": "pending",
|
|
"text": "la doc \u003cà jour\u003e \u0026 relue"
|
|
},
|
|
{
|
|
"id": 3,
|
|
"status": "pending",
|
|
"text": "pas de régression"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "id en chaîne avec #",
|
|
"verifier": true,
|
|
"args": {
|
|
"action": "set",
|
|
"id": " #2 ",
|
|
"status": "failed",
|
|
"note": "lien mort"
|
|
},
|
|
"out": "[ok] critère #2 → failed",
|
|
"stored": [
|
|
{
|
|
"id": 1,
|
|
"note": "vérifié à la main",
|
|
"status": "completed",
|
|
"text": "les tests passent"
|
|
},
|
|
{
|
|
"id": 2,
|
|
"note": "lien mort",
|
|
"status": "failed",
|
|
"text": "la doc \u003cà jour\u003e \u0026 relue"
|
|
},
|
|
{
|
|
"id": 3,
|
|
"status": "pending",
|
|
"text": "pas de régression"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "id en chaîne illisible",
|
|
"verifier": true,
|
|
"args": {
|
|
"action": "set",
|
|
"id": "deux",
|
|
"status": "passed"
|
|
},
|
|
"out": "[erreur] critère #0 inconnu",
|
|
"stored": [
|
|
{
|
|
"id": 1,
|
|
"note": "vérifié à la main",
|
|
"status": "completed",
|
|
"text": "les tests passent"
|
|
},
|
|
{
|
|
"id": 2,
|
|
"note": "lien mort",
|
|
"status": "failed",
|
|
"text": "la doc \u003cà jour\u003e \u0026 relue"
|
|
},
|
|
{
|
|
"id": 3,
|
|
"status": "pending",
|
|
"text": "pas de régression"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "id décimal tronqué",
|
|
"verifier": true,
|
|
"args": {
|
|
"action": "set",
|
|
"id": 3.9,
|
|
"status": "passed"
|
|
},
|
|
"out": "[ok] critère #3 → passed",
|
|
"stored": [
|
|
{
|
|
"id": 1,
|
|
"note": "vérifié à la main",
|
|
"status": "completed",
|
|
"text": "les tests passent"
|
|
},
|
|
{
|
|
"id": 2,
|
|
"note": "lien mort",
|
|
"status": "failed",
|
|
"text": "la doc \u003cà jour\u003e \u0026 relue"
|
|
},
|
|
{
|
|
"id": 3,
|
|
"status": "passed",
|
|
"text": "pas de régression"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "note seule",
|
|
"args": {
|
|
"action": "set",
|
|
"id": "+1",
|
|
"note": "revu"
|
|
},
|
|
"out": "[ok] critère #1 → completed",
|
|
"stored": [
|
|
{
|
|
"id": 1,
|
|
"note": "revu",
|
|
"status": "completed",
|
|
"text": "les tests passent"
|
|
},
|
|
{
|
|
"id": 2,
|
|
"note": "lien mort",
|
|
"status": "failed",
|
|
"text": "la doc \u003cà jour\u003e \u0026 relue"
|
|
},
|
|
{
|
|
"id": 3,
|
|
"status": "passed",
|
|
"text": "pas de régression"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "statut libre",
|
|
"args": {
|
|
"action": "set",
|
|
"id": 2,
|
|
"status": "bloqué"
|
|
},
|
|
"out": "[ok] critère #2 → bloqué",
|
|
"stored": [
|
|
{
|
|
"id": 1,
|
|
"note": "revu",
|
|
"status": "completed",
|
|
"text": "les tests passent"
|
|
},
|
|
{
|
|
"id": 2,
|
|
"note": "lien mort",
|
|
"status": "bloqué",
|
|
"text": "la doc \u003cà jour\u003e \u0026 relue"
|
|
},
|
|
{
|
|
"id": 3,
|
|
"status": "passed",
|
|
"text": "pas de régression"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "id inconnu",
|
|
"verifier": true,
|
|
"args": {
|
|
"action": "set",
|
|
"id": 9,
|
|
"status": "passed"
|
|
},
|
|
"out": "[erreur] critère #9 inconnu",
|
|
"stored": [
|
|
{
|
|
"id": 1,
|
|
"note": "revu",
|
|
"status": "completed",
|
|
"text": "les tests passent"
|
|
},
|
|
{
|
|
"id": 2,
|
|
"note": "lien mort",
|
|
"status": "bloqué",
|
|
"text": "la doc \u003cà jour\u003e \u0026 relue"
|
|
},
|
|
{
|
|
"id": 3,
|
|
"status": "passed",
|
|
"text": "pas de régression"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "liste",
|
|
"args": {
|
|
"action": "list"
|
|
},
|
|
"out": "[~] #1 les tests passent — revu\n[ ] #2 la doc \u003cà jour\u003e \u0026 relue — lien mort\n[✓] #3 pas de régression",
|
|
"stored": [
|
|
{
|
|
"id": 1,
|
|
"note": "revu",
|
|
"status": "completed",
|
|
"text": "les tests passent"
|
|
},
|
|
{
|
|
"id": 2,
|
|
"note": "lien mort",
|
|
"status": "bloqué",
|
|
"text": "la doc \u003cà jour\u003e \u0026 relue"
|
|
},
|
|
{
|
|
"id": 3,
|
|
"status": "passed",
|
|
"text": "pas de régression"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "action inconnue",
|
|
"args": {
|
|
"action": "reset"
|
|
},
|
|
"out": "[erreur] action inconnue : reset",
|
|
"stored": [
|
|
{
|
|
"id": 1,
|
|
"note": "revu",
|
|
"status": "completed",
|
|
"text": "les tests passent"
|
|
},
|
|
{
|
|
"id": 2,
|
|
"note": "lien mort",
|
|
"status": "bloqué",
|
|
"text": "la doc \u003cà jour\u003e \u0026 relue"
|
|
},
|
|
{
|
|
"id": 3,
|
|
"status": "passed",
|
|
"text": "pas de régression"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "effacer",
|
|
"args": {
|
|
"action": "clear"
|
|
},
|
|
"out": "[ok] critères effacés",
|
|
"stored": null
|
|
},
|
|
{
|
|
"name": "effacer à vide",
|
|
"args": {
|
|
"action": "clear"
|
|
},
|
|
"out": "[ok] critères effacés",
|
|
"stored": null
|
|
},
|
|
{
|
|
"name": "liste pleine",
|
|
"put": "[{\"id\":7,\"text\":\"a\",\"status\":\"passed\"},{\"id\":3,\"text\":\"b\",\"status\":\"pending\"}]",
|
|
"args": {
|
|
"action": "add",
|
|
"texts": [
|
|
"c",
|
|
"d",
|
|
"e",
|
|
"f",
|
|
"g",
|
|
"h",
|
|
"i",
|
|
"j",
|
|
"k",
|
|
"l",
|
|
"m",
|
|
"n",
|
|
"o",
|
|
"p",
|
|
"q",
|
|
"r",
|
|
"s",
|
|
"t",
|
|
"u",
|
|
"v",
|
|
"w"
|
|
]
|
|
},
|
|
"out": "[ok] 18 critère(s) ajouté(s)\n[✓] #7 a\n[ ] #3 b\n[ ] #8 c\n[ ] #9 d\n[ ] #10 e\n[ ] #11 f\n[ ] #12 g\n[ ] #13 h\n[ ] #14 i\n[ ] #15 j\n[ ] #16 k\n[ ] #17 l\n[ ] #18 m\n[ ] #19 n\n[ ] #20 o\n[ ] #21 p\n[ ] #22 q\n[ ] #23 r\n[ ] #24 s\n[ ] #25 t",
|
|
"stored": [
|
|
{
|
|
"id": 7,
|
|
"status": "passed",
|
|
"text": "a"
|
|
},
|
|
{
|
|
"id": 3,
|
|
"status": "pending",
|
|
"text": "b"
|
|
},
|
|
{
|
|
"id": 8,
|
|
"status": "pending",
|
|
"text": "c"
|
|
},
|
|
{
|
|
"id": 9,
|
|
"status": "pending",
|
|
"text": "d"
|
|
},
|
|
{
|
|
"id": 10,
|
|
"status": "pending",
|
|
"text": "e"
|
|
},
|
|
{
|
|
"id": 11,
|
|
"status": "pending",
|
|
"text": "f"
|
|
},
|
|
{
|
|
"id": 12,
|
|
"status": "pending",
|
|
"text": "g"
|
|
},
|
|
{
|
|
"id": 13,
|
|
"status": "pending",
|
|
"text": "h"
|
|
},
|
|
{
|
|
"id": 14,
|
|
"status": "pending",
|
|
"text": "i"
|
|
},
|
|
{
|
|
"id": 15,
|
|
"status": "pending",
|
|
"text": "j"
|
|
},
|
|
{
|
|
"id": 16,
|
|
"status": "pending",
|
|
"text": "k"
|
|
},
|
|
{
|
|
"id": 17,
|
|
"status": "pending",
|
|
"text": "l"
|
|
},
|
|
{
|
|
"id": 18,
|
|
"status": "pending",
|
|
"text": "m"
|
|
},
|
|
{
|
|
"id": 19,
|
|
"status": "pending",
|
|
"text": "n"
|
|
},
|
|
{
|
|
"id": 20,
|
|
"status": "pending",
|
|
"text": "o"
|
|
},
|
|
{
|
|
"id": 21,
|
|
"status": "pending",
|
|
"text": "p"
|
|
},
|
|
{
|
|
"id": 22,
|
|
"status": "pending",
|
|
"text": "q"
|
|
},
|
|
{
|
|
"id": 23,
|
|
"status": "pending",
|
|
"text": "r"
|
|
},
|
|
{
|
|
"id": 24,
|
|
"status": "pending",
|
|
"text": "s"
|
|
},
|
|
{
|
|
"id": 25,
|
|
"status": "pending",
|
|
"text": "t"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "liste déjà pleine",
|
|
"args": {
|
|
"action": "add",
|
|
"texts": [
|
|
"x"
|
|
]
|
|
},
|
|
"out": "[erreur] aucun critère fourni (texts)",
|
|
"stored": [
|
|
{
|
|
"id": 7,
|
|
"status": "passed",
|
|
"text": "a"
|
|
},
|
|
{
|
|
"id": 3,
|
|
"status": "pending",
|
|
"text": "b"
|
|
},
|
|
{
|
|
"id": 8,
|
|
"status": "pending",
|
|
"text": "c"
|
|
},
|
|
{
|
|
"id": 9,
|
|
"status": "pending",
|
|
"text": "d"
|
|
},
|
|
{
|
|
"id": 10,
|
|
"status": "pending",
|
|
"text": "e"
|
|
},
|
|
{
|
|
"id": 11,
|
|
"status": "pending",
|
|
"text": "f"
|
|
},
|
|
{
|
|
"id": 12,
|
|
"status": "pending",
|
|
"text": "g"
|
|
},
|
|
{
|
|
"id": 13,
|
|
"status": "pending",
|
|
"text": "h"
|
|
},
|
|
{
|
|
"id": 14,
|
|
"status": "pending",
|
|
"text": "i"
|
|
},
|
|
{
|
|
"id": 15,
|
|
"status": "pending",
|
|
"text": "j"
|
|
},
|
|
{
|
|
"id": 16,
|
|
"status": "pending",
|
|
"text": "k"
|
|
},
|
|
{
|
|
"id": 17,
|
|
"status": "pending",
|
|
"text": "l"
|
|
},
|
|
{
|
|
"id": 18,
|
|
"status": "pending",
|
|
"text": "m"
|
|
},
|
|
{
|
|
"id": 19,
|
|
"status": "pending",
|
|
"text": "n"
|
|
},
|
|
{
|
|
"id": 20,
|
|
"status": "pending",
|
|
"text": "o"
|
|
},
|
|
{
|
|
"id": 21,
|
|
"status": "pending",
|
|
"text": "p"
|
|
},
|
|
{
|
|
"id": 22,
|
|
"status": "pending",
|
|
"text": "q"
|
|
},
|
|
{
|
|
"id": 23,
|
|
"status": "pending",
|
|
"text": "r"
|
|
},
|
|
{
|
|
"id": 24,
|
|
"status": "pending",
|
|
"text": "s"
|
|
},
|
|
{
|
|
"id": 25,
|
|
"status": "pending",
|
|
"text": "t"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "liste rangée illisible",
|
|
"put": "{\"pas\":\"une liste\"}",
|
|
"args": {
|
|
"action": "list"
|
|
},
|
|
"out": "[aucun critère]",
|
|
"stored": {
|
|
"pas": "une liste"
|
|
}
|
|
}
|
|
]
|