Contrat par exercice
javamoulinette.exercise-details.v1 expose le statut global, compilation, tests, mémoire, style, sécurité, durée, artefacts publics, manifeste, digest du runner et SHA.
Le pipeline transforme un push GitHub autorisé en preuves pédagogiques persistées et lisibles, sans publier les tests privés ni les sorties brutes du runner.
javamoulinette.exercise-details.v1 expose le statut global, compilation, tests, mémoire, style, sécurité, durée, artefacts publics, manifeste, digest du runner et SHA.
Le premier exercice non réussi bloque l'exécution des suivants, marqués not_run. Sa réussite les déverrouille au push suivant.
Le rapport exclut attentes privées, solutions, stdout/stderr, chemins internes, secrets et URL de stockage brute.
Un échec pédagogique termine normalement sans retry RabbitMQ. Une panne technique suit des retries bornés puis la DLQ. Un callback rejoué doit être identique.
Les rapports javamoulinette.report.v1 historiques sans détail restent valides. Les nouveaux passages lient chaque tiroir au SHA, au manifeste et au digest.
La norme de style configurable documente les règles C, leur sévérité, leur éventuel caractère bloquant et la compatibilité des résultats historiques.
La matrice C00 à C07 vérifie chaque exercice avec une référence correcte et un mutant, ainsi que signature invalide, fichier absent, symbole interdit, timeout, sortie excessive, crash/mémoire et cas limites. Harmony couvre webhook invalide ou dupliqué, pushes successifs, même SHA, indisponibilité du broker, rejeu de callback, ordre et persistance.