4.3 KiB
Delta 0.0.3 rel.1.fix.1 — complétion de la preuve de clôture stable
Baseline et version
Baseline : 0.0.3-rel.1 avec history/0.0.3/rel.1.md appliqué, committé et poussé avec le statut PARTIAL.
Ce delta MUST NOT être appliqué avant ce commit.
Version produit avant et après application :
0.0.3
rel.1.fix.1 est une tranche opérationnelle de clôture ; elle ne change pas la version SemVer stable visée.
Objet
Compléter uniquement les deux preuves absentes du transcript rel.1 :
- audit explicite de l'ensemble exact du workspace à partir de
cargo metadata; - audit explicite d'hygiène texte.
Toutes les preuves produit/runtime de rel.1 — Rust, Git, Web, Vite et trois smokes HTTP — sont déjà PASS et sont conservées dans son history. Ce fix ne modifie aucun fichier concerné par ces preuves.
Scope
REPLACE :
docs/plans/003-V0_0_3_GIT_WRITE_PLAN.md
docs/validation/001-VALIDATION_MATRIX.md
ADD :
deltas/0.0.3/rel.1.fix.1.md
DELETE : aucun.
Aucun changement sous VERSION, Cargo.toml, crates/, Web/, CHANGELOG.md, ROADMAP.md, docs/architecture/, docs/studies/, docs/rules/ ou prompts/.
Gate opérateur
Exécuter depuis la racine du dépôt :
test "$(cat VERSION)" = '0.0.3'
grep -F 'version = "0.0.3"' Cargo.toml
sed -n '/^## Statut$/{n;n;p;q;}' history/0.0.3/rel.1.md | tr -d '`' | grep -Fx 'PARTIAL'
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 metadata --format-version 1 --no-deps > /tmp/sasedev-knowledge-0.0.3-rel.1.fix.1-metadata.json
python3 -c 'import json; from pathlib import Path; m=json.loads(Path("/tmp/sasedev-knowledge-0.0.3-rel.1.fix.1-metadata.json").read_text()); expected={"knowledge-app-lib","knowledge-domain-lib","knowledge-git-api","knowledge-git-lib","knowledge-sync-api","knowledge-web-lib","knowledge-pgr-server","knowledge-howtos-server","knowledge-snippets-server"}; assert {p["name"] for p in m["packages"]} == expected; assert len(m["workspace_members"]) == 9; print("Knowledge 0.0.3-rel.1.fix.1 workspace audit: clean")'
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-rel.1.fix.1 text hygiene: clean ({len(paths)} file(s))") if not bad else (_ for _ in ()).throw(AssertionError(bad))'
test -z "$(git diff --name-only -- VERSION Cargo.toml crates Web CHANGELOG.md ROADMAP.md docs/architecture docs/studies docs/rules prompts)"
test ! -e history/0.0.3/rel.1.fix.1.md
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 show-ref --verify --quiet refs/tags/v0.0.3
test ! -e sasedev-knowledge-0.0.3-publish.001-report.md
git add -A
git diff --cached --check
git status --short
Staging attendu
Avant ajout du history de ce fix :
A deltas/0.0.3/rel.1.fix.1.md
M docs/plans/003-V0_0_3_GIT_WRITE_PLAN.md
M docs/validation/001-VALIDATION_MATRIX.md
Transition
PASS
Produire history/0.0.3/rel.1.fix.1.md, l'appliquer, puis créer le premier commit stable avec le message exact :
0.0.3
Après push de master, créer/pousser le tag annoté v0.0.3, vérifier tag/commit/archive réellement publiés puis produire séparément le rapport post-tag sasedev-knowledge-0.0.3-publish.001-report.md.
FAIL / PARTIAL / BLOCKED
Conserver le résultat réel dans son history et corriger uniquement la fermeture stable dans le fix suivant, sans créer le tag.