diff --git a/ROADMAP.md b/ROADMAP.md index a5a557c..6145e46 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -1,5 +1,5 @@ - + # Roadmap Project Governance Rules @@ -35,7 +35,7 @@ Le détail et les conditions de cette séquence sont conservés dans [`docs/stud ## Trajectoires différées ou non numérotées -- `(d) skeleton Tauri avant owners Web suffisants` — la décision `0.0.5-alpha.9` reste vraie pendant `0.1.0`; `0.1.4` réexaminera cette décision après `0.1.1` et ne doit pas fabriquer un skeleton incomplet ; +- `(d) skeleton Tauri jusqu'au réexamen 0.1.4` — le `DEFER` de `0.0.5-alpha.9` reste actif pendant `0.1.1`; `0.1.1-beta.1` confirme que ses cinq prérequis Web disposent désormais d'owners PGR, mais seul `0.1.4` peut réexaminer le candidat à partir du corpus alors courant ; - `WASM` — candidat séparé à réévaluer pendant l'adoption Games si un owner PGR apporte une valeur immédiate ; - `serveur Web Rust / Actix Web ou alternative` — candidat à partir d'un corpus d'implémentation réel, pas sur la seule base d'une trajectoire roadmap ; - `saselang-bible`, projets documentaires/spécifications et généricité hors logiciel — candidats d'une trajectoire ultérieure `0.2.x` / `0.3.x` à décider ; diff --git a/VERSION b/VERSION index 53dade2..9a2dedb 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.1.1-alpha.5 +0.1.1-beta.1 diff --git a/deltas/0.1.1/beta.1.md b/deltas/0.1.1/beta.1.md new file mode 100644 index 0000000..5a39ffc --- /dev/null +++ b/deltas/0.1.1/beta.1.md @@ -0,0 +1,264 @@ + + + +# Delta 0.1.1-beta.1 — réconciliation Web et préparation du réexamen Tauri + +## Baseline et version + +Baseline attendue : commit opérateur de `0.1.1-alpha.5`, réalisé après application de `history/0.1.1/alpha.5.md` avec statut `PASS`. + +Le hash de ce commit n'est pas anticipé. + +Version avant application : + +```text +0.1.1-alpha.5 +``` + +Version après application : + +```text +0.1.1-beta.1 +``` + +## Objet + +Fermer la phase alpha de `0.1.1` en réconciliant la fondation frontend Web désormais matérialisée et en vérifiant factuellement si les cinq conditions de sortie du `DEFER` Tauri possèdent des owners PGR suffisants. + +La tranche : + +- enregistre le `PASS` de `alpha.5` dans le plan actif ; +- exécute un dry-run structurel du skeleton `003-WEB_FRONTEND.md` sans simuler les toolchains qu'un projet réel doit exécuter ; +- révise `002-TAURI_SKELETON_DECISION.md` pour comparer chacune des cinq conditions historiques aux owners réels `530/540/550/560`, guides, templates et validation désormais disponibles ; +- met à jour la roadmap pour distinguer « prérequis Web couverts » de « skeleton Tauri adopté » ; +- conserve le skeleton Tauri en `DEFER` jusqu'au réexamen autonome prévu en `0.1.4`. + +Aucun profil Web, template technique, skeleton ou contrat de validation n'est modifié dans `beta.1`. + +## Dry-run structurel du skeleton Web + +Le dry-run vérifie uniquement ce que PGR peut prouver sans inventer un projet concret : + +```text +skeleton 003 référence owners 530 / 540 / 550 / 560 +skeleton 003 référence validation 005 +package.json + tsconfig.json génériques se copient et se parsèrent comme JSON +aucun vite.config.ts universel n'est injecté +aucun main.scss universel n'est injecté +aucun host Tauri n'est injecté +aucune devDependency arbitraire n'est ajoutée au package.json générique +``` + +Cette preuve ne vaut pas type-check/build Sass/Vite. Une instanciation réelle doit sélectionner ses versions, dépendances, layout et configuration puis exécuter les outils propriétaires conformément à `005-WEB_FRONTEND_VALIDATION.md`. + +## Réconciliation des cinq conditions Tauri + +`docs/studies/002-TAURI_SKELETON_DECISION.md` enregistre désormais les correspondances suivantes : + +```text +TypeScript contrôlé -> 530 + 008 + templates web-typescript +Vite/dev server/build outputs -> 550 + 009 +CSS/Sass + artefacts générés -> 560 + 010 +validation frontend indépendante du host -> validation 005 +framework CSS = choix local -> 560 + skeleton 003 +``` + +Les cinq prérequis sont donc **couverts pour préparer un réexamen**. + +Cette conclusion ne signifie pas : + +- que Vite, Sass, Bootstrap ou `frontend/` sont obligatoires pour Tauri ; +- que le candidat historique reste optimal en `0.1.4` ; +- que le corpus `0.0.5` peut être réutilisé sans réaudit ; +- que le skeleton Tauri est créé, adopté ou autorisé pendant `0.1.1`. + +## Scope + +REPLACE : + +```text +VERSION +ROADMAP.md +docs/000-README.md +docs/plans/007-V0_1_1_WEB_FRONTEND_FOUNDATION_PLAN.md +docs/studies/000-README.md +docs/studies/002-TAURI_SKELETON_DECISION.md +``` + +ADD : + +```text +deltas/0.1.1/beta.1.md +``` + +DELETE : aucun. + +`README.md`, `RULES.md`, `CHANGELOG.md`, les profils `530/540/550/560/710`, les skeletons, templates techniques, contrats de validation et scripts restent inchangés. + +## Validation opérateur + +Après application du history `PASS`, commit/push de `alpha.5`, puis application du présent delta : + +```bash +test "$(cat VERSION)" = '0.1.1-beta.1' +git cat-file -e HEAD:history/0.1.1/alpha.5.md +test -f history/0.1.1/alpha.5.md +test -f deltas/0.1.1/beta.1.md +test ! -e history/0.1.1/beta.1.md + +grep -A2 '^## Statut$' history/0.1.1/alpha.5.md | grep -Fx 'PASS' +grep -Fx '' ROADMAP.md +grep -Fx '' docs/000-README.md +grep -Fx '' docs/plans/007-V0_1_1_WEB_FRONTEND_FOUNDATION_PLAN.md +grep -Fx '' docs/studies/000-README.md +grep -Fx '' docs/studies/002-TAURI_SKELETON_DECISION.md +``` + +Réconciliation et dry-run structurel : + +```bash +python3 -B - <<'PYGATE' +from pathlib import Path +import json +import re +import shutil +import tempfile + +history = Path("history/0.1.1/alpha.5.md").read_text(encoding="utf-8") +assert re.search(r"## Statut\s+PASS\s", history) + +plan = Path("docs/plans/007-V0_1_1_WEB_FRONTEND_FOUNDATION_PLAN.md").read_text(encoding="utf-8") +for phrase in ( + "### alpha.5 — CSS/Sass et validation frontend", + "Statut opérateur : **PASS**.", + "### beta.1 — réconciliation et preuve de préparation Tauri", + "Statut opérateur : **à valider**.", + "dry-run structurel du skeleton Web", + "Ce dry-run ne prétend pas remplacer `tsc`, Vite ou Sass", +): + assert phrase in plan, phrase + +study = Path("docs/studies/002-TAURI_SKELETON_DECISION.md").read_text(encoding="utf-8") +for phrase in ( + "DEFER", + "## Réexamen de préparation 0.1.1-beta.1", + "### Condition 1 — TypeScript et conventions Web contrôlées", + "### Condition 2 — Vite et ownership des commandes/dev server/build outputs", + "### Condition 3 — Sass/CSS et statut des artefacts générés", + "### Condition 4 — validation frontend indépendante de la validation Tauri", + "### Condition 5 — framework CSS classé comme décision de skeleton/projet", + "Les cinq conditions de sortie formulées en `0.0.5-alpha.9` possèdent désormais des owners PGR matérialisés et non redondants.", + "skeleton Tauri dans 0.1.1 toujours DEFER", + "réexamen autorisé 0.1.4", + "La présente étude ne préjuge pas de cette décision.", +): + assert phrase in study, phrase + +roadmap = Path("ROADMAP.md").read_text(encoding="utf-8") +assert "skeleton Tauri jusqu'au réexamen 0.1.4" in roadmap +assert "0.1.1-beta.1` confirme que ses cinq prérequis Web disposent désormais d'owners PGR" in roadmap +assert "- `( ) 0.1.4`" in roadmap +assert "0.1.8" not in roadmap + +skeleton = Path("docs/skeletons/003-WEB_FRONTEND.md").read_text(encoding="utf-8") +for phrase in ( + "+ 530 TypeScript", + "+ 540 JavaScript package ecosystem", + "+ 550 Vite", + "+ 560 CSS / Sass", + "005-WEB_FRONTEND_VALIDATION.md", + "Le skeleton Tauri reste `DEFER` pendant `0.1.1`", +): + assert phrase in skeleton, phrase + +package_source = Path("templates/web-typescript/package.json") +tsconfig_source = Path("templates/web-typescript/tsconfig.json") +with tempfile.TemporaryDirectory(prefix="pgr-web-skeleton-") as temp_name: + temp = Path(temp_name) + shutil.copy2(package_source, temp / "package.json") + shutil.copy2(tsconfig_source, temp / "tsconfig.json") + package = json.loads((temp / "package.json").read_text(encoding="utf-8")) + tsconfig = json.loads((temp / "tsconfig.json").read_text(encoding="utf-8")) + assert package == { + "name": "project-web", + "private": True, + "scripts": {"typecheck": "tsc --noEmit"}, + } + assert tsconfig["compilerOptions"]["strict"] is True + assert tsconfig["compilerOptions"]["noEmit"] is True + assert "dependencies" not in package + assert "devDependencies" not in package + assert not (temp / "vite.config.ts").exists() + assert not (temp / "main.scss").exists() + assert not (temp / "src-tauri").exists() + +assert not Path("templates/web-vite/vite.config.ts").exists() +assert not Path("templates/web-css/main.scss").exists() +assert Path("docs/rules/530-TYPESCRIPT.md").read_text(encoding="utf-8").splitlines()[1] == "" +assert Path("docs/rules/540-JAVASCRIPT_PACKAGE_ECOSYSTEM.md").read_text(encoding="utf-8").splitlines()[1] == "" +assert Path("docs/rules/550-VITE.md").read_text(encoding="utf-8").splitlines()[1] == "" +assert Path("docs/rules/560-CSS_SASS.md").read_text(encoding="utf-8").splitlines()[1] == "" +assert Path("docs/rules/710-TAURI.md").read_text(encoding="utf-8").splitlines()[1] == "" +assert Path("docs/skeletons/003-WEB_FRONTEND.md").read_text(encoding="utf-8").splitlines()[1] == "" +assert Path("docs/validation/005-WEB_FRONTEND_VALIDATION.md").read_text(encoding="utf-8").splitlines()[1] == "" + +print("0.1.1 beta.1 reconciliation audit: clean (Web skeleton composes structurally, five Tauri Web prerequisites covered, DEFER preserved for 0.1.4)") +PYGATE +``` + +Puis rejouer les preuves PGR : + +```bash +python3 -B -m unittest discover -s tests -v + +python3 -B scripts/audit_markdown_headers.py \ + README.md RULES.md ROADMAP.md CHANGELOG.md docs deltas history prompts +python3 -B scripts/audit_markdown_tables.py \ + README.md RULES.md ROADMAP.md CHANGELOG.md docs deltas history prompts +python3 -B scripts/audit_markdown_links.py \ + README.md RULES.md ROADMAP.md CHANGELOG.md docs deltas history prompts + +git diff --check + +git add VERSION ROADMAP.md docs/000-README.md \ + docs/plans/007-V0_1_1_WEB_FRONTEND_FOUNDATION_PLAN.md \ + docs/studies/000-README.md docs/studies/002-TAURI_SKELETON_DECISION.md \ + deltas/0.1.1/beta.1.md + +git diff --cached --check +git status --short +``` + +Le scope indexé attendu avant ajout du history de `beta.1` est exactement : + +```text +M ROADMAP.md +M VERSION +A deltas/0.1.1/beta.1.md +M docs/000-README.md +M docs/plans/007-V0_1_1_WEB_FRONTEND_FOUNDATION_PLAN.md +M docs/studies/000-README.md +M docs/studies/002-TAURI_SKELETON_DECISION.md +``` + +## Revue opérateur complémentaire + +Confirmer que : + +- les cinq conditions historiques du `DEFER` Tauri sont toutes rattachées à des owners/artifacts PGR existants ; +- cette couverture est décrite comme préparation de `0.1.4`, pas comme promotion du skeleton Tauri ; +- le corpus Tauri devra être réexaminé en `0.1.4` au lieu d'être supposé inchangé ; +- le dry-run structurel ne prétend pas remplacer `tsc`, Vite, Sass ou un package manager réel ; +- aucun profil, skeleton, template technique ou contrat de validation n'est modifié dans `beta.1` ; +- `frontend/`, Vite, Sass, Bootstrap, npm, TS-RS et WASM ne deviennent pas des obligations Tauri ; +- `0.1.8` n'est pas réservé et l'horizon engagé reste inchangé. + +## Transition + +### PASS + +Produire `history/0.1.1/beta.1.md`, l'appliquer puis committer/pousser `beta.1`. Continuer avec `0.1.1-rc.1` pour geler le scope, préparer l'entrée `CHANGELOG`, rejouer le release gate complet et vérifier le prompt de reprise `0.1.2` si la roadmap reste valide. + +### FAIL + +Consigner le diagnostic réel dans `history/0.1.1/beta.1.md`, puis produire `beta.1.fix.N` ou effectuer un REPLAN si la réconciliation révèle un owner Web manquant. Ne pas masquer une lacune en créant prématurément le skeleton Tauri. diff --git a/docs/000-README.md b/docs/000-README.md index e99c246..3b22e21 100644 --- a/docs/000-README.md +++ b/docs/000-README.md @@ -1,5 +1,5 @@ - + # Documentation PGR @@ -29,7 +29,7 @@ Les templates techniques copiables sous `templates/` restent séparés des instr - [`templates/010-WEB_CSS_SASS.md`](templates/010-WEB_CSS_SASS.md) — guide CSS/Sass de `alpha.5` : sources, modules Sass, packages de styles et artefacts générés sans imposer de framework CSS. - [`validation/005-WEB_FRONTEND_VALIDATION.md`](validation/005-WEB_FRONTEND_VALIDATION.md) — validation frontend réutilisable et indépendante du host : restore, type-check, build/styles et smoke proportionné. - [`skeletons/003-WEB_FRONTEND.md`](skeletons/003-WEB_FRONTEND.md) — specialization Web composable fondée sur les owners `530/540/550/560`, sans imposer Vite, Sass, npm, Bootstrap ou un layout unique. -- [`studies/002-TAURI_SKELETON_DECISION.md`](studies/002-TAURI_SKELETON_DECISION.md) — décision `DEFER` dont `0.1.1` doit satisfaire les prérequis Web sans créer ni autoriser automatiquement le skeleton Tauri. +- [`studies/002-TAURI_SKELETON_DECISION.md`](studies/002-TAURI_SKELETON_DECISION.md) — décision `DEFER` conservée ; `beta.1` vérifie que ses cinq prérequis Web sont désormais couverts et prépare leur réexamen objectif en `0.1.4` sans créer le skeleton Tauri. - [`studies/003-V0_1_0_HORIZON_REVIEW.md`](studies/003-V0_1_0_HORIZON_REVIEW.md) — revue ayant engagé `0.1.1` à `0.1.7` et maintenu WASM, serveur Rust et deployment sans réservation prématurée. - [`../prompts/007-V0_1_1_START_PROMPT.md`](../prompts/007-V0_1_1_START_PROMPT.md) — contrat de reprise autoritaire de la release `0.1.1`. diff --git a/docs/plans/007-V0_1_1_WEB_FRONTEND_FOUNDATION_PLAN.md b/docs/plans/007-V0_1_1_WEB_FRONTEND_FOUNDATION_PLAN.md index 93f21e0..6187f12 100644 --- a/docs/plans/007-V0_1_1_WEB_FRONTEND_FOUNDATION_PLAN.md +++ b/docs/plans/007-V0_1_1_WEB_FRONTEND_FOUNDATION_PLAN.md @@ -1,5 +1,5 @@ - + # Plan 0.1.1 — fondation frontend Web contrôlée @@ -401,7 +401,9 @@ La gate spécifique a atteint son message final, les `48/48` tests et les trois ### alpha.5 — CSS/Sass et validation frontend -Matérialiser la frontière CSS/Sass et la validation frontend indépendante du host. +Statut opérateur : **PASS**. + +La gate spécifique Web frontend a atteint son message final, les `48/48` tests et les trois audits Markdown sont propres, et le scope Git correspond exactement au delta. Le skeleton `003-WEB_FRONTEND.md` compose désormais les owners `530/540/550/560` sans ownership caché ni valeur universelle arbitraire. La tranche retient les décisions suivantes : @@ -421,9 +423,23 @@ Le skeleton ne lève pas le `DEFER` Tauri. `beta.1` devra encore réconcilier le ### beta.1 — réconciliation et preuve de préparation Tauri -Rejouer les validations larges applicables, réconcilier documentation, owners, templates/skeletons éventuels et matrice de validation. Comparer les résultats aux conditions de sortie de `002-TAURI_SKELETON_DECISION.md`. +Statut opérateur : **à valider**. -`beta.1` doit produire une conclusion factuelle sur la préparation de `0.1.4`, mais MUST NOT lever lui-même le `DEFER` ni créer le skeleton Tauri. +Réconcilier la fondation Web complète et comparer explicitement les cinq conditions de sortie de `002-TAURI_SKELETON_DECISION.md` aux artefacts désormais matérialisés : + +```text +1. TypeScript contrôlé 530 + 008 + templates web-typescript +2. Vite/dev server/build outputs 550 + 009 +3. CSS/Sass + statut des artefacts générés 560 + 010 +4. validation frontend indépendante du host validation 005 +5. framework CSS classé comme choix local 560 + skeleton 003 +``` + +La tranche exécute aussi un dry-run structurel du skeleton Web : copie des templates JSON génériques dans un répertoire temporaire, parsing réel de ces artefacts, contrôle des références vers les owners/guides/validation et vérification de l'absence de `vite.config.ts`, `main.scss`, host Tauri ou dépendance frontend arbitraire injectés par PGR. + +Ce dry-run ne prétend pas remplacer `tsc`, Vite ou Sass : le dépôt PGR ne possède volontairement ni versions de dépendances frontend ni configuration de projet concrète. Une instanciation réelle doit toujours exécuter les toolchains officielles sélectionnées conformément à `005-WEB_FRONTEND_VALIDATION.md`. + +Si les cinq conditions sont matériellement couvertes, `beta.1` peut conclure que `0.1.4` dispose désormais des prérequis PGR nécessaires pour réexaminer le candidat Tauri. Cette conclusion MUST NOT lever le `DEFER`, créer le skeleton Tauri, figer `frontend/`, Bootstrap, Sass ou Vite comme obligations Tauri, ni remplacer la réévaluation du corpus courant exigée par l'étude `002`. Si une responsabilité Web nécessaire reste sans owner clair, effectuer un REPLAN avant RC plutôt que masquer la lacune. diff --git a/docs/studies/000-README.md b/docs/studies/000-README.md index ba8dd53..36f1d96 100644 --- a/docs/studies/000-README.md +++ b/docs/studies/000-README.md @@ -1,5 +1,5 @@ - + # Index des études PGR @@ -10,5 +10,5 @@ Une étude peut comparer des projets sources, des technologies ou plusieurs opti ## Études actives - [`001-KSP_GAMES_RECONCILIATION.md`](001-KSP_GAMES_RECONCILIATION.md) — première réconciliation explicite de PGR avec les baselines autoritaires fournies de `khadhroony-solana-project` et `sasedev-games`. -- [`002-TAURI_SKELETON_DECISION.md`](002-TAURI_SKELETON_DECISION.md) — étude de readiness `alpha.9` déterminant si les owners existants suffisent à matérialiser un skeleton Tauri contrôlé sans transférer au skeleton la propriété normative du frontend. +- [`002-TAURI_SKELETON_DECISION.md`](002-TAURI_SKELETON_DECISION.md) — décision historique `DEFER` du skeleton Tauri, complétée en `0.1.1-beta.1` par la preuve que ses cinq prérequis Web disposent désormais d'owners PGR, sans lever le report avant `0.1.4`. - [`003-V0_1_0_HORIZON_REVIEW.md`](003-V0_1_0_HORIZON_REVIEW.md) — revue d'horizon `0.1.0-beta.1` engageant les prochaines releases `0.1.x` suffisamment décidées et conservant les autres axes sans numéro. diff --git a/docs/studies/002-TAURI_SKELETON_DECISION.md b/docs/studies/002-TAURI_SKELETON_DECISION.md index a97fc9a..d6d2667 100644 --- a/docs/studies/002-TAURI_SKELETON_DECISION.md +++ b/docs/studies/002-TAURI_SKELETON_DECISION.md @@ -1,5 +1,5 @@ - + # Décision de skeleton Tauri pour projets contrôlés @@ -139,3 +139,96 @@ Cette décision ne : - intègre pas WASM dans le host ; - migre KSP ou Games vers PGR ; - modifie pas les règles Tauri déjà stabilisées. + +## Réexamen de préparation 0.1.1-beta.1 + +Le `DEFER` décidé en `0.0.5-alpha.9` reste la décision active pendant `0.1.1`. La présente révision n'autorise ni création ni adoption d'un skeleton Tauri ; elle vérifie uniquement si les responsabilités Web dont l'absence motivait le report possèdent désormais des owners PGR suffisants pour que `0.1.4` puisse réexaminer le candidat sur des bases concrètes. + +### Condition 1 — TypeScript et conventions Web contrôlées + +Couverture disponible : + +```text +docs/rules/530-TYPESCRIPT.md +docs/templates/008-WEB_TYPESCRIPT_PACKAGE.md +templates/web-typescript/tsconfig.json +templates/web-typescript/package.json +docs/skeletons/003-WEB_FRONTEND.md +``` + +Le langage/type-check, les déclarations externes, le manifest minimal et les décisions laissées au projet ont désormais des owners explicites. TypeScript reste une recommandation `SHOULD`, pas une obligation Tauri universelle. + +État de préparation : **couvert**. + +### Condition 2 — Vite et ownership des commandes/dev server/build outputs + +Couverture disponible : + +```text +docs/rules/550-VITE.md +docs/templates/009-WEB_VITE.md +docs/validation/005-WEB_FRONTEND_VALIDATION.md +``` + +Le dev server, le cache, `build.outDir`, `publicDir`, les scripts et la frontière source/généré sont possédés sans imposer de `vite.config.ts`, layout, port ou `base` universel. + +État de préparation : **couvert**. + +### Condition 3 — Sass/CSS et statut des artefacts générés + +Couverture disponible : + +```text +docs/rules/560-CSS_SASS.md +docs/templates/010-WEB_CSS_SASS.md +docs/validation/005-WEB_FRONTEND_VALIDATION.md +``` + +CSS seul reste valide ; Sass est optionnel mais recommandé lorsque utile. Sources, compilation, outputs, entrypoints de packages et compatibilité `@import` sont distingués sans imposer Bootstrap ni un `main.scss` générique. + +État de préparation : **couvert**. + +### Condition 4 — validation frontend indépendante de la validation Tauri + +Couverture disponible : + +```text +docs/validation/005-WEB_FRONTEND_VALIDATION.md +docs/validation/001-VALIDATION_MATRIX.md +docs/skeletons/003-WEB_FRONTEND.md +``` + +Restore, type-check, styles, build et smoke navigateur sont classifiés indépendamment du host. Un `PASS` frontend ne vaut explicitement pas `PASS` Tauri. + +État de préparation : **couvert**. + +### Condition 5 — framework CSS classé comme décision de skeleton/projet + +Couverture disponible : + +```text +docs/rules/560-CSS_SASS.md +docs/templates/010-WEB_CSS_SASS.md +docs/skeletons/003-WEB_FRONTEND.md +``` + +Bootstrap, Tailwind CSS ou une alternative sont des choix locaux. Leur présence dans Games/KSP ne les élève pas en règle Tauri ni en règle Web universelle. + +État de préparation : **couvert**. + +### Conclusion de préparation + +Les cinq conditions de sortie formulées en `0.0.5-alpha.9` possèdent désormais des owners PGR matérialisés et non redondants. + +Cela change le diagnostic de préparation, pas la décision de skeleton : + +```text +conditions Web requises couvertes +skeleton Tauri dans 0.1.1 toujours DEFER +réexamen autorisé 0.1.4 +création automatique interdite +``` + +`0.1.4` devra réexaminer le corpus alors courant, les versions/outils réellement soutenus, le profil `710-TAURI.md` et la composition avec `003-WEB_FRONTEND.md`. Il pourra confirmer, modifier ou abandonner le candidat historique. La présente étude ne préjuge pas de cette décision. + +Le candidat historique `frontend/ + Vite + TypeScript + Sass + Bootstrap + TS-RS` reste donc une observation à réexaminer, pas une baseline déjà approuvée. En particulier, `frontend/`, Vite, Sass et Bootstrap ne deviennent pas des obligations Tauri du seul fait que les owners permettant de les encadrer existent désormais. diff --git a/history/0.1.1/beta.1.md b/history/0.1.1/beta.1.md new file mode 100644 index 0000000..339bb8d --- /dev/null +++ b/history/0.1.1/beta.1.md @@ -0,0 +1,109 @@ + + + +# History 0.1.1-beta.1 — réconciliation et préparation Tauri + +## Statut + +PASS + +La gate opérateur de `0.1.1-beta.1` exécutée le `2026-09-27` a réussi. Elle confirme la réconciliation de la fondation frontend Web, le dry-run structurel du skeleton `003-WEB_FRONTEND.md`, la couverture des cinq prérequis Web nécessaires au futur réexamen Tauri et le maintien explicite du `DEFER` jusqu'à `0.1.4`. + +## Baseline opérateur + +La tranche `0.1.1-alpha.5` a été clôturée avec son history `PASS`, puis committée et poussée avant application de `beta.1` : + +```text +commit 55c6f7b +message 0.1.1-alpha.5 +push origin/master PASS +``` + +Après application de `beta.1`, les contrôles initiaux ont confirmé : + +```text +VERSION 0.1.1-beta.1 +history/0.1.1/alpha.5.md présent dans HEAD et le workspace +deltas/0.1.1/beta.1.md présent +history/0.1.1/beta.1.md absent pendant la gate +ROADMAP.md version 11 +docs/000-README.md version 29 +docs/plans/007-V0_1_1_WEB_FRONTEND_FOUNDATION_PLAN.md version 9 +docs/studies/000-README.md version 4 +docs/studies/002-TAURI_SKELETON_DECISION.md version 2 +``` + +Le history `alpha.5` a été retrouvé avec statut `PASS`. + +## Réconciliation Web et préparation Tauri + +La gate spécifique a affiché : + +```text +0.1.1 beta.1 reconciliation audit: clean (Web skeleton composes structurally, five Tauri Web prerequisites covered, DEFER preserved for 0.1.4) +``` + +Elle a vérifié que les cinq conditions historiques de sortie du `DEFER` disposent désormais d'owners ou artefacts PGR distincts : + +```text +TypeScript contrôlé 530 + 008 + templates web-typescript +Vite / dev server / build outputs 550 + 009 +CSS/Sass + statut des artefacts générés 560 + 010 +validation frontend indépendante du host validation 005 +framework CSS classé comme choix local 560 + skeleton 003 +``` + +Le dry-run structurel a copié les templates JSON Web dans un répertoire temporaire, les a parsés et a confirmé qu'ils n'injectent ni dépendances arbitraires, ni `vite.config.ts`, ni `main.scss`, ni host Tauri. + +Cette preuve reste volontairement structurelle. Elle ne prétend pas remplacer `tsc`, Vite, Sass ou le package manager d'une instanciation réelle. + +La décision historique Tauri reste : + +```text +skeleton Tauri dans 0.1.1 DEFER +réexamen autorisé 0.1.4 +``` + +`beta.1` établit donc uniquement que le dossier Web est suffisamment matérialisé pour permettre ce futur réexamen ; elle ne préjuge pas de sa décision. + +## Tests et audits PGR + +La suite Python globale a exécuté `48` tests, tous réussis : + +```text +Ran 48 tests in 0.719s + +OK +``` + +Les audits documentaires sont propres : + +```text +Markdown header audit: clean (225 file(s)) +Markdown table audit: clean (9 table(s), 225 file(s)) +Markdown link audit: clean (256 local link(s), 225 file(s)) +``` + +## Contrôles Git + +`git diff --check` et `git diff --cached --check` n'ont produit aucun diagnostic. + +Le statut indexé transmis avant ajout du présent history est exactement : + +```text +M ROADMAP.md +M VERSION +A deltas/0.1.1/beta.1.md +M docs/000-README.md +M docs/plans/007-V0_1_1_WEB_FRONTEND_FOUNDATION_PLAN.md +M docs/studies/000-README.md +M docs/studies/002-TAURI_SKELETON_DECISION.md +``` + +Le scope correspond exactement au delta `beta.1`. Aucun profil `530/540/550/560`, skeleton, template technique ou contrat de validation n'a été modifié par cette tranche. + +## Décision + +`0.1.1-beta.1` est `PASS`. Aucun fix ni REPLAN n'est requis. + +La release peut entrer en `0.1.1-rc.1` pour geler le scope, préparer le changelog candidat, rejouer le release gate complet et préparer/vérifier le prompt de reprise `0.1.2` sans introduire de nouvelle fonctionnalité normative.