8.3 KiB
Delta 0.0.3-beta.1 — réconciliation, changelog candidat et horizon produit
Baseline requise
Partir de 0.0.3-alpha.4 après application, commit et push de son history :
history/0.0.3/alpha.4.md = PASS
La version devient :
0.0.3-beta.1
Nature de la tranche
beta.1 est une tranche de stabilisation documentaire et de réconciliation. Elle n'ajoute aucun comportement Rust/Web, aucune crate, aucune dépendance et aucune migration.
Elle :
- réconcilie le chemin Git de lecture/écriture réellement obtenu ;
- prépare le changelog
0.0.3 (candidate)à partir des capacités validées ; - reclassifie la persistance PostgreSQL comme prochaine mission
0.0.4; - étend l'horizon afin de représenter les trois produits PGR/HOWTOs/snippets et leurs phases de templates publics/admin puis d'intégration Actix/Maud ;
- prépare le prompt
0.0.4pendant la fin de0.0.3, conformément au cycle normal ; - conserve les autres
DEFERsans implémentation anticipée.
L'étude durable est :
docs/studies/007-V0_0_3_GIT_WRITE_RECONCILIATION.md
Scope des fichiers
REPLACE :
VERSION
Cargo.toml
README.md
ROADMAP.md
CHANGELOG.md
docs/000-README.md
docs/architecture/001-PROJECT_PROFILE.md
docs/architecture/002-KNOWLEDGE_ARCHITECTURE.md
docs/plans/003-V0_0_3_GIT_WRITE_PLAN.md
docs/validation/001-VALIDATION_MATRIX.md
ADD :
docs/studies/007-V0_0_3_GIT_WRITE_RECONCILIATION.md
prompts/004-V0_0_4_START_PROMPT.md
deltas/0.0.3/beta.1.md
DELETE : aucun.
crates/ et Web/ ne sont pas modifiés. Aucun history beta.1 n'est inclus dans ce delta.
Horizon retenu
La prochaine mission potentielle est :
0.0.4 fondation PostgreSQL partagée et migrations
L'horizon révisable devient ensuite :
0.0.5 modèles de contenu et projections PGR/HOWTO/snippet
0.0.6 templates publics des trois sites, pages de garde incluses
0.0.7 templates d'administration des trois sites
0.0.8 routes publiques Actix Web + adaptation Maud
0.0.9 auth/autorisation + routes admin Actix Web + adaptation Maud
0.0.10 gestion/proposition/revue/publication Git + PostgreSQL
Cette numérotation donne une trajectoire produit lisible mais ne transforme pas 0.0.5+ en engagements irrévocables. Les revues d'horizon futures peuvent encore réordonner, scinder ou fusionner ces étapes.
Handoff 0.0.4
prompts/004-V0_0_4_START_PROMPT.md est créé maintenant parce que la mission PostgreSQL est suffisamment décidée.
Le prompt ne fabrique aucune preuve postérieure à 0.0.3 : il ne contient ni commit stable réel de v0.0.3, ni SHA-256 d'archive taggée, ni statut post-tag supposé. La future session devra recevoir l'archive et le rapport réels après publication et les vérifier avant développement.
Gate opérateur
Exécuter depuis la racine du dépôt après application du delta.
Version, documentation et Rust
test "$(cat VERSION)" = '0.0.3-beta.1'
grep -F 'version = "0.0.3-beta.1"' Cargo.toml
grep -A2 '^## Statut$' history/0.0.3/alpha.4.md | grep -Fx 'PASS'
git diff --check
python3 -B scripts/audit_markdown_headers.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts deltas history
python3 -B scripts/audit_markdown_links.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts deltas history
python3 -B scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts deltas history
cargo fmt --all
cargo fmt --all -- --check
python3 -B scripts/audit_rust_test_layout.py crates
python3 -B scripts/audit_rust_blank_lines.py crates
python3 -B scripts/audit_rust_item_spacing.py crates
python3 -B scripts/audit_rust_module_order.py crates
python3 -B scripts/audit_rust_trait_import_blocks.py crates
python3 -B scripts/audit_rust_reexport_blocks.py crates
python3 -B scripts/audit_rust_crate_root_facades.py crates
python3 -B scripts/audit_rust_export_completeness.py --root . --summary-only
cargo metadata --format-version 1 --no-deps > /tmp/sasedev-knowledge-0.0.3-beta.1-metadata.json
cargo check --workspace
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test -p knowledge-git-lib --test git_read_path
cargo test -p knowledge-git-lib --test git_write_candidate
cargo test -p knowledge-git-lib --test git_write_push
cargo test --workspace --all-targets --all-features
Baseline Web de stabilisation
(cd Web/knowledge-template-lab && npm ci)
(cd Web/knowledge-template-lab && npm run typecheck)
(cd Web/knowledge-template-lab && npm run build)
Audit du manifest, sous forme d'une commande indépendante :
python3 -c 'import json; from pathlib import Path; p=Path("../builds/sasedev-knowledge/web/template-lab/.vite/manifest.json"); m=json.loads(p.read_text(encoding="utf-8")); e=m["src/main.ts"]; assert e.get("file"); assert e.get("css"); print("Knowledge 0.0.3-beta.1 Vite manifest audit: clean")'
Les smokes HTTP complets des trois launchers seront obligatoires en rc.1. beta.1 ne modifie aucun runtime Web et valide ici la baseline npm/typecheck/build/manifest en plus des tests Rust workspace.
Contrôles de réconciliation et d'horizon
Ces commandes sont volontairement courtes et indépendantes.
grep -F '## 0.0.3 (candidate)' CHANGELOG.md
grep -F -- '- `(h) 0.0.4` — fondation PostgreSQL partagée' ROADMAP.md
grep -F -- '- `(h) 0.0.6` — templates publics des trois sites' ROADMAP.md
grep -F -- '- `(h) 0.0.7` — templates d'administration des trois sites' ROADMAP.md
grep -F -- '- `(h) 0.0.8` — lecture publique Actix Web / Maud' ROADMAP.md
grep -F -- '- `(h) 0.0.9` — administration Actix Web / Maud et autorisation' ROADMAP.md
grep -F -- '- `(h) 0.0.10` — gestion, proposition, revue et publication' ROADMAP.md
test -f docs/studies/007-V0_0_3_GIT_WRITE_RECONCILIATION.md
test -f prompts/004-V0_0_4_START_PROMPT.md
grep -F '### 0.0.4 — PostgreSQL partagé' docs/studies/007-V0_0_3_GIT_WRITE_RECONCILIATION.md
grep -F '### 0.0.6 — templates publics' docs/studies/007-V0_0_3_GIT_WRITE_RECONCILIATION.md
grep -F "### 0.0.7 — templates d'administration" docs/studies/007-V0_0_3_GIT_WRITE_RECONCILIATION.md
grep -F '### 0.0.8 — Actix Web / Maud public' docs/studies/007-V0_0_3_GIT_WRITE_RECONCILIATION.md
grep -F 'pgr.sasedev.com affichage et gestion de PGR' docs/studies/007-V0_0_3_GIT_WRITE_RECONCILIATION.md
grep -F 'archive sasedev-knowledge-v0.0.3.zip téléchargée depuis le tag Gitea v0.0.3' prompts/004-V0_0_4_START_PROMPT.md
grep -F 'Ne pas rechercher, charger ni adopter automatiquement une nouvelle version de PGR.' prompts/004-V0_0_4_START_PROMPT.md
! grep -Eq '[0-9a-f]{40}|[0-9a-f]{64}' prompts/004-V0_0_4_START_PROMPT.md
test -z "$(git diff --name-only -- crates Web)"
test ! -e crates/knowledge-store-postgres-lib
test ! -e crates/knowledge-forge-gitea-lib
test ! -e migrations
test ! -e history/0.0.3/beta.1.md
Hygiène texte et lockfiles
python3 -c 'from pathlib import Path; roots=[Path("README.md"),Path("RULES.md"),Path("ROADMAP.md"),Path("CHANGELOG.md"),Path("docs"),Path("prompts"),Path("deltas"),Path("history")]; paths=[p for r in roots for p in ([r] if r.is_file() else r.rglob("*")) if p.is_file()]; bad=[str(p) for p in paths if (lambda b: b"\r" in b or not b.endswith(b"\n") or b.endswith(b"\n\n") or any(line != line.rstrip(" \t") for line in b.decode("utf-8").splitlines()))(p.read_bytes())]; print(f"Knowledge 0.0.3-beta.1 text hygiene: clean ({len(paths)} file(s))") if not bad else (_ for _ in ()).throw(AssertionError(bad))'
test -f Cargo.lock
git check-ignore -q Cargo.lock
if git ls-files --error-unmatch Cargo.lock >/dev/null 2>&1; then echo 'Cargo.lock must remain untracked for Knowledge' >&2; exit 1; fi
test -f Web/knowledge-template-lab/package-lock.json
git add -A
git diff --cached --check
git status --short
Transition
PASS
Produire history/0.0.3/beta.1.md, l'appliquer, commit/push 0.0.3-beta.1, puis préparer 0.0.3-rc.1 sans nouvelle fonctionnalité. La RC doit geler le scope et rejouer la gate complète, y compris npm/Vite et les trois smokes HTTP.
FAIL / PARTIAL / BLOCKED
Conserver le résultat réel dans son history avant toute correction. Un défaut borné utilise beta.1.fix.N. Toute découverte remettant en cause l'intégrité du chemin Git, la mission 0.0.4 ou la trajectoire produit exige un REPLAN explicite avant poursuite.