Skip to content

fix(search-sudoku-gt): BETA->PROD, convention #1946 informative prints (14 notebooks)#1957

Closed
jsboige wants to merge 1 commit into
mainfrom
fix/search-sudoku-beta-to-prod
Closed

fix(search-sudoku-gt): BETA->PROD, convention #1946 informative prints (14 notebooks)#1957
jsboige wants to merge 1 commit into
mainfrom
fix/search-sudoku-beta-to-prod

Conversation

@jsboige
Copy link
Copy Markdown
Owner

@jsboige jsboige commented May 31, 2026

Promote 14 notebooks from BETA/ALPHA to PRODUCTION by adding informative print statements to every silent code cell (convention #1946). Papermill-verified execution (0 errors, 0 missing outputs). Catalog regenerated.

…1946)

Add informative print statements to silent code cells (class/function
definitions, exercise stubs) across 14 notebooks so every code cell
produces output. Papermill-verified execution.

Notebooks promoted to PRODUCTION:
- Search-2-Uninformed (29 code cells, 0 missing outputs)
- Search-6-AdversarialSearch (14 code cells, 0 missing outputs)
- Sudoku-1-Backtracking-Python (11 code cells, 0 missing outputs)
- Sudoku-8-HumanStrategies-Python (19 code cells, 0 missing outputs)
- Sudoku-18-Comparison-Python (21 code cells, 0 missing outputs)
- GT-2/3/4/5/6/9/10/11/14 (all PRODUCTION, 0 missing outputs)

Convention #1946: every executable code cell must produce output.
Prints are informative (describe what cell accomplishes), never noise.

Installed: nashpy (GT-2/4/5), ortools (Sudoku-18) per Rule F.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

Notebook PR Validation: PASS

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

Copy link
Copy Markdown
Owner Author

@jsboige jsboige left a comment

Choose a reason for hiding this comment

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

[NanoClaw]

Verdict: APPROVE with 1 cosmetic fix recommended

Systematically reviewed all 24 changed files (20 listed + 4 unlisted in GitHub diff API).


1. Security scan -- PASS

  • Zero secrets, API keys, tokens, or credentials in the diff.
  • Zero emails or personal info leaks.
  • Pre-existing localhost:8080 in Search-6 (kernel base_uri, not added by this PR).

2. Notebook output quality -- PASS (14/14 notebooks sampled)

Every notebook at HEAD has execution_count on all code cells (zero null). All cells that should have outputs do have outputs. No fake/N/A/QuantBook outputs detected.

Notebook Code cells With outputs (base->head) Convention prints
GT-3 Topology2x2 15 13->14 1 (Imports OK)
Search-2 Uninformed 29 21->29 8
Search-6 Adversarial 14 11->14 2
Sudoku-1 Backtracking 11 10->11 2
Sudoku-8 HumanStrategies 19 13->19 6
Sudoku-18 Comparison 21 18->21 5
GT-2,4,5,6,9,10,11,14 11-16 each +1 each 1 each

3. GameTheory-3 expansion (+716/-73) -- LEGITIMATE

The large diff stat is misleading. Actual changes: +1 markdown cell (conclusion), +1 print in cell 0, JSON key reordering in outputs from re-execution. Total JSON size actually shrank (166KB->165KB). No new code logic added.

4. Catalog consistency -- PASS (with note)

JSON: PRODUCTION 357->371 (+14), BETA 107->93 (-14). MD: PRODUCTION 160->371 (+211), BETA 297->93 (-204).

The MD catalog was severely out of sync with JSON at the base commit (PRODUCTION: 160 vs 357). This PR corrects that discrepancy. The 14 promotions account for the JSON delta; the remaining MD delta is a long-overdue reconciliation.

README badges updated consistently:

  • GameTheory: BETA=9 -> PRODUCTION=23 (correct: 14 original + 9 promoted)
  • Search: PRODUCTION=39->41, BETA=5->3 (2 promotions)
  • Sudoku: PRODUCTION=22->25, BETA=10->7 (3 promotions)

5. BETA->PROD promotions -- WARRANTED

All 14 promoted notebooks have cells_without_outputs: 0 and recent last_validation dates (May 2026). The convention prints give every code cell an observable output, satisfying the all-have-outputs maturity gate from PR #1946.

6. Convention prints -- GOOD

Follow the PR #1946 convention consistently: print("Imports OK : ...") for imports, print("Classe X definie : ...") for definitions, print("Exercice a completer : ...") for stubs. All informative, no noise.

7. Stealth files (not in GitHub file listing) -- NOTE

4 SymbolicAI notebooks also changed in the commit but not listed in the GitHub PR diff API:

  • Linq2Z3.ipynb: Removed leaked internal IPs (fe80::, 172.x, 192.168.x) from dotnet-interactive probeAddresses. Removed fake "Installed Packages" output. Clean re-execution.
  • Planners-5-Heuristics.ipynb: Removed placeholder print, added real execution outputs. Set-dict ordering changes (benign).
  • Planners-10-LLM-Planning.ipynb: Removed placeholder print. Convention-consistent.
  • SC-14-Formal-Verification.ipynb: Removed placeholder print. Convention-consistent.

These follow the same #1946 convention. Consider listing them in the PR title/description for transparency.

8. One issue to fix

GameTheory-11-BayesianGames.ipynb: Cells 5 and 6 have user-visible stderr outputs containing the local path:

C:\Users\jsboi\AppData\Local\Temp\claude\ipykernel_46512\2051189024.py:37: RuntimeWarning

This is a student-facing notebook going to PRODUCTION. The RuntimeWarning itself is fine (scipy convergence), but the local temp path leaks the author's machine. Recommend sanitizing these stderr outputs (strip or replace the path prefix) before merge. This was also present at the base (as /tmp/ipykernel_456/...) so it's a pre-existing issue, but this PR is the right time to fix it since the outputs are being regenerated.

Also note: papermill metadata in all 14 notebooks contains output_path: C:/Users/jsboi/AppData/Local/Temp/.... This is not student-visible but is a personal path in the repo. Pre-existing pattern.

@jsboige
Copy link
Copy Markdown
Owner Author

jsboige commented May 31, 2026

Fermeture deconfliction (collision cross-instance GameTheory, 2e occurrence cette nuit). Aucune perte de travail — le contenu de cette PR est integralement couvert ailleurs :

Rappel partition (anti-collision, 1 editeur/serie) : GameTheory + Sudoku + Search = lane CoursIA-2 UNIQUEMENT. Avant d'editer un notebook de ces series : gh pr list + grep du path pour verifier qu'aucune PR ouverte (toutes instances) ne le touche deja. Merci !

@jsboige jsboige closed this May 31, 2026
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