Skip to content

chore(foundation): converge AnyIO and CodeQL endpoint repairs - #2352

Draft
seonghobae wants to merge 14 commits into
mainfrom
consolidate/foundation-anyio-codeql-endpoint
Draft

seonghobae wants to merge 14 commits into
mainfrom
consolidate/foundation-anyio-codeql-endpoint

Conversation

@seonghobae

@seonghobae seonghobae commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Why this consolidation exists

Two canonical one-file foundation owners are mutually gating on protected main@e6334e229581a918e2f22de18733b76fa65d7e71:

This Draft is a provenance-preserving integration vehicle, not a third semantic owner.

Exact integration

Exact head: f1a8dc813e6dba4e4905bf3e1b770b6d44344944. It changes exactly:

No workflow, gate, permission, provider/model, runtime or mutable-dependency delta is added here.

Current exact-head evidence — 2026-09-24 KST

  • Agent Review Runtime Quality CI 35805450561: SUCCESS
  • SAST Semgrep 35805450596: SUCCESS
  • Security Scan 35805450386: SUCCESS
  • Python Security 35805450371: SUCCESS
  • Required CodeQL PR 35805450471: FAILURE

The required CodeQL failure is a current-generation sequencing/reconciliation specimen. Python compatibility 107036649617 and Actions compatibility 107036649620 read verdict=pending and failed closed before coordinator 107076139478 dispatched the producer.

The exact producer is run 35841640640, bound to .github#2352@f1a8dc813..., protected base e6334e229..., required run 35805450471. Its job graph is fully terminal:

  • validate-dispatch 107117846461: SUCCESS.
  • CodeQL dispatch scan (python) 107179921158: FAILURE.
  • CodeQL dispatch scan (actions) 107179921308: FAILURE.
  • settle exact required run 107247432911: SUCCESS.

Both language scans successfully materialized the exact head, initialized/analyzed CodeQL, passed the Medium+ SARIF gate, preserved SARIF, and published dispatch status. The Python specimen records CODEQL_SARIF files=1 results=0 medium_plus=0. Both fail only at Verify GHAS base/head CodeQL configuration identity, where codeql_ghas_configuration_identity.py calls the target repository's code-scanning/analyses endpoint and receives HTTP 403 Resource not accessible by integration. The target app token also cannot publish status (403), while the bounded same-repository github-token fallback successfully publishes dispatch status.

The settlement job succeeded. Queue starvation is therefore not the current #2352 diagnosis. The remaining defect is the central GHAS configuration-identity credential/permission boundary plus lifecycle ordering: the required compatibility shards failed before terminal producer evidence existed, and the later producer cannot retroactively make that already-terminal required run GREEN.

This is not a CodeQL source finding and does not indicate another #2278/#2351 semantic change.

Canonical repair path

Current owner topology is now explicit:

Preserve fail-closed identity verification. Do not delete the proof, treat clean SARIF as sufficient by itself, synthesize a status, duplicate target permission logic here, move #2278/#2351 source, or broadly rerun.

PR-0 / landing rule

Keep #2278 and #2351 open while this Draft is unmerged. Only protected integration with both parent deltas preserved and authentic terminal gates can make this a verified successor.

Keep this PR Draft until the central parent/admission/permission chain above is protected, the exact producer/identity/reconciliation path is terminal-success, and a qualifying independent non-author current-head approval exists.

No self-approval, force push, destructive rebase, synthetic status, bypass, blind rerun, no-op wake commit, scanner suppression, permission broadening, predecessor-evidence transfer, or gate weakening.

seonghobae and others added 14 commits September 18, 2026 18:39
Semgrep OSS and Bandit B310 Medium alerts on main flagged dynamic urllib
use in CodeQL identity and Strix evidence helpers. Fail closed unless the
URL is https://api.github.com so file:// and arbitrary hosts cannot reach
urlopen.

