Repository navigation
Conversation
wakemeup0
changed the base branch from
main
to
fix/smoke-python-s8786-boundaries-20261015
October 15, 2026 15:32
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Repair Python S5332 protocol-identification argument handling. Click's
url.startswith(("http://", "https://"))no longer reports a cleartext endpoint. Unsafe bare values, Requests adapter registration and Werkzeug HTTP-server findings remain reportable. Live reference controls also verify bytes/local-return owner proof and function, class and lambda shadowing. A stack overflow discovered on Click_compat.pyis repaired through bounded local attribute-owner resolution, with committed self/mutual alias and unsafe endpoint regressions.Change type and scope
Bug fix in Python
cleartext_protocols.rswith committed unit and CLI regressions. Applies tostrictandsonar-parity, native JSON and Sonar Generic output. Exempts only the selected regular positional pattern forstartswith,replace,removeprefixandremovesuffix, through tuples/parentheses. Proven non-string owners retain findings. Source ownership is limited to the detector and its dedicated CLI regression file.Related issues
Direct user request: broad real OSS / real SonarQube smoke testing, then fix findings and publish. Retains the historical #642 / PR #705 unsafe bare-scheme contract. This focused package does not claim closure of the entire S5332 row or unrelated campaign findings; it contains no issue-closing directive.
Verification
Independent source and frozen-evidence review approved this exact signed head without actionable findings. The review verified signed source inventories, unchanged committed regression bytes, executed behavioral red/green evidence, complete ordered report comparisons and fresh CLI witnesses. Independent review receipt SHA256:
4926ab79bdd446831d27a502ec254ff2c69957e5e4af5e9ee6dfc4204666e544. All 21 exact-head hosted checks and dependency-base restoration remain publication gates.Verified source
8aa153968749dacdef9138f596a9aaac1df2cf58(tree7fcce682ceda9c851690b5a1adda6bbd475d53c7), based on8ee27b7d9d48d5b7884fc7d03733515d6538edc7. The final CLI SHA256 isbfb71c75594a9055d07f0889cd56cb077faf93e142ffefaacc32cd3bee24863e; it is copied from the exact successful locked-build JSON compiler artifact. Source is clean and unchanged for every captured command.python_s5332_protocol_identificationCLI file: 11 passed, none failed, ignored or filtered. All original controls, cache transitions, four live-project tests and four cyclic-owner regression sources complete in both profiles/formats; the cyclic test executes all 16 children before assertions.-D warnings,cargo fmt --all --check, and base-to-head diff check: passed.cratesandxtask, implicit profile, offline readonly Linux runner: zero Rust S3776, gate passed; existing JS 5 / TS 13 retained.Committed regression and genuine red/green mapping:
cleartext_protocols.rspython_s5332_protocol_identification.rss5332_protocol_identification_patterns_are_not_endpoint_valuespython_s5332_protocol_identification_exempts_patterns_and_removes_descriptors5332_protocol_identification_preserves_argument_and_owner_boundaries;s5332_protocol_identification_preserves_owner_and_wrapper_boundaries; existings5332_requires_a_value_prefix_and_preserves_bare_schemespython_s5332_protocol_identification_preserves_values_arguments_and_owner_boundariess5332_protocol_identification_resolves_string_aliases_subclasses_and_unknown_methods;s5332_protocol_identification_keeps_known_nonstring_method_owners_unsafes5332_protocol_identification_keeps_existing_clean_controlspython_s5332_protocol_identification_preserves_secure_safe_prose_and_docstringss5332_protocol_identification_unicode_crlf_retains_endpoint_coordinatespython_s5332_protocol_identification_unicode_crlf_keeps_coordinatespython_s5332_protocol_identification_malformed_inputs_remain_incompletepython_s5332_protocol_identification_cached_context_changes_preserve_bare_valuess5332_protocol_identification_preserves_live_result_owner_boundariespython_s5332_protocol_identification_preserves_live_result_owner_boundariess5332_protocol_identification_preserves_live_shadowed_result_ownerspython_s5332_protocol_identification_preserves_live_shadowed_result_ownerss5332_protocol_identification_preserves_live_shadowed_class_ownerspython_s5332_protocol_identification_preserves_live_shadowed_class_ownerss5332_protocol_identification_preserves_live_lambda_owner_boundariespython_s5332_protocol_identification_preserves_live_lambda_owner_boundaries_compat.py, cyclic attribute owners and unsafe endpoint guardpython_s5332_protocol_identification_terminates_cyclic_attribute_ownersSix signed tests-only layers preserve genuine failures before production changes. Original checkpoint
469f4cc4executed 15 unit tests with 4 intended failures and the exact Click CLI failure; earlier full six-test CLI red had 4 intended failures / 2 passes with identical original test bytes. Normalized result-owner checkpoint21208870exposes 4 misses among 9; function-shadow50c242a1exposes 4 extras among 7; class-shadowf8b6c69cexposes 5 extras among 7; lambdaf19cf5f5exposes 4 misses among 6. Each earlier supplemental CLI red is one actual strict/json project execution before the assertion stops. Cyclic-owner checkpointed00363apreserves all previous bytes and executes all four sources across both profiles and formats before asserting: all 16 children signal 6 before the fix and all 16 exit 0 after it. All six layers remain byte-preserved prefixes of the final tests; the complete final CLI test bytes match cyclic-owner tests-only checkpointed00363a, and the Python unit test bytes remain unchanged from the lambda checkpoint. Filtered tests are never counted as passes.Detailed raw commands, exact exits, source/binary/environment bindings, failed attempts and acceptance mapping are retained under
/Users/wakemeup/.codex/artifacts/hoonarqube-repairs-20261013/python-s5332-protocol-identificationinqualification.json,acceptance-test-map.json,stack-final-regression-layer-preservation.json,REPORT.md,artifact-manifest.jsonandfreeze-receipt.json. Hosted CI is pending coordinator publication; no hosted check or merge is claimed by this local handoff.The PR initially targeted
mainto obtain all 21 successful checks from the repository’s GitHub default CodeQL setup. The intended dependency base is now restored tofix/smoke-python-s8786-boundaries-20261015. Publication verifies the unchanged signed head, full body and exact-head hosted check rollup against that base.Compatibility and risks
The retained reference is SonarQube Community 26.9.0.129388 with Python plugin 5.31.0.36502. Original OSS scan evidence and exact installed semantics are distinct from the four coordinator-authorized live control scans. Only a proven receiver owner prevents the pattern exemption; parameters/imports/assignments/ambiguous bindings keep unknown behavior. Local function/lambda parameter inspection protects outer definitions without changing shared type inference. The original Click stack failure is fixed locally: only names reach the shared class resolver; attributes resolve owners through bounded recursion, with exhausted/cyclic owners left unknown. The failed 99-capture replay, 17-file Click isolation, four minimal native probes, committed 16-child red and final green remain retained evidence. No shared helper, catalog, lockfile, safe-host list or quickfix changes are included. Complete-report comparisons protect non-target findings, ranges, ordering, metrics, descriptors, metadata, completeness and diagnostics.
Limitations
The separate
.exampledocumentation-host discrepancy remains:endpoint = "http://api.internal.example/v1"is native 1/reference 0 for the installed host exemption. Versioned catalog metadata differences remain outside this repair. This package does not establish whole-rule, all-Python or full SonarQube parity. The coordinator owns independent final review, publication, exact-head protected CI and authorized merge/closure readback. No release or tag is requested by this fix publication.