Files
sasedev-knowledge/deltas/0.0.2/alpha.1.md
2026-09-28 15:11:03 +02:00

5.2 KiB

Delta 0.0.2-alpha.1 — adoption PGR et cadrage Git/synchronisation

Baseline requise

Partir de la stable autoritaire :

tag Knowledge          v0.0.1
commit Knowledge       98ec46fe73bd50dacbe6be220650d87dd2000b74
archive SHA-256        1f0b2cfaecee1cbee621abb9c3c95811773ebfc17c374c4369fdc220bcf7d72d
publish report         sasedev-knowledge-0.0.1-publish.001-report.md = PASS

Le prompt exécuté est :

prompts/002-V0_0_2_START_PROMPT.md

La version devient :

0.0.2-alpha.1

Objet

Fermer les décisions obligatoires de démarrage de 0.0.2 avant toute implémentation Git fonctionnelle :

  • vérifier et adopter explicitement la stable PGR courante v0.1.3 dans son scope applicable ;
  • activer 230-ADOPTION pour la migration PGR du projet existant ;
  • préserver l'historique 0.0.1 construit sous PGR v0.1.1 ;
  • documenter l'inventaire des contrats Git/sync existants ;
  • sélectionner le processus git contrôlé après comparaison avec gix et git2 ;
  • attribuer à la future knowledge-git-lib l'ownership de la configuration physique et du backend Git ;
  • fixer une racine d'état Git généré hors du dépôt source ;
  • établir le plan versionné 0.0.2 et sa première gate.

Aucun runtime Git, aucune crate et aucune dépendance ne sont ajoutés dans cette tranche.

Adoption PGR

La baseline PGR applicable devient :

PGR tag                v0.1.3
PGR commit             fe80dbbb737390a7ea99df27d979bd59ccfb86e3
PGR archive SHA-256    f3a7dffd5fe0fd3542e6b5207fda0b94bca2bd05bd5a54542d0a08d635a5d6ee
PGR publish report     pgr-0.1.3-publish.001-report.md = PASS

Le mapping durable est enregistré dans docs/architecture/001-PROJECT_PROFILE.md.

Les changements PGR 0.1.2/0.1.3 sur Java/Maven/Gradle/Android ne rendent pas ces profils applicables à Knowledge. Le DEFER Tauri reste inchangé. Aucun OVERRIDE n'est introduit.

Décision Git

L'étude :

docs/studies/004-V0_0_2_GIT_IMPLEMENTATION_STUDY.md

retient le client Git externe piloté via std::process::Command, sans shell.

Le layout retenu est conceptuellement :

<git-state-root>/
  hooks-disabled/
  repositories/<source-key>.git/
  snapshots/<source-key>/<resolved-revision>/

Aucun de ces chemins n'est créé par alpha.1.

Scope

REPLACE :

VERSION
Cargo.toml
README.md
RULES.md
docs/000-README.md
docs/architecture/001-PROJECT_PROFILE.md
docs/architecture/002-KNOWLEDGE_ARCHITECTURE.md
docs/validation/001-VALIDATION_MATRIX.md

ADD :

docs/studies/004-V0_0_2_GIT_IMPLEMENTATION_STUDY.md
docs/plans/002-V0_0_2_GIT_SYNC_PLAN.md
deltas/0.0.2/alpha.1.md

DELETE : aucun.

Aucun fichier sous crates/ ou Web/ n'est modifié.

Aucun history 0.0.2-alpha.1 n'est inclus : il doit refléter les preuves opérateur après application.

Gate opérateur

Après application du delta :

test "$(cat VERSION)" = '0.0.2-alpha.1'
grep -F 'version = "0.0.2-alpha.1"' Cargo.toml

git diff --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_export_completeness.py --root . --summary-only

cargo fmt --all -- --check
cargo metadata --format-version 1 --no-deps
cargo check --workspace
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test --workspace --all-targets --all-features

(
  cd Web/knowledge-template-lab
  npm ci
  npm run typecheck
  npm run build
)

Puis rejouer les contrôles de manifest Vite et les trois smokes HTTP selon les commandes déjà possédées par la gate stable 0.0.1.

Contrôles spécifiques de cette tranche :

test -f docs/studies/004-V0_0_2_GIT_IMPLEMENTATION_STUDY.md
test -f docs/plans/002-V0_0_2_GIT_SYNC_PLAN.md
test -f deltas/0.0.2/alpha.1.md
test ! -e history/0.0.2/alpha.1.md

grep -F 'PGR stable tag      v0.1.3' docs/architecture/001-PROJECT_PROFILE.md
grep -F '`230-ADOPTION`' docs/architecture/001-PROJECT_PROFILE.md
grep -F 'processus `git` contrôlé' docs/studies/004-V0_0_2_GIT_IMPLEMENTATION_STUDY.md
grep -F 'repositories/<source-key>.git' docs/studies/004-V0_0_2_GIT_IMPLEMENTATION_STUDY.md
grep -F 'snapshots/<source-key>/<resolved-revision>' docs/studies/004-V0_0_2_GIT_IMPLEMENTATION_STUDY.md

git diff --name-only -- crates Web
git diff --cached --check

git diff --name-only -- crates Web doit être vide pour cette tranche.

Le Cargo.lock peut être généré ou modifié localement par Cargo mais reste ignoré/non suivi conformément à la stable 0.0.1. Le package-lock.json reste versionné.

Transition

PASS

Produire séparément :

history/0.0.2/alpha.1.md

avec les résultats réels, l'appliquer, puis commit/push 0.0.2-alpha.1 avant préparation de alpha.2.

FAIL

Produire le history réel FAIL, le committer, puis corriger uniquement cette tranche avec :

0.0.2-alpha.1.fix.1

Ne pas préparer alpha.2 tant que la tranche courante n'est pas fermée conformément au workflow.