Skip to content

Fix(genai-dotnet,#10473): enonce Exercice Orleans-01 -- GrainFactory, pas GetGrainFactory() - #19693

Merged
myia-ai-01 merged 1 commit into
mainfrom
fix/orleans01-getgrainfactory-doc
Oct 7, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
fix/orleans01-getgrainfactory-doc

Conversation

@jsboige

@jsboige jsboige commented Oct 7, 2026 •

Copy link
Copy Markdown
Owner

Grain: LIGHT/notebook-dotnet — lane myia-po-2027:CoursIA — prev: MED/notebook-dotnet #19685

Sujet

Solde du suivi nommé de mon claim du 2026-09-20 18:36Z sur #10473 : la PR #17030 (MERGED 09-21) a corrigé l'API erronée dans OrleansAgentLab/Grains.cs, mais l'énoncé markdown du notebook 01 portait la même erreur — explicitement laissé hors du claim car la PR #16783 d'une autre lane (po-2025) touchait ce fichier. #16783 est MERGED depuis le 2026-09-22 : le suivi est devenu dû, et personne ne l'a pris — 1 occurrence GetGrainFactory() mesurée encore sur origin/main ce jour (cellule [13], énoncé de l'exercice de routage des tokens).

Change

1 ligne, cellule markdown uniquement :

- … déléguer au grain `ITokenCounterGrain` identifié par `modelKey` (via `GetGrainFactory()`). …
+ … déléguer au grain `ITokenCounterGrain` identifié par `modelKey` (via la propriété protégée `GrainFactory`). …

GetGrainFactory() n'existe pas en Orleans 10 (CS0103) — la propriété protégée GrainFactory est l'API correcte, vocabulaire aligné sur le correctif 17030.

Validation

  • Markdown-only : aucune cellule code touchée → pas de re-exécution due (exception C.2 « modifs uniquement markdown »).
  • Diff : 1 fichier, +1/−1.
  • Round-trip json vérifié byte-stable avant édition, assert hits == 1 sur le remplacement.

See #10473 — l'EPIC vit tant que la série publie, jamais Closes.

🤖 Generated with Claude Code

… pas GetGrainFactory()

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>
@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

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

@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
La lane `myia-po-2027:CoursIA` voit ces signaux actifs sur les mergees du jour (UTC 2026-10-07) :

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 variation-tier-inflation, `variation-genre-run`, `variation-genre-cap-exceeded`, `variation-genre-mismatch`, `variation-genre-unknown`) -- la decision de merge reste au coordinateur.

@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

<mot-clé fermant> #N où N est une PR -- bloquant (#10101).

closing-keyword + PR-number reference(s) that would auto-close a PR on squash: ['fix #17030 (body, resolves to a PR)']. Remove the closing keyword, or write the number WITHOUT the leading # (a bare number is not an auto-close). See #10101.

GitHub interprète close/closes/closed/fix/fixes/fixed/resolve/resolves/resolved #N comme un ordre de fermeture automatique dès que le texte atterrit dans le message de squash -- et fermer une PR par mot-clé n'est jamais intentionnel (une PR se merge ou se ferme explicitement, elle ne se « résout » pas). C'est exactement l'incident mesuré dans #10101 : un commit affirmant avoir fermé une PR « sans la merger ».

Le discriminateur est la nature du numéro, pas le contexte du mot-clé : Closes #<issue> est intentionnel (catalog-pr-hygiene HARD 4) et passe silencieusement ; seul un #N qui résout en PR déclenche ce gate.

Pour passer ce gate :

  • retirez le mot-clé fermant devant le numéro, ou
  • écrivez le numéro SANS le # (un nombre nu n'est pas un auto-close).

@github-actions

github-actions Bot commented Oct 7, 2026

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).

@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

⚠️ Prose/output review needed in the notebooks this PR changed: a numeric value is not anchored, an explicit relation is contradicted, or its evidence is missing. These cases remain distinct in the JSON report; the signal is advisory, NOT a merge gate.

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

github-actions Bot commented Oct 7, 2026

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

github-actions Bot commented Oct 7, 2026

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

github-actions Bot commented Oct 7, 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 18.7s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 12.0s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 13.5s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 27.1s
Search-01-StateSpace.ipynb ✅ SUCCESS 8.3s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 4.7s
RL-04-Bandits-Manchots-Python.ipynb ✅ SUCCESS 61.2s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 6.7s
GameTheory-13d-Optimistic-CFR-Python.ipynb ✅ SUCCESS 53.5s

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

@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 1
  • Code cells validated: 8
  • 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 github-actions Bot added the variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur) label Oct 7, 2026
@jsboige

jsboige commented Oct 7, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 19693
head: ea0df34
complete: true
body: read
comments-reviewed: 9
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: e7255c3887704753524a812710db23f5f1b112af653b61ae02875d2ce6c75be3
diff-files: 1
diff-additions: 1
diff-deletions: 1
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 19693
organ-rc: 0
[/ADJOINT PREFLIGHT]

@myia-ai-01
myia-ai-01 merged commit ee3ec5c into main Oct 7, 2026
116 of 138 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants