Files
sasedev-knowledge/deltas/0.0.3/beta.1.md
2026-09-29 15:04:19 +02:00

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.4 pendant la fin de 0.0.3, conformément au cycle normal ;
  • conserve les autres DEFER sans 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.