fix(codeql): wake required jobs with the exchanged target app token - #2040
seonghobae wants to merge 258 commits into
Conversation
…e gate -W error made the whole suite reject every warning, which is what this branch set out to buy. It also promoted PytestUnraisableExceptionWarning, raised when a dependency's `_TemporaryFileCloser.__del__` runs during garbage collection, into a hard failure. pytest attributes an unraisable warning to whichever test happens to be executing when the collector runs, so the gate failed 11 unrelated tests (run 34024435377) and named none of them accurately. Keep -W error and exempt that one class back to a printed warning. Verified as a four-arm control on Python 3.12, so this is not a 3.14-specific behaviour: the warning is raised with no flags (1 passed, 1 warning); -W error alone turns it into a failure; this command returns it to a warning; and a UserWarning is still fatal under it, so test_full_suite_command_rejects_warnings keeps asserting what it was written to assert. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Both changelog entries kept: this branch's shared-runner quality gate stays on top as the not-yet-merged change, with #1958's dispatch-concurrency entry below it in merge order. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Changelog prepend siblings again: this branch's entry stays on top as the not-yet-merged change, with #1957's entry below it in merge order. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Fourth changelog prepend collision on this branch today; both entries kept, this branch's on top as the not-yet-merged change. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Fifth changelog prepend collision today; both entries kept, this branch's on top as the not-yet-merged change. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Preserve the existing four-file rerun recovery delta without emitter or concurrency policy changes. Local contract verification: 144 passed, 2 failed. Existing verdict-reader fixtures still expect the pre-pagination gh invocation; these files and the requester are unchanged from bf732f9. Workflow actionlint and diff checks passed. No hosted dispatch or push performed. Signed-off-by: Seongho Bae <me@seonghobae.me>
Match exact gh arguments and page-shaped responses. Preserve trusted-publisher assertions and exercise second-page success and failure after a full page of forged statuses. Signed-off-by: Seongho Bae <me@seonghobae.me>
Request PR state in GraphQL and preserve it in REST normalization. Reject missing state and empty or malformed heads before OpenCode dispatch, Strix dispatch, or Strix job rerun. Preserve explicit positive fixtures and add fail-closed regressions. Focused RED: 17 failed, 19 passed; final scheduler regressions: 380 passed under both normal and GITHUB_ACTIONS=true environments with warnings treated as errors. No dispatch, permission, queue, or cancellation policy changes. Signed-off-by: Seongho Bae <me@seonghobae.me>
Validate selected check, job, run, workflow and publisher before rerunning Strix. Preserve PR-target base-SHA executions through association and target-title checks; defer dispatch runs without authenticated target provenance. Local mock-only regressions: 402 passed in normal and CI environments with warnings treated as errors. No token, permission, queue or cancellation changes. Signed-off-by: Seongho Bae <me@seonghobae.me>
Signed-off-by: Seongho Bae <me@seonghobae.me>
Block terminal status publication and exact-job wake when SARIF upload does not succeed. Preserve existing finding verdicts and document the unresolved receipt boundary. Co-authored-by: Codex <codex@openai.com> Signed-off-by: Seongho Bae <me@seonghobae.me>
Compare already-fetched live base identity with event inputs before status consumption. Keep historical verdict provenance and artifact authority as unresolved follow-ups. Co-authored-by: Codex <codex@openai.com> Signed-off-by: Seongho Bae <me@seonghobae.me>
|
Fresh exact-head hosted evidence for
The PR remains Draft/Proposed. No merge or bypass is authorized while Agent Review is non-terminal, CodeQL lacks non-skipped evidence where required, and a qualifying independent current-head approval is absent. |
|
Ready-admission rationale for exact head
This Ready transition starts ordinary CodeQL and independent review admission. It does not authorize merge, auto-merge, bypass, synthetic status, manual rerun, or transfer of predecessor evidence. The PR remains unmergeable by policy until fresh non-skipped exact-head CodeQL, every other required terminal Check, and a qualifying independent current-head approval exist. |
|
Latest ordinary integration published on
The predecessor Ready-event CodeQL failure |
|
Exact-head admission result for This is an installation/permission capability failure at the canonical CodeQL dispatch owner, not a test failure or transient queue result. The PR remains Ready/Proposed and unmerged: no independent current-head approval exists, and the required CodeQL evidence is substantive RED. No bypass, rerun, synthetic status, force update, or predecessor evidence transfer was used. |
Exact-head CodeQL continuation RCA — 2026-10-01
PR #2040 is therefore Draft / Proposed. Do not rerun, merge, bypass, broaden the consumer token, or count another PR/head's successful dispatch. The repair path is: extend the Noema owner contract with a closed CodeQL continuation request and RED tests → exact-head GREEN → immutable versioned release → pin and adopt that release here → revalidate this exact current head. |
|
Lifecycle correction after a concurrent state refresh: exact head |
|
Live downstream acceptance evidence (2026-10-01 UTC): ContextualWisdomLab/clearfolio#659 was converted from Draft to Ready at exact head This owner head also has a separate exact failure: CodeQL PR |
Cross-repository circular-admission repair ledger — 2026-10-01 UTCThis pass re-fetched live head/base/mergeability/check state and repaired every newly observed non-circular topology or contract defect without force update, rebase, bypass, merge, close, synthetic status, or manual rerun.
The original #2040 exact head |
2026-10-01 exact-head CodeQL coordinator RCACurrent exact head remains CodeQL run GitHub requires Contents: write for repository dispatch and exposes no narrower dispatch-only GitHub App permission. Returning a broader installation token to a consumer workflow is not the least-privilege repair. The canonical prerequisite is the Noema broker tracked by Keep this PR Draft and alive. Do not add a PAT, central inherited secret, |
|
Exact-head RCA, corrected by newer live evidence:
Current action: keep #2040 Draft/HOLD; compare token-installation identity and deployed exchange configuration at the two run times, retain the exact failed log, and rerun only after a causal delta is identified. No merge/bypass/repeated no-op rerun is authorized. |
Additional exact-run evidence for the wake/dispatch ownerCurrent owner head remains
This does not reproduce #2040's historical HTTP 403 and does not justify widening credentials. It also is not enough to assert that the handler failed: the connected API does not expose the matching repository_dispatch run inventory here. Preserve fail-closed behavior and the existing later-attempt recovery contract; identify the exact handler run/status before changing concurrency or settlement logic. No no-op rerun or duplicate dispatch was issued in this run. |
Current owner-chain authority — exact head
|
Fresh
|
Noema prerequisite-chain reconciliation — exact evidenceCentral owner head remains The Noema prerequisite chain is no longer stale against its immediate base:
This removes the stale stack-ordering defect only. It does not satisfy #2040's substantive source/security/coverage gates, Noema independent approval/ordinary merge/release, protected-main revalidation, or downstream version pin. No bypass, blind rerun, wake commit, release, deployment, or merge was performed. |
|
Correction by newer concurrent authority: the immediately preceding Noema-chain note was exact when written at #736 The newer head remains open, Draft, mechanically mergeable, and 41 ahead / 0 behind #737 exact |
Additional Ready-admission stale-event reproductionCurrent owner head remains appguardrail#1324 provides a fresh exact-head case:
This is the same causal class as other |
Fresh unchanged-head CodeQL settlement failuresTwo Ready, mechanically mergeable consumers reproduce the central first-attempt→settlement gap without leaf-source changes:
Both cases were re-fetched after the dispatch window; no head/base drift, unresolved review thread, or consumer CodeQL source verdict explains the missing settlement. This is exact evidence for the owner path, not authorization to toggle Ready/Draft, issue a manual rerun, create a wake commit/status, widen credentials, bypass, or merge. #2040 remains Draft because independent approval and its owner prerequisites are unresolved. |
|
새 consumer regression specimen (2026-10-03): ContextualWisdomLab/appguardrail#1372 exact head
이 표본은 source defect보다 #2040의 wake/dispatch authority 경계에 해당합니다. #1372는 Draft로 유지했고 blind rerun/no-op wake는 하지 않았습니다. #2040이 정상 보호 통합된 뒤 consumer fresh exact-head terminal verdict로만 회귀 해소를 판정해야 합니다. |
The concurrent Bolt replay was an ordinary child but replaced the reviewed stack tree with a stale snapshot. It removed the mixed CR/LF regression contract, reverted canonical #2040 quality/security evidence, and weakened fail-closed coverage/review gates. Restore the exact tree already verified at 5,273 passed, 10 skipped, 40 subtests, 100% statement/branch coverage, and 100% public-doc coverage. Preserve the replay commit in history and advance only by non-force fast-forward.
Current authority
Status: OPEN / Draft / Proposed / do not merge.
main@37b10243cec3d160ecc9c1be75c71428b160a703dc9739365a0ee0c5860353d74fdf9f6334aa41e7, parents prior fix(codeql): wake required jobs with the exchanged target app token #2040 head270292cb01852ea4a134fb7373321f5903290daaand protected main38a1692bd4419d4be3fb800abe70dd44644ac006Current repair evidence
The protected-main reconciliation was mechanically conflict-free and retained every prior commit. The exact reconciled tree exposed two independent fail-closed findings:
36771261554could not collect four repository tests because the hash-locked environment omitted PyYAML.36771261528found five inherited dependency/fixture vulnerabilities; these remain blocking and are not suppressed here.The collection defect was repaired test-first:
test_full_quality_gate_installs_yaml_parser_used_by_repository_testsfailed before the dependency existed.requirements-opencode-review-ci.txtpinspyyaml==6.0.3and the lock is regenerated withscripts/ci/compile_opencode_review_lock.sh.git diff --checkpassed.Fresh hosted Checks for exact head
4fc3cbe…are running. CodeQL36772455306is skipped, not passing evidence.Landing boundary
Ready is review admission only. Keep unmerged until every substantive security and coverage failure is repaired at its canonical owner, all exact-head hosted Checks are terminal GREEN, CodeQL evidence is non-skipped where required, and a qualifying independent current-head review exists.
No force push, destructive rebase, self-approval, review dismissal, scanner suppression, gate weakening, source-neutral wake commit, synthetic status, bypass, or predecessor-GREEN transfer is authorized.
Agent Mention / vulnerable-lock continuation (2026-10-01)
defusedxmlbecause the full-suite gate installed only the OpenCode lock.fast-uri3.1.7,ip-address10.7.0, and PyO3 0.22.6 fixture locks.fast-uri3.1.8,ip-address10.7.2, PyO3 0.29.3; production npm audit reports zero vulnerabilities and the locked Cargo fixture passes unit/doc tests.Python audit continuation (2026-10-01)
ca892db24629bb47ee3e3a767f490c71964368ff: explicit urllib3 2.8.0 / PyJWT 2.15.0 inputs, regenerated hash locks, 4/4 source-to-lock contracts, and zero known vulnerabilities in both full lock audits.Full quality evidence continuation (2026-10-01)
36775249451lacked the requiredAPA 7th referencesbaseline marker; Trusted uv36775249483had the same failure and could not resolve documented ancestor57477289…from a shallow checkout.bc428a8673069b6bfc448b3c4af5af927c13ac54: the Trusted uv checkout now fetches complete comparison history while keeping credentials non-persistent and the exact PR head selected; the baseline restores the required APA 7th section with primary Git and actions/checkout references.36776789605is skipped and is not passing evidence. Status remains Draft until every required hosted Check is terminal GREEN and an independent current-head approval exists.Published-tree byte repair (2026-10-01)
The first connector-published child
bc428a8…truncated two large blobs and reset four executable modes; hosted runs36776789608and36776789623correctly failed on resulting NUL bytes. Ordinary child60dd89e2bdcb18b1521769e62a8a6259cd5a49d4restores those exact blobs and modes. Its tree6f793d270a57a0992bc6616b624515763f60ac11byte-for-byte matches the locally verified tree; a fresh fetch, tree comparison, zero diff, and compileall all pass. Only Checks generated for this corrected head may count.Circular admission repair (2026-10-01)
The 100% coverage deficit on this branch and the stale-event/CodeQL admission defect on #2536 formed a real cycle: #2040 required #2536's coverage/security delta, while #2536 required #2040's wake/dispatch correction. Exact head
720b629ea05f457015fa334a4547b961ccf63adais an ordinary two-parent merge of corrected #2040 head60dd89e2bdcb18b1521769e62a8a6259cd5a49d4and #2536 head18c886cbb8c41f5f9c2bcae99640b97d53a4806e.The published tree
53ec2db9beefd9794abd1bcb2951f91425cfa52dexactly matches the locally verified merge tree. Fresh fetch verified both ordered parents and the tree SHA. Conflict resolution retained #2040's full-history Trusted uv checkout, split OpenCode/Noema locks, and PyO3 0.29.3 fixture, while integrating #2536's PyJWT 2.15.1/urllib3 2.8.0 locks, coverage regressions, HTTP lifecycle fixes, and repository-metadata ancestry repair.Local exact-tree evidence: no unresolved conflicts;
git diff --checkand compileall passed; focused combined contracts reported 1,603 passed; interrogate reported 1,467/1,467 documented (100.0%). Fresh hosted exact-head Checks alone determine admission. CodeQL run36778720261is skipped and is not passing evidence. No bypass, force update, manual rerun, synthetic status, source copy, or predecessor-GREEN transfer was used.Repository Metadata collection repair (2026-10-01)
Fresh successor run
36778720069, job110103096014, passed metadata validation, targeted 100% branch coverage, and docstring validation, then failed the repository-wide pytest collection with 13ModuleNotFoundError: defusedxmlerrors. The workflow installed only the OpenCode lock even though the full suite imports Noema's released document parser dependency.Exact head
bebf8bfb72cfb9fe5a012f33322d8d4518be4ce9(tree4d91c15e385dd4e8fb83f33c2376e7e685a9c734) installs both hash locks and observes both Noema requirement surfaces. RED workflow contract failed before the repair; GREEN focused metadata workflow contracts report 26 passed. Diff-check, compileall, and repository interrogate 100% pass. Remote fetch verified the exact one-parent child of720b629ea05f457015fa334a4547b961ccf63ada. Fresh hosted Checks alone may authorize this head.LiteLLM credential-exfiltration / SSRF repair (2026-10-01)
Python Security run
36779036029, job110104335583, foundlitellm==1.94.1affected by CVE-2026-84377 in the Strix hash lock. The finding permits an authenticated proxy user to redirect provider traffic and expose stored provider credentials or reach internal services through nested overrides.Exact head
4f49718206c7919fc46c2b60118a868818207f49(tree9036560e1266d8f9d6664c61cc6f49d99d2fba90) explicitly pins patched LiteLLM 1.94.3, regenerates the cross-platform hash lock, and binds source/lock parity. RED failed before the source pin; GREEN focused dependency contracts report 6 passed, andpip-audit==2.10.1reports no known vulnerabilities for the regenerated lock. The detailed failure scene, alternatives, residual risk, and APA 7th references are recorded indocs/doctoring/shared-security-baseline-litellm-20261001.md. Fresh hosted exact-head security evidence remains mandatory.Integrated contract reconciliation (2026-10-01)
Repository Metadata run
36779627842, job110106171836, proved the Noema dependency closure by collecting and executing the full suite: 5,271 passed, 5 optional skips, and 40 subtests. Its two remaining failures were stale test literals: the parser contract read only the OpenCode lock despite the workflow installing split OpenCode/Noema locks, and the Rust fixture contract retained predecessor PyO3 0.29.2 after the reviewed artifact advanced to 0.29.3.Exact head
19b338a1047166d1a0da6f80e05f902ab044f78f(tree25b5e2ff2054a9a6e9aed2b84608145c93da8426) aggregates both installed locks and binds the current PyO3 artifact. The unfiltered local repository suite is GREEN: 5,273 passed, 5 optional skips, and 40 subtests in 293.08 seconds. Interrogate 100%, compileall, and diff-check pass. Production behavior and gates are unchanged; fresh hosted exact-head Checks remain mandatory.Latest review-authority integration (2026-10-01)
Exact head
38a1692bd4419d4be3fb800abe70dd44644ac006(treec79e6908a9b1b0b1dd8ba7e5946184fd36bad662) is an ordinary two-parent merge of prior #2040 head19b338a1047166d1a0da6f80e05f902ab044f78fand current #2536 head6a37e4cdfbd8bf6f3a60645a0ad7c13e1b9c1ae3. It preserves #2040's CodeQL wake/dispatch repair while integrating #2536's latest exact-head review authority and associated Noema/Strix security contracts. The sole textual merge conflict was a duplicate LiteLLM 1.94.3 regression name; the more specific SSRF/credential-exfiltration name was retained without duplicating behavior.Fresh local exact-tree evidence: focused integration contracts
62 passed, 2 optional skips; unfiltered warning-fatal repository suite5,274 passed, 5 optional skips, 40 subtestsin 267.55 seconds; interrogate 100.0%, compileall, diff-check, ordered-parent, and tree-SHA verification all passed. Publication invalidates every predecessor Check and review. Fresh exact-head hosted evidence alone may authorize this head. No force update, bypass, manual rerun, synthetic status, or predecessor-GREEN transfer was used.