Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
251 commits
Select commit Hold shift + click to select a range
5950d6f
fix(queue-health): retry transient PR identity reads
seonghobae Aug 19, 2026
f92f08e
fix: use cross-repository queue health credentials
seonghobae Aug 19, 2026
3196c2d
Merge remote-tracking branch 'origin/main' into HEAD
seonghobae Aug 20, 2026
3f7c33b
Merge protected main into queue health evidence
seonghobae Aug 20, 2026
47bb2bc
fix(actions): bound queue run response size
seonghobae Aug 20, 2026
8b914ef
fix(actions): bound queue collector failure modes
seonghobae Aug 20, 2026
a6ac262
fix(queue-health): isolate repository collection errors
seonghobae Aug 20, 2026
94e41c6
docs(queue-health): cite evidence boundaries
seonghobae Aug 20, 2026
7bbd133
docs(ci): complete fixture constructor coverage
seonghobae Aug 20, 2026
4467d5a
docs(tests): complete queue health test docstrings
seonghobae Aug 20, 2026
af65a69
Merge branch 'main' into codex/pr1142-current-main-successor
opencode-agent[bot] Aug 20, 2026
8fcb9b1
Merge current main into actions queue health
seonghobae Aug 21, 2026
2df6b86
fix(queue-health): accept collector snapshot identities
seonghobae Aug 21, 2026
77557e9
fix(ci): reject incomplete paginated queue evidence
seonghobae Aug 21, 2026
31dde70
Merge branch 'main' into codex/pr1142-current-main-successor
opencode-agent[bot] Aug 21, 2026
2d857f6
fix(queue-health): count duplicate lanes by run
seonghobae Aug 21, 2026
6469a76
Merge branch 'main' into codex/pr1142-current-main-successor
opencode-agent[bot] Aug 21, 2026
db2c4c0
Merge branch 'main' into codex/pr1142-current-main-successor
seonghobae Aug 21, 2026
92c419b
Merge branch 'main' into codex/pr1142-current-main-successor
opencode-agent[bot] Aug 21, 2026
efa7788
Merge branch 'main' into codex/pr1142-current-main-successor
opencode-agent[bot] Aug 21, 2026
2fb5c2e
Merge remote-tracking branch 'origin/main' into codex/pr1142-current-…
claude Aug 30, 2026
a6be225
fix(actions-queue-health): fix pull_request_target identity, waiting …
claude Aug 30, 2026
5830553
Merge origin/main and harden queue health collection
seonghobae Aug 31, 2026
e005330
fix(actions-queue-health): snapshot active runs atomically
seonghobae Aug 31, 2026
b050db5
fix(actions-queue-health): stabilize bounded active snapshots
seonghobae Aug 31, 2026
0988f42
fix(actions-queue-health): cap active sweep requests
seonghobae Aug 31, 2026
1c4d3f5
Merge branch 'main' into codex/pr1142-current-main-successor
opencode-agent[bot] Sep 1, 2026
d95dc3f
Merge branch 'main' into codex/pr1142-current-main-successor
opencode-agent[bot] Sep 1, 2026
dbd1428
Merge branch 'main' into codex/pr1142-current-main-successor
opencode-agent[bot] Sep 1, 2026
b6d5858
Merge branch 'main' into codex/pr1142-current-main-successor
opencode-agent[bot] Sep 1, 2026
55f151a
test(orchestrator): align free-pool policy with current credential co…
seonghobae Sep 1, 2026
4af941f
merge(main): restack queue-health evidence on current control plane
seonghobae Sep 1, 2026
8080387
test(queue-health): reproduce snapshot identity races
seonghobae Sep 1, 2026
02a1ad9
test(queue-health): require least-privilege scheduler token
seonghobae Sep 1, 2026
61cbf58
refactor(queue-health): isolate reviewed collector core
seonghobae Sep 1, 2026
d08617b
fix(queue-health): drop unused pull request permission
seonghobae Sep 2, 2026
42a855a
fix(queue-health): bind reports to stable pull and workflow identity
seonghobae Sep 2, 2026
2f57e71
docs(queue-health): document stable identity evidence
seonghobae Sep 2, 2026
5018822
test(queue-health): require ConceptWeave canary
seonghobae Sep 2, 2026
b49c51b
feat(queue-health): include ConceptWeave canary
seonghobae Sep 2, 2026
fd81689
test(queue-health): require ELUNVERA canary
seonghobae Sep 2, 2026
9154ddb
feat(queue-health): include ELUNVERA canary
seonghobae Sep 2, 2026
c842ee7
test(ci): cover zero-job startup failures
seonghobae Sep 2, 2026
39d2f51
fix(ci): observe pre-job startup failures
seonghobae Sep 2, 2026
0738d77
test(ci): bound startup-failure history
seonghobae Sep 2, 2026
5e66f34
fix(ci): bound startup-failure diagnostics
seonghobae Sep 2, 2026
b0f1222
test(ci): retain old current-head startup failures
seonghobae Sep 2, 2026
7981728
fix(ci): retain exact-head startup failures
seonghobae Sep 2, 2026
af72a26
test(queue-health): classify cancelled pre-runner evidence
seonghobae Sep 2, 2026
79e0758
fix(queue-health): retain cancelled pre-runner evidence
seonghobae Sep 2, 2026
ebc4c80
docs(queue-health): record pre-runner cancellation evidence
seonghobae Sep 2, 2026
1cee249
chore(queue-health): reconcile protected main without force
seonghobae Sep 2, 2026
b4f95bc
test(queue-health): cover target cancellations and skipped jobs
seonghobae Sep 2, 2026
5a4950b
fix(queue-health): retain target cancellations by linked head
seonghobae Sep 2, 2026
b0b9aed
docs(queue-health): record target cancellation identity boundary
seonghobae Sep 2, 2026
b99839b
test(queue-health): reject unsupported startup-failure status query
seonghobae Sep 2, 2026
f567b11
fix(queue-health): use supported target cancellation filter
seonghobae Sep 2, 2026
00c1a78
docs(queue-health): doctor supported workflow-run status filters
seonghobae Sep 2, 2026
d3a1138
test(queue-health): extend PR identity boundary through evidence reads
seonghobae Sep 2, 2026
7683d22
fix(queue-health): revalidate PR identity after evidence reads
seonghobae Sep 2, 2026
a30548d
docs(queue-health): extend identity trace through terminal evidence
seonghobae Sep 2, 2026
9a187a0
fix(queue-health): observe fast-mlsirm admission failures
seonghobae Sep 2, 2026
5031e0b
test(queue-health): require post-evidence identity retry
seonghobae Sep 2, 2026
36639d0
fix(queue-health): retry post-evidence identity reads
seonghobae Sep 2, 2026
7d80a06
chore(queue-health): reconcile with protected Noema repair
seonghobae Sep 2, 2026
bbacf9e
chore(queue-health): reconcile with protected main 8c085835
seonghobae Sep 2, 2026
a9b73ed
Merge remote-tracking branch 'origin/main' into codex/pr1150-current-…
seonghobae Sep 5, 2026
e6622a4
fix(queue-health): align terminal evidence contracts
seonghobae Sep 5, 2026
c5d59c1
test(queue-health): reject duplicate paginated evidence
seonghobae Sep 6, 2026
dcb857a
test(queue-health): preserve unavailable step evidence
seonghobae Sep 6, 2026
e01e033
fix(queue-health): validate paginated and step evidence
seonghobae Sep 6, 2026
889b095
fix(queue-health): require explicit zero-step evidence
seonghobae Sep 6, 2026
de676cb
test(queue-health): require initial identity bracket
seonghobae Sep 6, 2026
7c4e42d
fix(queue-health): retry identity before run collection
seonghobae Sep 6, 2026
a0b05c0
chore(queue-health): reconcile current protected main
seonghobae Sep 6, 2026
952f95f
test(codeql): require versioned handler rollout bootstrap
seonghobae Sep 12, 2026
2351dc1
fix(codeql): stage versioned handler rollout bootstrap
seonghobae Sep 12, 2026
c5b8d00
docs(codeql): record handler-first rollout boundary
seonghobae Sep 12, 2026
a686a48
test(codeql): cap settlement below Actions rerun ceiling
seonghobae Sep 12, 2026
6308f7a
fix(codeql): stop settlement before rerun ceiling
seonghobae Sep 12, 2026
99bc9db
docs(codeql): record rerun exhaustion boundary
seonghobae Sep 12, 2026
a5ca9f1
merge: reconcile handler bootstrap with protected main
seonghobae Sep 12, 2026
1d3f510
fix(codeql): add versioned single-settlement handler
seonghobae Sep 12, 2026
b2ff9a9
test(codeql): enforce versioned settlement contract
seonghobae Sep 12, 2026
1d6b630
test(codeql): enforce versioned settlement contract
seonghobae Sep 12, 2026
c695a11
docs(codeql): define handler-first migration
seonghobae Sep 12, 2026
ce33538
docs(codeql): define handler-first migration
seonghobae Sep 12, 2026
0102377
docs(changelog): record versioned CodeQL bootstrap
seonghobae Sep 12, 2026
ae3d0a5
docs(codeql): record versioned handler bootstrap evidence
seonghobae Sep 12, 2026
fde889a
merge: reconcile handler bootstrap with protected main
seonghobae Sep 12, 2026
d7d9225
test(codeql): reproduce fallback stdout contamination
seonghobae Sep 12, 2026
6b476a8
fix(codeql): isolate failed credential response bodies
seonghobae Sep 12, 2026
9bf6a87
docs(codeql): record credential fallback RCA
seonghobae Sep 12, 2026
bedce13
docs(changelog): record settlement response isolation
seonghobae Sep 12, 2026
48c6304
chore(codeql): restack #2106 on protected main
seonghobae Sep 12, 2026
2c163e9
test(codeql): exercise consumed-field fallback contamination
seonghobae Sep 12, 2026
50adc03
fix(codeql): integrate versioned rerun exhaustion guards
seonghobae Sep 12, 2026
792d65b
style(codeql): align rerun-mode fixture mapping
seonghobae Sep 12, 2026
24bb659
docs(codeql): correct native rerun allowance
seonghobae Sep 12, 2026
611ccd7
Merge 24bb6591ab7df23558cb793b4af60c567ff9da97 into 64f483db9d052322c…
seonghobae Sep 13, 2026
3253f59
Merge protected main d6cf5726 into canonical CodeQL handler owner
seonghobae Sep 13, 2026
46cf5fa
test(perf-attestation): require authenticated reusable workflow
seonghobae Sep 13, 2026
a2721f8
test(perf-attestation): define sealed evidence verifier contract
seonghobae Sep 13, 2026
f0f5161
feat(perf-attestation): verify sealed evidence as inert data
seonghobae Sep 13, 2026
28da8dc
feat(perf-attestation): add authenticated evidence workflow
seonghobae Sep 13, 2026
3855fa2
ci(perf-attestation): enforce exact verifier quality
seonghobae Sep 13, 2026
1ccca26
ci(perf-attestation): reuse canonical hash-locked dependencies
seonghobae Sep 13, 2026
2b18a21
fix(perf-attestation): fail closed on evidence path ancestry
seonghobae Sep 13, 2026
5d960ee
test(perf-attestation): cover fail-closed verifier edges
seonghobae Sep 13, 2026
cfa040c
test(perf): reject ambiguous PASS attestation receipt
seonghobae Sep 13, 2026
cc33ecd
fix(perf): distinguish evidence validity from performance verdict
seonghobae Sep 13, 2026
fb9e275
test(perf): assert structural evidence validity semantics
seonghobae Sep 13, 2026
183757b
test(perf): reject non-CWL attestation callers
seonghobae Sep 13, 2026
5c09a98
fix(perf): restrict central attestations to CWL callers
seonghobae Sep 13, 2026
b763238
test(perf): require bounded inert artifact materialization
seonghobae Sep 13, 2026
ed83f90
test(perf): cover bounded artifact materializer
seonghobae Sep 13, 2026
992a44c
feat(perf): add bounded inert artifact materializer
seonghobae Sep 13, 2026
f332177
fix(perf): bound artifact before inert extraction
seonghobae Sep 13, 2026
84b4dc4
ci(perf): gate bounded artifact materializer
seonghobae Sep 13, 2026
a7ed6ee
test(perf): align owner gate with bounded download step
seonghobae Sep 13, 2026
3835ba5
docs(perf): record authenticated bounded evidence boundary
seonghobae Sep 13, 2026
0919c1a
docs(perf): changelog bounded performance attestation
seonghobae Sep 13, 2026
9c4fc53
refactor(perf): simplify bounded materialization invariants
seonghobae Sep 13, 2026
db34e6b
Merge protected main 78393ea9 into canonical CodeQL handler owner
seonghobae Sep 13, 2026
56d9be3
fix(perf): remove redundant directory chmod false positive
seonghobae Sep 13, 2026
4444548
test(perf): close materializer security edge coverage
seonghobae Sep 13, 2026
3f4894c
fix(perf): normalize corrupt ZIP member failures
seonghobae Sep 13, 2026
93d26bc
test(perf): cover corrupt ZIP member failure
seonghobae Sep 13, 2026
dac0859
fix(perf): preserve multiline verification commands
seonghobae Sep 13, 2026
b48c88e
test(perf): cover sealed artifact CLI parser
seonghobae Sep 13, 2026
6889a38
merge(attestation): adopt reconciled reusable-workflow identity parent
seonghobae Sep 13, 2026
d33d76f
chore(restack): advance CodeQL handler onto protected main
seonghobae Sep 13, 2026
1ba96e4
chore(restack): advance CodeQL handler through Noema follow-up
seonghobae Sep 13, 2026
4c0f81b
chore(queue-health): reconcile protected main 2026-09-14
seonghobae Sep 13, 2026
e24e9b9
test(perf): bind attested profile to sealed evidence
seonghobae Sep 13, 2026
09720f3
test(perf): execute profile binding regression
seonghobae Sep 13, 2026
7b372df
test(perf): require profile binding in both trust jobs
seonghobae Sep 13, 2026
abfdf11
fix(perf): bind attested profile to sealed evidence
seonghobae Sep 13, 2026
4c2c468
fix(perf): enforce profile binding in verifier and signer
seonghobae Sep 13, 2026
df06581
test(perf): cover matching profile binding path
seonghobae Sep 13, 2026
5ad9cc6
test(perf): bind attested source SHA to sealed evidence
seonghobae Sep 13, 2026
6fdc273
fix(perf): bind attested source SHA to sealed evidence
seonghobae Sep 13, 2026
4c00f63
fix(perf): couple source identity to commercial profile binding
seonghobae Sep 13, 2026
cd737f4
test(perf): align commercial identity binding contract
seonghobae Sep 13, 2026
ddd92ee
merge(parent): restack performance attestation on reconciled identity
seonghobae Sep 13, 2026
b04ae6b
test(perf): require authenticated caller workflow identity
seonghobae Sep 13, 2026
14405c1
fix(perf): bind signed predicate to authenticated caller workflow
seonghobae Sep 13, 2026
2af8d7c
test(perf): cover caller workflow identity binding
seonghobae Sep 13, 2026
78c7b52
fix(perf): authenticate caller workflow in central signer
seonghobae Sep 13, 2026
6fb6676
docs(perf): record authenticated caller workflow boundary
seonghobae Sep 13, 2026
8238e29
fix(perf): normalize corrupt ZIP stream failures
seonghobae Sep 13, 2026
fabae50
test(perf): cover corrupt ZIP stream exceptions
seonghobae Sep 13, 2026
4288590
Merge protected main into CodeQL bootstrap #2106
seonghobae Sep 14, 2026
44901e4
chore(codeql): reconcile bootstrap with protected main after #2147
seonghobae Sep 14, 2026
fbcf718
Merge protected main into queue-health owner #1150
seonghobae Sep 14, 2026
9defd52
chore(codeql): reconcile protected main into #2106
seonghobae Sep 14, 2026
42bb922
Merge protected main into queue-health owner #1150
seonghobae Sep 14, 2026
cc44ddb
fix(ci): execute corrupt performance artifact regressions
seonghobae Sep 15, 2026
759c51f
merge(stack): adopt reusable-attestation parent
seonghobae Sep 15, 2026
298e6c1
test(codeql): compare hardened-runner endpoints as exact lines
seonghobae Sep 15, 2026
db4962a
test(perf): assert validated caller workflow identity
seonghobae Sep 15, 2026
e5ebeec
fix: 경로 탐색 취약점 완화를 위해 정규표현식 수정
seonghobae Sep 15, 2026
e1d845f
fix: 경로 탐색 및 DoS 취약점 완화
seonghobae Sep 16, 2026
8770316
test(traceability): require owner-qualified cross-repo evidence
seonghobae Sep 16, 2026
cf7fa86
revert(traceability): keep baseline repair with canonical document owner
seonghobae Sep 16, 2026
9bc00fc
docs: CI queue-stall baseline (24h, org-wide) + scoping ADR
seonghobae Sep 16, 2026
e0d022e
Merge pull request #2221 from ContextualWisdomLab/docs/ci-baseline-20…
seonghobae Sep 16, 2026
a462c87
fix(opencode-review): stop the coverage fallback from being unreceipt…
seonghobae Sep 16, 2026
38d9bfc
Merge pull request #2222 from ContextualWisdomLab/fix/1907-opencode-c…
seonghobae Sep 16, 2026
be80eb4
merge(main): reconcile CodeQL handler with protected main
seonghobae Sep 16, 2026
efc35f7
fix(opencode-review): vendor Cargo deps offline for the coverage sandbox
seonghobae Sep 16, 2026
346b46d
Merge pull request #2223 from ContextualWisdomLab/seonghobae/fix-1907…
seonghobae Sep 16, 2026
a5569a0
test(docs): require owner-qualified cross-repo evidence
seonghobae Sep 16, 2026
473371c
merge(main): reconcile CodeQL handler with Rust coverage materializer
seonghobae Sep 16, 2026
1336eae
chore: revert incomplete evidence-identity rehearsal
seonghobae Sep 16, 2026
8429787
test(docs): lock owner-qualified evidence identities
seonghobae Sep 16, 2026
11a5630
fix(opencode-review): build PyO3/maturin extensions offline before co…
seonghobae Sep 16, 2026
89b225d
Merge pull request #2225 from ContextualWisdomLab/seonghobae/fix-1907…
seonghobae Sep 16, 2026
ff72f8b
merge(main): reconcile CodeQL bootstrap with current protected main
seonghobae Sep 16, 2026
5e4dfe4
docs: qualify cross-repository evidence identities
seonghobae Sep 16, 2026
fdab673
fix: restore exact baseline before repository identity repair
seonghobae Sep 16, 2026
a01dc86
docs(doctoring): root-cause the multi-hour review durations as inter-…
seonghobae Sep 17, 2026
45f612f
Merge pull request #2227 from ContextualWisdomLab/seonghobae/actions-…
seonghobae Sep 17, 2026
51dacbf
fix(opencode-review-dispatch): fold same-trust-level jobs to cut a qu…
seonghobae Sep 17, 2026
8ef0017
Merge pull request #2228 from ContextualWisdomLab/seonghobae/actions-…
seonghobae Sep 17, 2026
c1d347a
fix(opencode-review,noema-review): skip the AI review chain for docs/…
seonghobae Sep 17, 2026
3c38d38
Merge pull request #2229 from ContextualWisdomLab/seonghobae/actions-…
seonghobae Sep 17, 2026
fb74675
Merge protected main into CodeQL bootstrap branch
seonghobae Sep 17, 2026
ab31a05
fix(opencode-review): fold required-workflow-bootstrap + admit-curren…
seonghobae Sep 17, 2026
6513c7a
Merge pull request #2230 from ContextualWisdomLab/seonghobae/actions-…
seonghobae Sep 17, 2026
bff097e
Merge current protected main into CodeQL bootstrap branch
seonghobae Sep 17, 2026
f9863d9
feat(scheduler): add push-burst coalescing, inert by default (PR1/2)
seonghobae Sep 17, 2026
a9c6477
Merge pull request #2231 from ContextualWisdomLab/seonghobae/actions-…
seonghobae Sep 17, 2026
c81e39c
Merge current protected main into CodeQL bootstrap branch
seonghobae Sep 17, 2026
653466d
Fix CodeRabbit issues in PR #2106
coderabbitai[bot] Sep 17, 2026
d7099a9
fix(scheduler): fail-open coalesce when tick has not completed recently
seonghobae Sep 17, 2026
1b3f54a
fix(ci): step-scope coalesce tick gate so schedule produces run records
seonghobae Sep 17, 2026
6f79973
test(scheduler): cover coalesce tick fail-open and tick recency helpers
seonghobae Sep 17, 2026
6802910
Merge origin/main into sentinel-fix-path-traversal branch
seonghobae Sep 17, 2026
ec7102d
fix: dedupe sentinel learnings after main merge
seonghobae Sep 17, 2026
7d496d6
fix(codeql): stop SARIF false positive and wake-only verdict inversion
seonghobae Sep 17, 2026
2acb726
fix(tests): bound harden-runner endpoint parsing by indentation to ex…
coderabbitai[bot] Sep 17, 2026
b496417
fix(ci): step-scope coalesce tick gate so schedule produces run recor…
seonghobae Sep 17, 2026
d35788d
fix(scheduler): fail-open coalesce when tick has not completed recent…
seonghobae Sep 17, 2026
c73d1b4
chore: reconcile CodeQL bootstrap with protected main
seonghobae Sep 17, 2026
a44ad8f
fix: preserve protected coalesce tick regression
seonghobae Sep 17, 2026
8c77327
fix(codeql): SARIF FP allowlist parse + wake-step verdict read (#2234)
seonghobae Sep 17, 2026
47ccc21
chore: reconcile CodeQL bootstrap with latest protected main
seonghobae Sep 17, 2026
6f9f2b4
chore(central-ci): reconcile queue-health owner with protected main
seonghobae Sep 17, 2026
41c1911
fix(security): reject path traversal in trusted path resolution (#2217)
seonghobae Sep 17, 2026
1e15046
fix(strix): bind PR findings and remediation claims to authenticated …
seonghobae Sep 17, 2026
2979045
fix(noema): re-dispatch on provider capacity after gateway failover
seonghobae Sep 17, 2026
4ba7960
chore: reconcile CodeQL bootstrap with protected queue hardening
seonghobae Sep 17, 2026
130ce42
fix(strix): bind PR findings and remediation claims to authenticated …
seonghobae Sep 17, 2026
65a71c5
chore: reconcile CodeQL bootstrap with Strix evidence hardening
seonghobae Sep 17, 2026
c423528
Merge origin/main into seonghobae/noema-transport-2165
seonghobae Sep 17, 2026
4fda7f5
fix(noema): bounded transport-capacity re-dispatch (#2165)
seonghobae Sep 17, 2026
e455561
chore: reconcile CodeQL bootstrap with Noema capacity repair
seonghobae Sep 17, 2026
86dd9ed
fix: preserve protected Noema executable modes
seonghobae Sep 17, 2026
dea8cc1
docs(doctoring): remeasure Actions queue after coalesce tick repairs
seonghobae Sep 17, 2026
7e1fb01
docs(doctoring): Actions queue 24h remeasurement after #2232–#2236 (#…
seonghobae Sep 17, 2026
fcaacfc
fix(opencode): extract coverage VCS import-root resolver for #2157
seonghobae Sep 17, 2026
4e56ff0
fix(opencode): extract coverage VCS import-root resolver (#2157)
seonghobae Sep 17, 2026
c9900f4
merge(main): resolve gap-baseline conflict for CodeQL bootstrap
seonghobae Sep 17, 2026
22652af
fix(codeql): prove GHAS base/head configuration identity before statu…
seonghobae Sep 17, 2026
6be76f6
fix(docs): keep owner-qualified identities after main merge
seonghobae Sep 17, 2026
0e9412f
fix(opencode): preserve protected coverage job contract
seonghobae Sep 17, 2026
8fc54eb
fix(codeql): bootstrap versioned dispatch handler (#2106)
seonghobae Sep 17, 2026
acedd9f
merge(main): reconcile #2239 GHAS identity fix with #2106 handler
seonghobae Sep 17, 2026
a1d0034
fix(codeql): prove GHAS base/head configuration identity (#2133)
seonghobae Sep 17, 2026
eba48c1
fix(python-security): stop reporting pip-audit transport failures as …
seonghobae Sep 17, 2026
c1f977f
chore(queue): reconcile #1150 queue-health owner onto current main
seonghobae Sep 17, 2026
74613cf
ops(queue): enroll DiskSage/LineageWeave/Noema/quarantine/OriginWeave
seonghobae Sep 17, 2026
31cce5f
fix(python-security): stop reporting pip-audit transport failures as …
seonghobae Sep 17, 2026
991b854
ops(queue): enroll DiskSage/LineageWeave/Noema/quarantine/OriginWeave…
seonghobae Sep 17, 2026
554a28b
fix(ci): skip inert coalesce ticks before runner admission
seonghobae Sep 17, 2026
3449d00
fix(ci): skip inert coalesce ticks before runner admission (#2242)
seonghobae Sep 17, 2026
30a5e73
ops(queue): enroll mhtml-etl-gateway in queue-health evidence
seonghobae Sep 17, 2026
60c083e
Merge pull request #2243 from ContextualWisdomLab/seonghobae/queue-he…
seonghobae Sep 17, 2026
539ca3e
docs(doctoring): record post-#2242 coalesce tick live verify
seonghobae Sep 17, 2026
b969c77
Merge pull request #2244 from ContextualWisdomLab/seonghobae/coalesce…
seonghobae Sep 17, 2026
b5b1cfc
ops(queue): enroll pg-llm-batch
seonghobae Sep 17, 2026
eb99321
Merge pull request #2219 from ContextualWisdomLab/codex/pg-llm-batch-…
seonghobae Sep 17, 2026
6dffc0c
test(queue): capture terminal pre-execution failure
seonghobae Sep 15, 2026
e69709e
fix(queue): classify terminal pre-execution failures
seonghobae Sep 15, 2026
9a311dd
test(queue): preserve terminal aggregate accounting
seonghobae Sep 15, 2026
c85ba9c
test(queue): preserve queued job timing evidence
seonghobae Sep 17, 2026
4b2c426
fix(queue): fetch job evidence for queued current-head runs
seonghobae Sep 17, 2026
64aa08d
Merge pull request #2213 from ContextualWisdomLab/codex/queue-health-…
seonghobae Sep 17, 2026
ea49a16
merge(main): sync PR #2166 onto current protected main
seonghobae Sep 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 53 additions & 10 deletions .github/actions/noema-review/two_phase.py
Original file line number Diff line number Diff line change
Expand Up @@ -167,16 +167,20 @@ def prepare_verdict(repo: str, number: int, expected_head: str, path: Path) -> i
changed_files = gate.fetch_changed_files(repo, number)
changed_paths = tuple(file_path for file_path, _status in changed_files)
review_context = gate.build_review_context(repo, number, pull_request, changed_files)
verdict = gate.call_llm(
repo,
number,
pull_request,
diff,
truncated,
expected,
review_context,
changed_paths,
)
try:
verdict = gate.call_llm(
repo,
number,
pull_request,
diff,
truncated,
expected,
review_context,
changed_paths,
)
except gate.NoemaTransportError as exc:
_emit_transport_capacity_outputs(exc, expected_head=expected)
raise

_write_envelope(
path,
Expand All @@ -196,6 +200,45 @@ def prepare_verdict(repo: str, number: int, expected_head: str, path: Path) -> i
return 0


def _emit_transport_capacity_outputs(
exc: gate.NoemaTransportError,
*,
expected_head: str,
) -> None:
"""Publish typed capacity evidence for the workflow's bounded re-dispatch step."""
retry_attempt = gate.current_transport_retry_attempt()
delay = gate.transport_redispatch_delay_seconds(
transport_retry_attempt=retry_attempt,
head_sha=expected_head,
retry_after_seconds=exc.retry_after_seconds,
)
eligible = bool(exc.capacity_unavailable and delay is not None)
outputs = {
"transport_capacity_unavailable": "true" if exc.capacity_unavailable else "false",
"transport_retry_eligible": "true" if eligible else "false",
"prepared": "false",
}
if type(exc.http_status) is int:
outputs["transport_http_status"] = str(exc.http_status)
if type(exc.provider_attempt_count) is int:
outputs["provider_attempt_count"] = str(exc.provider_attempt_count)
if delay is not None:
outputs["transport_retry_delay_seconds"] = str(delay)
outputs["transport_retry_next_attempt"] = str(retry_attempt + 1)
gate.append_github_output(outputs)
if eligible:
print(
"::notice::Noema provider capacity unavailable after gateway failover; "
f"bounded continuation re-dispatch is eligible in {delay}s "
f"(attempt {retry_attempt + 1}/{gate.MAX_TRANSPORT_REDISPATCH_ATTEMPTS})."
)
elif exc.capacity_unavailable:
print(
"::error::Noema provider capacity unavailable after gateway failover; "
"automatic re-dispatch budget is exhausted. Review remains required."
)


def publish_verdict(repo: str, number: int, expected_head: str, path: Path) -> int:
"""Publish a prepared verdict only with fresh exact-head/base reviewer authority."""
expected = _canonical_head(expected_head)
Expand Down
55 changes: 55 additions & 0 deletions .github/workflows/actions-queue-health.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: GitHub Actions queue health

on:
schedule:
- cron: "7 * * * *"

concurrency:
group: github-actions-queue-health
cancel-in-progress: false

permissions:
contents: read
actions: read

jobs:
collect:
name: Collect exact-head queue evidence
runs-on: ubuntu-24.04
timeout-minutes: 30
permissions:
contents: read
actions: read
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@b09bb98e06d4d774595224525879c09bc6e98c40 # v2.20.1
with:
egress-policy: audit

- name: Checkout trusted queue-health source
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false

- name: Collect read-only repository and runner evidence
env:
GH_TOKEN: ${{ secrets.PR_REVIEW_MERGE_TOKEN || secrets.OPENCODE_APPROVE_TOKEN }}
run: |
if [ -z "${GH_TOKEN:-}" ]; then
echo "::error::PR_REVIEW_MERGE_TOKEN or OPENCODE_APPROVE_TOKEN is required for cross-repository queue reads."
exit 1
fi
echo "::add-mask::$GH_TOKEN"
python3 scripts/ci/actions_queue_health.py \
--allowlist config/actions_queue_health_repositories.json \
--output-json "$RUNNER_TEMP/actions-queue-health.json" \
--output-html "$RUNNER_TEMP/actions-queue-health.html"

- name: Upload queue-health evidence
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: github-actions-queue-health-${{ github.run_id }}
path: |
${{ runner.temp }}/actions-queue-health.json
${{ runner.temp }}/actions-queue-health.html
if-no-files-found: error
11 changes: 10 additions & 1 deletion .github/workflows/agent-review-runtime-quality-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,13 @@ on:
- "docs/doctoring/strix-legal-git-paths.md"
- "docs/doctoring/strix-model-behavior-error.md"
- "docs/doctoring/strix-quality-timeout-fixtures.md"
- "docs/doctoring/strix-evidence-binding-2159-2168.md"
- "scripts/ci/strix_quick_gate.sh"
- "scripts/ci/strix_evidence_binding.py"
- "scripts/ci/test_strix_quick_gate.sh"
- "tests/test_docs_only_pr_runner_admission.py"
- "tests/test_strix_changed_path_policy.py"
- "tests/test_strix_evidence_binding.py"
- "tests/test_strix_model_behavior_error.py"
- "tests/test_strix_nvidia_nim_not_found_fallback.py"
- "tests/test_strix_workflow_dependency_hashes.py"
Expand Down Expand Up @@ -210,10 +213,13 @@ jobs:
docs/doctoring/strix-legal-git-paths.md|\
docs/doctoring/strix-model-behavior-error.md|\
docs/doctoring/strix-quality-timeout-fixtures.md|\
docs/doctoring/strix-evidence-binding-2159-2168.md|\
scripts/ci/strix_quick_gate.sh|\
scripts/ci/strix_evidence_binding.py|\
scripts/ci/test_strix_quick_gate.sh|\
tests/test_docs_only_pr_runner_admission.py|\
tests/test_strix_changed_path_policy.py|\
tests/test_strix_evidence_binding.py|\
tests/test_strix_model_behavior_error.py|\
tests/test_strix_nvidia_nim_not_found_fallback.py|\
tests/test_strix_workflow_dependency_hashes.py|\
Expand Down Expand Up @@ -343,7 +349,7 @@ jobs:
if: steps.affected_suites.outputs.noema == 'true' || steps.affected_suites.outputs.opencode == 'true' || steps.affected_suites.outputs.review_repair == 'true' || steps.affected_suites.outputs.exact_artifact == 'true'
run: >-
python -m pip install --disable-pip-version-check --require-hashes
-r requirements-opencode-review-ci-hashes.txt
-r requirements-opencode-review-ci-hashes.txt -r requirements-noema-document-ci-hashes.txt

- name: Install exact Noema document dependencies
if: steps.affected_suites.outputs.noema == 'true'
Expand Down Expand Up @@ -394,13 +400,16 @@ jobs:
python -m pytest -q \
tests/test_docs_only_pr_runner_admission.py \
tests/test_strix_changed_path_policy.py \
tests/test_strix_evidence_binding.py \
tests/test_strix_model_behavior_error.py \
tests/test_strix_nvidia_nim_not_found_fallback.py \
tests/test_strix_workflow_dependency_hashes.py \
tests/test_strix_quality_timeout_fixture_budget.py
bash scripts/ci/test_strix_quick_gate.sh
python -m compileall -q \
scripts/ci/strix_evidence_binding.py \
tests/test_strix_changed_path_policy.py \
tests/test_strix_evidence_binding.py \
tests/test_strix_model_behavior_error.py \
tests/test_strix_nvidia_nim_not_found_fallback.py \
tests/test_strix_workflow_dependency_hashes.py \
Expand Down
36 changes: 27 additions & 9 deletions .github/workflows/codeql-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -237,17 +237,35 @@ jobs:
')"
if [[ "$run_id" =~ ^[1-9][0-9]*$ ]]; then
jobs_json="$(gh api --paginate --slurp "repos/ContextualWisdomLab/.github/actions/runs/${run_id}/jobs")"
job_conclusion="$(printf '%s' "$jobs_json" | jq -r --arg name "$expected_job" '
dispatch_job="$(printf '%s' "$jobs_json" | jq -c --arg name "$expected_job" '
[.[] | .jobs[] | select(.name == $name)]
| if length == 1 then .[0].conclusion else empty end
| if length == 1 then .[0] else empty end
')"
case "$job_conclusion" in
success|failure)
echo "verdict=${job_conclusion}" >>"$GITHUB_OUTPUT"
echo "Found completed CodeQL dispatch scan job for ${LANGUAGE}: ${job_conclusion}."
exit 0
;;
esac
if [ -n "$dispatch_job" ]; then
gate_conclusion="$(printf '%s' "$dispatch_job" | jq -r '
(.steps[]? | select(.name == "Enforce CodeQL Medium+ SARIF gate") | .conclusion) // empty
')"
case "$gate_conclusion" in
success)
echo "verdict=success" >>"$GITHUB_OUTPUT"
echo "Found completed CodeQL dispatch scan gate for ${LANGUAGE}: success."
exit 0
;;
failure|cancelled|skipped)
echo "verdict=failure" >>"$GITHUB_OUTPUT"
echo "Found completed CodeQL dispatch scan gate for ${LANGUAGE}: failure."
exit 0
;;
esac
job_conclusion="$(printf '%s' "$dispatch_job" | jq -r '.conclusion // empty')"
case "$job_conclusion" in
success)
echo "verdict=success" >>"$GITHUB_OUTPUT"
echo "Found completed CodeQL dispatch scan job for ${LANGUAGE}: success."
exit 0
;;
esac
fi
fi

if [ "$RUN_ATTEMPT" != "1" ]; then
Expand Down
Loading
Loading