# Delta 0.0.2-alpha.1 — adoption PGR et cadrage Git/synchronisation ## Baseline requise Partir de la stable autoritaire : ```text 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 : ```text prompts/002-V0_0_2_START_PROMPT.md ``` La version devient : ```text 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 : ```text 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 : ```text 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 : ```text / hooks-disabled/ repositories/.git/ snapshots/// ``` Aucun de ces chemins n'est créé par `alpha.1`. ## Scope REPLACE : ```text 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 : ```text 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 : ```bash 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 : ```bash 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/.git' docs/studies/004-V0_0_2_GIT_IMPLEMENTATION_STUDY.md grep -F 'snapshots//' 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 : ```text 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 : ```text 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.