Files
khadhroony-solana-project/deltas/0.1.3/pre.001-fix.003.md

5.1 KiB
Raw Permalink Blame History

Delta 0.1.3-pre.001-fix.003

Base requise

Livraison précédente appliquée et commitée :

0.1.3-pre.001-fix.002

Ce correctif reste documentaire et doit être validé avant toute ouverture de pre.002.

Type de livraison

ksp-doc-0.1.3-pre.001-fix.003.zip

Objectif

Corriger le dimensionnement du plan 0.1.3 afin que les prereleases prévues restent compatibles avec la règle KSP de petites tranches d'environ 1520 minutes de travail effectif, et rendre explicites les prereleases qui modifient ksp-logging-lib pour la non-régression multi-sink/routing.

Aucune décision fonctionnelle validée dans pre.001-fix.001/.002 n'est annulée.

Version Cargo

Ce correctif modifie uniquement la documentation de planification.

Conformément à VER-ID-008, workspace.package.version reste :

0.1.3-pre.1

Identifiant de livraison/commit :

0.1.3-pre.001-fix.003

Fichiers ajoutés

  • deltas/0.1.3/pre.001-fix.003.md

Fichiers modifiés

  • docs/plans/005-V0_1_3_CONFIG_FOUNDATION_PLAN.md — version documentaire 3 -> 4 ;
  • docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md — version documentaire 8 -> 9 ;
  • docs/plans/000-README.md — version documentaire 10 -> 11.

Correction de pre.002

pre.002 n'agrège plus le bootstrap et le registre de fichiers.

Elle est limitée à :

création ksp-config-lib
ConfigBootstrapOptions
default cfgpath = config
default schemapath = config/schemas
--cfgpath
--schemapath
validation/tests bootstrap

Le registre logique est déplacé en pre.003.

Nouvelle pre.003 — registre file_id

Cette tranche possède exclusivement :

ConfigFileId
ConfigFileKind
ConfigFileDescriptor
ConfigFileRegistry
file_id -> filename
--filemap=<file_id>=<filename>
validation des overrides

Aucune lecture JSON/schema n'est requise dans cette tranche.

Tranches ksp-logging-lib explicites

Les ajouts/modifications Logging nécessaires ne sont plus regroupés dans une seule prerelease vague.

pre.004 — contrats/settings multi-output

  • console configurable ;
  • plusieurs outputs fichier ;
  • output_id unique ;
  • level/targets/domains par output ;
  • format/ANSI/rotation ;
  • validation publique des settings ;
  • aucune dépendance Logging -> Config.

pre.005 — runtime multi-sink + routing

  • création réelle de 0..N sinks fichier ;
  • console indépendante ;
  • routing/filter par output, level, target, domain ;
  • non-blocking/guards ;
  • conservation du subscriber unique, takeover et hot reload transactionnel ;
  • tests de non-régression.

Le schema std.logging.json n'est gelé qu'ensuite, en pre.006, sur la surface Logging effectivement stabilisée.

Découpage révisé

pre.002  crate Config + bootstrap cfgpath/schemapath
pre.003  registre file_id -> filename + --filemap
pre.004  Logging : contrats/settings multi-output
pre.005  Logging : runtime multi-sink + routing/filter
pre.006  JSON/JSON Schema + std.logging.json
pre.007  globals + profils + default_profile
pre.008  compositions génériques par file_id
pre.009  .env + process env + resolver ${...}
pre.010  sensibilité + real/safe/provenance
pre.011  adapter Config -> Logging
pre.012  management + persistence JSON/.env
pre.013  ownership audits + robustesse
pre.014  clôture

Le nombre de prereleases n'est pas une cible à minimiser. Toute tranche qui devient manifestement supérieure au budget d'environ 1520 minutes doit être scindée explicitement.

Invariants conservés

  • ksp-config-lib reste l'unique manager KSP des fichiers Config et variables applicatives ;
  • cfgpath/schemapath restent bootstrap-only ;
  • file_id reste l'identité logique stable, filename reste remplaçable ;
  • process env > .env > fallback ;
  • ${KSP_VAR} / ${KSP_VAR:-fallback} restent le modèle d'interpolation ;
  • secrets conservent valeur réelle + représentation sûre/redacted ;
  • Config construit les contrats Logging sans posséder le routing Logging ;
  • ksp-logging-lib conserve subscriber/layers/writers/lifecycle/guards ;
  • LoggingGuard reste orchestration-owned ;
  • 0.1.4 reste la release prévue pour ksp-app-config-desk.

Validations exécutées

Sur le delta documentaire :

  • contrôle des headers file: / version: ;
  • contrôle que les versions documentaires progressent d'une unité ;
  • contrôle que pre.002 ne contient plus le registre file_id ;
  • contrôle que pre.003 possède le registre et --filemap ;
  • contrôle que pre.004 et pre.005 mentionnent explicitement les modifications ksp-logging-lib ;
  • contrôle que std.logging.json/son schema arrivent après ces tranches Logging ;
  • contrôle du nouveau découpage jusqu'à pre.014 ;
  • contrôle que Cargo.toml n'est pas livré par ce fix.

Validations non exécutées

Aucune commande Cargo n'est déclarée réussie pour ce correctif documentaire. Aucun code Rust, manifest ou fichier runtime n'est modifié.

Question ouverte avant pre.002

Aucune question bloquante n'est conservée par défaut. Le plan regranularisé doit être validé par le user avant ouverture de pre.002.