0.0.4-alpha.1
This commit is contained in:
150
deltas/0.0.4/alpha.1.md
Normal file
150
deltas/0.0.4/alpha.1.md
Normal file
@@ -0,0 +1,150 @@
|
||||
<!-- file: deltas/0.0.4/alpha.1.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta 0.0.4-alpha.1 — audit de baseline et cadrage des skeletons
|
||||
|
||||
## Baseline et version
|
||||
|
||||
Baseline : archive source fournie `pgr-v0.0.3.zip`, déclarée téléchargée depuis le tag Gitea `v0.0.3`, accompagnée du rapport externe `pgr-0.0.3-publish.001-report.md` avec statut `PASS`.
|
||||
|
||||
SHA-256 vérifié de l'archive :
|
||||
|
||||
```text
|
||||
517fb46ada098fdc221ae53a8ff4b409b81e0244ec5ce4d0e6fca0c3da61b866
|
||||
```
|
||||
|
||||
Le rapport post-tag annonce le même hash et reste extérieur à la stable. L'archive sans `.git` est contrôlée par son contenu ; elle n'est pas utilisée comme preuve autonome du commit ou de la référence distante du tag.
|
||||
|
||||
Version avant application :
|
||||
|
||||
```text
|
||||
0.0.3
|
||||
```
|
||||
|
||||
Version après application :
|
||||
|
||||
```text
|
||||
0.0.4-alpha.1
|
||||
```
|
||||
|
||||
## Objet
|
||||
|
||||
Exécuter la gate de cadrage imposée par `prompts/004-V0_0_4_START_PROMPT.md` avant toute matérialisation importante : vérifier la stable, les règles `200` à `610`, la gouvernance documentaire, les templates et audits existants, la chaîne delta/history et les limites annoncées ; déterminer ensuite quels skeletons disposent déjà d'entrées suffisantes et planifier les tranches de `0.0.4`.
|
||||
|
||||
Le résultat détaillé de cette revue et le découpage prévisionnel sont consignés dans `docs/plans/004-V0_0_4_SKELETONS_PLAN.md`. Aucun défaut bloquant de `0.0.3` n'impose une correction rétroactive avant ce cadrage.
|
||||
|
||||
Le plan retient comme premières cibles la fondation composable d'un projet gouverné PGR puis un skeleton Rust/Cargo workspace. Java/Maven/Gradle, Android, Web, JNI, Tauri et les autres familles sans pièces suffisantes restent différés.
|
||||
|
||||
## Scope
|
||||
|
||||
REPLACE :
|
||||
|
||||
```text
|
||||
VERSION
|
||||
README.md
|
||||
docs/000-README.md
|
||||
```
|
||||
|
||||
ADD :
|
||||
|
||||
```text
|
||||
docs/plans/004-V0_0_4_SKELETONS_PLAN.md
|
||||
deltas/0.0.4/alpha.1.md
|
||||
```
|
||||
|
||||
DELETE : aucun.
|
||||
|
||||
L'archive delta contient uniquement ces cinq fichiers complets avec leurs chemins relatifs. Aucun history, skeleton concret, nouvelle règle, template technique, script ou manifest de suppression n'appartient à `alpha.1`.
|
||||
|
||||
`README.md` et `docs/000-README.md` sont des documents vivants : ils ajoutent le plan actif comme point d'entrée. `ROADMAP.md` annonce déjà `0.0.4` comme planifiée et `CHANGELOG.md` reste limité aux releases publiées ; ils n'ont pas besoin d'une modification cérémonielle dans cette tranche.
|
||||
|
||||
## Validation opérateur
|
||||
|
||||
Après application sur le commit stable `0.0.3`, depuis la racine du dépôt :
|
||||
|
||||
```bash
|
||||
test "$(cat VERSION)" = '0.0.4-alpha.1'
|
||||
test -f docs/plans/004-V0_0_4_SKELETONS_PLAN.md
|
||||
test -f deltas/0.0.4/alpha.1.md
|
||||
test ! -e history/0.0.4/alpha.1.md
|
||||
|
||||
grep -Fx '<!-- version: 7 -->' README.md
|
||||
grep -Fx '<!-- version: 5 -->' docs/000-README.md
|
||||
grep -F '004-V0_0_4_SKELETONS_PLAN.md' README.md
|
||||
grep -F '004-V0_0_4_SKELETONS_PLAN.md' docs/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
|
||||
|
||||
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}
|
||||
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))
|
||||
|
||||
for path in Path('history/0.0.3').glob('*.md'):
|
||||
text = path.read_text(encoding='utf-8')
|
||||
assert re.search(r'## Statut\s+PASS\s', text), path
|
||||
|
||||
for path in (
|
||||
Path('scripts/audit_rust_blank_lines.py'),
|
||||
Path('scripts/audit_rust_const_blocks.py'),
|
||||
Path('scripts/_rust_audit_common.py'),
|
||||
):
|
||||
assert path.is_file(), path
|
||||
|
||||
print('Baseline structural audit: clean (34 prior delta/history pairs, 10/10 histories 0.0.3 PASS, 5 TOML parsed)')
|
||||
PY
|
||||
|
||||
git diff --check
|
||||
git add VERSION README.md docs/000-README.md \
|
||||
docs/plans/004-V0_0_4_SKELETONS_PLAN.md deltas/0.0.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.0.4/alpha.1.md
|
||||
M docs/000-README.md
|
||||
A docs/plans/004-V0_0_4_SKELETONS_PLAN.md
|
||||
```
|
||||
|
||||
La vérification du ZIP et du rapport post-tag appartient à l'intake de cette tranche et a été utilisée pour préparer le plan. L'opérateur confirme également que les fichiers fournis sont bien ceux téléchargés pour la reprise, que le hash de l'archive concorde avec le rapport, que le rapport est `PASS` et qu'il n'est pas copié dans le dépôt.
|
||||
|
||||
La revue opérateur doit confirmer que le plan ne transforme pas une prévision en règle active, que les valeurs Rust/Cargo d'exemple restent adaptables et que les domaines différés ne sont pas matérialisés par anticipation.
|
||||
|
||||
## Transition
|
||||
|
||||
### PASS
|
||||
|
||||
Rédiger et livrer séparément `history/0.0.4/alpha.1.md` avec les résultats réellement observés ; l'appliquer et committer la tranche. Préparer seulement ensuite `0.0.4-alpha.2` pour le contrat de composition des skeletons.
|
||||
|
||||
### FAIL
|
||||
|
||||
Consigner le résultat réel dans le history de `alpha.1`, puis corriger le cadrage dans `0.0.4-alpha.1.fix.1` ou produire un REPLAN motivé. Aucun contenu de `alpha.2` ne doit être absorbé silencieusement dans un fix.
|
||||
Reference in New Issue
Block a user