Files
pgr/deltas/0.1.4/beta.1.md
2026-09-29 15:07:38 +02:00

6.6 KiB

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

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

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

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.