
> bellerive@1.0.0 astra:test
> node --test "astra/test/*.test.js"

[astra] Astra City backend sur http://127.0.0.1:56362 (espace de travail des agents : C:\Astra\bellerive)
✔ bootstrap HTTP fermé : secret non configuré → 403 pour un secret vide ou quelconque (90.2872ms)
✔ bootstrap HTTP fermé : le tout premier inscrit est un PLAYER, jamais un SUPER_ADMIN (75.6239ms)
[astra] Astra City backend sur http://127.0.0.1:56359 (espace de travail des agents : C:\Astra\bellerive)
✔ bootstrap HTTP : secret invalide → 403, aucun compte créé (54.2227ms)
✔ bootstrap HTTP : secret valide → SUPER_ADMIN ; inscription publique → PLAYER ; rejeu → 409 ; rate limit (200.0703ms)
[astra] Astra City backend sur http://127.0.0.1:56365 (espace de travail des agents : C:\Astra\bellerive)
✔ les secrets sont chiffrés (AES-GCM) et infalsifiables (14.7219ms)
✔ mots de passe hachés (scrypt) (161.3962ms)
✔ inscription, connexion, rôles et session (369.0593ms)
✔ mission refusée sans droit d’accès (EntitlementService) (56.8288ms)
✔ ticket launcher : échange sans mot de passe, usage unique, expiration et isolation du compte (161.3633ms)
✔ machine à états des agents (46.6188ms)
✔ bac à sable des outils : pas de secrets, pas de sortie du dépôt (3.3314ms)
✔ temps réel : authentification obligatoire et snapshot (68.0123ms)
✔ audit : une référence non consultée est signalée, une lecture réelle est vérifiée (44.2121ms)
✔ audit : formats de référence avec crochets et lignes isolées (37.9517ms)
[astra] Astra City backend sur http://127.0.0.1:56360 (espace de travail des agents : C:\Astra\bellerive)
[astra] Astra City backend sur http://127.0.0.1:56402 (espace de travail des agents : C:\Astra\bellerive)
✔ synthetic complex decomposition executes children through the production lifecycle (12808.4242ms)
[astra] Astra City backend sur http://127.0.0.1:56367 (espace de travail des agents : C:\Users\jerom\AppData\Local\Temp\astra-devchain-htGffa\ws)
✔ 0. un verdict de recette n'est jamais perdu, jamais inventé (2.1598ms)
✔ A. seules les commandes autorisées sont exécutables (1.502ms)
✔ B. les commandes sont extraites des critères du plan (0.4339ms)
✔ C. les tests dérivés ciblent les fichiers réellement présents (5.043ms)
[astra] Astra City backend sur http://127.0.0.1:56383 (espace de travail des agents : C:\Users\jerom\AppData\Local\Temp\astra-devchain-htGffa\ws)
[astra] Astra City backend sur http://127.0.0.1:56386 (espace de travail des agents : C:\Users\jerom\AppData\Local\Temp\astra-devchain-htGffa\ws)
✔ D. le cycle complet produit un vrai commit, de vrais tests et une recette persistée (3327.4928ms)
[astra] Astra City backend sur http://127.0.0.1:56387 (espace de travail des agents : C:\Users\jerom\AppData\Local\Temp\astra-devchain-htGffa\ws)
[astra] Astra City backend sur http://127.0.0.1:56388 (espace de travail des agents : C:\Users\jerom\AppData\Local\Temp\astra-devchain-htGffa\ws)
[astra] Astra City backend sur http://127.0.0.1:56389 (espace de travail des agents : C:\Users\jerom\AppData\Local\Temp\astra-devchain-htGffa\ws)
✔ E. reprendre après recette ne refait ni écriture, ni test, ni recette (366.389ms)
✔ F. la base refuse une recette dont le relecteur est le développeur (1145.0764ms)
✔ G. un plan figé est relu tel quel (864.1732ms)
✔ H. sans job à recetter → BLOCKED tracé, jamais un PASS fabriqué (1055.7423ms)
✔ I. le relecteur provisionné est distinct, sans droit d'écriture, et hors routage (950.3406ms)
[astra] Astra City backend sur http://127.0.0.1:56395 (espace de travail des agents : C:\Users\jerom\AppData\Local\Temp\astra-devchain-htGffa\ws)
[astra] Astra City backend sur http://127.0.0.1:56396 (espace de travail des agents : C:\Users\jerom\AppData\Local\Temp\astra-devchain-htGffa\ws)
✔ J. un test en échec interdit le commit — la preuve figée ne ment jamais (2225.4165ms)
✔ L. un plan sans critères d'acceptation ne rend pas la chaîne aveugle (1064.5252ms)
✔ K. la mission décomposée traverse la chaîne autonome sans passer par le rapport (3163.5214ms)
[astra] Astra City backend sur http://127.0.0.1:56363 (espace de travail des agents : C:\Astra\bellerive)
✔ A. une lecture réelle crée une preuve vérifiée, avec provenance complète (83.6585ms)
✔ B. un identifiant de preuve se résout vers l’observation persistée exacte (6.731ms)
✔ C. un identifiant de preuve fabriqué échoue (1.4573ms)
✔ D. une référence chemin:ligne fabriquée échoue toujours (1.5489ms)
✔ E. un fichier qui existe mais n’a jamais été observé ne devient PAS vérifié (0.9868ms)
✔ I. une empreinte divergente échoue (le fichier a changé après l’observation) (21.2299ms)
✔ K. une citation par identifiant ne fait pas planter l’audit (pas de nom de fichier) (2.6478ms)
✔ L. une preuve héritée reste résoluble en chemin:ligne (forme historique) (1.5591ms)
✔ G. une reprise (point de contrôle) conserve l’identité des preuves (1.6035ms)
✔ H. une preuve ne traverse pas une tâche non autorisée (1.0932ms)
✔ F. la preuve héritée de RECONNAISSANCE est utilisable par PLAN (1.3581ms)
✔ J. les garanties anti-hallucination existantes restent intactes (1.1928ms)
✔ persistance : une preuve est écrite en base, cloisonnée par mission, et relisible (68.8369ms)
[astra] Astra City backend sur http://127.0.0.1:56370 (espace de travail des agents : C:\Astra\bellerive)
✔ les doublures d’escalade sont classées « local » (coût nul) (117.9204ms)
✔ unité en échec de capacité → UNE escalade locale, qui réussit (14724.8869ms)
✔ si le modèle escaladé échoue aussi : la mission reste BLOQUÉE, sans reboucle (1658.5719ms)
✔ la base refuse une escalade cloud, une rétrogradation, ou deux escalades (3.5603ms)
✔ le fournisseur Ollama demande une libération rapide du modèle (keep_alive) (5.3709ms)
✔ l'arbitrage de résidence libère le modèle principal avant l'escalade (1.1308ms)
✔ le contexte local est bornable : sur un gros modèle, 32768 tue la machine (0.5562ms)
[astra] Astra City backend sur http://127.0.0.1:56368 (espace de travail des agents : C:\Astra\bellerive)
[astra] Astra City backend sur http://127.0.0.1:56381 (espace de travail des agents : C:\Astra\bellerive)
✔ BRIDGE-01 mission EXPERT sans runtime EXPERT : bloquée directement, ni enfant ni unité, aucun travail exécuté (1437.215ms)
[astra] Astra City backend sur http://127.0.0.1:56405 (espace de travail des agents : C:\Astra\bellerive)
✔ BRIDGE-02 mission COMPLEX, runtime SIMPLE seul : PLAN jamais direct, unités bornées routées normalement, assemblage déterministe (13588.2261ms)
[astra] Astra City backend sur http://127.0.0.1:56579 (espace de travail des agents : C:\Astra\bellerive)
✔ BRIDGE-03 retry d’une mission bloquée : les tâches DONE sont intactes, aucun doublon d’étape, d’unité ni d’assemblage (14369.8888ms)
✔ BRIDGE-04 reprise : PLAN dont toutes les unités sont DONE mais non assemblé (arrêt entre deux écritures) → assemblé une fois, rien de dupliqué (17437.4028ms)
[astra] Astra City backend sur http://127.0.0.1:56372 (espace de travail des agents : C:\Astra\bellerive)
✔ A. « Node.js » (et autres technologies avec un point) ne deviennent jamais des fichiers (133.8289ms)
✔ 21. timeout du relecteur → PROVIDER_BLOCKED (jamais FAILED ni ESCALATION_REQUIRED) (1743.0083ms)
✔ 22. l’échec du relecteur n’affecte pas l’exécutant (stats, tentatives, statut, escalade) (406.9469ms)
✔ 24. le MissionArtifact existe avant le lancement de la relecture (1.3159ms)
✔ 23 + 25. reprise depuis AFTER_AUDIT : aucun nouvel appel d’exécution, RESUMING → REVIEW → COMPLETED (513.3507ms)
✔ B + C. SESSION_LIMIT de l’EXÉCUTANT → PROVIDER_BLOCKED (agent bloqué) puis reprise de son travail (2146.2706ms)
✔ D. une correction ne redéclenche aucun appel d’outil (aucun outil fourni) (1793.7558ms)
✔ E. le budget arrête proprement l’exploration et un livrable est quand même produit (1880.708ms)
✔ MCP : le serveur MCP refuse les appels au-delà de 95 % du budget (821.6795ms)
✔ F. exclusions : validation/, journaux, Saved/, caches, CLAUDE.md sont hors analyse (225.5785ms)
✔ I. le contrat de preuve appliqué par checkDeliverable est écrit dans le prompt (1756.5591ms)
✔ G + H. un livrable tronqué est refusé ; cycle borné sans boucle (2403.7851ms)
[astra] Astra City backend sur http://127.0.0.1:56371 (espace de travail des agents : C:\Astra\bellerive)
✔ classification heuristique et niveaux de modèles (89.6935ms)
✔ mission complexe BLOQUÉE s’il n’existe qu’un petit modèle (pas de repli) (180.2119ms)
✔ échec après révision → escalade vers un runtime supérieur avec dossier de passation (3943.572ms)
✔ Agent et runtime découplés : Nova change de moteur sans perdre son identité (11.4857ms)
✔ la qualification est bornée par le parc local (un EXPERT non servi ne rend pas la mission inroutable) (176.9046ms)
ℹ tests 69
ℹ suites 0
ℹ pass 69
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 47506.7395
