Renamed whole Mac OS X's to macOS by ergenekonyigit · Pull Request #58 · python/cpython
jaraco pushed a commit that referenced this pull request
AA-Turner pushed a commit to AA-Turner/cpython that referenced this pull request
SonicField added a commit to SonicField/cpython that referenced this pull request
Push 44 W3 follow-up per supervisor 03:07:52Z + theologian 03:07:25Z: - rc_oracle_self_test.sh: expand from 1 → 4 injection classes (A/B/C/D) - _rc_oracle_adapter.h: add invariant python#7 (oracle lifespan policy) to BRIDGE SPEC TEMPLATE (supersedes W12) Per supervisor 03:07:52Z W4 vacuous-pass defeat directive: "single-injection test is the W4 vacuous-pass class". ================================================================ PART 1: 4 INJECTION CLASSES (rc_oracle_self_test.sh) ================================================================ Generalized inject_class helper (sed → rebuild → diff → restore → rebuild) replaces the hard-coded single-injection block. Class A — refcount BALANCE under-count: Skip FIRST phx_rc_emit_incref via line-comment. Failure mode caught: under-count → leak under Py_REF_DEBUG. Class B — refcount BALANCE over-count: Skip FIRST phx_rc_emit_decref via line-comment. Failure mode caught: over-count → leak (different mechanism than A). Class C — refcount SEQUENCE: Skip SECOND phx_rc_emit_incref (different call-site than A) via line-comment. Failure mode caught: HIR position-dependent divergence — same opcode family as A but different injection position to test position sensitivity. Class D — TYPE LATTICE: Change FIRST HIR_TYPE_OBJECT → HIR_TYPE_NULLPTR via sed. Failure mode caught: type-annotation flip — wrong refcount semantics for borrowed-vs-owned classification. Each class: 1. sed transformation applied 2. cmp -s verifies source actually changed (catches stale sed pattern) 3. Rebuild C path 4. Run scripts/rc_diff_oracle.sh 5. PASS = non-empty diff (oracle CATCHES the divergence) FAIL = empty diff under injection (oracle MISSED → non-functional) 6. Restore source from backup + rebuild Default invocation runs all 4 classes sequentially. --class=A|B|C|D runs single class. trap EXIT ensures restore on script error. ================================================================ PART 2: INVARIANT python#7 (_rc_oracle_adapter.h) ================================================================ Added to BRIDGE SPEC TEMPLATE INVARIANTS PRESERVED section per theologian + supervisor 03:07:52Z (supersedes earlier W12 framing): 7. Oracle lifespan: utility decreases as emit methods diverge from d81e580 baseline. RETIREMENT TRIGGER: when scripts/ rc_diff_oracle.sh on CLEAN run produces >30% pre/post divergence noise, retire (archive script). ESTIMATED LIFESPAN: 30-50 pushes from d81e580 (push 35) → retirement window ~push 65-85. Re-evaluate at push 50 (testkeeper clean-diff noise % post). Also added invariant python#6 inline (oracle scope conflated diff — already in commit msg of a99db92 but missing from header file). Falsifier section expanded to enumerate 4 classes (A/B/C/D) with their distinct failure-mode coverage per Pythia python#58's vacuous-pass concern. ================================================================ VERIFICATION ================================================================ bash -n scripts/rc_oracle_self_test.sh: SYNTAX OK (260 lines). diff --cached --stat: 2 files, +142/-48 — only the 2 intended files (verified explicit-staging discipline per supervisor 02:51:14Z). Push 44 W3 batch grows to 3 commits: a99db92 — W3 Steps 1-4 bundled (scratch lib + dispatcher) 4f591a1 — W3 Step 5 v1 (single class A) THIS COMMIT — W3 Step 5 expansion (4 classes + invariant python#7) ABBA cap 15 → 18.
SonicField added a commit to SonicField/cpython that referenced this pull request
Per supervisor 2026-04-22 03:06:55Z + theologian 03:07:12Z + pythia python#58: push 44 introduces the W3 R4 oracle dispatcher in compiler.cpp behind #ifdef RC_ORACLE. The push-44 nm production-binary check is one-shot — need a STANDING gate assertion so future compiler.cpp edits cannot silently leak RC_ORACLE dispatch into production. Failure mode caught: Any future commit that drops, inverts, or accidentally hard-defines the #ifdef RC_ORACLE guard would leak the C++ rc_oracle dispatch path (linked from libphoenix_rc_oracle.a) into the production python binary. Without this assertion, the leak is invisible until the next manual nm audit. Same silent-failure class as the cp-||-true loophole (catch python#4, push 38) — accepted bad state silently. Implementation (5 LOC after BINARY_MATCH (clean) ✓): RC_ORACLE_LEAK=$(nm $PYTHON | grep -c 'rc_oracle') if [ $RC_ORACLE_LEAK -ne 0 ]; then echo BINARY_RC_ORACLE_LEAK_DETECTED ... exit 1 fi echo BINARY_RC_ORACLE_OK: production binary clean (0 rc_oracle symbols) Verbatim wording per gatekeeper item python#15 (03:07:25Z): - PASS: 'BINARY_RC_ORACLE_OK: production binary clean (0 rc_oracle symbols)' - FAIL: 'BINARY_RC_ORACLE_LEAK_DETECTED' + FATAL + exit 1 - Mirrors BINARY_DIRTY discipline (catch silent failure structurally) Verification (compile-clean pre-commit): bash -n scripts/gate_phoenix.sh: SYNTAX OK Inserted at line 120 (immediately after BINARY_MATCH block at line 119). Bundled into push 44 (rather than standalone push 45) because the dispatcher lands in this push — the leak-check guards it from day 1 instead of leaving a one-push window where item python#15 isn't enforced. Push 44 batch grows 3 → 4 commits: THIS COMMIT — gate item python#15 (RC_ORACLE leak assertion) 63568c0 — W3 Step 5 expansion (4 injection classes + invariant python#7) 4f591a1 — W3 Step 5 v1 (rc_oracle_self_test.sh) a99db92 — W3 Steps 1-4 (scratch lib + dispatcher) ABBA cap usage: 17 → 18 (4 commits this push).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters