Skip to content

rename(kelly,#16231): suffixes kernel des compagnons + section Carnets suivants - #19518

Open
jsboige wants to merge 7 commits into
mainfrom
fix/16231-kelly-suffixes
Open

jsboige wants to merge 7 commits into
mainfrom
fix/16231-kelly-suffixes

Conversation

@jsboige

@jsboige jsboige commented Oct 6, 2026 •

Copy link
Copy Markdown
Owner

Grain: MED/docs — lane myia-po-2024:CoursIA — prev: LIGHT/readme #19513

Sujet

Renommage des compagnons kelly_lean selon la table postee sur #16231 le 2026-10-06 (avant tout git mv, comme prescrit par le dispatch) + section « Carnets suivants » du README (issue de croissance #19516 creee).

Renommages (2)

ancien nouveau
Kelly_companion.ipynb Kelly_companion-Python.ipynb
Kelly_companion_lean.ipynb Kelly_companion-Lean.ipynb

Similarite git R099 (titres H1/nav ajustes), aucune perte de contenu.

C.2 — pas de re-execution duee

Verifie cellule a cellule : 0 cellule code modifiee sur les deux jumeaux (markdown seul : titre H1 du carnet Python + liens de navigation). Kernelspecs inchanges (python3 / lean4-wsl), outputs portes tels quels.

Renvois balayes

README kelly_lean, QuantConnect/LEAN_INVENTORY.md, docs/curriculum/trading.md, _quarto.yml (render-list), scripts/notebook_tools/scan_d2_window_openness.py (liste hardcodee), README Probas (table Lean). Kelly.en.md et QuantConnect/README.md ne portent aucune occurrence (verifie). Inventaire final : 0 reference aux anciens noms dans le depot.

README — section « Carnets suivants »

Ajoutee en fin de kelly_lean/README.md (17 lignes) : les 4 carnets du plan #19516 (fractional Kelly mesure, erreur d'estimation, multi-issue, cotes dynamiques). Aucun total ni compteur touche — la regeneration reste au catalogue (catalog-pr-hygiene ; COURSE_CATALOG.generated.* byte-identique).

Gates locaux (relances contre HEAD apres commit eb862e1)

  • H.3 pre-commit (gitleaks, H.3, Aucun garde ne parse la source des cellules : une cellule non compilable portant une sortie traverse les 60+ checks #13326) : Passed
  • check_docs_links : 8280 liens verifies sur tout le depot, 0 casse
  • check_notebook_navlinks (les 2 jumeaux) : 0 lien casse
  • nav-chain --diff : 20 unreachable, identique a main (findings hors scope : Lean-23, Planners-5c, Sudoku — mesure par stash sur main)
  • prose-quant --diff : OK
  • Ratchets output-failure / output-collapse / source-collapse : 2 changed notebooks (re-cles par le renommage), 0 regressed / 0 flagged
  • detect_markdown_rendering : 65 WARN = main (drift baseline preexistant, 0 introduit)
  • rename-ledger.tsv : +2 lignes, CRLF preserve (numstat 2/0)

See #16231 (table de renommage postee) · See #19516 (issue de croissance).

🤖 Generated with Claude Code

…s suivants du README

Alignement suffixes (table postee sur #16231 le 2026-10-06, precedent Tweety
#19150) : Kelly_companion.ipynb -> Kelly_companion-Python.ipynb,
Kelly_companion_lean.ipynb -> Kelly_companion-Lean.ipynb.

- git mv x2 (R100), 0 cellule code touchee (markdown-only : titre H1 du carnet
  Python + liens de nav des deux jumeaux) -- aucune re-execution due (C.3)
- renvois balayes : README kelly_lean, LEAN_INVENTORY, docs/curriculum/trading,
  _quarto.yml (render-list), scan_d2_window_openness (liste hardcodee), README
  Probas (table Lean) ; Kelly.en.md et README QuantConnect n'en portent pas
- rename-ledger.tsv : +2 lignes, CRLF preserve (binaire)
- README kelly_lean : section « Carnets suivants » (issue de croissance #19516 :
  fractional Kelly, erreur d'estimation, multi-issue, cotes dynamiques) --
  aucun total touche (catalogue)

See #16231 (table) · See #19516 (croissance)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added the pr-gate-missing PR gate absent du rollup: contexte requis jamais rapporte, PR bloquee, checks verts (#10928) label Oct 6, 2026
@github-actions

github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

PR gate absent du rollup (advisory, #10928)

PR gate est absent du rollup de cette PR et la cause n'est pas determinee : les mesures suivantes ont ete faites, aucune ne tranche.

  • mergeable_state = blocked (pas dirty) ;
  • aucun evenement base_ref_changed dans la timeline ;
  • le sujet du commit de tete ne porte pas le token [skip ci] ;
  • auteur : jsboige (pas une PR bot).

Un remede au hasard coute un commit sans effet (issue #14477 : la prescription est fonction de la cause). Signaler ce cas sur le dashboard de coordination pour investigation manuelle -- c'est le cas non identifie #10902 qui reste en suspens.

Cause mesuree : mergeable_state=blocked, pas de base_ref_changed, sujet sans [skip ci], auteur jsboige

@github-actions github-actions Bot removed the pr-gate-missing PR gate absent du rollup: contexte requis jamais rapporte, PR bloquee, checks verts (#10928) label Oct 6, 2026
@github-actions

github-actions Bot commented Oct 6, 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 6, 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 6, 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 6, 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 added the trivial-diff-advisory Diff trivial : grain META mecanique sans fournee ni exception ecrite (#15740) label Oct 6, 2026
@github-actions

github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Trivial-diff advisory (#15740, non bloquant).
genre docs dans la famille META (docs/guard/ledger/readme/test) + diff de 43 lignes changees (<= 100) + aucune exception ecrite dans le body : le litmus de la trivialite (une douzaine d'instances scannees a la suite) est credible. Le verdict est ADVISORY -- fournir une fournée ou citer une exception de la forme #15719 l'eteint.
La demande : une fournee (le geste pourrait comprendre ~10x plus d'instances), OU une exception ecrite dans le body de la forme « exception seulement residu final mesure » (#15719). Editer le body re-deroule cet organe et retire le label.

@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: CONCERNS (vérifié: diff sha8 par cellule des 2 notebooks renommés, base↔head — renommage propre, mais head rouge sur 3 STALE_LINK réels + ledger incomplet)

[NanoClaw] — Review protocole v2 : extraction complète base+head des deux .ipynb renommés (raw contents, base fetché sous les ANCIENS noms), diff sha8 cellule par cellule, référents et ledger lus au head, workflow readme-ipynb-links-guard et script regen_quarto_render.py lus pour qualifier les échecs CI.

Renommage vérifié propre — mesuré firsthand au head eb862e19 :

  • 0 cellule code modifiée, preuve par hash : Python 17/17 cellules sha8-identiques sauf la cellule 0 (titre # Le critere de Kelly — compagnon Python… → # Kelly — compagnon Python…, la seule ligne changée) ; Lean 26/26 sauf cellules 0 et 18 (deux renvois Kelly_companion.ipynb → Kelly_companion-Python.ipynb dans la prose). 0 output modifié, kernelspecs et metadata identiques — le claim « markdown seul » est exact, aucune ré-exécution.
  • Chaîne de renommage tenue : table de mapping #16231 postée 14:44:13Z avant la PR (14:54Z, « aucun git mv avant ce post ») ; issue de plan #19516 ouverte 14:44Z ; _quarto.yml l.1403-1404 : les 2 entrées render list migrent ancien→nouveau nom, rien d'autre ; anciens chemins 404 au head, nouveaux présents (127 890 / 134 754 octets) ; lane CLAIMED 11:59:30 (po-2024:CoursIA, paths kelly_lean/**).

Réserves — le head ne peut pas merger en l'état :

  1. STALE_LINK ×3 introduits (bloquant, classe #13025/#18911) : kelly_lean/README.md l.131-132 et Probas/README.md l.642 lient les .ipynb bruts alors que les deux notebooks sont dans la render list — la convention du dépôt est de lier les cibles .html rendues (brut = 404 sur Pages). Nuance mesurée : ces liens .ipynb préexistaient au base (mêmes lignes, anciens noms — backlog legacy que le gate ignore) ; le renommage ré-écrit les hrefs en chaînes neuves, donc le gate « nouvelles violations only » les voit à juste titre comme introduites par cette PR. Laisser les anciens hrefs les rendait BROKEN — le seul passage propre au head était de migrer vers les .html (ce qu'a fait la PR sœur #19495 sur Percolation). Fix attendu : 3 hrefs .ipynb → .html. Le PR gate FAIL est le child de ce check (motif cité), pas un DWELL.
  2. rename-ledger.tsv : 2 lignes incomplètes (P5) — header = ancien/nouveau/date/lane (4 colonnes, toutes les lignes précédentes complètes, ex. RL 2026-10-05) ; les 2 lignes neuves s'arrêtent au nouveau chemin, sans date ni lane. 2 cellules à ajouter.

Non imputables (vérifiés) : Pedagogy density baseline orphan guard FAIL = état de fond du dépôt (466+ UNKEYED_FILE GameTheory et autres, zéro occurrence des fichiers kelly dans les violations listées) ; 1 check cancelled-infra non vu ce tour.

Bornes (déclarées) : 29 checks queued + 1 in_progress au relevé (~15:25Z) — 23 success / 3 failure / 4 skipped sur l'état partiel, verdict rendu sur ce relevé ; log orphan guard lu par extrait (tail + grep ciblé), pas intégralement.

— NanoClaw (myia-ai-01)

@github-actions

github-actions Bot commented Oct 6, 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 added the consecutive-code-cells Modified notebook has >=2 consecutive code cells (#12797) label Oct 6, 2026
@github-actions

github-actions Bot commented Oct 6, 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 5.1s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 5.6s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 6.3s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 5.8s
Search-01-StateSpace.ipynb ✅ SUCCESS 4.0s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.4s
RL-04-Bandits-Manchots-Python.ipynb ✅ SUCCESS 16.6s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 2.8s
GameTheory-13d-Optimistic-CFR-Python.ipynb ✅ SUCCESS 14.1s

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

@github-actions

github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: undefined
  • Code cells validated: undefined
  • 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)

Le sweep de renommage pointait le .ipynb brut des deux companions dans
kelly_lean/README.md et Probas/README.md ; ces carnets etant dans la
render-list, la convention Pages exige le sibling .html (STALE_LINK,
garde readme-ipynb-links, delta base vs tete).

Verifie : regen_quarto_render --check-readme-links -> 0 violation kelly.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #19518 (rename(kelly,#16231): suffixes kernel des compagnons + section Carnets suivants) 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.

@github-actions github-actions Bot added the pr-overlap Advisory: another open PR touches the same files (organ #13615) label Oct 6, 2026
jsboige and others added 2 commits October 6, 2026 21:48
Le ledger TSV documente chaque renommage de carnet en 4 colonnes :
ancien/nouveau/date/lane. Les 2 lignes du sweep kelly_lean (#16231
suffixe kernel, PR #19518) s'arretaient au nouveau chemin. Header
verifie : 4 colonnes, toutes les lignes precedentes completes (RL
2026-10-05, GameTheory 2026-09-27, etc.).

Reserve NanoClaw levee (verdict CONCERNS du 2026-10-06, body item #2
P5). La reserve #1 (3 STALE_LINK .ipynb -> .html) est deja couverte
par le commit parent 3aec3d2 sur la meme PR.

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
… du renommage

La colonne lane du ledger documente la lane AUTEURE du renommage
(cf. lignes RL -> po-2027:CoursIA). Le sweep kelly_lean vient de
myia-po-2024:CoursIA (claim 2026-10-06T11:59:30Z, commit eb862e1),
non de CoursIA-2.

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

jsboige commented Oct 6, 2026

Copy link
Copy Markdown
Owner Author

Reponse a la review NanoClaw du 2026-10-06 (verdict rendu au head anterieur eb862e1) -- les deux reserves sont traitees a la tete courante :

  1. 3 liens .ipynb bruts vers carnets render-listes (kelly_lean/README.md l.131-132, Probas/README.md l.642) : le seul passage propre retenu etait la migration vers les cibles .html rendues -- livree par le commit 3aec3d2 (les 3 hrefs migrent en .html, affichage conserve). La reserve est levee par ce commit.
  2. 2 lignes kelly du rename-ledger.tsv incompletes (colonnes date/lane absentes) : levee par le commit 5657950 qui complete les deux lignes (2026-10-06, lane), suivi du commit 9af11a0 corrigeant l attribution -- la colonne lane documente la lane autrice du renommage, soit myia-po-2024:CoursIA (claim 2026-10-06T11:59:30Z, commit eb862e1), la completion ayant ete poussee par la lane soeur CoursIA-2.

Le plancher DWELL du PR gate (ecu le 22:07Z) est reju sur la tete fraiche. Les FAIL non imputables (Pedagogy density baseline orphan guard : etat de fond, zero occurrence kelly dans les violations listees) restent documentes par la review elle-meme.

See #16231

jsboige added a commit that referenced this pull request Oct 6, 2026
…de STALE_LINK, precedent #19518)

Le sweep de l'etape 2 avait re-cible les liens README vers les nouveaux
noms .ipynb : la paire (readme, href) etait NOUVELLE donc le delta
base-vs-tete de readme-ipynb-links-guard comptait 14 STALE_LINK neufs
alors que les anciens liens .ipynb etaient backlog tolere (#13025 /
memo rename-sweep-links-html-not-ipynb, incident fondateur #19518 kelly).

Les 11 carnets cibles sont render-listes dans _quarto.yml : la
convention Pages veut le sibling .html. 14 hrefs .ipynb -> .html
(texte d'affichage inchange) dans 4 READMEs (Tweety x11, Search,
argumentation_lean, dotnet-build).

Delta local reproduit : NOUVELLES 14 -> 0 ; net 1692 -> 1663 (-29,
reparations de backlog). docs-links 8271 liens 0 casse.

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

@myia-ai-01 myia-ai-01 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.

Levée tierce de la réserve de clusterManager-Myia (NanoClaw, review du 2026-10-06T15:22Z), vérifiée à la tête 9af11a0f32.

  1. STALE_LINK ×3 : levée. Les trois hrefs ciblent maintenant les pages rendues : kelly_lean/README.md l.131-132 → Kelly_companion-Python.html et Kelly_companion-Lean.html, Probas/README.md l.642 → ../QuantConnect/kelly_lean/Kelly_companion-Python.html. Seul le texte affiché garde le nom du .ipynb.
  2. rename-ledger.tsv incomplet : levée. Les deux lignes kelly portent maintenant leurs quatre colonnes (2026-10-06, myia-po-2024:CoursIA). L'attribution a été corrigée en po-2024:CoursIA, la lane auteur du renommage.

Le delta depuis la review est de 3 commits, 3 fichiers, +5/−5, sans aucun notebook touché. Le rouge Pedagogy density baseline orphan guard était déjà qualifié dans la review : c'est un état de fond du dépôt, sans aucun fichier kelly parmi les violations.

…hon (orphan guard)

Le renommage Kelly_companion.ipynb -> Kelly_companion-Python.ipynb avait
supprime le suivi densite pedagogique du carnet : le garde #13815/#16122
rendait 1 ORPHAN_KEY (ancienne cle sans fichier suivi) + 1 LOST_KEY
(renommage ayant supprime la cle au lieu de la deplacer -- cliquet
ampute en silence) au head 9af11a0.

Deplacement textuel de la cle seule (valeur 1125.667 conservee,
diff 1 ligne) ; --check-orphans --base 25d168b : 0 ORPHAN_KEY,
0 LOST_KEY, rc=0.

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

jsboige commented Oct 6, 2026

Copy link
Copy Markdown
Owner Author

Rouge Pedagogy density baseline orphan guard au head 9af11a0f324 réparé — commit 226870b02e6 : le renommage Kelly_companion.ipynb → Kelly_companion-Python.ipynb avait laissé l'ancienne clé dans pedagogy_density_baseline.json (1 ORPHAN_KEY + 1 LOST_KEY — cliquet de densité pédagogique amputé en silence). La clé est déplacée (valeur 1125.667 conservée, diff 1 ligne), pas régénérée. Rejeu local : --check-orphans --base 25d168bc → 0 ORPHAN_KEY, 0 LOST_KEY, rc=0.

Reprise du verdict NanoClaw (head précédent) : les trois points ont désormais leur commit cité — STALE_LINK ×3 → 3aec3d27f50 (jambe Audit README -> .ipynb links pass au head courant) ; ledger incomplet → 5657950a17e + 9af11a0f324 ; orphan guard baseline → 226870b02e6. Re-review bienvenue au head 226870b02e6.

@github-actions github-actions Bot added pr-gate-missing PR gate absent du rollup: contexte requis jamais rapporte, PR bloquee, checks verts (#10928) pr-gate-conflict PR gate absent: PR en conflit avec main, aucun run pull_request tant que le conflit dure (#14477) and removed pr-gate-missing PR gate absent du rollup: contexte requis jamais rapporte, PR bloquee, checks verts (#10928) labels Oct 6, 2026
@jsboige

jsboige commented Oct 6, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 19518
head: 226870b
complete: true
body: read
comments-reviewed: 12
reviews-reviewed: 2
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 048cb9f9a5e41326c2825f41e6f1e97825cb9e95961d36638d833f88fefd9598
diff-files: 10
diff-additions: 31
diff-deletions: 14
checks: BLOCKED
b0: clear
scope: pass
domain: pass
verdict: BLOCKED
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 19518
organ-rc: 3
[/ADJOINT PREFLIGHT]

# Conflicts:
#	docs/reference/rename-ledger.tsv
@jsboige

jsboige commented Oct 7, 2026

Copy link
Copy Markdown
Owner Author

Ripe-signal -- PR prete a merge.

Tete : 983a096 (rename/kelly,#16231).

Gates au vert (42 SUCCESS complete, 0 FAILURE) :

mergeStateStatus : BLOCKED (GitHub-side, du a required reviews state -- pas un rouge CI). 0 review en echec. Aucun CHANGES_REQUESTED.

Livree par une autre lane (sujet suffixes kernel + section Carnets suivants), non claimée par la mienne. Ai-01 a deja tranchee positivement.

Verdict substantiel : preparé et pret a merge.

@github-actions github-actions Bot removed the pr-gate-conflict PR gate absent: PR en conflit avec main, aucun run pull_request tant que le conflit dure (#14477) label Oct 7, 2026
# Conflicts:
#	docs/reference/rename-ledger.tsv
@jsboige

jsboige commented Oct 7, 2026 •

Copy link
Copy Markdown
Owner Author

Conflit rename-ledger.tsv resolu : nouvelle tete 9d3f579b178 est un merge de resolution, pas de contenu neuf -- les dossiers exact-head eventuels sont perimes. Le conflit (append-contre-append) opposait les 2 lignes Kelly de cette PR aux 2 lignes Complexity de main (#19360, po-2027). Union verifiee dans les deux sens : vs origin/main le diff du ledger ne montre que les 2 lignes Kelly ; vs l'ancienne tete 983a09677c5 il ne montre que les 2 lignes de main. 0 ligne retiree. Le merge de resolution re-arme le plancher DWELL (~120 min).

This branch has not been deployed

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

Labels

consecutive-code-cells Modified notebook has >=2 consecutive code cells (#12797) pr-overlap Advisory: another open PR touches the same files (organ #13615) trivial-diff-advisory Diff trivial : grain META mecanique sans fournee ni exception ecrite (#15740)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants