Repository navigation
Fix(portabilite,#10643): semantic-fleet MultiConnector-Routing -- suffixe .exe conditionnel + sortie sans chemin machine - #23435
Conversation
|
aucun genre mots-clé fermant dans le body ni les commits ; prev: accepté(s) : #23417 Run vert du garde : ce commentaire bloquant est obsolète. Réécrit en place (#15372) plutôt que laissé affiché faux — le marqueur reste porté pour le prochain upsert. Historique : runs |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
|
No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml). Detector: |
…fixe .exe conditionnel + sortie sans chemin machine Sources et sorties des autres cellules byte-identiques a main ; blocs per-cell metadata.papermill/execution et top-level papermill strippes par le cablage de l'executeur single-cell (#12722, ratchet #11155) -- etat attendu, pas une regression. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
88440eb to
42c9398
Compare
Golden-Set Execution (H.7 P3)✅ 9/9 notebooks passed (certified reproducible)
Pinned lockfile: |
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
|
✅ No prose/output mismatch detected in the notebooks this PR changed. Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
|
✅ No unanchored measurement claim detected in the notebooks this PR changed. Scope = notebooks CHANGED in this PR, not the whole corpus. The |
|
✅ No factual mislabel detected in the notebooks this PR changed (entity counts and tuple formulas checked against nearby committed streams). Scope = notebooks CHANGED in this PR, not the whole corpus. The |
Path-collision (organ #13359/#13615)Cette PR #23435 (
|
Grain: MED/notebook-dotnet — lane myia-po-2023:CoursIA — prev: DEEP/genai #23417
Ce que fait la PR
Le carnet
Semantic-fleet-MultiConnector-Routingconstruisait le chemin de son organe (SemanticFleet.MultiRoute, sous-module semantic-fleet) avec un suffixe.exedurci : sous Linux/macOS,dotnet buildproduitSemanticFleet.MultiRoutesans extension, doncFile.Exists(wrapper)= false et le carnet ne trouve pas son organe. C'était le seul gap réel de l'entrée 3 de la file #23423 (classification mesurée c.6513994712).Correctif (cell[2], 2 lignes) :
var wrapperName = "SemanticFleet.MultiRoute" + (OperatingSystem.IsWindows() ? ".exe" : "");puisPath.Combine— même pattern que Orleans/02-04 et Aspire/03 (.execonditionnel) ;Console.WriteLinede diagnostic imprime désormaisPath.GetFileName(wrapper)au lieu du chemin absolu — la sortie committée en base (D:\Dev\CoursIA\.claude\worktrees\axe6-1210\...) leakeait le chemin machine de la session d'exécution. Cause (A) env/cwd triée à la source + re-exécution, pas de retouche de sortie (règle 6 secrets-hygiene).Validation — exécution réelle
a2498cc6,dotnet build tools/multiroute/src/SemanticFleet.MultiRoute.csproj: 0 erreur (21 warnings, 17 s).scripts/notebook_tools/exec_single_cell.py, kernel.net-csharp, cwd = dossier SemanticKernel (résolution du chemin relatif) — organe C.2/C.3, seule la cellule modifiée est re-exécutée :Wrapper present : True (SemanticFleet.MultiRoute.exe)— l'organe est trouvé, sans chemin machine ;smoke rc : 0,smoke out : {"type": "simple", "route": "simple", "latency_ms": 1953, "text": "OK"}— appel API réel frais (gpt-4o-mini, latence mesurée 1953 ms vs 2512 en base) ;smoke err :vide,error=False.Allègement déclaré (output ratchet)
La sortie
display_datade base — le bootstrap div HTTP dotnet-interactive (~120 lignes de JS de découverte de port, avec port kernel et id de cellule spécifiques à la session d'exécution d'origine) — n'est pas reproduite : l'organe d'exécution single-cell le filtre par design. Les 4 sorties stream réelles (wrapper, rc, out, err) sont toutes présentes et fraîches ; aucune sortie dégradée ou de repli.Scope
Un fichier, une cellule modifiée. Les sources et sorties des 12 autres cellules sont byte-identiques à
main. Les blocs per-cellmetadata.papermill/metadata.executionet le top-levelmetadata.papermillsont strippés par le câblage de l'organe single-cell (_papermill_meta.py, #12722, requis par le ratchet #11155) : un bloc per-cell daté d'un run antérieur est de l'information trompeuse (#11146), l'état strippé est celui attendu du dépôt. Les entrées 4 (Tweetyrebuild-*.sh) et 5 (ML-Training-Pipelinelaunch_capped.ps1) de la file restent ouvertes — la cloture de #23423 n'est pas demandée.See #23423
Part of #10643
🤖 Generated with Claude Code