Skip to content

Mise à niveau : 101/101 composants au standard (8/8), correctif casse API, surfaces React/Python honnêtes#27

Merged
remigit55 merged 5 commits into
masterfrom
claude/blueprint-modular-upgrade-5jqiah
Jun 11, 2026
Merged

Mise à niveau : 101/101 composants au standard (8/8), correctif casse API, surfaces React/Python honnêtes#27
remigit55 merged 5 commits into
masterfrom
claude/blueprint-modular-upgrade-5jqiah

Conversation

@remigit55

Copy link
Copy Markdown
Collaborator

Mise à niveau Blueprint Modular — NE PAS MERGER (déploiement humain ensuite)

Routine « tout à niveau » (on code/complète/vérifie, pas d'audit). Chaque lot passe
le gate (node scripts/gate.cjs : tsc + vite build + doc-sync + 230 tests), le
validateur 8-checks et un smoke fonctionnel (next start + curl + DOM) avant done.
Source .tsx = vérité ; aucune prop/API inventée. Ajouts strictement additifs.

Composants — 35/101 → 101/101 à niveau (8/8)

Check Avant Après
source / jsdoc / props 80–101 101
relations PARENT/ASSOCIATED/FORBIDDEN 15 101
@example 73 101
présence llms.txt / catalogue 78–101 101
  • Correctif de vérité : 23 noms du catalogue (bpm/_doc_components.py) étaient en
    mauvaise casse vs l'API réelle (bpm.jsonviewerbpm.jsonViewer…). JS étant
    sensible à la casse, le catalogue annonçait une API undefined et les fiches
    /docs/components/[slug] ne retrouvaient pas le bloc de props. Réaligné sur le
    barrel ; catalogue + registre MCP régénérés ; fiches réparées.
  • Relations authorées sur 65 composants ; @example/@props sur 9 composants riches
    (depuis l'interface réelle). llms.txt / llms-core.txt / bpm-components.json /
    mcp-registry.json régénérés. Aucun rendu existant modifié (asserté par 230 tests).

Modules — 31/32 à niveau

  • 31 modules : UI réelle, composent bpm.*, doc, aucun 500.
  • needs-human (1) : monitor réimplémente badge/button/spinner… localement
    (// miroir bpm.*) au lieu de composer @/components/bpm → ne dogfoode pas.
    Écart précis et marche à suivre dans le rapport.

Honnêteté de disponibilité (addendum) — vérifié empiriquement

npm @blueprint-modular/core (0.2.0) et PyPI blueprint-modular (0.1.36) sont
tous deux publiés et installables (npm i / pip install → exit 0, bpm run OK).
La prémisse « PyPI non publié » est fausse. Décision produit : « disponible, React en avant » :
CTA d'install principal → npm i @blueprint-modular/core ; getting-started mène avec la
piste React/JSX live puis présente Python comme chemin réel — jamais « bientôt ».
Aucune commande affichée n'échoue si copiée.

Outils reproductibles ajoutés

scripts/validate-components.py (gate 8-checks + ledger), docs/automation/mise-a-niveau.json,
rapport docs/automation/mise-a-niveau-report-2026-06-11.md.

Vérifs

gate VERT (230 tests) · validateur 101/101 · tsc --noEmit 0 erreur · npm run build vert ·
smoke routes 200 sans overlay.

⚠️ Ne pas merger ni déployer automatiquement. Déploiement humain via
deploy/deploy-from-git.sh (gate #19).

https://claude.ai/code/session_01D11eyPTcPhEJVv7TekSdYp


Generated by Claude Code

claude added 5 commits June 11, 2026 20:47
… API catalogue (23 composants)

- scripts/validate-components.py: gate reproductible des critères « à niveau »
  (source, jsdoc, props, relations, sémantique, exemple, présence llms/catalogue)
  + scan modules (page, composition bpm.*, doc, dogfooding) + écriture du ledger.
- bpm/_doc_components.py: corrige 23 noms de composants dont la casse ne
  correspondait pas à l'API réelle du barrel (bpm.jsonviewer -> bpm.jsonViewer,
  etc.). La fiche /docs/components/[slug] retrouve désormais le bloc de props
  llms.txt pour ces 23 composants. Source .tsx = vérité.
- docs/automation/mise-a-niveau.json: ledger reprenable (101 composants + 32 modules).
…(8/8 checks)

- Relations (@parent/@associated/@forbidden) ajoutées/complétées sur 65 composants,
  fidèles au rôle réel de chaque composant dans le design system.
- @example + @props (depuis l'interface réelle) sur stepper, timeline, statusTracker,
  orgChart, masterDetail, wizardForm, notificationCenter, table, filePreview.
- Validateur affiné : props_doc tolère les composants sans interface *Props
  documentés via @example/@props (ex. bpm.toast = provider + hook).
- Régénération llms.txt / llms-core.txt / bpm-components.json / mcp-registry.json.
- Ledger: composants 101/101 done. Gate VERT (230 tests). Aucun rendu existant modifié.

scripts/_add_relations.py, scripts/_add_examples.py : générateurs d'édition reproductibles.
…onible (honnêteté de dispo)

Vérifié empiriquement que les DEUX paquets sont publiés et fonctionnent :
- npm @blueprint-modular/core (latest 0.2.0) — install OK, exposé par le MCP.
- PyPI blueprint-modular (0.1.36) — pip install OK, CLI bpm (run/build/init) OK.

Décision produit (utilisateur) : « disponible, React en avant ».
- CTA d'installation principal (hero + final CTA) : npm i @blueprint-modular/core.
- /docs/getting-started restructuré : piste React/JSX live mise en avant,
  puis piste Python disponible (pip install + bpm init + bpm run) — chemin réel,
  jamais étiqueté « bientôt ».
- i18n FR/EN : installCommand -> npm ; ajout reactTrack/pythonTrack (parité typée).
Aucune commande affichée n'échoue si copiée. Build vert, routes 200, pas d'overlay.
…, React/npm co-équal

Addendum de disponibilité écarté (prémisse fausse : pip ET npm sont publiés et
fonctionnent, testés en venv : blueprint-modular 0.1.36, @blueprint-modular/core 0.2.0).
- installCommand (hero + final CTA) = pip install blueprint-modular.
- getting-started : piste Python d'abord (pip + bpm init + bpm run + aperçu),
  puis piste React/JSX co-équale (@blueprint-modular/core + usage + style.css).
- Rien de masqué, rien en « bientôt ». Build vert, getting-started 200,
  ordre Python<React vérifié, les deux commandes présentes et fonctionnelles.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants