Skip to content

fix(review): materialize exact-head review jobs after Ready transition #2045

Open

Description

@seonghobae

Problem

A pull request can move from Draft to Ready without materializing a fresh OpenCode or Noema workflow/check. The existing check names remain GREEN only because their Draft-path jobs exited successfully without publishing an authenticated review. This creates a circular review-admission state: the PR is Ready and mechanically mergeable, but the only visible review checks explicitly say review was deferred until Ready.

Exact RED canaries — 2026-09-08

html4tree#600

  • exact head: b7fb8140b6bdcbe3d58defe526408d24d6b2d8d3;
  • Ready transition: 2026-09-08T11:10:12Z;
  • existing OpenCode job 101586092792: PR is still a draft ... review is not requested until it is marked ready;
  • existing Noema job 101580026200: PR is draft; Noema verdict preparation skipped;
  • new runs/checks after Ready: 0;
  • exact-head Reviews API verdicts: 0;
  • related repository-enrollment issue: [PR governance] Enroll html4tree in central OpenCode review dispatch #1003.

wardnet#130

  • exact head: 2785e682e0ebb96fc15e5576729e253057538c2f on live main@a52ccd0a24a727d9349bb32def7713882d8cad1e;
  • Ready transition: 2026-09-08T12:07:22Z;
  • existing OpenCode job 102040819368: Draft-path review deferral;
  • existing Noema job 102040038685: PR is draft; Noema verdict preparation skipped;
  • all 30 source/security checks were terminal GREEN or contract-valid skipped and unresolved threads were 0 before admission;
  • new runs/checks after Ready: 0;
  • exact-head Reviews API verdicts: 0.

Owner repair contract

  1. Add executable RED fixtures for Draft synchronize → Draft skip-success → unchanged-head ready_for_review.
  2. Ensure the Ready transition or bounded central reconciliation materializes fresh OpenCode and Noema check identities bound to the live repository, PR number, and exact current head.
  3. Never treat a Draft-path skip-success as substantive Ready-state review evidence.
  4. Require an authenticated exact-head APPROVED or CHANGES_REQUESTED Reviews API submission; status-only success is insufficient.
  5. Re-read live open/Draft/head state before dispatch and before verdict admission; stale events must not review or cancel a newer head.
  6. Keep orchestrator/free, gateway-token-only routing, fail-closed missing capability, existing concurrency isolation, and ordinary branch protection.
  7. Prove GREEN on both canaries without empty commits, source-neutral leaf churn, manual bypass, or predecessor evidence transfer.
  8. Integrate through the canonical active .github writer stack, then rerun unchanged consumer heads and record exact run/job/review IDs before closing.

This issue is distinct from #1003's html4tree allowlist enrollment and complements #1800's model-job concurrency work; it owns lifecycle materialization after Draft → Ready.

Activity

  1. added
    bugSomething isn't working
    priority: criticalImmediate blocker, P0, urgent deadlock, or critical incident
    type: bugDefect or incorrect behavior
    on Sep 8, 2026
  2. seonghobae commented on Sep 8, 2026

    @seonghobae
    ContributorAuthor

    Third Ready-transition canary: .github#1946 (2026-09-08)

    • PR: #1946
    • Exact head: 1cb8cceb8719eb054979d84141cda9a95c0c6873
    • Ready transition: 2026-09-08T12:38:43Z
    • Preconditions: mergeable, ahead 5 / behind 0, unresolved threads 0; prior exact-head Security 34225564319, SAST 34225564279, Python Security 34225564305, and CodeQL PR 34225564271 were terminal GREEN. The only existing CHANGES_REQUESTED review targets obsolete head db361daa….
    • Observed after more than 50 seconds: Ready did create new same-head source/security runs (Security 34227246550, SAST 34227246506, Python Security 34227246456, CodeQL PR 34227246385), but created zero OpenCode/Noema review workflows and zero current-head review submissions.
    • This reproduces the lifecycle gap inside the canonical .github owner repository itself. Ready admission must materialize required exact-head model-review jobs; source/security reruns alone cannot replace review.
  3. seonghobae commented on Sep 8, 2026

    @seonghobae
    ContributorAuthor

    Correction to the .github#1946 canary (2026-09-08)

    The earlier comment's “zero OpenCode/Noema review workflows” conclusion is withdrawn. The commit-filtered workflow listing returns pull-request-triggered runs and omitted the pull_request_target review runs that Ready did create.

    Exact Ready-event evidence:

    • Required Noema Review run 34227246936, job 102064305362, was created for ready_for_review and exact head 1cb8cceb8719eb054979d84141cda9a95c0c6873. It failed in the central gateway with HTTP 429 after 97.0 s (phase=response_error, served_model=google/gemma-4-31b-it:free), not on a leaf-source finding.
    • Strix run 34227247127, job 102064798463, was also created. Central preflight examined 24 candidates, probed 16, and found ready_count=0; observed failures were provider 429/404/timeout outcomes.
    • OpenCode run 34227368475 subsequently submitted current-head CHANGES_REQUESTED, but its only finding is the failed-check rollup above plus CodeQL's temporary pending receipt.
    • Same-head CodeQL PR run 34227246385 has since converged to terminal GREEN, and both authenticated CodeQL dispatch status contexts are GREEN.

    Therefore .github#1946 does not reproduce “Ready creates no review jobs.” Keep the original html4tree#600 and wardnet#130 canaries and their owner repair contract; exclude .github#1946 from that evidence set. The remaining .github#1946 blocker is central free-pool transport/availability and the derived no-source-verdict review, not lifecycle materialization absence.

  4. seonghobae commented on Sep 8, 2026

    @seonghobae
    ContributorAuthor

    Fresh Ready-transition canaries still lack exact-head review materialization

    Two additional live canaries reproduce the issue without treating Ready as merge authority:

    • .github#2043: Ready event 30760345148 at 2026-09-08 14:01:51 UTC on exact head 45ef97c71d2684e0c5437fd8e799fd8fcf7e6dc1. Current commit statuses include Devin, CodeRabbit, and CodeQL dispatch contexts, but no opencode-review; there is no qualifying independent APPROVED review on this head.
    • .github#2040: Ready event 30760350170 at 2026-09-08 14:01:56 UTC on exact head 9054b5e664d1540736c6b83a7c4a2bb9399651a3. Current statuses include Devin and CodeRabbit only; no opencode-review and no current-head qualifying approval are present.

    Both PRs have replacement hosted workflows queued/in-progress, which is a merge-gate state, not a reason for Draft. Separately, the inherited stale-base status P1 is a source defect and remains recorded on #2040. This comment only adds exact canary evidence; it does not toggle lifecycle, synthesize status, request a bypass, or manually rerun a workflow.

  5. seonghobae commented on Sep 8, 2026

    @seonghobae
    ContributorAuthor

    Wardnet #130 canary has progressed from the original missing-materialization RED, but exact-head verdict admission is still not complete. Current Wardnet #130 head is 73339df4e9617e533569388b136cd33bd1f6fdc4 on unchanged main@a52ccd0a24a727d9349bb32def7713882d8cad1e.

    Fresh Ready-state review identities now materialize on that exact head: opencode-review job 102196792181 and noema-review job 102196709217. The OpenCode job acquired a hosted runner, bound the exact current head, attempted the central dispatch path, and completed FAILURE with the explicit fail-closed condition: no authenticated APPROVED or CHANGES_REQUESTED from opencode-agent exists on the current head; the workflow says dispatch will rerun the failed job after publishing an authenticated exact-head verdict. Noema remains in_progress on the same exact head at the latest read. Repository CI/Security/SAST/CodeQL source checks are otherwise current-head successful; #130's historical reviews do not transfer and current unresolved inline threads are 0.

    This is evidence that lifecycle materialization itself now works for the Wardnet canary, so do not repair Wardnet source or use no-op commits. Remaining acceptance for this owner path is: publish authenticated current-head OpenCode/Noema Reviews API verdicts, rerun/reconcile the existing exact-head check identities to terminal conclusions, then re-read PR head/base before admission. Preserve orchestrator/free, gateway-token-only routing and normal protection; no synthetic status or predecessor verdict.

  6. seonghobae commented on Sep 9, 2026

    @seonghobae
    ContributorAuthor

    Third canary, opposite direction: a PR that cannot reach the Ready transition at all

    The two canaries here both crossed Draft → Ready and kept a stale GREEN. semantic-data-portal#81 is the same root defect pointed the other way — it never crosses, and it cannot, because the thing gating its transition is the very verdict the Draft path withholds.

    semantic-data-portal#81

    • exact head ce40bd89e803642d62268bfab13a831171f2bc62, unchanged since 2026-08-30
    • currently Draft; 31 of its 32 checks terminal-success
    • opencode-review job 99291035386 is the fail-closed generation and is RED: No APPROVED or CHANGES_REQUESTED from opencode-agent on the current head
    • exact-head Reviews API verdicts by opencode-agent[bot]: 0 — and 0 at every commit on the PR, not only the current one
    • four @opencode-agent approval requests (2026-08-25, 08-26, 08-30, 08-31) produced no verdict

    Unlike html4tree#600 and wardnet#130, this one shows no false green. Its review check is correctly RED. The problem is that nothing can turn it GREEN.

    The loop

    scripts/ci/pr_review_merge_scheduler.py:2205 is what emits the opencode-review repository_dispatch that produces a verdict. The same file's per-PR decision function discards drafts as its first action, at :2383:

    if pr.get("isDraft"):
        return Decision(number, "skip", "draft PR")

    That return precedes cancel_stale_pr_runs, the base_ref branch, and every path reaching the dispatch. So a Draft PR is never dispatched.

    #81's body sets its own promotion acceptance, item 4: "all valid review threads are resolved and a qualifying independent non-author approval is current."

    Draft → scheduler skips → no dispatch → no verdict → item 4 unmet → stays Draft.

    The asymmetry inside one repository confirms the mechanism rather than a repo enrollment gap: semantic-data-portal#73, not a draft, received an opencode-agent CHANGES_REQUESTED on 2026-09-09 at head 1681a7f2. The dispatch reaches that repo fine. It just cannot reach a draft.

    What this adds to the repair contract

    Item 2 currently says "the Ready transition or bounded central reconciliation materializes fresh OpenCode and Noema check identities." The Ready-transition half does not help a PR in this state, since the transition is what is blocked. So the reconciliation half has to be able to reach a still-Draft PR, or the contract has to say explicitly that a verdict is never a precondition for leaving Draft.

    Suggested addition as a fourth RED fixture alongside the three in item 1:

    Draft PR, unchanged head, fail-closed opencode-review RED, zero exact-head verdicts, no Ready transition available → bounded central reconciliation must still produce an authenticated exact-head verdict, or the run must emit a typed result naming the transition as the required human action.

    The second branch is a legitimate outcome — it just needs to be stated, because right now the state is silent rather than typed, and reads from the outside as an ordinary review wait.

    #1992 (drop Noema sidecar prep before the Draft skip) is adjacent: it optimizes the Draft skip path, and this note is about that path's terminal state.

    Consumer impact

    semantic-data-portal's protected main has had no merge since 2026-08-17 with 35 PRs open. #81 is the cryptography 49.0.0 → 50.0.0 bump for CVE-2026-69247, and it is the single writer for that fix, so trivy-fs stays RED on the shared base and the rest of the queue inherits it. Recorded from the consumer side in semantic-data-portal#102, which points here rather than adding any portal-side workaround.

    No change proposed to the fail-closed direction, and no transition performed on #81 — that is its author's decision, taken deliberately with criteria in the PR body.


    Generated by Claude Code

  7. added a commit that references this issue on Sep 9, 2026
  8. seonghobae commented on Sep 10, 2026

    @seonghobae
    ContributorAuthor

    Fresh Wardnet canary confirms the Ready-state OpenCode materialization/receipt defect remains active on a newer exact head without leaf source ambiguity.

    • consumer: ContextualWisdomLab/wardnet#130
    • live state: open, Ready; exact head cc9c9a568ac30f6a3114e1304a4a582cf41f09e2, base main@a52ccd0a24a727d9349bb32def7713882d8cad1e
    • central required OpenCode job: 102791996045 (run 34451773791)
    • hosted runner acquired; live PR state/head validation succeeded; current-head receipt lookup returned missing; OIDC/App-token dispatch completed; terminal admission then failed only because no APPROVED or CHANGES_REQUESTED from opencode-agent existed on the exact head
    • exact log error: No APPROVED or CHANGES_REQUESTED from opencode-agent on the current head. The dispatch workflow will rerun this failed job after publishing an authenticated exact-head verdict.
    • same exact head independently has CI 34451774981, Security Scan 34451774931, SAST Semgrep 34451774988, CodeQL PR 34451774929, coverage-evidence and coverage-source-tree terminal SUCCESS; the OpenCode receipt itself is the missing evidence, not a Wardnet source/test failure

    Please keep GREEN acceptance bound to an authenticated Reviews-API verdict on the unchanged exact head. Do not convert the failed wrapper/status into approval, require a no-op consumer commit, or count a Draft-path/previous-head receipt.

  9. seonghobae commented on Sep 10, 2026

    @seonghobae
    ContributorAuthor

    Fresh Orgmetra Draft→Ready consumer canary for the exact-head review-materialization contract.

    Target PR: ContextualWisdomLab/Orgmetra#293
    Exact head: c35591f460164e6691f7f558488d951e6bcf19d3
    Protected base: develop@eb9757f8649aaad026a9865508d9aad50c1a7a4f
    Ready transition: 2026-09-10T09:18:03Z; head did not move.

    Before Ready, exact-head opencode-review check 102814043243 completed SUCCESS at 09:15:26Z only because the live PR was Draft. Its log explicitly says no current-head OpenCode review was requested and no verdict was required until Ready. Formal Reviews API was empty. The exact-head Noema check 102814071537 began at 09:15:23Z before the transition and remained IN_PROGRESS.

    After marking the same exact head Ready and re-reading the commit checks, total check-run count remained 30 and the visible OpenCode identity was still the pre-Ready Draft-path 102814043243; no fresh OpenCode review identity or authenticated Reviews API verdict had materialized in these post-transition reads. Do not treat the pre-Ready SUCCESS as substantive evidence. The Noema identity also remained the pre-transition job in progress, so its eventual result must be interpreted from its live Ready/head behavior rather than inherited as Draft review evidence.

    This is a consumer canary, not a request for leaf polling/sleep, synthetic status, self-approval, or gate weakening. Canonical repair remains central: Ready transition must materialize fresh exact-head model-review identities where needed and acceptance must bind to authenticated current-head Reviews API verdicts.

  10. seonghobae commented on Sep 10, 2026

    @seonghobae
    ContributorAuthor

    Orgmetra#293 updates this lifecycle canary. Exact head c35591f460164e6691f7f558488d951e6bcf19d3 was marked Ready without a source/head change. The pre-existing OpenCode check 102814043243 remained the Draft-path skip-success and no fresh OpenCode identity appeared. The pre-existing Noema workflow 34459580183/job 102814071537 had also been created before the Ready transition; it later ran and failed during model-verdict preparation, so it is not a fresh Ready-transition identity. However CodeRabbit did subsequently materialize a real review on the exact head at 2026-09-10T09:24:07Z with three actionable inline comments, so the earlier broad statement that no review of any kind materialized is now superseded. The defect tracked here remains specifically the absence of fresh Ready-bound OpenCode/Noema identities and authenticated exact-head review verdicts. Those CodeRabbit findings have since been repaired by ordinary-forward Orgmetra commit ae0f0e9398f5e8788ca323f3a97813618f6774a0; do not transfer c355... Draft-path OpenCode/Noema status to the new head.

  11. seonghobae commented on Sep 10, 2026

    @seonghobae
    ContributorAuthor

    Fresh Wardnet Ready-head canary — ContextualWisdomLab/wardnet#130@8b0acc4189976636c0a80437c3ac5c5c726b4e1f on 2026-09-10 KST.

    Required OpenCode Review run 34475308142 materialized immediately on the unchanged Ready head. Exact jobs prove the wrapper/control-plane path is healthy through admission but still produces no current-head verdict:

    • required-workflow-bootstrap 102864539329: SUCCESS; materialized/verified immutable central policy source and edge policy.
    • cancel-superseded-opencode-review-runs 102864539708: SUCCESS.
    • admit-current-head 102864570414: SUCCESS; exact live Ready/head admitted.
    • opencode-review 102864655283: hosted runner acquired; Request current-head OpenCode review execution SUCCESS, then Fail closed without a current-head OpenCode verdict FAILURE.
    • coverage-source-tree/evidence wrapper jobs were SUCCESS and do not substitute for the missing review verdict.

    Same exact Wardnet head has repository CI 34475310485, CodeQL PR 34475310521, Security Scan 34475310535, and SAST Semgrep 34475310566 terminal SUCCESS. Do not synthesize an approval/status, pin a provider/model, or churn this documentation-only source. Acceptance remains an authenticated exact-head OpenCode verdict/review receipt that the required wrapper can consume deterministically.

  12. seonghobae commented on Sep 10, 2026

    @seonghobae
    ContributorAuthor

    Fresh unchanged-head Ready-transition canary from ContextualWisdomLab/Orgmetra#293 after repairing #294. Exact source head d907edf320fe291de1c373afbcc115f4bf416254, live base develop@eb9757f8649aaad026a9865508d9aad50c1a7a4f. The PR was Draft while #294 docs were inconsistent; after ordinary-forward ADR/TRACEABILITY/doctoring repair and exact-head Foundation/SAST/Security/CodeQL completion, it was marked Ready at 2026-09-10T15:10:29Z without changing head/base.

    Immediately after Ready, the exact-head check inventory still had total_count=30 and only the pre-transition OpenCode identity 102925831377 (run 34493436763, 15:06:31–15:06:37Z SUCCESS) plus the already-running Noema identity 102925795984 (run 34493436603, started 15:06:25Z). No fresh post-Ready OpenCode/Noema check identity materialized, and formal Reviews inventory still contained COMMENTED only / no qualifying APPROVED. Because the OpenCode identity predates Ready, its SUCCESS is not sufficient evidence that Ready-state substantive review occurred; please preserve exact-head lifecycle evidence and prove the fresh post-transition identity/verdict path per this issue's acceptance contract. No empty commit, leaf rerun shim, predecessor verdict transfer, self-approval, or bypass was used.

  13. seonghobae commented on Sep 10, 2026

    @seonghobae
    ContributorAuthor

    Fresh unchanged-head Draft→Ready canary: ContextualWisdomLab/Orgmetra#295, exact head d15a741c10685208b124477e9d7820cdf17339e8, base develop@eb9757f8649aaad026a9865508d9aad50c1a7a4f.

    #295 was marked Ready at 18:37:32Z with no head/base mutation. Fresh post-transition check inventory remains total_count=32. There is no new OpenCode or Noema check identity attributable to the Ready transition:

    • existing OpenCode 34515071712/102998414057 ran 18:33:48–18:33:53Z while the PR was still Draft and is only a Draft-path SUCCESS;
    • existing Noema 34515071821/102998527419 started 18:34:23Z before Ready and remains the same current-head identity;
    • formal Reviews API still contains only older COMMENTED OpenCode reviews on predecessor heads, with no current-head qualifying review.

    This reproduces the materialization gap without an empty commit: unchanged-head ready_for_review did not create fresh current-head OpenCode/Noema review identities or an authenticated current-head review verdict. Keep the canonical repair at the central event/materialization layer; do not require leaf no-op pushes or predecessor verdict transfer.

  14. 17 remaining items

  15. seonghobae commented on Sep 13, 2026

    @seonghobae
    ContributorAuthor

    Canonical partial owner convergence: #2109 — 2026-09-13

    Fresh owner-repository review found that the generalized non-model portion of this lifecycle defect already has an active canonical source lane: #2109, exact cc6e39f207649c3738a93fe1d6ca1447d090885a, Ready on .github/main@fb17ef556f94f673234aa557254ae52779e9a7b0.

    #2109 is not just adjacent queue work. Its explicit contract covers Draft admission plus unchanged-head Ready restoration for the five central workflows Security Scan, Runtime Quality, Python Security, SAST, and CodeQL PR. Its hosted canary records Draft executions skipped and fresh same-head Ready executions materialized for all five (34690412444, 34690412462, 34690412487, 34690412394, 34690412449). On the current #2109 head, Security/Runtime/Python-Security/SAST are terminal SUCCESS; CodeQL remains terminal FAILURE at a separate run-wide settlement defect attributed there to #2106 rather than to missing Ready materialization.

    This means LineageWeave canaries #1047/#1054/#1055 must not trigger a second .github implementation for Security/SAST/CodeQL Ready restoration. Preserve #2109 as that source writer and, after its ordinary protected integration, rerun an unchanged LineageWeave consumer head to prove the cross-repository ready_for_review path actually materializes those deferred identities.

    This does not close #2045. Its remaining acceptance still includes the model-review/cross-repository side: fresh OpenCode/Noema (and where governed, Strix) identities on unchanged-head Ready, authenticated exact-head Reviews API publication, stale-event/head checks, and downstream consumer proof without empty commits, lifecycle cycling, synthetic statuses, or predecessor verdict transfer. The existing #1055 observation that a real causal head move while already Ready materializes the whole central workflow set remains useful scope-control evidence; it is not a substitute for unchanged-head Ready reconciliation.

  16. seonghobae commented on Sep 13, 2026

    @seonghobae
    ContributorAuthor

    LineageWeave unchanged/casual-head reconciliation canary update: PR #1055 exact 50c4935eef1029467595f7004818643598b737c9, Required OpenCode run 34746057593.

    All admission/bootstrap paths succeeded: required-workflow materialization, immutable central policy resolution/verification, Pingora policy, superseded-run cancellation, exact live-head admission, and dispatch request. opencode-review job 103694143716 then failed specifically at Fail closed without a current-head OpenCode verdict immediately after Request current-head OpenCode review execution succeeded. This is not a leaf source/test failure and no provider/model fallback or manual success was added in LineageWeave.

    The current-head causal commit did correctly materialize a fresh Required OpenCode identity, so this canary is narrower than the Ready-transition materialization defect: it demonstrates verdict publication/settlement is not available to the required consumer at the point it evaluates the exact head. Please preserve exact-head fail-closed semantics while reconciling a legitimately late current-head verdict rather than requiring leaf no-op churn/repeated lifecycle flips.

  17. seonghobae commented on Sep 13, 2026

    @seonghobae
    ContributorAuthor

    LineageWeave #1055 late OpenCode publication canary — terminal verdict/reconciliation gap

    Fresh exact-head evidence narrows the remaining OpenCode defect for ContextualWisdomLab/LineageWeave#1055@50c4935eef1029467595f7004818643598b737c9.

    Required OpenCode run 34746057593 / job 103694143716 admitted the exact live ready head and successfully dispatched the review request. At 2026-09-13T07:47:12Z it then failed closed because there was no current-head APPROVED or CHANGES_REQUESTED review from opencode-agent.

    The dispatch did later publish a current-head OpenCode review: opencode-agent submitted a COMMENTED review at 2026-09-13T07:58:55Z, identifying head 50c4935eef1029467595f7004818643598b737c9 and workflow run 34746082362. The review reports no source-backed product finding and a separate coverage-gate failure. It is therefore both late relative to the already-terminal required consumer and non-admissible under the required consumer contract, which accepts only exact-head APPROVED or CHANGES_REQUESTED verdicts.

    This canary should not trigger any LineageWeave-local reviewer, provider/model fallback, no-op commit, lifecycle cycling, synthetic status, or gate weakening. Canonical-owner acceptance should ensure that a successful OpenCode dispatch publishes an authenticated exact-head terminal verdict (APPROVED or CHANGES_REQUESTED) and deterministically reconciles/reruns the already-created required consumer after legitimate late publication, while preserving fail-closed behavior when no terminal verdict can be produced.

  18. seonghobae commented on Sep 13, 2026

    @seonghobae
    ContributorAuthor

    Additional unchanged-head Ready canary from ContextualWisdomLab/LineageWeave#859: exact head 2550e8d88339e30297fa0aa19ffae77f9b78b73b was moved Draft→Ready at 2026-09-13T11:03:55Z after source repair and descendant convergence had settled. A fresh actions inventory immediately after the lifecycle transition still contained only the three pre-existing repository Tests identities (34752865986 failure/zero jobs, 34752892232 cancelled, 34752900076 skipped); no new Security/SAST/CodeQL/model-review or repository Tests identity materialized for the Ready event. #859 was therefore returned to Draft rather than manufacturing a no-op head move. This reinforces the existing acceptance: unchanged-head ready_for_review must deterministically reconcile required workflow identities without requiring a contentless commit or repeated lifecycle toggle.

  19. seonghobae commented on Sep 13, 2026

    @seonghobae
    ContributorAuthor

    Fresh consumer canary from ContextualWisdomLab/LineageWeave#1079 on exact product-only head 34ef53d653cd399b7ab329261e357f6112623063.

    The PR moved Draft → Ready once at 2026-09-13T23:46:55Z after its temporary source patcher had removed itself and the stale authorization test contracts were repaired. The Ready transition immediately materialized repository Tests run 34790684671 with Frontend job 103814199309 and Full-suite job 103814199431, both bound to the unchanged exact head. At the same fresh observation, there was no new OpenCode or Noema workflow/check identity on that head and the Reviews API still had zero submissions. The earlier Draft-triggered central identities remain action_required/zero-job and are not transferable Ready evidence.

    This is a useful partial-materialization canary: repository-local ready_for_review admission works, while the model-review identities owned here still have not materialized. Do not churn the LineageWeave head or repeat Draft/Ready solely to trigger them; re-read this unchanged consumer head after the owner repair/reconciliation path advances.

  20. seonghobae commented on Sep 14, 2026

    @seonghobae
    ContributorAuthor

    Fresh consumer canary: LineageWeave #1079 returned to Draft for a valid CodeRabbit finding, moved normally to repaired product-only head e463aba8bf37d36ed0d6041a556c4d66fba90025, resolved that thread, then made one Ready transition on the unchanged head at 2026-09-14T00:52:40Z. Repository Tests run 34794068177 materialized, but exact-head check lookup currently returns 0 opencode-review and 0 noema-review identities. No leaf no-op commit, repeated Ready/Draft cycling, or synthetic verdict will be used. Treat this head as an additional exact consumer canary for Ready-state review materialization/reconciliation.

  21. seonghobae commented on Sep 14, 2026

    @seonghobae
    ContributorAuthor

    LineageWeave #1079 canary legitimately advanced again for an acceptance-path defect (not review-trigger churn) to exact a3c589d55d4745397664e90e437abea5728a856f, then made one Ready admission. Repository Tests now materialized all three current-head jobs, including the new real-stack authorization lane, but commit-filtered PR workflows still show no fresh opencode-review or noema-review identity. Treat predecessor e463aba8... as obsolete and this exact head as the live consumer canary.

    There is also a useful negative evidence case on the same head: commit status Devin Review is success while its own description says Full review skipped: trial expired and no credits remaining. That status is explicitly non-substantive and must not satisfy any independent-review/admission heuristic. This does not make Devin canonical here; it reinforces #2045's existing rule that status-only/skip-success cannot replace an authenticated exact-head APPROVED or CHANGES_REQUESTED Reviews API verdict.

  22. seonghobae commented on Sep 14, 2026

    @seonghobae
    ContributorAuthor

    Fresh LineageWeave lifecycle canary, corrected after an immediate test-fixture contract repair: ContextualWisdomLab/LineageWeave#1079@d7bc66c6cc21ac9046078b78369b9c388e7c8b7b, base main@83eba56149eb802cd63642c507c324c9976ec78e.

    The earlier Ready sample 7c0df2db... is obsolete: static review found its new stale-summary fixture used a string where summary_contract_version is integer, so the PR returned to Draft and moved by one causal test-only commit. #1079 was then marked Ready once on unchanged corrected d7bc66c6....

    Repository Tests rematerialized as 34804318535 with three real exact-head queued jobs (103853037512, 103853037588, 103853037604), so the Ready transition itself is observed. Fresh exact-head review/check inventory still has no qualifying OpenCode/Noema/Strix identity or authenticated exact-head Reviews API verdict to inherit from predecessor heads.

    This remains the #2045 failure mode: Ready-state repository validation exists while model-review/reconciliation identities do not. Do not compensate in LineageWeave with another lifecycle flip, empty commit, synthetic status, provider/model override, or predecessor approval transfer. Owner acceptance remains fresh exact-head OpenCode/Noema review materialization and authenticated verdict on this unchanged substantive head.

  23. seonghobae commented on Sep 14, 2026

    @seonghobae
    ContributorAuthor

    Fresh LineageWeave canary after a genuine source head move: LineageWeave#1079@c2923950e73c88a9f9fd932332ddd47682da124b was converted Draft for repair, then Ready once. Repository Tests 34815479029 materialized correctly. Central lifecycle checks also materialized (required-workflow-bootstrap, cancel-superseded-opencode-review-runs, admit-current-head, etc.), but the exact-head check inventory still has no substantive opencode-review, Noema, or Strix review identity and Reviews API has no exact-head approval. This remains a valid #2045 consumer canary; do not compensate in the leaf with another lifecycle flip or no-op commit.

  24. seonghobae commented on Oct 1, 2026

    @seonghobae
    ContributorAuthor

    Orgmetra unchanged-head Ready review canaries — 2026-10-01

    Three source-complete root PRs made one ordinary Draft → Ready transition after exact-head and thread revalidation:

    • Orgmetra#259@f1f152b0838e11cba1cf583706eb0983d56af373: reviews remain 0; threads 0.
    • Orgmetra#448@6a06062e9d4f6e07bf4780a60384f264f7983353: reviews remain the two pre-existing COMMENTED submissions; threads 0.
    • Orgmetra#100@301f843c01f301088234c27f758c2a074cfa9aed: reviews remain the 91 pre-existing COMMENTED submissions; all 65 threads resolved.

    Fresh post-transition reads show no new substantive authenticated review submission on any exact head. Product-owned Foundation and SAST are terminal GREEN, while Security remains fail-closed on the separately tracked Dependency Review 403 and fresh CodeQL identities also did not materialize. These are valid review-admission canaries, not merge-ready claims. No repeated Draft/Ready flip, no-op commit, manual rerun, provider/model override, synthetic status, or predecessor approval transfer was used.

  25. seonghobae commented on Oct 1, 2026

    @seonghobae
    ContributorAuthor

    The live unchanged-head canaries now separate two defects. CodeQL's permanent Draft skip has a canonical owner repair at Draft .github#2548 exact head 8f6a870bca516d34a737bc8bd4abf5d3573573ae. OpenCode, Strix, and Noema are intentionally not made to review Draft PRs; their missing Ready materialization remains unresolved here. Orgmetra #235/#259/#448/#100 received no fresh authenticated substantive review after Ready. Ready remains review admission, and no synthetic approval/status or no-op rerun was used.

  26. added
    area: ci-cdCI, GitHub Actions, checks, release, or supply chain
    status: blockedBlocked by conflict, dependency, or required prerequisite
    on Oct 1, 2026
  27. seonghobae commented on Oct 1, 2026

    @seonghobae
    ContributorAuthor

    Fresh exact CodeQL canary — AppGuardrail #1327 (2026-10-01)

    This reproduces the same Draft → Ready materialization gap for the central CodeQL required workflow and broadens this issue's owner evidence beyond model review jobs.

    • target: ContextualWisdomLab/appguardrail#1327
    • exact head: cc08d337d986f46e8a89af4b42c958b877ea7ddc
    • exact tree: 31e47e0e2d3854e11a5d38303515eb8449244933
    • ancestry: ordinary child of 3d1b3d851280c4266b19c94ad4b7a16769dcf7e5; compare is ahead by 1 with zero file delta
    • lifecycle repair: moved from Draft to Ready at 2026-10-01T13:15:31Z only after exact-head source review, 8 terminal-success source/security workflows, zero unresolved review threads, and no source blocker
    • Draft-path CodeQL run: 36867096862, jobs 110385195948 / 110385197916 / 110385235241, all skipped because the event snapshot was Draft
    • result after Ready: no new CodeQL required-workflow run/check materialized
    • bounded same-run retry: reran dispatch job; run attempt 2 produced jobs 110386630074 / 110386631416 / 110386632415, all skipped again because rerun preserves the original Draft event snapshot
    • final lifecycle after the failed unchanged-head admission probe: Draft/open/mergeable; CodeQL remains non-passing and no merge/tag/release was attempted

    Central protected authority at observation time is ContextualWisdomLab/.github@37b10243cec3d160ecc9c1be75c71428b160a703. Its .github/workflows/codeql-pr.yml explicitly includes pull_request.types: [opened, synchronize, reopened, ready_for_review, closed] and says Ready should rerun the same head, yet the organization required-workflow surface did not emit that event/run for this consumer. A leaf empty commit would manufacture a synchronize event and hide the lifecycle defect, so none was added.

    After preserving this evidence, the target PR was returned to Draft to avoid representing skipped CodeQL as merge readiness.

    Acceptance extension: include CodeQL in the unchanged-head Draft → Ready fixture and prove that organization required workflows materialize a fresh run whose live event sees draft=false; do not reuse or rerun a Draft-snapshot skipped run as Ready evidence. Refs #1929.

    Follow-up source-neutral head observations

    The same AppGuardrail PR subsequently received two ordinary source-neutral Sentinel children without any file delta:

    • 67b42a1a5c371f9b5776328f4a5ae830702bfc69: exact tree 31e47e0e2d3854e11a5d38303515eb8449244933; all eight non-CodeQL workflows succeeded; CodeQL 36868347072 skipped.
    • 73cf780ffa680eb1e303310ba7a96553e872fa3c: ordinary child of 67b42a1a…, the same exact tree, compare from cc08d337… ahead 2 / behind 0 / zero changed files; all eight non-CodeQL workflows succeeded; CodeQL 36873653133 skipped.
    • Current target state remains Draft/open/mergeable with zero unresolved review threads and no qualifying current-head approval.

    These source-neutral synchronize events did not produce successful CodeQL analysis either. They are evidence of the same central admission defect, not justification for further empty commits or merge readiness.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: ci-cdCI, GitHub Actions, checks, release, or supply chainbugSomething isn't workingmaintenancepriority: criticalImmediate blocker, P0, urgent deadlock, or critical incidentstatus: blockedBlocked by conflict, dependency, or required prerequisitetype: bugDefect or incorrect behavior

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions