0.0.5-alpha.6.fix.1
This commit is contained in:
178
deltas/0.0.5/alpha.6.fix.1.md
Normal file
178
deltas/0.0.5/alpha.6.fix.1.md
Normal file
@@ -0,0 +1,178 @@
|
||||
<!-- file: deltas/0.0.5/alpha.6.fix.1.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta 0.0.5-alpha.6.fix.1 — composition Tauri/Rust/frontend et gate corrigé
|
||||
|
||||
## Baseline et version
|
||||
|
||||
Baseline attendue : commit opérateur complet de `0.0.5-alpha.6`, réalisé après application de `history/0.0.5/alpha.6.md` avec statut `FAIL`.
|
||||
|
||||
Version avant application :
|
||||
|
||||
```text
|
||||
0.0.5-alpha.6
|
||||
```
|
||||
|
||||
Version après application :
|
||||
|
||||
```text
|
||||
0.0.5-alpha.6.fix.1
|
||||
```
|
||||
|
||||
## Cause du fix
|
||||
|
||||
Deux défauts appartiennent au scope exact de `alpha.6` :
|
||||
|
||||
1. le heredoc Python de la gate `alpha.6` contient une chaîne multilignes entre quotes simples et échoue avec `SyntaxError: unterminated string literal` ;
|
||||
2. le profil livré ne distingue pas encore assez explicitement le contrat Tauri universel des conventions de structure/stack retenues pour les projets Tauri que l'organisation contrôle.
|
||||
|
||||
La clarification opérateur confirme aussi un écart plus large dans le profil Rust strict PGR. Ce troisième sujet ne doit pas être absorbé par le présent fix : il est replanifié en `alpha.7`, puis la décision de skeleton Tauri passe à `alpha.8`.
|
||||
|
||||
## Scope
|
||||
|
||||
REPLACE :
|
||||
|
||||
```text
|
||||
VERSION
|
||||
docs/architecture/003-RULE_PROFILE_MODEL.md
|
||||
docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md
|
||||
docs/rules/700-FRAMEWORKS.md
|
||||
docs/rules/710-TAURI.md
|
||||
docs/studies/001-KSP_GAMES_RECONCILIATION.md
|
||||
```
|
||||
|
||||
ADD :
|
||||
|
||||
```text
|
||||
deltas/0.0.5/alpha.6.fix.1.md
|
||||
```
|
||||
|
||||
DELETE : aucun.
|
||||
|
||||
## Décisions corrigées
|
||||
|
||||
Le fix précise que :
|
||||
|
||||
- un host Tauri est un projet Rust/Cargo et n'obtient aucune exception implicite aux règles Rust sélectionnées ;
|
||||
- un projet externe/imposé peut conserver des règles différentes via le niveau project-specific ou des overrides explicites ;
|
||||
- le profil Tauri universel ne possède pas le choix `frontend/`, Vite, TypeScript, Sass, Bootstrap ou du package manager ;
|
||||
- ces choix forment un candidat de skeleton pour les futurs projets contrôlés ;
|
||||
- WASM n'est pas une composante implicite de Tauri et reste normalement une unité séparée avec ses propres owners ;
|
||||
- `cargo tauri add` est une commodité, pas une obligation : l'ajout explicite des dépendances et de l'initialisation à partir de la documentation officielle des plugins est valide et peut être préféré pour garder le contrôle des manifests ;
|
||||
- un POC mobile non concluant pour Games ne permet pas de rejeter Tauri Android/iOS pour d'autres produits.
|
||||
|
||||
## REPLAN borné
|
||||
|
||||
La clarification révèle qu'une décision Rust déjà retenue historiquement n'est pas complètement matérialisée dans `510-RUST_CARGO.md`. `alpha.7` devient donc une tranche normale de complétude du profil Rust strict, puis l'ancienne décision de skeleton Tauri devient `alpha.8`.
|
||||
|
||||
Le présent fix ne modifie pas `510-RUST_CARGO.md` et n'ajoute aucun nouvel audit Rust : cela constituerait un nouveau scope fonctionnel.
|
||||
|
||||
## Validation opérateur
|
||||
|
||||
Après application du history `FAIL` de `alpha.6`, commit/push de cette tranche, puis application du présent fix :
|
||||
|
||||
```bash
|
||||
test "$(cat VERSION)" = '0.0.5-alpha.6.fix.1'
|
||||
test -f history/0.0.5/alpha.6.md
|
||||
test -f deltas/0.0.5/alpha.6.fix.1.md
|
||||
test ! -e history/0.0.5/alpha.6.fix.1.md
|
||||
|
||||
grep -A2 '^## Statut$' history/0.0.5/alpha.6.md | grep -Fx 'FAIL'
|
||||
grep -Fx '<!-- version: 2 -->' docs/rules/700-FRAMEWORKS.md
|
||||
grep -Fx '<!-- version: 2 -->' docs/rules/710-TAURI.md
|
||||
grep -Fx '<!-- version: 5 -->' docs/architecture/003-RULE_PROFILE_MODEL.md
|
||||
grep -Fx '<!-- version: 5 -->' docs/studies/001-KSP_GAMES_RECONCILIATION.md
|
||||
grep -Fx '<!-- version: 6 -->' docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md
|
||||
|
||||
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
|
||||
|
||||
python3 -B - <<'PY'
|
||||
from pathlib import Path
|
||||
import re
|
||||
|
||||
history = Path('history/0.0.5/alpha.6.md').read_text(encoding='utf-8')
|
||||
assert re.search(r'## Statut\s+FAIL\s', history)
|
||||
|
||||
frameworks = Path('docs/rules/700-FRAMEWORKS.md').read_text(encoding='utf-8')
|
||||
for phrase in (
|
||||
"Il n'annule pas silencieusement les conventions des owners qu'il compose.",
|
||||
'Un projet existant ou imposé de l'extérieur MAY conserver des contraintes différentes.',
|
||||
'## Profil framework et convention d'instanciation',
|
||||
):
|
||||
assert phrase in frameworks, phrase
|
||||
|
||||
tauri = Path('docs/rules/710-TAURI.md').read_text(encoding='utf-8')
|
||||
for phrase in (
|
||||
'## Héritage Rust du host Tauri',
|
||||
'Tauri ne crée aucune exception implicite aux règles Rust sélectionnées par le projet.',
|
||||
'PGR MUST NOT imposer universellement Vite, TypeScript, Sass, Bootstrap, Tailwind CSS',
|
||||
'WASM n'est pas une composante implicite d'un projet Tauri.',
|
||||
'PGR ne définit aucun catalogue de plugins Tauri obligatoires et ne rend pas `cargo tauri add` obligatoire.',
|
||||
'Un POC Tauri mobile non concluant pour un produit particulier ne constitue pas une preuve',
|
||||
):
|
||||
assert phrase in tauri, phrase
|
||||
|
||||
version_chain = '\n'.join((
|
||||
'VERSION',
|
||||
'↓',
|
||||
'workspace.package.version',
|
||||
'↓',
|
||||
'package Cargo du host',
|
||||
'↓',
|
||||
'version applicative Tauri',
|
||||
))
|
||||
assert version_chain in tauri
|
||||
|
||||
study = Path('docs/studies/001-KSP_GAMES_RECONCILIATION.md').read_text(encoding='utf-8')
|
||||
assert 'candidat de skeleton pour projets contrôlés' in study
|
||||
assert 'WASM n'est pas une dépendance implicite de Tauri' in study
|
||||
assert 'écart antérieur dans le profil Rust PGR' in study
|
||||
|
||||
plan = Path('docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md').read_text(encoding='utf-8')
|
||||
assert '### alpha.7 — complétude du profil Rust strict' in plan
|
||||
assert '### alpha.8 — décision de skeleton Tauri pour projets contrôlés' in plan
|
||||
|
||||
print('0.0.5 alpha.6.fix.1 Tauri composition audit: clean (Rust inherited, frontend/skeleton separated, WASM independent, gate valid)')
|
||||
PY
|
||||
|
||||
git diff --check
|
||||
|
||||
git add VERSION \
|
||||
docs/architecture/003-RULE_PROFILE_MODEL.md \
|
||||
docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md \
|
||||
docs/rules/700-FRAMEWORKS.md docs/rules/710-TAURI.md \
|
||||
docs/studies/001-KSP_GAMES_RECONCILIATION.md \
|
||||
deltas/0.0.5/alpha.6.fix.1.md
|
||||
|
||||
git diff --cached --check
|
||||
git status --short
|
||||
```
|
||||
|
||||
La sortie Git attendue avant ajout du history est exactement :
|
||||
|
||||
```text
|
||||
M VERSION
|
||||
A deltas/0.0.5/alpha.6.fix.1.md
|
||||
M docs/architecture/003-RULE_PROFILE_MODEL.md
|
||||
M docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md
|
||||
M docs/rules/700-FRAMEWORKS.md
|
||||
M docs/rules/710-TAURI.md
|
||||
M docs/studies/001-KSP_GAMES_RECONCILIATION.md
|
||||
```
|
||||
|
||||
## Transition
|
||||
|
||||
### PASS
|
||||
|
||||
Créer/appliquer `history/0.0.5/alpha.6.fix.1.md`, committer/pousser le fix, puis poursuivre à `0.0.5-alpha.7` pour réconcilier les conventions Rust strictes déjà décidées avant toute matérialisation d'un skeleton Tauri.
|
||||
|
||||
### FAIL
|
||||
|
||||
Rester dans `0.0.5-alpha.6.fix.M`. Aucun changement du profil Rust ni skeleton Tauri ne doit être absorbé tant que la frontière Tauri/Rust/frontend n'est pas correctement fermée.
|
||||
Reference in New Issue
Block a user