186 lines
5.2 KiB
Markdown
186 lines
5.2 KiB
Markdown
<!-- file: deltas/0.0.2/alpha.1.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# 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
|
|
<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 :
|
|
|
|
```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/<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 :
|
|
|
|
```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.
|