Skip to content

fix(python): align S7503 message and balance protocol CI - #946

Open
wakemeup0 wants to merge 5 commits into
fix/smoke-python-s5332-documentation-hosts-20261015from
fix/smoke-python-s7503-message-20261015
Open

wakemeup0 wants to merge 5 commits into
fix/smoke-python-s5332-documentation-hosts-20261015from
fix/smoke-python-s7503-message-20261015

Conversation

@wakemeup0

@wakemeup0 wakemeup0 commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Align the existing Python S7503 primary diagnostic message with twelve retained actual SonarPython5.31 build36502 findings across11 original files. The exact text is: Use asynchronous features in this function or remove the async keyword. Redistribute the eleven existing S5332 protocol CLI tests between the existing CI jobs after two recorded 20-minute timeouts.

Change type and scope

Bug fix for Python S7503 in strict and sonar-parity profiles and native JSON/Generic Sonar exports. Production changes exactly one existing message literal. Strengthen the existing unit regression and add five public CLI regressions. Selection predicates, function-name primary ranges, multiplicity, supporting fields and existing automatic-fix behavior retain their current values. The follow-up changes only .github/workflows/ci.yml, preserving all 21 check names, existing job identities, assertions, package/target/feature scope, quality gate and 20-minute limits.

Related issues

Direct authorized real-project smoke/parity repair campaign; no new issue ID. Historical issues #77 and #604 were already repaired by merged PRs #84 and #695, whose generator/override contracts are preserved. Dependency base is PR #944. Unrelated PR #875 is outside this package.

Verification

Independent final review approved this workflow-only signed head without actionable findings: 17,701 checks verified all frozen manifests, the exact approved workflow, all 5,458 unchanged non-workflow files, configured commit signatures and the actual new locked build with byte-identical executable. Original behavioral red/green, complete ordered reports and fresh CLI witnesses retain their original execution head and remain applicable through verified source, test and executable identity. Independent review receipt SHA256: 7cf65abd5e324d6b8f95a4cb94ee5d83aa10e8ec8e816c248a69a43d9371ffbf. All 21 exact-head hosted checks and dependency-base restoration remain publication gates.

Independent source and frozen-evidence review approved the semantic repair at signed head 79b4589a1661c94dddc1ef07bbfab1b1d5e3c1bc without actionable findings (receipt SHA256 f73ce2bf6cdc21504d27e15603868779d865d8f77ffd70f1de58ebb2a09bb553). Root separately approved the exact workflow redistribution preview with 5,605 checks and zero findings (receipt SHA256 f80c9010fb6b9ee741bc551893c31afb97c7d148f77d1a8c39f27332b2e2afd7). The final signed head is 2c6c3d5ad4c0bbb596d94ab7211a9135b616eb6f, tree eb3a9106aee39a641b39e04d6cd86408519211b6. All 5,458 non-workflow tracked files, including every production/test byte, are unchanged from the semantic head. The original red/green, complete-report and runtime results below retain that original execution identity. A new locked build at the final head binds a byte-identical CLI executable. Final independent qualification approved the workflow-only signed head by exact source, test and executable byte equivalence. All 21 exact-head hosted checks and dependency-base restoration remain publication gates.

  • Signed original-production tests-only commit 3f08511a4401dfe5ef0e26ac7fefaca59c54637c exposed one genuine unit failure and four CLI failures. Generator and CLI selection controls passed already. Exact final test bytes are identical to this signed red checkpoint.
  • Initial signed candidate 30f3f137275dff70b8abe37b85ebe2f23a3b33a8 failed released0.3.1 dogfood because the new contract test had complexity24. The helper extraction preserves every fixture/expected value/assertion and all loops; all initial artifacts/receipts remain preserved, and the fresh signed old-production proof above repeated genuine red.
  • cargo test --locked -p hoonarqube-python --all-targets --all-features:1380 passed. Existing s7503_flags_async_functions_without_awaits now compares the complete primary Issue, preserving existing assertions; s7503_preserves_async_generator_contracts remains intact.
  • cargo test --locked -p hoonarqube-cli --test python_s7503_message -- --nocapture:5 passed. Symbols: python_s7503_primary_message_matches_reference_in_both_exports, python_s7503_contract_and_nested_scope_selection_is_preserved, python_s7503_astral_crlf_name_preserves_scalar_and_utf16_ranges, python_s7503_malformed_recovery_preserves_incomplete_result, python_s7503_same_path_cache_tracks_positive_clean_restored_source.
  • cargo test --locked -p hoonarqube-python s7503 -- --nocapture:2 passed. Affected all-target/all-feature Clippy with -D warnings, workspace fmt check and base-to-head diff check passed.
  • New cargo build --locked -p hoonarqube-cli --bin hoonarqube --message-format=json, jobs 1 in the existing dedicated target, passed at clean signed head 2c6c3d5ad4c0bbb596d94ab7211a9135b616eb6f / tree eb3a9106aee39a641b39e04d6cd86408519211b6. The emitted compiler artifact and 103,750,960-byte executable are byte-identical to the original qualified artifact: binary SHA256 b12b8437d84e258c977bde42788ab64aaad99394b2439d27ce7881fbd46893a9. Rustc, Cargo and lockfile identity also match. Original analyzer/runtime evidence remains applicable by source/test/binary identity; those suites were not rerun for a workflow-only commit.
  • Pinned released0.3.1 implicit-default-profile dogfood over crates xtask:zero Rust S3776, read-only pinned Linux runner/source/binary, network disabled.
    -28 unchanged-production native controls and28 final comparisons preserve complete output bytes except the primary message. Cases include await/async-for/async-with/async comprehensions/own-yield; nested callable, decorated/dunder/inherited/metaclass/trivial-body selection; MAIN/TEST filename behavior; astral+CRLF scalar/UTF16 ranges; malformed exit2/incomplete diagnostics; and positive/awaited-clean/restored same-path cache transitions.
  • All160 frozen complete reports actually replayed against exact projections:4 original656 documents each change12 primary messages,156 byte-identical stdout streams, all160 exits/stderr/order/completeness/metadata/non-target issues preserved. Original totals remain strict2327 / sonar-parity1380. For exactly12 inherited cache stages root authorized isolated staged cwd retaining relative case.py, stage-source hashes and remaining argv; old cwd/source untouched. Other148 captures retain original cwd.
  • Evidence package: /Users/wakemeup/.codex/artifacts/hoonarqube-repairs-20261013/python-s7503-message; complete executed symbol map, genuine red/green receipts, complete reports, source/binary binding and frozen manifest are retained. Hosted exact-head checks remain pending at this worker handoff.

