Skip to content

Fix(portabilite,#10643): semantic-fleet MultiConnector-Routing -- suffixe .exe conditionnel + sortie sans chemin machine - #23435

Merged
jsboige merged 1 commit into
mainfrom
fix/23423-semfleet-exe
Oct 31, 2026
Merged

jsboige merged 1 commit into
mainfrom
fix/23423-semfleet-exe

Conversation

@jsboige

@jsboige jsboige commented Oct 30, 2026 •

Copy link
Copy Markdown
Owner

Grain: MED/notebook-dotnet — lane myia-po-2023:CoursIA — prev: DEEP/genai #23417

Ce que fait la PR

Le carnet Semantic-fleet-MultiConnector-Routing construisait le chemin de son organe (SemanticFleet.MultiRoute, sous-module semantic-fleet) avec un suffixe .exe durci : sous Linux/macOS, dotnet build produit SemanticFleet.MultiRoute sans extension, donc File.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) :

  1. var wrapperName = "SemanticFleet.MultiRoute" + (OperatingSystem.IsWindows() ? ".exe" : ""); puis Path.Combine — même pattern que Orleans/02-04 et Aspire/03 (.exe conditionnel) ;
  2. le Console.WriteLine de diagnostic imprime désormais Path.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

  • Sous-module semantic-fleet initialisé au gitlink a2498cc6, dotnet build tools/multiroute/src/SemanticFleet.MultiRoute.csproj : 0 erreur (21 warnings, 17 s).
  • Re-exécution de la cellule modifiée via 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_data de 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-cell metadata.papermill/metadata.execution et le top-level metadata.papermill sont 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 (Tweety rebuild-*.sh) et 5 (ML-Training-Pipeline launch_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

@github-actions

github-actions Bot commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

prev: genre mot-clé fermant (#10093) — LEVÉ (2026-10-30T03:35:46Z).

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 Always-on guards de la PR.

@github-actions

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 1
  • Code cells validated: 7
  • Result: All passed

Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns)
Non-Python kernels (.NET/Lean): C.1 + errors only (execution_count advisory)
QuantConnect notebooks: C.1 + errors only (require QC Cloud for execution)

@github-actions

Copy link
Copy Markdown
Contributor

No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml).

Detector: python scripts/audit/detect_organ_duplication.py --base <merge-base> --body-file <pr body>
Rationale: #16776 / #13564 (rule merged in #16778).

…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>
@jsboige
jsboige force-pushed the fix/23423-semfleet-exe branch from 88440eb to 42c9398 Compare October 30, 2026 03:23
@github-actions

github-actions Bot commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Golden-Set Execution (H.7 P3)

✅ 9/9 notebooks passed (certified reproducible)

Notebook Status Time
2.1-Workflow-ML.ipynb ✅ SUCCESS 4.3s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 4.4s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 5.1s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 4.8s
Search-01-StateSpace.ipynb ✅ SUCCESS 3.9s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.6s
RL-04-Bandits-Manchots-Python.ipynb ✅ SUCCESS 25.0s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 3.1s
GameTheory-13d-Optimistic-CFR-Python.ipynb ✅ SUCCESS 14.3s

Pinned lockfile: scripts/notebook_tools/golden_set.lock.txt (H.7 P3, axe A #4208)

@github-actions

Copy link
Copy Markdown
Contributor

Notebook outputs-required (H.4 schema): PASS (every code cell carries an outputs: list)

@github-actions

Copy link
Copy Markdown
Contributor

✅ No prose/output mismatch detected in the notebooks this PR changed.

Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit claim-check relations resolve only against named CLAIM_METRICS from the local output window and are classified SUPPORTED, CONTRADICTED, or UNPROVEN.
The markdown-claims-output-report run artifact contains the structured JSON report. See python scripts/check_markdown_claims_output.py --help for re-running locally.
Detector rationale: c.290 / c.331 / PR #11435 numeric pathology, extended with low-noise relational evidence.

@github-actions

Copy link
Copy Markdown
Contributor

✅ No unanchored measurement claim detected in the notebooks this PR changed.

Scope = notebooks CHANGED in this PR, not the whole corpus. The stale-claim-report run artifact holds the structured JSON.
Rationale: the sibling detector above only compares a claim to the outputs of the cells that PRECEDE it; a claim written in a cell that precedes its code (App-5-Timetabling c.2/c.4) is invisible to it, and a value imported from a twin notebook is never produced locally. See python scripts/check_stale_claims.py --help.

@github-actions

Copy link
Copy Markdown
Contributor

✅ 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 factual-mislabel-report run artifact holds the structured JSON.
Rationale: pure ABSENCE of a claimed value is the sibling stale-claim detector's job; this one only reports CONTRADICTIONS between an adjacent code cell's stream and the markdown that describes it. See python scripts/check_factual_mislabel.py --help.

@github-actions

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #23435 (Fix(portabilite,#10643): semantic-fleet MultiConnector-Routing -- suffixe .exe conditionnel + sortie sans chemin machine) touche au moins un chemin de fichier aussi modifie par d'autres PRs ouvertes. Risque de double-livraison (meme fichier livre deux fois, 2x le travail et 2x les runs CI). Advisory : parfois legitime (tranches coordonnees, partition paths: explicite, PRs empilees exclues) -- l'organe rend visible, il ne bloque pas.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant