Socle 0.16.0 : le dispositif de conformité livré debout (#32), et la variante next-fullstack jouée #39

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

Toutes les règles du profil nest jouées sauf les deux de la délégation, dispensées et datées : 27 jamais jouées → 2. routesDeConformite, processusDeConformite, demarrerCollecteur, jetons signés par la suite, clé révoquée lue par depotClesPrisma, route GET gardée ping.consulter, openapi.ts qui lit son environnement à l'appel. La variante next-fullstack, jamais jouée jusqu'ici : six défauts corrigés (auth sans base, registerEqs sans schéma, porter local, test:e2e en ';', étage unitaire vide, dépendances inutilisées), 15 règles jouées, 13 dispensées jusqu'au 2026-12-31. proxy-addr (CRITICAL), sharp et source-map-js relevés. Intégration 17/17, porte verte, socle 0.16.0 promu. Closes #32. 🤖 Generated with Claude Code

Toutes les règles du profil nest jouées sauf les deux de la délégation, dispensées et datées : 27 jamais jouées → 2. routesDeConformite, processusDeConformite, demarrerCollecteur, jetons signés par la suite, clé révoquée lue par depotClesPrisma, route GET gardée ping.consulter, openapi.ts qui lit son environnement à l'appel. La variante next-fullstack, jamais jouée jusqu'ici : six défauts corrigés (auth sans base, registerEqs sans schéma, porter local, test:e2e en ';', étage unitaire vide, dépendances inutilisées), 15 règles jouées, 13 dispensées jusqu'au 2026-12-31. proxy-addr (CRITICAL), sharp et source-map-js relevés. Intégration 17/17, porte verte, socle 0.16.0 promu. Closes #32. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Un satellite rétrofitté fige sa dette ESLint dans
`eslint-suppressions.json` (D-048). Le pre-commit ne lint que les
fichiers indexés : les suppressions des autres « ne se produisent plus »,
et ESLint refusait chaque commit — 61 fichiers sur nuage. Le lint
partiel passe `--pass-on-unpruned-suppressions` ; l'élagage reste exigé
par `pnpm check`, qui lit tout l'arbre sans ce drapeau (D-055).

Et `eslint-suppressions.json` rejoint `.prettierignore` : Prettier et
ESLint se le renvoyaient sans converger.

Closes #37
Closes #38

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
`conformite.test.ts` branche ce que le socle livre désormais en 0.16.0 :
`routesDeConformite` (la route validée, celle qui plante, celles qui
journalisent et sortent), `processusDeConformite` (`boot`, `arret`,
`bootSansEndpoint`, le serveur instrumenté), `demarrerCollecteur`, des jetons
signés par un jeu de clés de la suite, une vraie connexion du compte de
secours, une clé révoquée lue par `depotClesPrisma`.

Le gabarit y gagne deux choses qu'un clone neuf n'avait pas : une route GET
gardée (`ping.consulter`), sans laquelle les contrôles du garde ne jugeaient
rien, et un dépôt de clés — aucune clé n'authentifiait. `openapi.ts` lit son
environnement à l'appel : pris à l'import, l'export sortait en `dev` contre un
document servi en `suite`.

27 règles jamais jouées → 2, dispensées et datées : celles de la délégation,
que le gabarit n'a pas. Intégration 17/17, porte verte, socle 0.16.0.

Et trois dépendances de production relevées dans le lockfile, que l'audit
refusait : proxy-addr (GHSA-jqcg-44mw-7w3h, CRITICAL), sharp et source-map-js
(HIGH).

Closes #32

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Hors du workspace, la variante n'était ni compilée, ni lintée, ni testée :
chaque correction du gabarit l'avait manquée. Posée sur un clone jetable
selon son README et jouée là :

- `creerApi` sans `auth` : better-auth sans base, aucun cookie de session.
  Fabriques `auth` et `depotCles` ;
- `registerEqs()` sans le schéma : `DATABASE_URL` optionnelle au démarrage.
  `#lib/schema`, comme `eqs-demo` ;
- la copie locale de `porter` (eqs-platform #100) : celle du socle ;
- `test:e2e` en `A && B; C`, dont le code de sortie est celui du ménage :
  `node scripts/e2e.mjs`, et `@playwright/test`, `knip` installés ;
- l'étage unitaire déclaré sans fichier : un test du schéma ;
- `@eqs/errors` et `@eqs/telemetry` déclarés et inutilisés : retirés.

Sa suite fournit ce que le profil permet (15 des 28 règles) ; les 13 qui
attendent du socle l'équivalent next de `routesDeConformite` et de
`processusDeConformite` sont dispensées, datées au 2026-12-31, dans sa
propre baseline. Porte et intégration vertes sur le clone jetable.

Refs #32

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No labels
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-satellite-template!39
No description provided.