CI timeout repair and exact test preservation

  • Both failed hosted attempts on 79b4589a1661c94dddc1ef07bbfab1b1d5e3c1bc remain retained. Attempt 1 completed all 11 protocol tests in 695.82 s and timed out during the S7503 cache case. Attempt 2 timed out inside the protocol suite after more than 763.1079 s, with 10/11 cases complete; S7503 was never reached. No assertion failures were observed. The second duration is censored, not a completed runtime.
  • The existing Python package job completed in 76 s at the original semantic head 79b4589a1661c94dddc1ef07bbfab1b1d5e3c1bc and 95 s on its parent, with all 1,380 tests passing. Those timings were not measured at the new workflow head. The workflow now runs the exact existing remaining-workspace Cargo scope with the python_s5332_protocol_identification inclusion filter as a conditional step in that existing Python job. The remaining-workspace command uses the complementary libtest skip filter.
  • The complete parent trace contains 769 remaining-workspace tests; the five new S7503 cases yield 774 at the semantic head. The allocation moves exactly 11 protocol tests: Python 1,391, remaining workspace 763, combined 2,154 test identities exactly once. No test or assertion is removed, weakened or duplicated. Documentation cases remain in remaining workspace. All other jobs and all 21 context names are preserved.
  • Applied workflow bytes exactly match the independently approved preview SHA256 122a6b89d2c46b605c18101ab950efd855c362420af9494b4c6ef9e6c3f0dd1a. Actionlint 1.7.12, exact diff checks and configured SSH signature verification passed. The candidate's hosted completion remains unmeasured.
  • The planning budget is 95 s for the observed Python job + 144 s build allowance + 1.2 × 695.82 s protocol allowance = 1,073.984 s, leaving 126.016 s within 20 minutes. Incremental Python-to-workspace build time is unmeasured, the second protocol run is incomplete, and the multiplier is a planning allowance. Actual green hosted jobs are required.
  • New evidence: /Users/wakemeup/.codex/artifacts/hoonarqube-repairs-20261013/python-s7503-message/ci-redistribution-final1. Original frozen manifests, compiler/binary/runtime receipts, published body, and both failed hosted attempts remain unchanged.

Root owns publication of 2c6c3d5ad4c0bbb596d94ab7211a9135b616eb6f against main for default-setup CodeQL, then restoration to the intended dependency base fix/smoke-python-s5332-documentation-hosts-20261015 at d08b05eb6ca9705e7b842e0c887ecfe338e52908. All 21 checks, the exact head, live body and GitHub signature must be verified again after restoration. This worker has made no push or PR mutation.

The PR initially targeted main to obtain all 21 successful checks from the repository’s GitHub default CodeQL setup. The intended dependency base is now restored to fix/smoke-python-s5332-documentation-hosts-20261015. Publication verifies the unchanged signed head, full body and exact-head hosted check rollup against that base.

Compatibility and risks

The primary message is an observable output correction. Actual original reference emissions provide the positive text authority. Existing generator/override behavior and every preexisting unit assertion are preserved; no parser, cache implementation, profile, catalog, metadata, lockfile or exporter changes. The workflow split changes execution allocation and build work across the same existing jobs; actual hosted timing remains a risk until the final head passes. New boundary/TEST/Unicode/malformed/cache controls preserve measured native baselines and do not constitute fresh reference parity evidence. Existing original scan encoding/test-configuration warnings retain their qualification limits.

Limitations

Primary-message parity only. All12 actual reference objects additionally have an async-keyword supporting location with message This function is async.; these locations are still absent natively and are retained as a distinct residual. No whole-object, whole-rule or global parity claim; no new reference scan or quickfix repair. Root owns21 hosted exact-head checks, dependency-base restoration and final live body/head/signature/check readback before campaign publication is recorded.

@wakemeup0 wakemeup0 changed the title fix(python): align S7503 primary message with SonarPython fix(python): align S7503 message and balance protocol CI Oct 15, 2026
@wakemeup0
wakemeup0 changed the base branch from main to fix/smoke-python-s5332-documentation-hosts-20261015 October 15, 2026 19:15
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