[3.6] Fixed a handful of typos (GH-343) by Mariatta · Pull Request #364 · python/cpython
(cherry picked from commit 1cf2a80)
SonicField added a commit to SonicField/cpython that referenced this pull request
CRITICAL BUG IN ORIGINAL HOOK (a2e8808): the if-condition pattern 'if "$BUILD_SCRIPT" > "$LOG_FILE" 2>&1; then ... fi; EXIT=$?' captured 0 in EXIT regardless of build outcome, because in bash an if-then-fi block with only a tested (false) condition returns exit status 0, not the condition's exit code. Result: hook ALWAYS exited 0; never blocked any commit. Discovered via the synthetic c4-class regression test dispatched by supervisor 21:08:23Z (B). Test commit with intentional undefined extern reference produced linker FAIL during the hook's build, hook printed BLOCKED message, then commit went through anyway because hook returned 0. Fix: capture EXIT=$? immediately after the build invocation, then test EXIT separately. Standard pattern. Verified post-fix: - Sanity: 'false; EXIT=$?; if [ "$EXIT" -eq 0 ]; then exit 0; fi; exit "$EXIT"' returns 1 (not 0). - Real test: synthetic c4-class regression on test branch was BLOCKED by the fixed hook (commit attempt did not advance HEAD; build log showed linker undefined-reference error; "BUILD FAILED" + "commit BLOCKED" message printed; HEAD remained at c10 c6da141). Implications for prior commits c8 + c9 + c10 (theologian build-first discipline): - Each PASS reported was confirmed by testkeeper Tier 1 PASS post-commit, so the substrate is safe. - BUT the hook itself contributed zero structural enforcement — the PASSes were theologian-discipline + downstream Tier 1, not the hook. - pythia python#364 'hook unfalsified-at-gate' substantive concern was load- bearing; falsifier test was the right call. Hook now actually enforces. No source-code changes; scripts/ defensive-infra class.
SonicField added a commit to SonicField/cpython that referenced this pull request
…line) Authored per supervisor 22:23:05Z disposition of pythia python#366 + 23:38:14Z directive (post-c13 codification batch). Moves synthetic- falsifier-at-gate rule from chat-resident decision (D-1778621243) into docs/methodology/ structural location, addressing pythia python#366's central critique: rule-as-text vs rule-as-enforcement. Files: NEW docs/methodology/synthetic_falsifier_at_gate.md (+75 LOC) Specifies: - Motivation (2026-05-12 a2e8808 hook bash if-then-fi bug shipped through normal review; c8/c9/c10 hook-theatrical window; surfaced by pythia python#364 falsifier dispatch + 21:25Z synthetic test) - Covered defensive-infra paths (scripts/pre-commit-*, .git/hooks/*, scripts/gate_phoenix.sh, scripts/build_phoenix.sh, sidecar/restart infra, *_verify.cpp static_assert files) - 3-step test pattern (inject regression -> verify guard fires -> revert, cite outcome in commit body) - Examples per defensive-infra class (pre-commit hook, Tier 1 gate, static_assert verifier, sidecar/restart enforcement) - Self-falsifying disclaimer (rule is itself defensive infrastructure; 2026-05-12 incident was unintentional first falsifier of the rule's NEED, not its sufficiency) - Enforcement chain (author-side cite + gatekeeper APPROVE checklist + medic flag + supervisor dispose) - Out-of-scope (routine code, docs-only, test-only, natural-failure bug fixes) - Non-coverage caveat (raises floor, does not raise ceiling) NOT a v2.x amendment per moratorium (D-1778554524) — operational discipline / methodology document. Per pythia python#366 6-month-regret framing: this addendum is the move-the-rule-from-chat-to-corpus intervention; whether agents actually run synthetic-falsifier tests at defensive-infra commit time is the falsifier of THIS document. PRE-COMMIT BUILD: doc-only; pre-commit hook docs-path-skip per a2e8808 self-config (verified 21:48:32Z generalist x86 install).
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