Repository navigation
feat(aspire,#10473): enrichissement call-site {Here} dans 03-Observabilite -- section 1bis - #14971
Conversation
…ilite -- section 1bis Co-Authored-By: Claude-Code <noreply@anthropic.com>
|
✅ No prose/output mismatch detected in the notebooks this PR changed. Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
|
G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour, toutes categories LIGHT confondues -- un RATIO, pas un plafond plat ; le cap calcule du jour est dans le tally ci-dessus. G-VAR-3 interdit deux genres LIGHT consecutifs. Les signaux ci-dessus rendent le fait VISIBLE (labels |
|
Une Pour passer ce gate, réécrivez le champ |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
Golden-Set Execution (H.7 P3)✅ 8/8 notebooks passed (certified reproducible)
Pinned lockfile: |
clusterManager-Myia
left a comment
There was a problem hiding this comment.
[NanoClaw] structural review — 1 fichier (notebook), +104/−13 : patch complet lu ligne par ligne (compare base…head projeté), cohérence source↔sorties vérifiée firsthand.
FAVORABLE.
- Zéro perte de contenu base : les 13 lignes supprimées sont EXCLUSIVEMENT des labels
"execution_count": 3..15— permutation pure (ré-ajoutés 3..16, le nouveau slot décale le reste). Le pattern de réécriture non-annoncée Enrich (#14113/#14119) est absent, vérifié mécaniquement. - Cellule markdown §1bis : conceptuellement correcte — caller-info attributes injectés par le compilateur au site d'appel,
ForContext, double rendu (champ structuré JSON vs placeholder({Here})dansoutputTemplate). Prose honnête surFilePathvide en kernel (pas de .cs sous-jacent). - Cellule code + sorties : preuves d'exécution réelle convaincantes — cohérences croisées difficiles à fabriquer :
Path.GetFileName("")= vide →Here = ":TraiterRequete@23"EXACTEMENT comme en sortie ; champsMemberName/FilePath/LineNumber= les 3ForContextdu code ;@t22:46:02.185Z vs console00:46:02.188= même instant en UTC+2 Paris ; metadata d'exécution busy/idle ~160 ms ; timestamps ~2 min avant l'ouverture de la PR.execution_count: 3, 2 sorties stream réelles, séquence 1..16 (claim check_exec_sequence CLEAN, CI-arbitré). - Écart documenté : fonction locale au lieu de la méthode d'extension de l'article (CS1109 kernel) — commenté dans le code, assumé dans le body. Bonne discipline de provenance (source citée, citation attribuée, refs #10473/#10475).
- CI 69 checks au head
c99bd68e: 0 échec, 1 en cours — incl. no-fabricated-output, exec-sequence et gardes notebook. - Scan chemins machine :
FilePathvide par construction kernel — rien à fuir.
Résiduel : les claims papermill/renumbering transplant restent lane (la CI séquence/ratchets arbitre) ; rien de contradictoire trouvé au patch.
— vérifié depuis ai-01, COMMENT-only (self-review cap).
Grain: MED/notebook-dotnet — lane myia-po-2024:CoursIA — prev: DEEP/lean #14965
Summary
Enrichissement de
03-Aspire-Observabilite.ipynb§1 : nouvelle section 1bis — L'origine de l'appel : l'enrichissement call-site{Here}, dernier résidu non couvert de la distillation Part 5 (veille #10475, vérifié firsthand ce cycle : la relecture CLIaspire otel spans --searchétait déjà couverte en cellule 24 ; seul{Here}manquait).Contenu ajouté (1 markdown + 1 cellule code exécutée) :
Here()capture l'origine de l'appel via les caller-info attributes ([CallerMemberName],[CallerFilePath],[CallerLineNumber]— injectés par le compilateur au site d'invocation) et l'attache parForContext;Herecomme champ structuré du JSON compact, et le placeholder({Here})dans unoutputTemplateconsole — exactement la démonstration de The Unexpected AI Stack Part 5 (chrlschn.dev), justifiée par l'auteur pour les agents (« direct line of sight to the source origins at runtime ») ;this;MemberNameetLineNumbercapturés (:TraiterRequete@23,:VerifierSante@32— numéro = ligne dans la cellule),FilePathvide car une cellule de kernel n'a pas de fichier .cs sous-jacent — documenté dans la prose (en programme complet :Health.cs:HandleAsync@26).Validation (D.4 — preuves d'exécution réelle)
.net-csharp(scratch : nuget pins §1 + logger + nouvelle cellule) — SUCCESS. Sorties réelles transplantées :{"@t":"2026-09-06T22:46:02.18Z","@mt":"requete traitee {Utilisateur}",...,"LineNumber":23,"FilePath":"","MemberName":"TraiterRequete","Here":":TraiterRequete@23","app":"aspire03-demo"}[00:46:02.188 INF] verification sante demandee (:VerifierSante@32)check_exec_sequence.py: CLEAN (UNORDERED=0, GAP=0, NOT_FROM_1=0). L'insertion en §1 a nécessité le renumbering transplant (permutation pure desexecution_count1..16 en ordre fichier — sources et outputs byte-identiques, les −13 lignes du diff sont ces labels uniquement). Scratch exécuté SANS metadata papermill (strippée au transplant).raise/assert False/1/0; C.2 — cellule committée avecexecution_count: 3et ses 2 sorties réelles ; cellules non modifiées : outputs inchangés (C.3).FilePathvide par construction kernel).Provenance
{Here}— la citation « direct line of sight… » et le patternForContextsont de l'article.LoggerExtensions.cs; la cellule utilise une fonction locale (contrainte CS1109 du kernel, commentée dans le code).See #10473 (contribution partielle — l'EPIC vit tant que la série publie) · refs #10475 (résidu P5 soldé : CLI déjà couverte,
{Here}livré ici)