Skip to content

docs(13410): 3 lecture cells chiffrees (XOR/AND, palindrome, conservation) in Z3-Python-03-Tactics (density 1051 -> 1267) - #16621

Merged
myia-ai-01 merged 2 commits into
mainfrom
feature/13410-density-z3-python-03-tactics
Sep 18, 2026
Merged

myia-ai-01 merged 2 commits into
mainfrom
feature/13410-density-z3-python-03-tactics

Conversation

@jsboige

@jsboige jsboige commented Sep 18, 2026 •

Copy link
Copy Markdown
Owner

Grain: DEEP/notebook-python -- lane myia-po-2026:CoursIA -- prev: DEEP/ci-fix (See #16615)

Summary

Density grain EPIC #13410 on MyIA.AI.Notebooks/SymbolicAI/SMT/Z3-API/Z3-Python-03-Tactics.ipynb (Python kernel, fresh SMT family for this lane). Three reading cells anchored on real executed outputs, one per code section previously flowing into a section header (or thin interpretation) without numeric reading.

Content

  • lectz3tac-01 (after "Interpretation : vecteurs de bits", anchored on cell db8a4ca1 output): the printed pair a = 254 (binaire : 11111110) / b = 1 (binaire : 00000001) are exact bitwise complements; a XOR b = 11111111 implies a AND b = 00000000 (second constraint redundant); solution space = 2^8 = 256 pairs, Z3 returns one. Non mesure: model-choice criterion.
  • lectz3tac-02 (after palindrome cell 8989b5f3 output): 01000010 = 64 + 2 = 66 recomposed; bit-by-bit symmetry (b7=b0, b6=b1, b5=b2, b4=b3); sat = one arbitrary model among several (00100100 = 36 also valid), not a minimum — Optimize absent. Non mesure: total model count.
  • lectz3tac-03 (after transfer cell 0ece8020 output): deltas +30 / -30 / 0 sum to zero; totals 350 = 350 recomposed; sat proves coherence on the fixed concrete state only, not for all initial states. Non mesure: solve time.

No exercise stub anchored (cells d679f119/e6f8fc07/2b4b4d43 untouched and un-restated). Accent register measured 0.48% < 1.5% -> unaccented French.

Proofs

  • Originals deep-equal in order: 32 kept / 35 total (new ids filtered).
  • All 14 code cells byte-identical (source + outputs).
  • json.dumps(nb, indent=1, ensure_ascii=False)+"\n" == raw before AND after edit.
  • Insertion diff: git diff -U0 | grep -c '^-[^-]' == 0.
  • Ids lectz3tac-01..03 strictly alphanumeric+dash (nbformat 4.5, incident enrich(iit,#13410): densite ICT dissociation PhAT self-reference + saillance/pregnance — lectures de sorties chiffrees #16427), metadata {}, each line ends \n except last.
  • Hook disclosure: pre-commit fix-hr-separator normalized ONE pre-existing line in header cell 024ee023 (--- -> ***, setext-hazard rule); re-staged and re-committed per protocol (the commit's single deletion line).
  • Density measured post-insertion in a separate command: 1051 -> 1267 (threshold 1200, below_threshold count 0).

Test plan

  • pedagogy_density.py --json on the notebook: ok, density 1267 >= 1200
  • Pre-commit hooks all passed (gitleaks, H.3 executed-notebook, hr-separator, md-rendering guards)
  • Round-trip JSON identity verified
  • No open PR touches this file or its twin yaml/sibling (raw-json grep preflight: 0 hits)

See #13410

🤖 Generated with Claude Code

…tion) in Z3-Python-03-Tactics (density 1051 -> 1267)

Anchored readings (all on real executed outputs, no exercise stubs):
- lectz3tac-01 (after Interpretation vecteurs de bits, anchored on cell
  db8a4ca1 output): a=254/b=1 are exact bitwise complements; XOR=11111111
  implies AND=00000000 (second constraint redundant); 2^8=256 valid pairs,
  Z3 returns one. Non mesure: model-choice criterion.
- lectz3tac-02 (after palindrome cell 8989b5f3 output): 01000010 = 64+2 =
  66 recomposed; bit-by-bit symmetry verified; sat = one arbitrary model
  (00100100 = 36 also valid), not a minimum - Optimize absent. Non mesure:
  total model count.
- lectz3tac-03 (after transfer cell 0ece8020 output): deltas +30/-30/0 sum
  to zero; totals 350 = 350 recomposed; sat proves coherence on the fixed
  concrete state only, not for all initial states (unsat-of-negation would
  be required). Non mesure: solve time.

Proofs: originals deep-equal in order (32 kept / 35 total, new ids
filtered); all 14 code cells byte-identical (source+outputs);
json.dumps(indent=1,ensure_ascii=False)+"\n" == raw before AND after;
my insertion diff has 0 deletion lines; ids lectz3tac-01..03 strictly
alphanumeric+dash (nbformat 4.5), metadata {}, lines end \n except last.
Accent register 0.48% < 1.5% -> unaccented French matched.

Hook disclosure: pre-commit fix-hr-separator normalized ONE pre-existing
line in header cell 024ee023 ('---' -> '***', setext-hazard rule). Not
part of the grain content; re-staged and re-committed per protocol.
All other originals untouched (verified post-hook: only 024ee023 differs,
single line 19).

Density measured separately post-insertion: 1267 (threshold 1200,
below_threshold count 0).

See #13410

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

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 #16615 (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 Sep 18, 2026 •

Copy link
Copy Markdown
Contributor

Golden-Set Execution (H.7 P3)

✅ 8/8 notebooks passed (certified reproducible)

Notebook Status Time
2.1-Workflow-ML.ipynb ✅ SUCCESS 9.9s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 9.8s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 8.9s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 8.7s
Search-01-StateSpace.ipynb ✅ SUCCESS 14.9s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 5.4s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 50.8s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 9.4s

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

@github-actions github-actions Bot added the variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur) label Sep 18, 2026
@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

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

@github-actions

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

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

…only density tranche

Pair attested: Z3-Python-03 Tactics (SMT/Z3-API).

Paraphyte-preservant verification (python-compare vs origin/main): all code
cells byte-identical (source + outputs + execution_count) — 14/14; changes
are markdown-only additions (+3 cells).

Command run:
python scripts/notebook_tools/check_twin_parity.py --update --pair "Z3-Python-03 Tactics" --by "myia-po-2026:CoursIA"

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@myia-ai-01
myia-ai-01 merged commit dabcd5a into main Sep 18, 2026
81 of 98 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