194 lines
8.4 KiB
Markdown
194 lines
8.4 KiB
Markdown
<!-- file: deltas/0.0.5/alpha.1.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Delta 0.0.5-alpha.1 — réconciliation des baselines et cadrage
|
|
|
|
## Baseline et sources
|
|
|
|
Baseline PGR : archive source fournie `pgr-v0.0.4.zip`, déclarée téléchargée depuis le tag Gitea `v0.0.4`, accompagnée du rapport externe `pgr-0.0.4-publish.001-report.md` avec statut `PASS`.
|
|
|
|
SHA-256 vérifié :
|
|
|
|
```text
|
|
pgr-v0.0.4.zip 7137bb084f017362323a2043d13ba71490be15b8786adc8d645981bf455b80ae
|
|
khadhroony-solana-project-v0.3.16.zip db3cc1b3fc3fb07ee864b02e2a7346c673d4cf63b33e8e872aca6c6458856ca0
|
|
games-v0.3.5.zip 5f5fdee1a271386766d059657d6eaa831acdc263b3e722fed738808335c0a105
|
|
```
|
|
|
|
Les deux archives externes sont des corpus autoritaires de réconciliation pour cette session, pas des projets déjà gouvernés par PGR. Elles ne sont ni modifiées ni incorporées à l'archive delta.
|
|
|
|
Version avant application :
|
|
|
|
```text
|
|
0.0.4
|
|
```
|
|
|
|
Version après application :
|
|
|
|
```text
|
|
0.0.5-alpha.1
|
|
```
|
|
|
|
## Objet
|
|
|
|
Exécuter la gate de cadrage imposée par `prompts/005-V0_0_5_START_PROMPT.md` : vérifier indépendamment la stable PGR et sa preuve post-tag, contrôler les deux snapshots externes fournis, inventorier leurs responsabilités et audits, puis classer les écarts avant toute modification normative importante.
|
|
|
|
L'analyse détaillée vit dans `docs/studies/001-KSP_GAMES_RECONCILIATION.md`. Elle confirme que KSP `v0.3.16` et Games `v0.3.5` n'ont pas encore adopté PGR et ne doivent donc pas être jugés comme des projets non conformes. La plupart des mécanismes de gouvernance, documentation, validation et Rust/Cargo observés sont déjà correctement possédés par PGR.
|
|
|
|
Quatre axes communs restent suffisamment étayés pour le plan `0.0.5` : contrat générique des prompts versionnés, pattern facultatif de contrats de fichiers/familles, audit Rust de façade/export completeness, et Tauri comme premier candidat réel à la famille framework `700`.
|
|
|
|
Aucun de ces axes n'est matérialisé normativement dans `alpha.1`. Web/Vite/WASM, JNI, les audits composites et les règles métier ou de distribution spécifiques restent différés ou locaux.
|
|
|
|
## Vérifications d'intake déjà exécutées
|
|
|
|
Le ZIP PGR est lisible, possède une racine unique `pgr/`, `139` fichiers et `28` répertoires, sans doublon, collision de casse, chemin dangereux, lien symbolique ni `.git`. Son hash concorde avec le rapport post-tag.
|
|
|
|
Les deux corpus externes passent les contrôles ZIP équivalents. Leurs audits statiques fournis ont également été exécutés avec succès : audits Rust généraux/export/workspace et tableaux Markdown pour KSP ; audits Rust généraux/export/workspace, tableaux Markdown et distribution layout pour Games.
|
|
|
|
Sur la stable PGR extraite, les `15` tests Python passent, les trois audits Markdown sont propres et les cinq TOML Rust/Cargo se parsèrent. La toolchain `cargo` n'est pas disponible dans l'environnement de préparation ; aucune commande Cargo externe n'est donc présentée comme exécutée.
|
|
|
|
## Scope
|
|
|
|
REPLACE :
|
|
|
|
```text
|
|
VERSION
|
|
README.md
|
|
docs/000-README.md
|
|
```
|
|
|
|
ADD :
|
|
|
|
```text
|
|
docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md
|
|
docs/studies/000-README.md
|
|
docs/studies/001-KSP_GAMES_RECONCILIATION.md
|
|
deltas/0.0.5/alpha.1.md
|
|
```
|
|
|
|
DELETE : aucun.
|
|
|
|
L'archive delta contient uniquement ces sept fichiers complets avec leurs chemins relatifs. Aucun history, règle normative, script, template technique, profil framework, skeleton ou modification KSP/Games n'appartient à cette tranche.
|
|
|
|
`ROADMAP.md` annonce déjà `0.0.5` comme planifiée et `CHANGELOG.md` reste limité aux releases publiées ; aucun changement cérémoniel de ces deux fichiers n'est requis ici.
|
|
|
|
## Validation opérateur
|
|
|
|
Après application sur le commit stable `0.0.4`, depuis la racine du dépôt :
|
|
|
|
```bash
|
|
test "$(cat VERSION)" = '0.0.5-alpha.1'
|
|
test -f docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md
|
|
test -f docs/studies/000-README.md
|
|
test -f docs/studies/001-KSP_GAMES_RECONCILIATION.md
|
|
test -f deltas/0.0.5/alpha.1.md
|
|
test ! -e history/0.0.5/alpha.1.md
|
|
|
|
grep -Fx '<!-- version: 12 -->' README.md
|
|
grep -Fx '<!-- version: 10 -->' docs/000-README.md
|
|
grep -F '005-V0_0_5_RECONCILIATION_PLAN.md' README.md docs/000-README.md
|
|
grep -F '001-KSP_GAMES_RECONCILIATION.md' README.md docs/000-README.md docs/studies/000-README.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
|
|
import tomllib
|
|
|
|
expected_hashes = {
|
|
'pgr-v0.0.4.zip': '7137bb084f017362323a2043d13ba71490be15b8786adc8d645981bf455b80ae',
|
|
'khadhroony-solana-project-v0.3.16.zip': 'db3cc1b3fc3fb07ee864b02e2a7346c673d4cf63b33e8e872aca6c6458856ca0',
|
|
'games-v0.3.5.zip': '5f5fdee1a271386766d059657d6eaa831acdc263b3e722fed738808335c0a105',
|
|
}
|
|
|
|
study = Path('docs/studies/001-KSP_GAMES_RECONCILIATION.md').read_text(encoding='utf-8')
|
|
plan = Path('docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md').read_text(encoding='utf-8')
|
|
for name, digest in expected_hashes.items():
|
|
assert name in study or name in plan, name
|
|
assert digest in study or digest in plan, digest
|
|
|
|
for path in (
|
|
Path('templates/rust-cargo/rustfmt.toml'),
|
|
Path('templates/rust-cargo/clippy.toml'),
|
|
Path('templates/rust-cargo/.cargo/config.toml'),
|
|
Path('templates/rust-cargo/Cargo.toml'),
|
|
Path('templates/rust-cargo/crates/project-core-lib/Cargo.toml'),
|
|
):
|
|
with path.open('rb') as stream:
|
|
tomllib.load(stream)
|
|
|
|
expected_counts = {'0.0.1': 12, '0.0.2': 12, '0.0.3': 10, '0.0.4': 9}
|
|
for release, expected in expected_counts.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) == expected, (release, len(deltas))
|
|
assert deltas == histories, (release, sorted(deltas ^ histories))
|
|
|
|
statuses_004 = {}
|
|
for path in Path('history/0.0.4').glob('*.md'):
|
|
text = path.read_text(encoding='utf-8')
|
|
match = re.search(r'## Statut\s+(PASS|FAIL|PARTIAL|BLOCKED)\s', text)
|
|
assert match is not None, path
|
|
statuses_004[path.name] = match.group(1)
|
|
assert statuses_004['alpha.4.md'] == 'FAIL'
|
|
assert statuses_004['alpha.4.fix.1.md'] == 'PASS'
|
|
assert statuses_004['beta.1.md'] == 'FAIL'
|
|
assert statuses_004['beta.1.fix.1.md'] == 'PASS'
|
|
assert statuses_004['rc.1.md'] == 'PASS'
|
|
assert statuses_004['rel.001.md'] == 'PASS'
|
|
|
|
assert 'ne sont pas encore gouvernés par PGR' in plan
|
|
assert 'aucune migration de KSP ou Games' in plan
|
|
assert 'Tauri' in plan
|
|
assert 'audit_rust_export_completeness.py' in study
|
|
|
|
print('0.0.5 alpha.1 structural audit: clean (43 prior pairs, 5 TOML parsed, reconciliation sources recorded)')
|
|
PY
|
|
|
|
git diff --check
|
|
git add VERSION README.md docs/000-README.md \
|
|
docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md \
|
|
docs/studies/000-README.md docs/studies/001-KSP_GAMES_RECONCILIATION.md \
|
|
deltas/0.0.5/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.0.5/alpha.1.md
|
|
M docs/000-README.md
|
|
A docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md
|
|
A docs/studies/000-README.md
|
|
A docs/studies/001-KSP_GAMES_RECONCILIATION.md
|
|
```
|
|
|
|
La revue opérateur doit en outre confirmer que :
|
|
|
|
- les trois archives/hashes consignés correspondent bien aux sources autoritaires fournies pour cette reprise ;
|
|
- l'étude traite KSP et Games comme corpus non encore migrés vers PGR ;
|
|
- le plan n'atteste aucun profil Tauri, audit de façade ou template avant sa tranche dédiée ;
|
|
- les conventions métier et plateforme locales ne sont pas promues en règles PGR par simple similarité ;
|
|
- aucune modification des deux projets externes n'est cachée dans le delta.
|
|
|
|
## Transition
|
|
|
|
### PASS
|
|
|
|
Rédiger et livrer séparément `history/0.0.5/alpha.1.md` avec les résultats réellement observés ; l'appliquer et committer la tranche. Préparer seulement ensuite `0.0.5-alpha.2` pour le contrat générique des prompts versionnés.
|
|
|
|
### FAIL
|
|
|
|
Consigner le résultat réel dans le history de `alpha.1`, puis corriger le cadrage dans `0.0.5-alpha.1.fix.1` ou produire un REPLAN motivé. Aucun contenu de `alpha.2` ne doit être absorbé silencieusement dans un fix.
|