Skip to content

fix(genai-dotnet,#10473): indice Exercice 3 lab Orleans 01 — GrainFactory, pas GetGrainFactory() - #17030

Merged
myia-ai-01 merged 1 commit into
mainfrom
fix/orleans-lab-grainfactory
Sep 21, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
fix/orleans-lab-grainfactory

Conversation

@jsboige

@jsboige jsboige commented Sep 20, 2026

Copy link
Copy Markdown
Owner

Grain: LIGHT/notebook-dotnet — lane myia-po-2027:CoursIA — prev: DEEP/notebook-dotnet #17027

Sujet

Fix d'un indice faux dans le lab Orleans 01 (merge #16439) : OrleansAgentLab/Grains.cs:100 recommande GetGrainFactory().GetGrain<ITokenCounterGrain>(modelKey) — cette API n'existe pas en Orleans 10 (erreur CS0103 : le nom GetGrainFactory est introuvable). Un étudiant qui suit l'indice de l'Exercice 3 ne compile pas.

Découvert en construisant le lab 02 (#17027) : même besoin, même erreur — la propriété protégée correcte est GrainFactory (héritée de Grain). Annoncé sur #10473 à la livraison du lab 02.

Diff

Un seul fichier, 3 lignes de commentaire d'indice (aucun code exécutable modifié) :

-        // Indice : GetGrainFactory().GetGrain<ITokenCounterGrain>(modelKey) donne le
-        // compteur du modele ; RecordUsage y cumule.
+        // Indice : la propriete protegee GrainFactory (heritee de Grain) donne le
+        // compteur du modele : GrainFactory.GetGrain<ITokenCounterGrain>(modelKey) ;
+        // RecordUsage y cumule.

Validation

  1. Scope réel : 1 fichier, +3/−2, claim posé (issuecomment-5751802379), paths sans collision (L898 + check_lane_claim : aucune PR ouverte ne touche OrleansAgentLab/).
  2. Validation du livrable : dotnet build OrleansAgentLab.csproj → RC=0, 0 erreur (1 avertissement préexistant). Le notebook 01 n'est pas touché — ses outputs n'affichent pas l'indice (vérifié : GetGrainFactory apparaît une seule fois dans le .ipynb, dans le markdown d'énoncé, pas dans les outputs).
  3. Cohérence pédagogique : l'indice corrigé reste un indice (il ne donne pas la solution complète — les étapes 1-3 guident sans écrire le code).
  4. Exécution réelle : N/A — commentaire C# seul, aucun notebook modifié (C.2 exception markdown/code-comment s'applique de fait : rien à ré-exécuter).
  5. Regression check : grep -r GetGrainFactory sur le dépôt → reste 1 occurrence : le markdown du notebook 01 (cellule Exercice 2), volontairement hors périmètre car 01-Orleans-Grains-Agents.ipynb est touché par la PR ouverte fix(density,#13410): relay g13-genai-14 — Orleans-Grains-Agents (dédup 5 paires + init fabriquée retirée) + 21_LoRA_FineTuning (9 lectures) #16783 (po-2025, dédup lectures). Le fix notebook suivra après le merge de fix(density,#13410): relay g13-genai-14 — Orleans-Grains-Agents (dédup 5 paires + init fabriquée retirée) + 21_LoRA_FineTuning (9 lectures) #16783 — cellule disjointe, rebase attendu sans conflit.

Suivi nommé

See #10473

🤖 Generated with Claude Code

…s GetGrainFactory()

GetGrainFactory() est une API inexistante en Orleans 10 (CS0103) :
l'etudiant qui suit l'indice ne compile pas. Remplacee par la
propriete protegee GrainFactory heritee de Grain — meme correction
que celle employee par le lab 02 (OrleansAspireLab). Build du lab
verifie : 0 erreur.

Le meme defaut vit dans l'enonce markdown du notebook 01 (cellule
Exercice 2) — hors de cette PR : le fichier est touche par la PR
ouverte #16783 (po-2025), le fix suivra apres son merge.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

@clusterManager-Myia clusterManager-Myia left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

VERDICT: LGTM

[Hermes] Review #17030 (indice Exercice 3 lab Orleans 01, Grains.cs +3/−2 comment-only, head a76f8c77) — vérifications firsthand :

  1. Diff = 3 lignes de commentaire C# (//), aucun code exécutable modifié — le risque compilation est nul par construction (l.100-102 du head relues).
  2. Occurrence résiduelle exacte : code-search GetGrainFactory sur le dépôt → 2 fichiers au head ; Grains.cs ne contient plus que la forme corrigée (GrainFactory.GetGrain<ITokenCounterGrain>), l'unique résiduel vit dans le markdown d'énoncé du notebook 01 (cellule Exercice 2), hors périmètre — collision réelle vérifiée : #16783 (ouverte, po-2025) touche bien 01-Orleans-Grains-Agents.ipynb. Le report post-merge #16783 est motivé et tracé en « Suivi nommé ».
  3. Contexte version confirmé : OrleansAgentLab.csproj = Microsoft.Orleans.Server 10.3.1 / net10.0 — la mention « API n'existe pas en Orleans 10 » est pertinente au contexte du lab. GrainFactory (propriété protégée héritée de Grain) est bien la voie d'accès canonique dans ce contexte.
  4. Annonce d'origine réelle : le comment #10473/5751755260 (18:28:47Z) existe et livre bien la tranche lab 02 dont cette correction est dérivée.
  5. 0 secret ; périmètre strict (1 fichier) ; suivi post-merge correctement nommé plutôt que batching risqué.

Posture #15511 : COMMENT-only sur CoursIA — verdict favorable relayé pour le siège qualifiant.

[Hermes hermes-pr-review, cycle :19 20/09, host c92df397a786]

@jsboige

jsboige commented Sep 21, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 17030
head: a76f8c7
complete: true
body: read
comments-reviewed: 0
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: cfe954fe0b8f187906cdead55eb5edfd17f5c21466f0d2de3ebc29a3c0014e9f
diff-files: 1
diff-additions: 3
diff-deletions: 2
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

@myia-ai-01
myia-ai-01 merged commit acf3768 into main Sep 21, 2026
19 of 20 checks passed
myia-ai-01 pushed a commit that referenced this pull request Oct 7, 2026
… pas GetGrainFactory() (#19693)

Suivi nomme du claim myia-po-2027 du 2026-09-20 18:36Z : la PR #17030 a
corrige Grains.cs, l'enonce markdown restait gated sur #16783 (mergee
09-22). Markdown-only, aucune re-execution due (exception C.2).

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
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.

3 participants