Version 0.16.0 : le dispositif de conformité livré par le socle #120

Merged
nicolas-fryder merged 11 commits from nicolas-fryder/dev into main 2026-10-07 08:11:00 +00:00 AGit

Six changesets depuis 0.15.0, qui ne sera pas promue (bac à sable rouge sur audit-valide, corrigé ici). routesDeConformite et processusDeConformite (platform-nest), depotClesPrisma et le type de la ligne de preparerCle (auth), les dispenses lues à la racine du dépôt (testing), un eqs-audit.json d'une autre version tenu pour périmé (cli), l'accroche de la page de connexion (platform-next). D-058, chasse 35. Porte verte, audit:prod propre. Pour eqs-satellite-template #32. 🤖 Generated with Claude Code

Six changesets depuis 0.15.0, qui ne sera pas promue (bac à sable rouge sur audit-valide, corrigé ici). routesDeConformite et processusDeConformite (platform-nest), depotClesPrisma et le type de la ligne de preparerCle (auth), les dispenses lues à la racine du dépôt (testing), un eqs-audit.json d'une autre version tenu pour périmé (cli), l'accroche de la page de connexion (platform-next). D-058, chasse 35. Porte verte, audit:prod propre. Pour eqs-satellite-template #32. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Trouvé par l'étape 4 de la release (le bac à sable d'eqs-demo) : l'audit
committé par 0.14, au schéma 1.0.0, jugé contre le 1.1.0, rendait un
bloquant sur un champ qu'il ne pouvait pas connaître. Chaque satellite
l'aurait pris en montant. C'est maintenant un écart qui dit de rejouer
`eqs inspect` ; un audit construit dans la commande reste jugé.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Réserve du second commentaire de eqs-satellite-template #23 : sans phrase
sous le titre, un satellite réécrivait la page de connexion et reprenait
les pièges qu'elle cache. Le reste du ticket était déjà livré
(`PageConnexion`, `retourSur` et ses cinq cas dont la contre-oblique,
`next.page-connexion`, la page du gabarit).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Les auxiliaires d'eqs-demo (boot, arrêt pendant requête, démarrage sans
OTEL) passent dans `@eqs/platform-nest/testing`, pour que le gabarit et
chaque satellite cessent de les dispenser ou de les réécrire (D-007).
`arret` tient la requête en vol par `Expect: 100-continue` au lieu d'une
route lente et d'une pause fixe. Testé sur un vrai enfant ; un arrêt
brutal est bien vu comme une requête coupée.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Trois règles de conformité exigeaient une route POST validée et une route
qui plante, que le gabarit n'a pas et ne doit pas livrer en production.
L'option les monte hors contrat pour la suite seule, refusée en
production ; le harnais nest les trouve et les donne à
`errors.validation`, `platform.validation` et `errors.500-sans-pile`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Le processus enfant est lancé par son chemin, jamais importé : knip le
déclarait mort. Et l'ignoreDependencies de @eqs/tooling ne produisait
qu'un indice, ici comme chez les satellites (#101).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Les quatre contrôles de télémétrie demandaient une route qui journalise
pendant la requête et une route qui sort ; la démo avait les siennes, le
gabarit non. Elles rejoignent `routesDeConformite`, et l'enfant de
`processusDeConformite` peut les monter : c'est lui qui porte la
télémétrie. Testé de bout en bout, collecteur OTLP compris.

Deux erreurs de mon test en route : l'appel sortant construit par
`new URL('/version', écho)` perdait le chemin de l'écho, et les routes
vivent sous le préfixe global `/api`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Le gabarit joue sa suite depuis `apps/api` : `eqs-baseline.json`, lu dans le
cwd, n'était jamais trouvé, et ses dispenses datées ne dispensaient rien. On
remonte depuis `root` jusqu'au premier fichier, sans franchir le dossier qui
porte `.git`.

Refs Infrastructure/eqs-satellite-template#32

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
`@eqs/auth` copie le modèle `ApiKey` dans chaque satellite mais laissait la
lecture à écrire : `eqs-demo` l'avait écrite deux fois, le gabarit pas du tout,
et un clone neuf n'authentifiait aucune clé. L'émission reste à l'application.

`preparerCle(...).ligne` devient `LigneClePreparee` : sous
`exactOptionalPropertyTypes`, la recette du README ne compilait pas.

Refs Infrastructure/eqs-satellite-template#32

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs Infrastructure/eqs-satellite-template#32

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Six changesets depuis 0.15.0, qui n'a pas été promue (le bac à sable l'a
trouvée rouge sur `audit-valide`) : le dispositif de conformité livré par le
socle pour eqs-satellite-template #32 — `routesDeConformite`,
`processusDeConformite`, `depotClesPrisma`, les dispenses lues à la racine du
dépôt —, un `eqs-audit.json` d'une autre version tenu pour périmé et non
pour cassé, et l'accroche de la page de connexion.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Infrastructure/eqs-platform!120
No description provided.