0.1.4-beta.1
This commit is contained in:
189
deltas/0.1.4/beta.1.md
Normal file
189
deltas/0.1.4/beta.1.md
Normal file
@@ -0,0 +1,189 @@
|
||||
<!-- file: deltas/0.1.4/beta.1.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta 0.1.4-beta.1 — réconciliation des artefacts Tauri
|
||||
|
||||
## Objet
|
||||
|
||||
Fermer la phase de conception Tauri de `0.1.4` en réconciliant les artefacts matérialisés, en vérifiant leurs owners et en décidant explicitement de ne pas créer de template technique Tauri, de contrat de validation Tauri séparé ou de dry-run factice en l'absence de lacune démontrée.
|
||||
|
||||
## Préconditions
|
||||
|
||||
- `0.1.4-alpha.3` est validée `PASS` et son history est présent ;
|
||||
- `docs/skeletons/004-TAURI.md` est matérialisé ;
|
||||
- `docs/rules/710-TAURI.md` reste l'owner Tauri en révision interne `7` ;
|
||||
- aucun `docs/templates/011-TAURI.md` ni `docs/validation/006-TAURI_VALIDATION.md` n'existe ;
|
||||
- les archives delta/history restent relatives directement à la racine du dépôt.
|
||||
|
||||
## Modifications
|
||||
|
||||
- `VERSION` passe à `0.1.4-beta.1` ;
|
||||
- `docs/plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md` passe en révision `4` et enregistre la gate `alpha.3` ainsi que les décisions d'artefacts de `beta.1` ;
|
||||
- `docs/studies/002-TAURI_SKELETON_DECISION.md` passe en révision `4` et ferme explicitement la décision sur template, validation séparée et dry-run ;
|
||||
- `docs/000-README.md` passe en révision `44` et indexe l'état `beta.1` ;
|
||||
- aucun nouvel owner, template ou contrat de validation Tauri n'est créé.
|
||||
|
||||
## Décision attendue
|
||||
|
||||
```text
|
||||
004-TAURI.md KEEP
|
||||
template technique Tauri générique DO NOT CREATE
|
||||
006-TAURI_VALIDATION.md DO NOT CREATE
|
||||
dry-run exécutable d'un faux projet NOT REQUIRED
|
||||
audit statique de composition REQUIRED
|
||||
```
|
||||
|
||||
L'absence d'artefact supplémentaire est une décision positive : un fichier nouveau n'est justifié que s'il possède une responsabilité réutilisable non déjà couverte.
|
||||
|
||||
## Gate opérateur
|
||||
|
||||
```bash
|
||||
cat VERSION
|
||||
|
||||
test -f history/0.1.4/alpha.3.md
|
||||
grep -A2 '^## Statut$' history/0.1.4/alpha.3.md | grep -Fx 'PASS'
|
||||
|
||||
test -f docs/skeletons/004-TAURI.md
|
||||
test ! -e docs/templates/011-TAURI.md
|
||||
test ! -e docs/validation/006-TAURI_VALIDATION.md
|
||||
test ! -e history/0.1.4/beta.1.md
|
||||
|
||||
python3 -B -m unittest discover -s tests -v
|
||||
|
||||
python3 -B scripts/audit_text_hygiene.py \
|
||||
VERSION README.md RULES.md ROADMAP.md CHANGELOG.md \
|
||||
docs deltas history prompts scripts tests templates .gitignore .settings
|
||||
|
||||
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-beta.1'
|
||||
|
||||
history = Path('history/0.1.4/alpha.3.md').read_text(encoding='utf-8')
|
||||
assert re.search(r'## Statut\s+PASS', history)
|
||||
|
||||
expected_deltas = {
|
||||
'alpha.1.md',
|
||||
'alpha.2.md',
|
||||
'alpha.2.fix.1.md',
|
||||
'alpha.3.md',
|
||||
'beta.1.md',
|
||||
}
|
||||
expected_histories = {
|
||||
'alpha.1.md',
|
||||
'alpha.2.md',
|
||||
'alpha.2.fix.1.md',
|
||||
'alpha.3.md',
|
||||
}
|
||||
assert {p.name for p in Path('deltas/0.1.4').glob('*.md')} == expected_deltas
|
||||
assert {p.name for p in Path('history/0.1.4').glob('*.md')} == expected_histories
|
||||
|
||||
plan = Path('docs/plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md').read_text(encoding='utf-8')
|
||||
assert plan.startswith(
|
||||
'<!-- file: docs/plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md -->\n'
|
||||
'<!-- version: 4 -->'
|
||||
)
|
||||
for phrase in (
|
||||
'## Gate `alpha.3` acquise',
|
||||
"## Réconciliation d'artefacts préparée en `beta.1`",
|
||||
'template technique Tauri générique DO NOT CREATE',
|
||||
'006-TAURI_VALIDATION.md DO NOT CREATE',
|
||||
"dry-run exécutable d'un faux projet NOT REQUIRED",
|
||||
'audit statique de composition REQUIRED',
|
||||
):
|
||||
assert phrase in plan, phrase
|
||||
|
||||
study = Path('docs/studies/002-TAURI_SKELETON_DECISION.md').read_text(encoding='utf-8')
|
||||
assert study.startswith(
|
||||
'<!-- file: docs/studies/002-TAURI_SKELETON_DECISION.md -->\n'
|
||||
'<!-- version: 4 -->'
|
||||
)
|
||||
for phrase in (
|
||||
'## Réconciliation finale des artefacts `0.1.4-beta.1`',
|
||||
'Décision : **DO NOT CREATE**.',
|
||||
'Décision : **NOT REQUIRED** pour `0.1.4-beta.1`.',
|
||||
'004-TAURI.md KEEP',
|
||||
'template Tauri générique DO NOT CREATE',
|
||||
'validation Tauri séparée DO NOT CREATE',
|
||||
'artefact supplémentaire sans lacune réelle FORBIDDEN BY DEFAULT',
|
||||
):
|
||||
assert phrase in study, phrase
|
||||
|
||||
skeleton = Path('docs/skeletons/004-TAURI.md').read_text(encoding='utf-8')
|
||||
for ref in (
|
||||
'001-PROJECT_GOVERNANCE_FOUNDATION',
|
||||
'002-RUST_CARGO_WORKSPACE',
|
||||
'003-WEB_FRONTEND',
|
||||
'710 TAURI',
|
||||
):
|
||||
assert ref in skeleton, ref
|
||||
|
||||
for path in (
|
||||
'docs/skeletons/001-PROJECT_GOVERNANCE_FOUNDATION.md',
|
||||
'docs/skeletons/002-RUST_CARGO_WORKSPACE.md',
|
||||
'docs/skeletons/003-WEB_FRONTEND.md',
|
||||
'docs/rules/710-TAURI.md',
|
||||
'docs/validation/005-WEB_FRONTEND_VALIDATION.md',
|
||||
):
|
||||
assert Path(path).is_file(), path
|
||||
|
||||
assert not Path('docs/templates/011-TAURI.md').exists()
|
||||
assert not Path('docs/validation/006-TAURI_VALIDATION.md').exists()
|
||||
assert not Path('history/0.1.4/beta.1.md').exists()
|
||||
|
||||
index = Path('docs/000-README.md').read_text(encoding='utf-8')
|
||||
assert index.startswith(
|
||||
'<!-- file: docs/000-README.md -->\n'
|
||||
'<!-- version: 44 -->'
|
||||
)
|
||||
assert '`004-TAURI.md` suffit' in index
|
||||
|
||||
roadmap = Path('ROADMAP.md').read_text(encoding='utf-8')
|
||||
for phrase in (
|
||||
'`( ) 0.1.4`',
|
||||
'`( ) 0.1.5` — adoption réelle de PGR par `sasedev-games`',
|
||||
'`( ) 0.1.6` — adoption réelle de PGR par `khadhroony-solana-project`',
|
||||
'`( ) 0.1.7` — audits Python read-only',
|
||||
):
|
||||
assert phrase in roadmap, phrase
|
||||
assert '0.1.8' not in roadmap
|
||||
|
||||
print(
|
||||
'0.1.4 beta.1 artifact audit: clean '
|
||||
'(004 sufficient, ownership composed, no redundant template/validation contract, no fake dry-run)'
|
||||
)
|
||||
PY
|
||||
|
||||
git diff --check
|
||||
|
||||
git add VERSION \
|
||||
deltas/0.1.4/beta.1.md \
|
||||
docs/000-README.md \
|
||||
docs/plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md \
|
||||
docs/studies/002-TAURI_SKELETON_DECISION.md
|
||||
|
||||
git diff --cached --check
|
||||
git status --short
|
||||
```
|
||||
|
||||
## Scope Git attendu
|
||||
|
||||
```text
|
||||
M VERSION
|
||||
A deltas/0.1.4/beta.1.md
|
||||
M docs/000-README.md
|
||||
M docs/plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md
|
||||
M docs/studies/002-TAURI_SKELETON_DECISION.md
|
||||
```
|
||||
|
||||
## Suite
|
||||
|
||||
Si la gate est `PASS`, produire `history/0.1.4/beta.1.md`, committer/pousser la tranche puis préparer `rc.1` avec freeze Tauri, changelog candidate et revue d'horizon transversale avant génération du prochain start prompt.
|
||||
Reference in New Issue
Block a user