Co-authored-by: Cursor <cursoragent@cursor.com>
Bumps [anyio](https://github.com/agronholm/anyio) from 4.14.0 to 4.14.2.
- [Release notes](https://github.com/agronholm/anyio/releases)
- [Commits](agronholm/anyio@4.14.0...4.14.2)

---
updated-dependencies:
- dependency-name: anyio
  dependency-version: 4.14.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Replace retired urllib urlopen monkeypatches with direct CodeQL and Strix dedicated-opener patches. Remove the PR-specific global conftest bridge so both security helpers exercise the same explicit transport boundary without live network access.
Clears Bandit/Semgrep B310 on shared scripts/ci urlopen so the anyio bump is not blocked by unrelated SAST.
Restore the unrelated #2269 URL-opener paths to protected main while retaining the AnyIO 4.14.2 pin and hashes. The URL/redirect responsibility remains in canonical #2279; this PR owns only the dependency security update.

Validated with 56 focused tests, 3,335 full tests plus 28 skipped/40 subtests, warnings-as-errors, diff check, and pip-audit reporting no known vulnerabilities.
@coderabbitai

coderabbitai Bot commented Sep 23, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copy link
Copy Markdown
Contributor Author

Fresh exact-producer receipt (2026-09-23): run 35841640640 is still queued with conclusion=null. Its only job, validate-dispatch 107117846461, is likewise queued on ubuntu-24.04, runner_id=0, empty runner name, and steps=[]. No SARIF/source verdict has been produced. This continues to classify the current remaining prerequisite as runner/admission + publication/reconciliation evidence, not a demonstrated #2278/#2351 source finding. No source-neutral wake commit or broad rerun performed.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Read-only technical review of exact head f1a8dc813e6dba4e4905bf3e1b770b6d44344944 against base e6334e229581a918e2f22de18733b76fa65d7e71 (2026-09-24 UTC). This is not an independent GitHub APPROVED review: the authenticated account is the PR author.

The three-dot diff is limited to two files. The anyio==4.14.2 lines and both hashes in requirements-strix-ci-hashes.txt are byte-identical to dependency owner #2278@8a5251bf; the set.issubset contract in tests/test_organization_commercial_readiness_loop_receipt_contract.py is byte-identical to CodeQL owner #2351@657d1040. The new assertion preserves the three required harden-runner endpoints without weakening the original membership test. The actual workflow allowlist contains all three. In an isolated detached worktree at this head, the focused test file passed 2/2; git diff --check passed. I found no source defect in these two changed files. Current-head CodeQL compatibility analysis (actions/python) and pip-audit check runs report SUCCESS, but this does not settle every required gate.

The separate current-head codeql-dispatch/actions and codeql-dispatch/python status contexts are FAILURE. Their source dispatch run 35956264346 bound the exact PR head; both native scans reached Verify GHAS base/head CodeQL configuration identity and received HTTP 403 Resource not accessible by integration from GET /repos/ContextualWisdomLab/.github/code-scanning/analyses. The workflow selects the first available target App / merge / OpenCode / default token for that read and does not retry another credential after a permission 403. This is a central dispatch credential-scope/selection defect outside this PR's two-file diff; a scoped central owner is investigating it separately. Do not label the failed status as a CodeQL source finding or rerun without a verified repair.

Succession: #2286@42e4198f carries a distinct coverage fix plus the exact same AnyIO lock blob; it is still OPEN. #2333@9c6d0537 changes the OpenCode /v1 route and Strix failure taxonomy; it overlaps #2286 in opencode-review-dispatch.yml and its blob-hash pin, so their protected integration requires reconciliation and rechecking the pin. #2291@1794626a owns the Strix binder and must reacquire exact-head checks after the accepted foundation/route predecessors land; its test harness overlaps #2333, though a local text merge produced no conflict. None of those predecessors is currently merged, and their checks/reviews do not transfer to this head.

PR #2352 remains Draft, reviewDecision=null, 0 review threads, and rollup FAILURE. Next gate: repair the dispatch credential permission path on protected trusted source, observe a naturally generated exact-head dispatch result with successful analyses access and terminal statuses, then obtain a valid non-author content review before any Ready/merge decision. No self-approval, gate change, rerun, cancellation, or merge was made in this review.

This branch has not been deployed

No deployments
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