Files
pgr/deltas/0.1.4/alpha.1.md
2026-09-29 11:33:56 +02:00

208 lines
8.5 KiB
Markdown

<!-- file: deltas/0.1.4/alpha.1.md -->
<!-- version: 1 -->
# Delta 0.1.4-alpha.1 — intake et cadrage du réexamen Tauri
## Objet
Ouvrir `0.1.4` conformément à `prompts/010-V0_1_4_START_PROMPT.md`, conserver une preuve locale de l'audit des baselines réellement fournies et matérialiser le plan avant toute modification normative ou création d'un skeleton Tauri.
La tranche ne crée pas `docs/skeletons/004-TAURI.md`, ne modifie pas `710-TAURI.md` et ne commence aucune adoption Games/KSP.
## Sources vérifiées avant préparation
```text
pgr-v0.1.3(1).zip
SHA-256 f3a7dffd5fe0fd3542e6b5207fda0b94bca2bd05bd5a54542d0a08d635a5d6ee
CRC PASS
pgr-0.1.3-publish.001-report.md
SHA-256 5405a1d6c216a5882c4638c07d573d50d440ce9e4e892d97f425e99054245544
status PASS
games-v0.3.6(3).zip
SHA-256 ad6e44a1332eb7d6069cf1189d9433f0fbb8fac19c5aac9f4641ac45c1c556e8
CRC PASS
khadhroony-solana-project-v0.3.19(1).zip
SHA-256 64a3813620925fa4f8914cdf74113399cfdd78ad51d60bbeff9bafbddcf4b253
CRC PASS
```
La baseline PGR correspond exactement au SHA canonique publié. La baseline Games correspond exactement à la référence `0.3.6` du prompt. KSP `0.3.19` est le corpus courant explicitement fourni et remplace, pour cette étude, la référence historique `0.3.17` sans prétendre posséder une preuve post-tag non fournie.
## Résultats d'intake
La stable PGR rejoue `48/48` tests Python et ses trois audits Markdown propres.
Games `0.3.6` rejoue ses audits Rust/workspace, Markdown tables et distribution layout propres. KSP `0.3.19` rejoue ses audits Rust/workspace et Markdown tables propres.
L'inventaire Tauri courant comporte `7` hosts : un sous Games et six sous KSP. Les sept convergent sur un host Cargo direct, `build.rs`, `tauri.conf.json`, `capabilities/`, `src/tauri.rs`, `frontend/`, TypeScript et Vite, sans `src-tauri/`.
Les choix Bootstrap/Sass/TS-RS, plugins, windows, ACL, ports, identifiers, bundle/resources et WASM ne convergent pas suffisamment pour devenir des obligations générales.
La relecture des owners Web confirme les cinq conditions historiques de sortie du `DEFER`. La vérification Tauri 2 officielle confirme que le layout standard et les commandes de commodité restent des possibilités supportées, tandis que capabilities/permissions doivent être traitées comme une surface de sécurité explicite.
## Modifications de la tranche
- `VERSION` passe à `0.1.4-alpha.1` ;
- `README.md` annonce l'ouverture du réexamen Tauri et référence son plan actif ;
- `docs/000-README.md` ajoute les points d'entrée actifs de `0.1.4` ;
- `docs/plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md` consigne audits, inventaire, classification et trajectoire ;
- le présent delta conserve le contrat de gate opérateur.
`ROADMAP.md` et `CHANGELOG.md` restent inchangés pendant cette tranche d'ouverture. Leur mise à jour est volontairement réservée aux phases de fermeture lorsque l'état réellement atteint est connu.
## Décision de tranche
```text
conditions Web historiques SATISFIED
ancien motif Web du DEFER LIFT
skeleton Tauri organisationnel ADOPT FOR MATERIALIZATION
création pendant alpha.1 NO
prochaine tranche alpha.2 — réconciliation normative 710 + étude 002
```
Cette décision autorise la matérialisation future du candidat ; elle ne présume pas que sa forme historique est correcte en bloc.
## Gate opérateur
Appliquer le delta puis exécuter depuis la racine du dépôt :
```bash
cat VERSION
test -f docs/plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md
test -f deltas/0.1.4/alpha.1.md
test ! -e history/0.1.4/alpha.1.md
test ! -e docs/skeletons/004-TAURI.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
assert Path('VERSION').read_text(encoding='utf-8').strip() == '0.1.4-alpha.1'
expected = {
'0.0.1': 12,
'0.0.2': 12,
'0.0.3': 10,
'0.0.4': 9,
'0.0.5': 19,
'0.1.0': 10,
'0.1.1': 11,
'0.1.2': 7,
'0.1.3': 6,
}
for release, count in expected.items():
deltas = {path.name for path in Path('deltas', release).glob('*.md')}
histories = {path.name for path in Path('history', release).glob('*.md')}
assert len(deltas) == count, (release, len(deltas))
assert deltas == histories, (release, sorted(deltas ^ histories))
statuses = {}
for path in Path('history/0.1.3').glob('*.md'):
text = path.read_text(encoding='utf-8')
match = re.search(r'## Statut\s+(?:`?)(PASS|FAIL|PARTIAL|BLOCKED)', text)
assert match is not None, path
statuses[path.name] = match.group(1)
assert len(statuses) == 6, statuses
assert set(statuses.values()) == {'PASS'}, statuses
assert statuses['rel.1.md'] == 'PASS'
roadmap = Path('ROADMAP.md').read_text(encoding='utf-8')
assert '- `(x) 0.1.3`' in roadmap
for release in range(4, 8):
assert f'- `( ) 0.1.{release}`' in roadmap, release
assert '0.1.8' not in roadmap
prompt = Path('prompts/010-V0_1_4_START_PROMPT.md').read_text(encoding='utf-8')
for phrase in (
'Version cible : `0.1.4`',
'Première tranche attendue : `0.1.4-alpha.1`',
'ADOPT / KEEP-LOCAL / OVERRIDE / DEFER',
'conditions de sortie du report historique',
'skeleton Tauri',
'adoption Games `0.1.5`',
'adoption KSP `0.1.6`',
):
assert phrase in prompt, phrase
plan = Path('docs/plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md').read_text(encoding='utf-8')
for phrase in (
'7` hosts',
'conditions historiques de sortie SATISFIED',
'Classification initiale `alpha.1`',
'### `ADOPT`',
'### `KEEP-LOCAL`',
'### `OVERRIDE`',
'### `DEFER`',
'ADOPT FOR MATERIALIZATION',
'`alpha.2` — réconciliation normative Tauri',
'`alpha.3` — skeleton Tauri contrôlé',
'`beta.1` — réconciliation et décision d\'artefacts',
'`rc.1` — freeze et handoff',
'`rel.1` — stable',
'0.1.5',
'0.1.6',
):
assert phrase in plan, phrase
assert Path('docs/rules/710-TAURI.md').read_text(encoding='utf-8').startswith(
'<!-- file: docs/rules/710-TAURI.md -->\n<!-- version: 6 -->'
)
assert Path('docs/studies/002-TAURI_SKELETON_DECISION.md').read_text(encoding='utf-8').startswith(
'<!-- file: docs/studies/002-TAURI_SKELETON_DECISION.md -->\n<!-- version: 2 -->'
)
assert Path('docs/skeletons/003-WEB_FRONTEND.md').exists()
assert not Path('docs/skeletons/004-TAURI.md').exists()
assert not Path('history/0.1.4/alpha.1.md').exists()
print('0.1.4 alpha.1 structural audit: clean (96 prior pairs, 7 current Tauri hosts classified, no premature skeleton/adoption)')
PY
git diff --check
git add VERSION README.md docs/000-README.md \
docs/plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md \
deltas/0.1.4/alpha.1.md
git diff --cached --check
git status --short
```
Le scope indexé attendu avant ajout du history est :
```text
M README.md
M VERSION
A deltas/0.1.4/alpha.1.md
M docs/000-README.md
A docs/plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md
```
## Revue opérateur attendue
La revue doit confirmer que `alpha.1` ne modifie ni `710-TAURI.md` ni l'étude historique avant validation du cadrage ; que les sept hosts réellement fournis sont utilisés comme preuves et non comme modèles à recopier ; que Bootstrap/Sass/TS-RS/WASM/plugins/windows/ports/identifiers restent correctement classifiés ; et que ni Games ni KSP ne sont adoptés pendant `0.1.4`.
Elle doit aussi confirmer que le candidat de skeleton est **autorisé à être matérialisé plus tard**, et non déjà créé par cette tranche.
## Transition
### PASS
Produire `history/0.1.4/alpha.1.md` à partir des résultats réellement observés. Dans la même réponse, préparer séparément le delta `0.1.4-alpha.2` consacré à la réconciliation normative de `710-TAURI.md` et de `002-TAURI_SKELETON_DECISION.md`, sans créer encore `004-TAURI.md`.
Après remise du history, fournir automatiquement le bloc opérateur exact pour appliquer le history, committer/pusher `0.1.4-alpha.1`, puis seulement appliquer le delta suivant conformément à `docs/templates/006-OPERATOR_COMMAND_HANDOFF.md`.
### FAIL
Consigner le résultat réel dans le history, puis ouvrir `0.1.4-alpha.1.fix.1` ou un REPLAN selon la cause. Aucun changement prévu pour `alpha.2` ne doit être absorbé silencieusement dans le fix.