v0.1.0-pre.011-fix-01
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/TRACING_CONTRACT.md -->
|
||||
<!-- version: 20 -->
|
||||
<!-- version: 21 -->
|
||||
|
||||
# Contrat de tracing par crate et composant
|
||||
|
||||
@@ -29,7 +29,7 @@ Toute crate opérationnelle hors `kb-lib` qui déclare `tracing.workspace = true
|
||||
- réexporter la constante depuis sa façade puis appeler les macros avec `target: crate::TRACING_TARGET` ;
|
||||
- déplacer la granularité interne dans des champs structurés.
|
||||
|
||||
`kb-lib` constitue une exception architecturale volontaire : chaque décodeur, matérialiseur ou exécuteur opérationnel possède son propre `constants.rs` et un target hiérarchique `kb-lib.<famille>.<surface>`. La façade de `kb-lib` réexporte chaque target sous un alias interne préfixé afin que plusieurs composants puissent coexister sans collision.
|
||||
`kb-lib` constitue une exception architecturale volontaire : chaque décodeur, matérialiseur ou exécuteur opérationnel possède son propre `constants.rs` et un target hiérarchique `kb-lib.<famille>.<surface>`. Le target reçoit son nom préfixé canonique dans son module propriétaire, puis la façade de `kb-lib` le réexporte sans alias afin que plusieurs composants puissent coexister sans collision.
|
||||
|
||||
Exemple :
|
||||
|
||||
@@ -74,7 +74,7 @@ kb-logging
|
||||
kb-store
|
||||
```
|
||||
|
||||
L’audit `audit_khadhroony_workspace_rules.py` vérifie les targets de crates et les targets hiérarchiques de `kb-lib`. Il interdit également les faux usages `let _target` et impose que chaque macro de `kb-lib` utilise un alias réexporté par la façade.
|
||||
L’audit `audit_khadhroony_workspace_rules.py` vérifie les targets de crates et les targets hiérarchiques de `kb-lib`. Il interdit également les faux usages `let _target` et impose que chaque macro de `kb-lib` utilise le nom préfixé réexporté sans transformation par la façade.
|
||||
|
||||
Les routes sont filtrées au niveau de leur writer plutôt que par un `Filtered` layer distinct. Un seul filtre d’admission agrégé empêche en amont le formatage des événements refusés par toutes les routes. Cette architecture préserve toutes les sorties globales et par crate au-delà de la limite interne de 64 identifiants de filtres de `tracing-subscriber`. Le test `more_than_64_routes_compose_without_filtered_layer_ids` protège explicitement ce contrat.
|
||||
|
||||
@@ -161,4 +161,4 @@ L’ajout ou la suppression de `tracing.workspace = true` impose dans le même d
|
||||
4. la mise à jour des tests de contrat ;
|
||||
5. la mise à jour de la liste ci-dessus.
|
||||
|
||||
Pour un composant de `kb-lib`, les mêmes obligations s’appliquent au target hiérarchique, à son alias de façade et à ses routes dédiées.
|
||||
Pour un composant de `kb-lib`, les mêmes obligations s’appliquent au target hiérarchique, à son nom préfixé de façade et à ses routes dédiées.
|
||||
|
||||
Reference in New Issue
Block a user