0.0.1-alpha.3
This commit is contained in:
157
history/0.0.1/alpha.3.md
Normal file
157
history/0.0.1/alpha.3.md
Normal file
@@ -0,0 +1,157 @@
|
||||
<!-- file: history/0.0.1/alpha.3.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# History 0.0.1-alpha.3 — contrats domaine, Git et synchronisation
|
||||
|
||||
## Statut
|
||||
|
||||
FAIL
|
||||
|
||||
La gate opérateur de `0.0.1-alpha.3` exécutée le `2026-09-27` valide le cadrage structurel et les audits, puis échoue sur une erreur de compilation Rust dans `knowledge-domain-lib`.
|
||||
|
||||
## Baseline opérateur
|
||||
|
||||
La tranche précédente a été clôturée et publiée avant application de `alpha.3` :
|
||||
|
||||
```text
|
||||
history/0.0.1/alpha.2.md = PASS
|
||||
commit 8cd187b
|
||||
message 0.0.1-alpha.2
|
||||
branch master
|
||||
push origin/master PASS
|
||||
status clean après push
|
||||
```
|
||||
|
||||
Le push observé a avancé `origin/master` de `d632afe` à `8cd187b`.
|
||||
|
||||
## Structure et metadata
|
||||
|
||||
Les contrôles initiaux ont réussi :
|
||||
|
||||
```text
|
||||
VERSION = 0.0.1-alpha.3
|
||||
git diff --check = clean
|
||||
Knowledge 0.0.1-alpha.3 structural audit: clean
|
||||
Knowledge 0.0.1-alpha.3 Cargo boundary audit: clean
|
||||
```
|
||||
|
||||
`cargo metadata --format-version 1 --no-deps` a produit le graphe attendu avec exactement :
|
||||
|
||||
```text
|
||||
knowledge-domain-lib
|
||||
knowledge-git-api
|
||||
knowledge-sync-api
|
||||
```
|
||||
|
||||
Les frontières de dépendances observées sont conformes :
|
||||
|
||||
```text
|
||||
knowledge-domain-lib -> aucune dépendance workspace
|
||||
knowledge-git-api -> knowledge-domain-lib
|
||||
knowledge-sync-api -> knowledge-domain-lib
|
||||
```
|
||||
|
||||
## Formatage et audits Rust
|
||||
|
||||
Les commandes suivantes ont réussi :
|
||||
|
||||
```text
|
||||
cargo fmt --all
|
||||
cargo fmt --all -- --check
|
||||
Rust blank-line audit: clean (8 file(s))
|
||||
Rust item-spacing audit: clean (8 file(s))
|
||||
Rust module-order audit: clean (8 file(s))
|
||||
Rust trait-import-block audit: clean (8 file(s))
|
||||
Rust re-export-block audit: clean (8 file(s))
|
||||
Rust export completeness audit: 0 candidate(s) across 3 package(s)
|
||||
```
|
||||
|
||||
Ces preuves restent valides pour la structure livrée mais ne compensent pas l'échec de compilation.
|
||||
|
||||
## Défaut de compilation
|
||||
|
||||
`cargo check --workspace` échoue avec `E0423` dans :
|
||||
|
||||
```text
|
||||
crates/knowledge-domain-lib/src/source.rs:33
|
||||
```
|
||||
|
||||
Le code tente de construire :
|
||||
|
||||
```text
|
||||
crate::SourceId(value.to_owned())
|
||||
```
|
||||
|
||||
alors que `SourceId` est un tuple struct à champ privé défini dans le sous-module `source` puis réexporté par la façade crate-root. Le re-export rend le type accessible mais ne rend pas son constructeur de champ privé visible depuis la racine.
|
||||
|
||||
Le compilateur suggère l'accès direct depuis le module propriétaire. Le correctif retenu doit préserver la façade publique tout en construisant la valeur depuis le scope qui possède le champ privé.
|
||||
|
||||
## Propagation du défaut
|
||||
|
||||
Le même `E0423` bloque :
|
||||
|
||||
```text
|
||||
cargo clippy --workspace --all-targets --all-features -- -D warnings
|
||||
cargo test -p knowledge-domain-lib --all-targets --all-features
|
||||
cargo test -p knowledge-git-api --all-targets --all-features
|
||||
cargo test -p knowledge-sync-api --all-targets --all-features
|
||||
```
|
||||
|
||||
Aucune de ces commandes ne peut donc établir un `PASS` de tranche.
|
||||
|
||||
`Cargo.lock` reste présent et non ignoré. La vérification de metadata/boundaries exécutée après les échecs reste propre, mais elle ne constitue pas une compilation.
|
||||
|
||||
## Scope Git observé
|
||||
|
||||
`git diff --cached --check` est propre. Le staging transmis avant ajout du présent history contient :
|
||||
|
||||
```text
|
||||
M CHANGELOG.md
|
||||
M Cargo.lock
|
||||
M Cargo.toml
|
||||
M README.md
|
||||
M RULES.md
|
||||
M VERSION
|
||||
A crates/knowledge-domain-lib/src/content_family.rs
|
||||
M crates/knowledge-domain-lib/src/lib.rs
|
||||
A crates/knowledge-domain-lib/src/source.rs
|
||||
A crates/knowledge-domain-lib/src/unit_tests.rs
|
||||
A crates/knowledge-git-api/Cargo.toml
|
||||
A crates/knowledge-git-api/src/lib.rs
|
||||
A crates/knowledge-git-api/src/unit_tests.rs
|
||||
A crates/knowledge-sync-api/Cargo.toml
|
||||
A crates/knowledge-sync-api/src/lib.rs
|
||||
A crates/knowledge-sync-api/src/unit_tests.rs
|
||||
A deltas/0.0.1/alpha.3.md
|
||||
M docs/architecture/001-PROJECT_PROFILE.md
|
||||
M docs/architecture/002-KNOWLEDGE_ARCHITECTURE.md
|
||||
M docs/plans/001-V0_0_1_FOUNDATION_PLAN.md
|
||||
M docs/validation/001-VALIDATION_MATRIX.md
|
||||
A scripts/_rust_audit_common.py
|
||||
A scripts/audit_rust_blank_lines.py
|
||||
A scripts/audit_rust_export_completeness.py
|
||||
A scripts/audit_rust_item_spacing.py
|
||||
A scripts/audit_rust_module_order.py
|
||||
A scripts/audit_rust_reexport_blocks.py
|
||||
A scripts/audit_rust_trait_import_blocks.py
|
||||
```
|
||||
|
||||
Ce scope correspond au delta annoncé et au `Cargo.lock` régénéré par Cargo.
|
||||
|
||||
## Précision Web reçue avant clôture
|
||||
|
||||
Avant production du présent history, le rôle futur du profil Web a été précisé : le skeleton Web PGR sera réellement utilisé pour développer et valider des templates statiques, TypeScript, Sass, Bootstrap et le pipeline Vite. Le markup runtime sera ensuite adapté en Maud dans les applications Actix Web.
|
||||
|
||||
Le corpus historique `actix-auth-app` contient en outre un pattern d'intégration utile entre manifest Vite et rendu Maud. Cette précision ne change pas la cause du `FAIL` `alpha.3`; elle peut être documentée dans le fix sans démarrer l'implémentation Web.
|
||||
|
||||
## Décision
|
||||
|
||||
`0.0.1-alpha.3` est `FAIL`.
|
||||
|
||||
La transition autorisée est :
|
||||
|
||||
```text
|
||||
0.0.1-alpha.3.fix.1
|
||||
```
|
||||
|
||||
Le fix doit corriger l'accès au constructeur privé de `SourceId`, ajouter une preuve de régression ciblée, rejouer les gates Rust complètes et conserver le scope fonctionnel de `alpha.3`. La clarification Web peut mettre à jour le plan vivant et l'architecture, mais aucun frontend/serveur fonctionnel ne doit être matérialisé dans ce fix.
|
||||
Reference in New Issue
Block a user