fix(scheduler): casefold repository identity - #2007
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Preserve this PR's bounded RED→GREEN delta while integrating protected-main CodeQL fixes through its exact parent branch. No force update; both parent SHAs are recorded.
Preserve case-insensitive repository identity while inheriting the complete current-main scheduler stack and exact fixture repairs. No rebase or force update.
|
Current scheduler stack receipt — tip Exact lineage: Every edge is 0 behind its exact base and was reconciled with a normal merge commit. The tip inherits #2008/#2009 CodeQL coordinator fixes plus the permanent Runtime Quality fixture repairs for host-scoped cancellation calls and workflow-starting token proof. All six PRs remain Draft/Proposed; no predecessor check, review, or status was transferred. Five fresh hosted workflows exist on this exact tip and are still non-terminal. |
|
Fresh stack verification: Runtime Quality succeeded on |
seonghobae
left a comment
There was a problem hiding this comment.
Exact-head bounded-delta review: no new substantive finding in this child’s case-insensitive repository-identity change. Both routing boundaries case-fold only already-equal GitHub repository identities, missing metadata retains the conservative behavior, and the focused regression covers owned-head/compare-ref semantics. This is not approval or merge authority: #2007 inherits the unresolved #2006 live Draft-race finding (review 5136886031), has no qualifying independent approval, and must remain Draft until the prerequisite is repaired and combined exact-head hosted evidence is regenerated.
|
Restack 착수: exact child |
|
Restack complete at exact head |
seonghobae
left a comment
There was a problem hiding this comment.
Exact-head re-review at de5e6220726b0b91a2482c36953bf379671eb340: the normal two-parent restack preserves the child casefold routing delta and repaired parent live open/Draft/head mutation guard. There are no unresolved inline threads. Current-head Runtime Quality, SAST, Python Security, and Security Scan are GREEN. CodeQL run 34197136206 is not GREEN: both language shards dispatched but terminated pending because no authenticated terminal verdict returned to rerun/settle them. That central handshake failure remains a merge blocker. No new substantive source finding in this bounded child; this COMMENT is not approval or merge authority.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Ready-for-review admission receipt for exact head |
There was a problem hiding this comment.
Pull request overview
OpenCode reviewed the current-head product diff. Coverage is a separate gate.
Changed files
CHANGELOG.md— repository behaviordocs/doctoring/case-insensitive-owned-head-identity.md— operator or user guidancedocs/product-technical-gap-baseline.md— operator or user guidancescripts/ci/pr_review_merge_scheduler_core.py— review and security gate shell pathtests/test_pr_review_merge_scheduler.py— regression suite
Changed behavior
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Repository file: CHANGELOG.md"]
S1 --> I1["repository behavior"]
I1 --> R1["Review risk: Repository file: CHANGELOG.md"]
R1 --> V1["required checks"]
Evidence --> S2["Docs: case-insensitive-owned-head-identity.md (2 files)"]
S2 --> I2["operator or user guidance"]
I2 --> R2["Review risk: Docs: case-insensitive-owned-head-identity.md (2 files)"]
R2 --> V2["docs review"]
Evidence --> S3["CI script: pr_review_merge_scheduler_core.py"]
S3 --> I3["review and security gate shell path"]
I3 --> R3["Review risk: CI script: pr_review_merge_scheduler_core.py"]
R3 --> V3["bash -n plus Strix self-test"]
Evidence --> S4["Test: test_pr_review_merge_scheduler.py"]
S4 --> I4["regression suite"]
I4 --> R4["Review risk: Test: test_pr_review_merge_scheduler.py"]
R4 --> V4["targeted test run"]
Findings
No source-backed product finding is synthesized from the coverage gate. A coverage miss belongs in the status comment.
- Head SHA:
de5e6220726b0b91a2482c36953bf379671eb340 - Workflow run: 34203237461
- Workflow attempt: 1
- Coverage gate:
failure
Review outcome
Coverage is a gate, not the review. This body reviews the changed product files.
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Repository file: CHANGELOG.md"]
S1 --> I1["repository behavior"]
I1 --> R1["Review risk: Repository file: CHANGELOG.md"]
R1 --> V1["required checks"]
Evidence --> S2["Docs: case-insensitive-owned-head-identity.md (2 files)"]
S2 --> I2["operator or user guidance"]
I2 --> R2["Review risk: Docs: case-insensitive-owned-head-identity.md (2 files)"]
R2 --> V2["docs review"]
Evidence --> S3["CI script: pr_review_merge_scheduler_core.py"]
S3 --> I3["review and security gate shell path"]
I3 --> R3["Review risk: CI script: pr_review_merge_scheduler_core.py"]
R3 --> V3["bash -n plus Strix self-test"]
Evidence --> S4["Test: test_pr_review_merge_scheduler.py"]
S4 --> I4["regression suite"]
I4 --> R4["Review risk: Test: test_pr_review_merge_scheduler.py"]
R4 --> V4["targeted test run"]
OpenCode Review Overview
Coverage evidence did not pass, so approval is blocked. The formal pull-request review is the source-backed diff review, not this status comment. |
There was a problem hiding this comment.
Pull request overview
OpenCode reviewed the current-head product diff. Coverage is a separate gate.
Changed files
CHANGELOG.md— repository behaviordocs/doctoring/case-insensitive-owned-head-identity.md— operator or user guidancedocs/product-technical-gap-baseline.md— operator or user guidancescripts/ci/pr_review_merge_scheduler_core.py— review and security gate shell pathtests/test_pr_review_merge_scheduler.py— regression suite
Changed behavior
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Repository file: CHANGELOG.md"]
S1 --> I1["repository behavior"]
I1 --> R1["Review risk: Repository file: CHANGELOG.md"]
R1 --> V1["required checks"]
Evidence --> S2["Docs: case-insensitive-owned-head-identity.md (2 files)"]
S2 --> I2["operator or user guidance"]
I2 --> R2["Review risk: Docs: case-insensitive-owned-head-identity.md (2 files)"]
R2 --> V2["docs review"]
Evidence --> S3["CI script: pr_review_merge_scheduler_core.py"]
S3 --> I3["review and security gate shell path"]
I3 --> R3["Review risk: CI script: pr_review_merge_scheduler_core.py"]
R3 --> V3["bash -n plus Strix self-test"]
Evidence --> S4["Test: test_pr_review_merge_scheduler.py"]
S4 --> I4["regression suite"]
I4 --> R4["Review risk: Test: test_pr_review_merge_scheduler.py"]
R4 --> V4["targeted test run"]
Findings
No source-backed product finding is synthesized from the coverage gate. A coverage miss belongs in the status comment.
- Head SHA:
de5e6220726b0b91a2482c36953bf379671eb340 - Workflow run: 34206225146
- Workflow attempt: 1
- Coverage gate:
failure
Review outcome
Coverage is a gate, not the review. This body reviews the changed product files.
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Repository file: CHANGELOG.md"]
S1 --> I1["repository behavior"]
I1 --> R1["Review risk: Repository file: CHANGELOG.md"]
R1 --> V1["required checks"]
Evidence --> S2["Docs: case-insensitive-owned-head-identity.md (2 files)"]
S2 --> I2["operator or user guidance"]
I2 --> R2["Review risk: Docs: case-insensitive-owned-head-identity.md (2 files)"]
R2 --> V2["docs review"]
Evidence --> S3["CI script: pr_review_merge_scheduler_core.py"]
S3 --> I3["review and security gate shell path"]
I3 --> R3["Review risk: CI script: pr_review_merge_scheduler_core.py"]
R3 --> V3["bash -n plus Strix self-test"]
Evidence --> S4["Test: test_pr_review_merge_scheduler.py"]
S4 --> I4["regression suite"]
I4 --> R4["Review risk: Test: test_pr_review_merge_scheduler.py"]
R4 --> V4["targeted test run"]
|
Non-force parent reconciliation completed after #2006 advanced.
The case-folded repository routing delta, live Ready/Draft/head mutation boundary, and complete current parent prerequisites are preserved. Publication used an exact Git tree and Detached combined verification:
#2007 remains Draft/Proposed. Predecessor Checks and reviews do not transfer; fresh exact-head hosted Checks and a qualifying independent approval remain mandatory. |
Root cause
GitHub repository identity is case-insensitive, but scheduler owned-head and compare-ref routing used exact string equality. Canonical casing drift could therefore misclassify an organization-owned branch as an external fork and block normal restack/update processing.
This bounded successor carries the corresponding valid delta from historical Draft #1231 and remains stacked after repaired #2006.
RED → GREEN
4fb514dbOwner/Repoandowner/repoto use the same owned-head and compare-ref path75e9d67cde5e62205e6fd0ca2fc052057b75473a528d533e346c131ed739e0d8d6285261da0a2f530181a929f19a202dVerification
Fresh detached verification at exact remote head
de5e6220726b0b91a2482c36953bf379671eb340:python -m py_compile scripts/ci/pr_review_merge_scheduler_core.pypython -m pytest tests/test_pr_review_merge_scheduler.py -q→ 344 passedGITHUB_ACTIONS=true python -W error -m pytest tests/test_pr_review_merge_scheduler.py -q→ 344 passedgit diff --check 5e6fd0ca2fc052057b75473a528d533e346c131e..de5e6220726b0b91a2482c36953bf379671eb340Prior Checks on
5e6fd0ca…are not transferred. Hosted Runtime Quality and security evidence is GREEN on this exact head; lifecycle-triggered replacement Checks, CodeQL settlement, and qualifying independent approval remain required before merge.Stack and authority
fix/scheduler-draft-merge-mutation-guard@d739e0d8d6285261da0a2f530181a929f19a202d