0.0.1-rc.1
This commit is contained in:
14
Cargo.lock
generated
14
Cargo.lock
generated
@@ -475,46 +475,46 @@ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "knowledge-domain-lib"
|
name = "knowledge-domain-lib"
|
||||||
version = "0.0.1-beta.1"
|
version = "0.0.1-rc.1"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "knowledge-git-api"
|
name = "knowledge-git-api"
|
||||||
version = "0.0.1-beta.1"
|
version = "0.0.1-rc.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"knowledge-domain-lib",
|
"knowledge-domain-lib",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "knowledge-howtos-server"
|
name = "knowledge-howtos-server"
|
||||||
version = "0.0.1-beta.1"
|
version = "0.0.1-rc.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"knowledge-web-lib",
|
"knowledge-web-lib",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "knowledge-pgr-server"
|
name = "knowledge-pgr-server"
|
||||||
version = "0.0.1-beta.1"
|
version = "0.0.1-rc.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"knowledge-web-lib",
|
"knowledge-web-lib",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "knowledge-snippets-server"
|
name = "knowledge-snippets-server"
|
||||||
version = "0.0.1-beta.1"
|
version = "0.0.1-rc.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"knowledge-web-lib",
|
"knowledge-web-lib",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "knowledge-sync-api"
|
name = "knowledge-sync-api"
|
||||||
version = "0.0.1-beta.1"
|
version = "0.0.1-rc.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"knowledge-domain-lib",
|
"knowledge-domain-lib",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "knowledge-web-lib"
|
name = "knowledge-web-lib"
|
||||||
version = "0.0.1-beta.1"
|
version = "0.0.1-rc.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"actix-files",
|
"actix-files",
|
||||||
"actix-web",
|
"actix-web",
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# file: Cargo.toml
|
# file: Cargo.toml
|
||||||
# version: 12
|
# version: 13
|
||||||
|
|
||||||
[workspace]
|
[workspace]
|
||||||
resolver = "3"
|
resolver = "3"
|
||||||
@@ -14,7 +14,7 @@ members = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
[workspace.package]
|
[workspace.package]
|
||||||
version = "0.0.1-beta.1"
|
version = "0.0.1-rc.1"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
publish = false
|
publish = false
|
||||||
repository = "https://git.sasedev.com/Sasedev/sasedev-knowledge"
|
repository = "https://git.sasedev.com/Sasedev/sasedev-knowledge"
|
||||||
|
|||||||
106
deltas/0.0.1/rc.1.md
Normal file
106
deltas/0.0.1/rc.1.md
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
<!-- file: deltas/0.0.1/rc.1.md -->
|
||||||
|
<!-- version: 1 -->
|
||||||
|
|
||||||
|
# Delta 0.0.1-rc.1 — release candidate
|
||||||
|
|
||||||
|
## Base requise
|
||||||
|
|
||||||
|
État `0.0.1-beta.1` committé et poussé après application du history :
|
||||||
|
|
||||||
|
```text
|
||||||
|
history/0.0.1/beta.1.md = PASS
|
||||||
|
```
|
||||||
|
|
||||||
|
La version devient :
|
||||||
|
|
||||||
|
```text
|
||||||
|
0.0.1-rc.1
|
||||||
|
```
|
||||||
|
|
||||||
|
## Objet
|
||||||
|
|
||||||
|
Geler le scope de `0.0.1` et exécuter sa gate complète de release candidate.
|
||||||
|
|
||||||
|
Aucune nouvelle fonctionnalité n'est introduite.
|
||||||
|
|
||||||
|
## Scope
|
||||||
|
|
||||||
|
La RC remplace uniquement :
|
||||||
|
|
||||||
|
```text
|
||||||
|
VERSION
|
||||||
|
Cargo.toml
|
||||||
|
docs/plans/001-V0_0_1_FOUNDATION_PLAN.md
|
||||||
|
docs/validation/001-VALIDATION_MATRIX.md
|
||||||
|
```
|
||||||
|
|
||||||
|
et ajoute :
|
||||||
|
|
||||||
|
```text
|
||||||
|
deltas/0.0.1/rc.1.md
|
||||||
|
```
|
||||||
|
|
||||||
|
Aucun fichier n'est supprimé.
|
||||||
|
|
||||||
|
Le code Rust, le package Web, les manifests npm, les études, la roadmap, le changelog candidat et le prompt `0.0.2` sont gelés.
|
||||||
|
|
||||||
|
## Histories attendus avant RC
|
||||||
|
|
||||||
|
La gate doit retrouver exactement les quatorze histories antérieurs suivants :
|
||||||
|
|
||||||
|
```text
|
||||||
|
alpha.1 FAIL
|
||||||
|
alpha.1.fix.1 PASS
|
||||||
|
alpha.2 PASS
|
||||||
|
alpha.3 FAIL
|
||||||
|
alpha.3.fix.1 FAIL
|
||||||
|
alpha.3.fix.2 FAIL
|
||||||
|
alpha.3.fix.3 PASS
|
||||||
|
alpha.4 FAIL
|
||||||
|
alpha.4.fix.1 FAIL
|
||||||
|
alpha.4.fix.2 PASS
|
||||||
|
alpha.5 FAIL
|
||||||
|
alpha.5.fix.1 FAIL
|
||||||
|
alpha.5.fix.2 PASS
|
||||||
|
beta.1 PASS
|
||||||
|
```
|
||||||
|
|
||||||
|
Pendant la gate, `rc.1.md` doit être le seul delta `0.0.1` sans history correspondant.
|
||||||
|
|
||||||
|
## Présentation candidate
|
||||||
|
|
||||||
|
La RC conserve :
|
||||||
|
|
||||||
|
```text
|
||||||
|
CHANGELOG.md -> ## 0.0.1 (candidate)
|
||||||
|
ROADMAP.md -> 0.0.1 planifié, 0.0.2 engagé, aucun 0.0.3
|
||||||
|
prompt 002 -> reprise bloquée jusqu'à v0.0.1 + publish.001 PASS
|
||||||
|
```
|
||||||
|
|
||||||
|
La présentation stable proprement dite appartient à `rel.1`, pas à la RC.
|
||||||
|
|
||||||
|
## Gate complète
|
||||||
|
|
||||||
|
La RC rejoue :
|
||||||
|
|
||||||
|
- réconciliation documentaire et histories ;
|
||||||
|
- audits Markdown PGR ;
|
||||||
|
- hygiène texte globale ;
|
||||||
|
- audits Rust PGR et layout des tests ;
|
||||||
|
- `cargo check`, Clippy strict et tests workspace ;
|
||||||
|
- restore/typecheck/build Web ;
|
||||||
|
- audit du manifest Vite ;
|
||||||
|
- smoke HTTP des trois launchers ;
|
||||||
|
- hygiène Git finale.
|
||||||
|
|
||||||
|
## Transition
|
||||||
|
|
||||||
|
Si `rc.1` obtient `PASS`, la seule transition autorisée est :
|
||||||
|
|
||||||
|
```text
|
||||||
|
0.0.1-rel.1
|
||||||
|
```
|
||||||
|
|
||||||
|
Cette promotion stable doit rester mécanique, porter `VERSION = 0.0.1`, finaliser README/ROADMAP/CHANGELOG/plan/index si nécessaire, exécuter sa propre gate pré-tag et ne jamais anticiper un résultat post-tag.
|
||||||
|
|
||||||
|
Ne pas committe `rc.1` avant production de son history à partir des résultats opérateur.
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<!-- file: docs/plans/001-V0_0_1_FOUNDATION_PLAN.md -->
|
<!-- file: docs/plans/001-V0_0_1_FOUNDATION_PLAN.md -->
|
||||||
<!-- version: 14 -->
|
<!-- version: 15 -->
|
||||||
|
|
||||||
# Plan 0.0.1 — fondation SaseDev Knowledge
|
# Plan 0.0.1 — fondation SaseDev Knowledge
|
||||||
|
|
||||||
@@ -249,7 +249,21 @@ Aucun nouveau crate runtime, contrat métier, dépendance, route, schéma SQL ou
|
|||||||
|
|
||||||
### rc.1 — candidate stable
|
### rc.1 — candidate stable
|
||||||
|
|
||||||
Clôturer les défauts de cohérence, préparer la présentation stable, le handoff suivant et vérifier l'absence de scope futur introduit par anticipation.
|
Geler le scope fonctionnel de `0.0.1` et exécuter la gate complète de release candidate.
|
||||||
|
|
||||||
|
La RC ne modifie aucun code Rust, package Web, dépendance, roadmap, changelog candidat, étude de fondation ou prompt de reprise. Elle doit uniquement :
|
||||||
|
|
||||||
|
- porter `VERSION = 0.0.1-rc.1` et la version workspace identique ;
|
||||||
|
- vérifier les quatorze histories antérieurs et leurs statuts réels ;
|
||||||
|
- vérifier que `rc.1` est la seule tranche possédant un delta sans history pendant sa gate ;
|
||||||
|
- confirmer le changelog `0.0.1 (candidate)` sans détails de fixes internes ;
|
||||||
|
- confirmer la roadmap avec `0.0.1` encore planifié, `0.0.2` engagé et aucun `0.0.3` réservé ;
|
||||||
|
- confirmer le handoff `002` bloqué jusqu'à la stable taggée et au rapport post-tag `PASS` ;
|
||||||
|
- confirmer les DEFER de fondation ;
|
||||||
|
- rejouer audits Markdown, audits Rust, Cargo/Clippy/tests, baseline Web, manifest Vite et les trois smokes HTTP ;
|
||||||
|
- vérifier l'hygiène texte et Git.
|
||||||
|
|
||||||
|
Un défaut fonctionnel important découvert en RC impose un retour de phase ou un REPLAN ; il ne doit pas être absorbé silencieusement dans la promotion stable.
|
||||||
|
|
||||||
### rel.1 — fermeture stable
|
### rel.1 — fermeture stable
|
||||||
|
|
||||||
@@ -281,7 +295,7 @@ REPLAN obligatoire si :
|
|||||||
|
|
||||||
## Revue d'horizon
|
## Revue d'horizon
|
||||||
|
|
||||||
État à l'entrée de `beta.1` : **instruite par la tranche, en attente de gate opérateur**.
|
État après gate opérateur `beta.1` : **PASS**.
|
||||||
|
|
||||||
Décision matérialisée :
|
Décision matérialisée :
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!-- file: docs/validation/001-VALIDATION_MATRIX.md -->
|
<!-- file: docs/validation/001-VALIDATION_MATRIX.md -->
|
||||||
<!-- version: 14 -->
|
<!-- version: 15 -->
|
||||||
|
|
||||||
# Matrice de validation Knowledge
|
# Matrice de validation Knowledge
|
||||||
|
|
||||||
@@ -405,3 +405,28 @@ La réconciliation beta doit prouver :
|
|||||||
- manifest Vite parsable ;
|
- manifest Vite parsable ;
|
||||||
- smoke HTTP des trois launchers propre ;
|
- smoke HTTP des trois launchers propre ;
|
||||||
- `git diff --cached --check` propre.
|
- `git diff --cached --check` propre.
|
||||||
|
|
||||||
|
## Gate de `0.0.1-rc.1`
|
||||||
|
|
||||||
|
La release candidate doit prouver :
|
||||||
|
|
||||||
|
- `VERSION = 0.0.1-rc.1` et version workspace identique ;
|
||||||
|
- history `beta.1` `PASS` committé avant application de la RC ;
|
||||||
|
- aucun diff sous `crates/` ou `Web/` ;
|
||||||
|
- aucun nouveau package, dépendance, route, contrat métier, étude technique ou scope fonctionnel ;
|
||||||
|
- quatorze histories antérieurs présents avec leurs statuts réels ;
|
||||||
|
- `deltas/0.0.1/rc.1.md` présent et `history/0.0.1/rc.1.md` absent pendant la gate ;
|
||||||
|
- `CHANGELOG.md` conserve `## 0.0.1 (candidate)` et ne contient pas de détail de tranche/fix ;
|
||||||
|
- `ROADMAP.md` conserve `0.0.1` planifié, engage `0.0.2` et ne réserve pas `0.0.3` ;
|
||||||
|
- étude de réconciliation `003` et prompt `002` inchangés depuis beta ;
|
||||||
|
- prompt `002` toujours bloqué jusqu'au tag `v0.0.1` et au rapport post-tag `PASS` ;
|
||||||
|
- PostgreSQL, forge, auth/admin complète, formats finaux et workflow Git d'écriture restent différés ;
|
||||||
|
- audits Markdown headers/tables/links propres ;
|
||||||
|
- hygiène texte globale propre : pas de CR, whitespace terminal ni fichier texte suivi sans newline finale ;
|
||||||
|
- `cargo fmt --check`, audit de layout des tests, audits Rust, `cargo check`, Clippy strict et tests workspace propres ;
|
||||||
|
- `npm ci`, typecheck et build Web propres ;
|
||||||
|
- manifest Vite parsable ;
|
||||||
|
- smoke HTTP des trois launchers propre ;
|
||||||
|
- `git diff --cached --check` propre.
|
||||||
|
|
||||||
|
La RC `PASS` autorise uniquement la promotion mécanique `0.0.1-rel.1`.
|
||||||
|
|||||||
181
history/0.0.1/rc.1.md
Normal file
181
history/0.0.1/rc.1.md
Normal file
@@ -0,0 +1,181 @@
|
|||||||
|
<!-- file: history/0.0.1/rc.1.md -->
|
||||||
|
<!-- version: 1 -->
|
||||||
|
|
||||||
|
# History 0.0.1-rc.1 — release candidate
|
||||||
|
|
||||||
|
## Statut
|
||||||
|
|
||||||
|
FAIL
|
||||||
|
|
||||||
|
La gate opérateur de `0.0.1-rc.1` exécutée le `2026-09-28` valide la quasi-totalité de la candidate, mais l'audit d'intégration livré contient une assertion incorrecte sur le diff Git avant staging.
|
||||||
|
|
||||||
|
Après cette gate, l'opérateur décide également de retirer `Cargo.lock` du repository avant la stable `0.0.1`. Cette décision locale est compatible avec PGR `v0.1.1`, qui exige une politique explicite de lockfile sans imposer universellement son versionnement.
|
||||||
|
|
||||||
|
## Baseline opérateur
|
||||||
|
|
||||||
|
`beta.1` `PASS` a été historisé, committé et poussé avant application de la RC :
|
||||||
|
|
||||||
|
```text
|
||||||
|
history/0.0.1/beta.1.md = PASS
|
||||||
|
commit 7c0048b
|
||||||
|
message 0.0.1-beta.1
|
||||||
|
branch master
|
||||||
|
push origin/master PASS
|
||||||
|
status clean après push
|
||||||
|
```
|
||||||
|
|
||||||
|
Le push observé a avancé `origin/master` de `515f815` à `7c0048b`.
|
||||||
|
|
||||||
|
## Gel initial
|
||||||
|
|
||||||
|
Les premières preuves passent :
|
||||||
|
|
||||||
|
```text
|
||||||
|
VERSION = 0.0.1-rc.1
|
||||||
|
git diff --check PASS
|
||||||
|
cargo fmt --all -- --check PASS
|
||||||
|
aucun diff sous crates/ ou Web/ PASS
|
||||||
|
```
|
||||||
|
|
||||||
|
## Défaut bloquant de l'audit d'intégration
|
||||||
|
|
||||||
|
L'audit livré attendait exactement :
|
||||||
|
|
||||||
|
```text
|
||||||
|
Cargo.toml
|
||||||
|
VERSION
|
||||||
|
deltas/0.0.1/rc.1.md
|
||||||
|
docs/plans/001-V0_0_1_FOUNDATION_PLAN.md
|
||||||
|
docs/validation/001-VALIDATION_MATRIX.md
|
||||||
|
```
|
||||||
|
|
||||||
|
via :
|
||||||
|
|
||||||
|
```text
|
||||||
|
git diff --name-only
|
||||||
|
```
|
||||||
|
|
||||||
|
Cette commande n'inclut pas les fichiers non suivis.
|
||||||
|
|
||||||
|
Au moment du contrôle, `deltas/0.0.1/rc.1.md` est précisément un fichier non suivi. L'ensemble réellement observé est donc :
|
||||||
|
|
||||||
|
```text
|
||||||
|
Cargo.toml
|
||||||
|
VERSION
|
||||||
|
docs/plans/001-V0_0_1_FOUNDATION_PLAN.md
|
||||||
|
docs/validation/001-VALIDATION_MATRIX.md
|
||||||
|
```
|
||||||
|
|
||||||
|
L'assertion échoue et maintient la tranche en `FAIL`.
|
||||||
|
|
||||||
|
Le delta RC lui-même est bien présent dans le workspace et apparaît ensuite dans le staging final après `git add -A`.
|
||||||
|
|
||||||
|
## Preuves non bloquées
|
||||||
|
|
||||||
|
Malgré le défaut de l'audit d'intégration, les autres gates passent.
|
||||||
|
|
||||||
|
### Markdown
|
||||||
|
|
||||||
|
```text
|
||||||
|
Markdown header audit: clean (30 file(s))
|
||||||
|
Markdown table audit: clean (4 table(s), 30 file(s))
|
||||||
|
Markdown link audit: clean (28 local link(s), 30 file(s))
|
||||||
|
```
|
||||||
|
|
||||||
|
### Hygiène texte
|
||||||
|
|
||||||
|
```text
|
||||||
|
Knowledge 0.0.1-rc.1 text hygiene: clean
|
||||||
|
```
|
||||||
|
|
||||||
|
### Rust
|
||||||
|
|
||||||
|
```text
|
||||||
|
Rust test-layout audit: clean (7 crate(s))
|
||||||
|
Rust blank-line audit: clean (18 file(s))
|
||||||
|
Rust item-spacing audit: clean (18 file(s))
|
||||||
|
Rust module-order audit: clean (18 file(s))
|
||||||
|
Rust trait-import-block audit: clean (18 file(s))
|
||||||
|
Rust re-export-block audit: clean (18 file(s))
|
||||||
|
Rust export completeness audit: 0 candidate(s) across 7 package(s)
|
||||||
|
```
|
||||||
|
|
||||||
|
`cargo check`, Clippy strict et les tests workspace passent.
|
||||||
|
|
||||||
|
Tests observés :
|
||||||
|
|
||||||
|
```text
|
||||||
|
knowledge-domain-lib : 3 PASS
|
||||||
|
knowledge-git-api : 1 PASS
|
||||||
|
knowledge-sync-api : 1 PASS
|
||||||
|
knowledge-web-lib : 4 PASS
|
||||||
|
launchers : 0 test chacun
|
||||||
|
```
|
||||||
|
|
||||||
|
### Web
|
||||||
|
|
||||||
|
`npm ci`, `npm run typecheck` et `npm run build` passent.
|
||||||
|
|
||||||
|
Le warning `@parcel/watcher@2.6.0` reste observable mais non approuvé et non bloquant.
|
||||||
|
|
||||||
|
### Manifest Vite
|
||||||
|
|
||||||
|
```text
|
||||||
|
Knowledge 0.0.1-rc.1 Vite manifest audit: clean
|
||||||
|
```
|
||||||
|
|
||||||
|
### Smokes HTTP
|
||||||
|
|
||||||
|
```text
|
||||||
|
knowledge-pgr-server smoke PASS
|
||||||
|
knowledge-howtos-server smoke PASS
|
||||||
|
knowledge-snippets-server smoke PASS
|
||||||
|
Knowledge 0.0.1-rc.1 HTTP smoke: clean
|
||||||
|
```
|
||||||
|
|
||||||
|
## Staging final observé
|
||||||
|
|
||||||
|
Après `git add -A` :
|
||||||
|
|
||||||
|
```text
|
||||||
|
M Cargo.lock
|
||||||
|
M Cargo.toml
|
||||||
|
M VERSION
|
||||||
|
A deltas/0.0.1/rc.1.md
|
||||||
|
M docs/plans/001-V0_0_1_FOUNDATION_PLAN.md
|
||||||
|
M docs/validation/001-VALIDATION_MATRIX.md
|
||||||
|
```
|
||||||
|
|
||||||
|
`git diff --cached --check` passe.
|
||||||
|
|
||||||
|
## Décision `Cargo.lock`
|
||||||
|
|
||||||
|
Avant promotion stable, l'opérateur choisit de ne plus versionner `Cargo.lock`.
|
||||||
|
|
||||||
|
La politique cible devient :
|
||||||
|
|
||||||
|
```text
|
||||||
|
Cargo.lock généré localement par Cargo
|
||||||
|
Cargo.lock ignoré par Git
|
||||||
|
Cargo.lock absent de l'index/repository
|
||||||
|
```
|
||||||
|
|
||||||
|
Cette décision ne modifie pas la politique frontend : `Web/knowledge-template-lab/package-lock.json` reste versionné.
|
||||||
|
|
||||||
|
## Décision
|
||||||
|
|
||||||
|
`0.0.1-rc.1` est `FAIL`.
|
||||||
|
|
||||||
|
La transition autorisée est :
|
||||||
|
|
||||||
|
```text
|
||||||
|
0.0.1-rc.1.fix.1
|
||||||
|
```
|
||||||
|
|
||||||
|
Le fix doit :
|
||||||
|
|
||||||
|
- corriger la gate d'intégration afin de ne plus confondre diff suivi et fichiers non suivis ;
|
||||||
|
- retirer `Cargo.lock` du suivi Git sans supprimer sa copie locale ;
|
||||||
|
- ignorer explicitement `/Cargo.lock` ;
|
||||||
|
- réconcilier les documents vivants avec cette politique ;
|
||||||
|
- rejouer la gate complète RC.
|
||||||
Reference in New Issue
Block a user