Skip to content

[node-maintenance-repair/3] Dispatch one authorized selected batch - #45

Open
omry wants to merge 1 commit into
pr43from
pr44
Open

omry wants to merge 1 commit into
pr43from
pr44

Conversation

@omry

@omry omry commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Bind the native Run selected fixes action to the signed Check identity, current maintainer permission and canonical PR head, base and exact selected versions. Keep each idle Check ID attached to its selection fingerprint so old confirmations cannot authorize another batch.

Reserve one active request per installation, repository and PR with a D1 partial unique index. Dispatch only the fixed default-branch workflow with five validated inputs, retain its returned run identity, and preserve reservations after ambiguous outcomes without automatic retry.

Add a harmless read-only installation fixture and operator reference. Completion handling belongs to slice 4; dependency repairs remain disabled. Live dispatch acceptance is pending.

Validation: 140 Worker tests, native Workers/D1 concurrency and consent probes, 1294 repository tests, lint, format, typing and bundle checks passed. A fresh independent full-scope review is clean.


@omry
omry changed the base branch from main to pr43 October 23, 2026 16:21
@omry
omry added this pull request to stack #44 October 23, 2026 16:22
@omry

omry commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor Author

PR-cycle state — maintained automatically. Do not edit by hand.

Mechanical PR-cycle state (JSON)
{
  "approval": {
    "candidate_revision_fingerprint": "sha256:f12e26a02a01e375082ef3586ae31b8de4838092ff7bcbfe8561a53d37c03702",
    "evidence": {
      "attestations": [
        {
          "closure_identity": "sha256:d0e116a2dfc26aa07334d9abd1649a036970cf17d93fc385052ec5f1d9223bf1",
          "document_identity": "sha256:59cc4c60e3c82a2c6d63ccc1826ff14e5cc26f89052dbb23bd864ffe8fb3f0a9",
          "sidecar_identity": "sha256:23cc87503b0b509365d991bd815ad7f2a18b3623756ceac875f9696da82802ab"
        }
      ],
      "candidate_revision_fingerprint": "sha256:f12e26a02a01e375082ef3586ae31b8de4838092ff7bcbfe8561a53d37c03702",
      "check_conclusions": [
        {
          "conclusion": "SUCCESS",
          "name": "repair-app",
          "run_id": 120625238183
        },
        {
          "conclusion": "SUCCESS",
          "name": "test",
          "run_id": 120625237828
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (22, npm, 11.9.0)",
          "run_id": 120625238206
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (22, pnpm, 11.20.0)",
          "run_id": 120625238278
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (22, pnpm, 11.21.0)",
          "run_id": 120625238232
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (24, npm, 11.9.0)",
          "run_id": 120625238269
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (24, pnpm, 11.20.0)",
          "run_id": 120625238299
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (24, pnpm, 11.21.0)",
          "run_id": 120625238295
        }
      ],
      "delivery_deferral_ledger_digest": "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
      "finding_dispositions_digest": "sha256:39e1cb9674fa45ed5c6f6d02280fd4fb2c41bce4dc641a81b1cc04c4b0d4abab",
      "operation_identity": "sha256:0c2bfb8fbffa66aca298317f015934442bc3579a452e4562a194b36f1811094c",
      "review_request": {
        "body_digest": "sha256:9a2b566dd25bd8c751c096ff8cb0d35dac683dc03d4baaf98b8383f779fc2e11",
        "id": 6373602589
      },
      "review_result": {
        "body_digest": "sha256:864769ba77100c51cb4fa4063c5505eee7c11645946380635933b0f61e9b956c",
        "id": 6375371899
      }
    },
    "evidence_fingerprint": "sha256:a0b7568a8691b855d382ab7d06b4f27cf1d94797f9a3a678259c49e6e57f7855",
    "head_sha": "6e3192f0d7fdd5bda4c8fd4a81af201ec7996531",
    "operation_identity": "sha256:0c2bfb8fbffa66aca298317f015934442bc3579a452e4562a194b36f1811094c",
    "review_request_id": 6373602589,
    "review_result_id": 6375371899,
    "status": "approved-evidence-recorded"
  },
  "candidate_revision_fingerprint": "sha256:f12e26a02a01e375082ef3586ae31b8de4838092ff7bcbfe8561a53d37c03702",
  "check_conclusions": [
    {
      "conclusion": "SUCCESS",
      "name": "repair-app",
      "run_id": 120625238183
    },
    {
      "conclusion": "SUCCESS",
      "name": "test",
      "run_id": 120625237828
    },
    {
      "conclusion": "SUCCESS",
      "name": "toolchain (22, npm, 11.9.0)",
      "run_id": 120625238206
    },
    {
      "conclusion": "SUCCESS",
      "name": "toolchain (22, pnpm, 11.20.0)",
      "run_id": 120625238278
    },
    {
      "conclusion": "SUCCESS",
      "name": "toolchain (22, pnpm, 11.21.0)",
      "run_id": 120625238232
    },
    {
      "conclusion": "SUCCESS",
      "name": "toolchain (24, npm, 11.9.0)",
      "run_id": 120625238269
    },
    {
      "conclusion": "SUCCESS",
      "name": "toolchain (24, pnpm, 11.20.0)",
      "run_id": 120625238299
    },
    {
      "conclusion": "SUCCESS",
      "name": "toolchain (24, pnpm, 11.21.0)",
      "run_id": 120625238295
    }
  ],
  "check_observations": [
    {
      "checks": [
        {
          "conclusion": "SUCCESS",
          "name": "repair-app",
          "run_id": 120564468766,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/39997420773/job/120564468766"
        },
        {
          "conclusion": "SUCCESS",
          "name": "test",
          "run_id": 120564468532,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/39997420773/job/120564468532"
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (22, npm, 11.9.0)",
          "run_id": 120564468903,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/39997420773/job/120564468903"
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (22, pnpm, 11.20.0)",
          "run_id": 120564468701,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/39997420773/job/120564468701"
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (22, pnpm, 11.21.0)",
          "run_id": 120564468919,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/39997420773/job/120564468919"
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (24, npm, 11.9.0)",
          "run_id": 120564469116,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/39997420773/job/120564469116"
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (24, pnpm, 11.20.0)",
          "run_id": 120564468924,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/39997420773/job/120564468924"
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (24, pnpm, 11.21.0)",
          "run_id": 120564469040,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/39997420773/job/120564469040"
        }
      ],
      "head_sha": "54402cdba6d35863a696adc112ef0d7dc829397a",
      "id": "sha256:223c0470ca6c587c00ba9b3c090b252b719d0d8a5dd5e31a73f6b78f567b2f7a",
      "required_checks": [
        "repair-app",
        "test",
        "toolchain (22, npm, 11.9.0)",
        "toolchain (22, pnpm, 11.20.0)",
        "toolchain (22, pnpm, 11.21.0)",
        "toolchain (24, npm, 11.9.0)",
        "toolchain (24, pnpm, 11.20.0)",
        "toolchain (24, pnpm, 11.21.0)"
      ],
      "status": "success"
    },
    {
      "checks": [
        {
          "conclusion": "SUCCESS",
          "name": "repair-app",
          "run_id": 120525727115,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/39986144328/job/120525727115"
        },
        {
          "conclusion": "SUCCESS",
          "name": "test",
          "run_id": 120525726812,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/39986144328/job/120525726812"
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (22, npm, 11.9.0)",
          "run_id": 120525727372,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/39986144328/job/120525727372"
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (22, pnpm, 11.20.0)",
          "run_id": 120525727111,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/39986144328/job/120525727111"
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (22, pnpm, 11.21.0)",
          "run_id": 120525726986,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/39986144328/job/120525726986"
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (24, npm, 11.9.0)",
          "run_id": 120525727071,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/39986144328/job/120525727071"
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (24, pnpm, 11.20.0)",
          "run_id": 120525727225,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/39986144328/job/120525727225"
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (24, pnpm, 11.21.0)",
          "run_id": 120525727103,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/39986144328/job/120525727103"
        }
      ],
      "head_sha": "a3be434edde3c85ca31c7934445bcc767a04fd9a",
      "id": "sha256:3518121ba01ae2c85d2e5ed319c79780531e5689b1a86dff5dac2b4c4c6862cc",
      "required_checks": [
        "repair-app",
        "test",
        "toolchain (22, npm, 11.9.0)",
        "toolchain (22, pnpm, 11.20.0)",
        "toolchain (22, pnpm, 11.21.0)",
        "toolchain (24, npm, 11.9.0)",
        "toolchain (24, pnpm, 11.20.0)",
        "toolchain (24, pnpm, 11.21.0)"
      ],
      "status": "success"
    },
    {
      "checks": [
        {
          "conclusion": "SUCCESS",
          "name": "repair-app",
          "run_id": 120614384631,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/40011980636/job/120614384631"
        },
        {
          "conclusion": "SUCCESS",
          "name": "test",
          "run_id": 120614384177,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/40011980636/job/120614384177"
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (22, npm, 11.9.0)",
          "run_id": 120614384822,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/40011980636/job/120614384822"
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (22, pnpm, 11.20.0)",
          "run_id": 120614384708,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/40011980636/job/120614384708"
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (22, pnpm, 11.21.0)",
          "run_id": 120614384621,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/40011980636/job/120614384621"
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (24, npm, 11.9.0)",
          "run_id": 120614384663,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/40011980636/job/120614384663"
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (24, pnpm, 11.20.0)",
          "run_id": 120614384593,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/40011980636/job/120614384593"
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (24, pnpm, 11.21.0)",
          "run_id": 120614384672,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/40011980636/job/120614384672"
        }
      ],
      "head_sha": "9846f46bf4c8d3caecc05a80b38d129473097f92",
      "id": "sha256:d38cb70c57e80c476fb02f177a315ae8f456e733c5b45ad4841d0533da5f7ae4",
      "required_checks": [
        "repair-app",
        "test",
        "toolchain (22, npm, 11.9.0)",
        "toolchain (22, pnpm, 11.20.0)",
        "toolchain (22, pnpm, 11.21.0)",
        "toolchain (24, npm, 11.9.0)",
        "toolchain (24, pnpm, 11.20.0)",
        "toolchain (24, pnpm, 11.21.0)"
      ],
      "status": "success"
    },
    {
      "checks": [
        {
          "conclusion": "SUCCESS",
          "name": "repair-app",
          "run_id": 120625238183,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/40015159718/job/120625238183"
        },
        {
          "conclusion": "SUCCESS",
          "name": "test",
          "run_id": 120625237828,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/40015159718/job/120625237828"
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (22, npm, 11.9.0)",
          "run_id": 120625238206,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/40015159718/job/120625238206"
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (22, pnpm, 11.20.0)",
          "run_id": 120625238278,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/40015159718/job/120625238278"
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (22, pnpm, 11.21.0)",
          "run_id": 120625238232,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/40015159718/job/120625238232"
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (24, npm, 11.9.0)",
          "run_id": 120625238269,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/40015159718/job/120625238269"
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (24, pnpm, 11.20.0)",
          "run_id": 120625238299,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/40015159718/job/120625238299"
        },
        {
          "conclusion": "SUCCESS",
          "name": "toolchain (24, pnpm, 11.21.0)",
          "run_id": 120625238295,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/hydra-ecosystem/github-actions/actions/runs/40015159718/job/120625238295"
        }
      ],
      "head_sha": "6e3192f0d7fdd5bda4c8fd4a81af201ec7996531",
      "id": "sha256:dce141c45e88930a0e6a54d35a65b8ac437754d3f6b936489a1e9c812705f7db",
      "required_checks": [
        "repair-app",
        "test",
        "toolchain (22, npm, 11.9.0)",
        "toolchain (22, pnpm, 11.20.0)",
        "toolchain (22, pnpm, 11.21.0)",
        "toolchain (24, npm, 11.9.0)",
        "toolchain (24, pnpm, 11.20.0)",
        "toolchain (24, pnpm, 11.21.0)"
      ],
      "status": "success"
    }
  ],
  "delivery_deferral_ledger_digest": "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
  "delivery_deferrals": [],
  "findings": [
    {
      "classification": "current-slice defect",
      "disposition": "verified-addressed",
      "evidence": [
        "https://github.com/hydra-ecosystem/github-actions/pull/45#discussion_r4362361183",
        "https://github.com/hydra-ecosystem/github-actions/pull/45#discussion_r4362554722",
        "/tmp/node-maintenance-pr45-round1-correction-evidence.json"
      ],
      "head": "a3be434edde3c85ca31c7934445bcc767a04fd9a",
      "id": "PR45-4362361183",
      "invariant": "A retained reservation must be shown in its owned Check, without a misleading runnable action or a repeated dispatch.",
      "path": "repair-app/worker.mjs",
      "rationale": "Reconcile a matching retained reservation on delivery replay and a fresh conflicting click; keep canonical Check ownership checks and never repeat dispatch.",
      "review_id": 5632025332,
      "severity": "P2",
      "source_body": "**<sub><sub>![P2 Badge](https://img.shields.io/badge/P2-yellow?style=flat)</sub></sub>  Reconcile replayed reservations before returning**\n\nIf the first `showRequest` PATCH fails after the D1 insert, the row remains `reserved` while the completed Check still exposes **Run selected fixes**. Redelivery then returns here without repairing the Check, and a fresh click also leaves it unchanged because the conflicting active row has the same `check_id`; consequently the visible action only produces no-op clicks and the retained request identity is not shown until an unrelated PR event occurs. Reconcile the retained row with `showRequest` before returning.\n\nUseful? React with 👍 / 👎.\n\n<!-- codex-code-review-finding:v1 -->",
      "source_message_id": 4362361183,
      "status": "resolved",
      "thread_id": "PRRT_kwDOVJzQB86vtJxZ"
    },
    {
      "classification": "current-slice defect",
      "disposition": "verified-addressed",
      "evidence": [
        "https://github.com/hydra-ecosystem/github-actions/pull/45#discussion_r4362361195",
        "https://github.com/hydra-ecosystem/github-actions/pull/45#discussion_r4362556069",
        "/tmp/node-maintenance-pr45-round1-correction-evidence.json"
      ],
      "head": "a3be434edde3c85ca31c7934445bcc767a04fd9a",
      "id": "PR45-4362361195",
      "invariant": "Only a C2 inputs payload within the documented GitHub limit may expose an action or reserve a request.",
      "path": "repair-app/worker.mjs",
      "rationale": "Build the exact five inputs once, enforce the full serialized inputs limit before reservation and in Check presentation, and reject oversize batches without an active lock.",
      "review_id": 5632025332,
      "severity": "P2",
      "source_body": "**<sub><sub>![P2 Badge](https://img.shields.io/badge/P2-yellow?style=flat)</sub></sub>  Enforce the workflow-dispatch input limit**\n\nWhen a valid selection contains very long numeric version components, `JSON.stringify(items)` can push the five inputs beyond GitHub's documented 65,535-character workflow-dispatch limit because the parser places no bound on version length. GitHub then rejects this POST without creating a run, but the catch path records the request as `unknown` and permanently holds the PR lock. Validate the complete inputs payload before reserving or exposing the action. [GitHub documents the workflow-dispatch payload limit here.](https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-syntax#onworkflow_dispatchinputs)\n\nUseful? React with 👍 / 👎.\n\n<!-- codex-code-review-finding:v1 -->",
      "source_message_id": 4362361195,
      "status": "resolved",
      "thread_id": "PRRT_kwDOVJzQB86vtJxf"
    },
    {
      "classification": "verified non-actionable",
      "disposition": "verified-non-actionable",
      "evidence": [
        "https://github.com/hydra-ecosystem/github-actions/pull/45#discussion_r4362647407",
        "https://docs.github.com/en/rest/actions/workflows?apiVersion=2026-03-10#create-a-workflow-dispatch-event"
      ],
      "head": "54402cdba6d35863a696adc112ef0d7dc829397a",
      "id": "PR45-4362647407",
      "invariant": "Successful fixed-version dispatch returns its documented run identity.",
      "path": "repair-app/worker.mjs",
      "rationale": "The finding uses a February opt-in announcement, but the Worker pins GitHub API 2026-03-10. Its version-specific official endpoint contract and example return 200 with run details for a ref/inputs request without return_run_details. The fixed header and response handling are tested. Live dispatch remains a separate pilot acceptance check.",
      "rejection_evidence": [
        "https://github.com/hydra-ecosystem/github-actions/pull/45#discussion_r4362664678"
      ],
      "review_id": 5632392151,
      "severity": "P1",
      "source_body": "**<sub><sub>![P1 Badge](https://img.shields.io/badge/P1-orange?style=flat)</sub></sub>  Request run details from the dispatch endpoint**\n\nFor every valid click, this POST omits the top-level `return_run_details: true` parameter. GitHub states that without this parameter the endpoint continues to return `204 No Content`, rather than the `200` response containing run metadata ([GitHub changelog](https://github.blog/changelog/2026-02-19-workflow-dispatch-api-now-returns-run-ids/)); `api()` therefore rejects the successful dispatch, and the catch path permanently records it as `unknown` without its run ID. The workflow still starts, but the Check never receives the promised run link and the PR remains locked for manual inspection.\n\nUseful? React with 👍 / 👎.\n\n<!-- codex-code-review-finding:v1 -->",
      "source_message_id": 4362647407,
      "status": "rejected",
      "thread_id": "PRRT_kwDOVJzQB86vt0_0"
    },
    {
      "classification": "current-slice defect",
      "disposition": "current-slice-fix",
      "evidence": [
        "https://github.com/hydra-ecosystem/github-actions/pull/45#discussion_r4363235304",
        "https://github.com/hydra-ecosystem/github-actions/commit/9846f46bf4c8d3caecc05a80b38d129473097f92",
        "https://github.com/hydra-ecosystem/github-actions/pull/45#discussion_r4363484515",
        "/tmp/node-maintenance-pr45-race-green.log"
      ],
      "head": "54402cdba6d35863a696adc112ef0d7dc829397a",
      "id": "PR45-4363235304",
      "invariant": "A successful active Check refresh cannot erase a retained dispatch run identity or regress its presentation to reserved.",
      "path": "repair-app/worker.mjs",
      "rationale": "Reconcile each active Check restoration against the latest exact retained request after writing, with bounded retries and unchanged dispatch admission. Cover refresh and replay interleavings.",
      "review_id": 5633170866,
      "severity": "P2",
      "source_body": "**<sub><sub>![P2 Badge](https://img.shields.io/badge/P2-yellow?style=flat)</sub></sub>  Reconcile active Check writes against the latest request state**\n\nWhen a PR edit arrives while dispatch is pending, `preserveActiveCheck` can read a `reserved` row and pause on the Check GET, then write that stale snapshot after `requestRepair` has retained the run ID and displayed its link. This interleaving reproduces with both webhooks returning 200 and D1 retaining `dispatched`, but the final Check saying **Request reserved** with no run link. The same-head refresh returns immediately afterward, leaving the incorrect summary until another event. Reconcile against the latest retained state after writing, or serialize these updates, so an older reservation snapshot cannot erase the known run link.\n\nUseful? React with 👍 / 👎.\n\n<!-- codex-code-review-finding:v1 -->",
      "source_message_id": 4363235304,
      "status": "resolved",
      "thread_id": "PRRT_kwDOVJzQB86vvNBg"
    },
    {
      "classification": "current-slice defect",
      "disposition": "current-slice-fix",
      "evidence": [
        "https://github.com/hydra-ecosystem/github-actions/pull/45#discussion_r4363547061",
        "https://docs.github.com/en/rest/checks/runs?apiVersion=2026-03-10#list-check-runs-for-a-git-reference",
        "https://github.com/hydra-ecosystem/github-actions/pull/45#discussion_r4363678608",
        "/tmp/pr45-recovery-round7-local-result.json",
        "Verified corrected head 6e3192f0d7fdd5bda4c8fd4a81af201ec7996531: all six pagination regressions and full local validation pass; review thread is resolved."
      ],
      "head": "9846f46bf4c8d3caecc05a80b38d129473097f92",
      "id": "PR45-4363547061",
      "invariant": "Retaining immutable selection Check identities must not disable a managed PR after the first 100 history entries.",
      "path": "repair-app/worker.mjs",
      "rationale": "Follow the existing API pagination within the webhook deadline, preserving newest matching Check selection and complete-page validation before writes. No new storage, service or selection policy.",
      "review_id": 5633566852,
      "severity": "P2",
      "source_body": "**<sub><sub>![P2 Badge](https://img.shields.io/badge/P2-yellow?style=flat)</sub></sub>  Handle paginated history when retaining Checks per fingerprint**\n\nOn a long-lived PR head, each distinct selection fingerprint now creates another Check instead of updating the previous one, but the list validation above still rejects any `total_count > 100` without fetching subsequent pages. After 101 distinct selections, every further refresh returns 500, leaving the latest selection without a usable confirmation Check; stale-action clicks also enter this failing refresh path. I reproduced this with sequential signed PR edits: 101 Checks were created and the next edit failed. Paginate the Check history so retaining immutable selection identities does not eventually disable repairs on that head.\n\nUseful? React with 👍 / 👎.\n\n<!-- codex-code-review-finding:v1 -->",
      "source_message_id": 4363547061,
      "status": "resolved",
      "thread_id": "PRRT_kwDOVJzQB86vv7av"
    }
  ],
  "pr": {
    "base_ref": "pr43",
    "base_sha": "dd936dc3f352c160d9824630eb6b32ae675d3887",
    "body_digest": "sha256:1b1f7c546b3544682f64636d52207f82608bf46820e91bcbf160b0a2e67f684e",
    "diff_digest": "sha256:3ca39fc0301a925f0aea2c6b121caa2abb645bf1f958a4cbb46dfa1821dfb0c3",
    "head_ref": "pr44",
    "head_sha": "6e3192f0d7fdd5bda4c8fd4a81af201ec7996531",
    "pr": 45,
    "repository": "hydra-ecosystem/github-actions",
    "scope_authority": [],
    "title_digest": "sha256:64b8009d20a025fd9d56a9c0dc4bb0112cc4093261aaf654e7475f3346ab1a79"
  },
  "record_version": 16,
  "review_observations": [
    {
      "base_ref": "pr43",
      "base_sha": "dd936dc3f352c160d9824630eb6b32ae675d3887",
      "evidence_digest": "sha256:23427e7c1623da913d0ffd81b40938ea05c0814cb178cc4d88cb54e551ed8183",
      "head_sha": "6e3192f0d7fdd5bda4c8fd4a81af201ec7996531",
      "id": "sha256:9704bb1da527b8dd622e9c91b35b1e3e1ff60ad942fd56f7a37b817b0172d9bd",
      "poll": {
        "completed_at": "2026-10-23T21:40:29.570Z",
        "elapsed_seconds": 904.649,
        "observations": 49,
        "started_at": "2026-10-23T21:23:44.866Z"
      },
      "request_comment_id": 6375023599,
      "status": "timeout"
    },
    {
      "base_ref": "pr43",
      "base_sha": "dd936dc3f352c160d9824630eb6b32ae675d3887",
      "evidence_digest": "sha256:7c4382e90da26202a35ef718e96b2e1707f6259e6aa27820b879c4fb0b3f86ac",
      "head_sha": "6e3192f0d7fdd5bda4c8fd4a81af201ec7996531",
      "id": "sha256:a41dcb6e11b6d645b15d80336455c89c2efdfdd65fdcbc5e4084b8762ff7a2d2",
      "poll": {
        "completed_at": "2026-10-23T20:16:53.680Z",
        "elapsed_seconds": 908.725,
        "observations": 48,
        "started_at": "2026-10-23T20:00:04.923Z"
      },
      "request_comment_id": 6373602589,
      "status": "timeout"
    }
  ],
  "review_requests": [
    {
      "base_established_at": "2026-10-23T16:21:54Z",
      "base_ref": "pr43",
      "base_sha": "dd936dc3f352c160d9824630eb6b32ae675d3887",
      "body_digest": "sha256:4771991e388410725cb166370aa72ac19a8b598ed9d8a1adc69249c1d322f2cf",
      "created_at": "2026-10-23T17:20:28Z",
      "head_sha": "a3be434edde3c85ca31c7934445bcc767a04fd9a",
      "id": 6370648550,
      "kind": "regular-review"
    },
    {
      "base_established_at": "2026-10-23T16:21:54Z",
      "base_ref": "pr43",
      "base_sha": "dd936dc3f352c160d9824630eb6b32ae675d3887",
      "body_digest": "sha256:bfa2aaabf13713266b5c638f5865a55eba84481c2172e8c25e4e6f203e181bee",
      "created_at": "2026-10-23T17:53:06Z",
      "head_sha": "54402cdba6d35863a696adc112ef0d7dc829397a",
      "id": 6371269470,
      "kind": "regular-review"
    },
    {
      "base_established_at": "2026-10-23T16:21:54Z",
      "base_ref": "pr43",
      "base_sha": "dd936dc3f352c160d9824630eb6b32ae675d3887",
      "body_digest": "sha256:bfa2aaabf13713266b5c638f5865a55eba84481c2172e8c25e4e6f203e181bee",
      "created_at": "2026-10-23T18:06:00Z",
      "head_sha": "54402cdba6d35863a696adc112ef0d7dc829397a",
      "id": 6371511975,
      "kind": "regular-review"
    },
    {
      "base_established_at": "2026-10-23T16:21:54Z",
      "base_ref": "pr43",
      "base_sha": "dd936dc3f352c160d9824630eb6b32ae675d3887",
      "body_digest": "sha256:7ef8e5dcf8d121a9dd1b56552578e893355705e3b5971ef3718c324007bc2b33",
      "created_at": "2026-10-23T19:37:42Z",
      "head_sha": "9846f46bf4c8d3caecc05a80b38d129473097f92",
      "id": 6373207606,
      "kind": "regular-review"
    },
    {
      "base_established_at": "2026-10-23T16:21:54Z",
      "base_ref": "pr43",
      "base_sha": "dd936dc3f352c160d9824630eb6b32ae675d3887",
      "body_digest": "sha256:9a2b566dd25bd8c751c096ff8cb0d35dac683dc03d4baaf98b8383f779fc2e11",
      "created_at": "2026-10-23T20:00:28Z",
      "head_sha": "6e3192f0d7fdd5bda4c8fd4a81af201ec7996531",
      "id": 6373602589,
      "kind": "regular-review"
    },
    {
      "base_established_at": "2026-10-23T16:21:54Z",
      "base_ref": "pr43",
      "base_sha": "dd936dc3f352c160d9824630eb6b32ae675d3887",
      "body_digest": "sha256:9a2b566dd25bd8c751c096ff8cb0d35dac683dc03d4baaf98b8383f779fc2e11",
      "created_at": "2026-10-23T21:24:10Z",
      "head_sha": "6e3192f0d7fdd5bda4c8fd4a81af201ec7996531",
      "id": 6375023599,
      "kind": "regular-review"
    }
  ],
  "review_results": [
    {
      "base_ref": "pr43",
      "base_sha": "dd936dc3f352c160d9824630eb6b32ae675d3887",
      "body_digest": "sha256:99c750f15fdbcd1bf84415eb4e459a498cb506b7fa573fd5d14a56c10964ead9",
      "commit_id": "a3be434edde3c85ca31c7934445bcc767a04fd9a",
      "id": 5632025332,
      "inline_message_ids": [
        4362361183,
        4362361195
      ],
      "request_comment_id": 6370648550,
      "result_kind": "findings",
      "status": "result",
      "submitted_at": "2026-10-23T17:24:36Z",
      "unresolved_thread_ids": [
        "PRRT_kwDOVJzQB86vtJxZ",
        "PRRT_kwDOVJzQB86vtJxf"
      ]
    },
    {
      "base_ref": "pr43",
      "base_sha": "dd936dc3f352c160d9824630eb6b32ae675d3887",
      "body_digest": "sha256:06be91469d3035eb2e07fa7fd095f0ca94dbe229ac6d82ba71259d90fed31a6e",
      "commit_id": "54402cdba6d35863a696adc112ef0d7dc829397a",
      "id": 5632392151,
      "inline_message_ids": [
        4362647407
      ],
      "request_comment_id": 6371269470,
      "result_kind": "findings",
      "status": "result",
      "submitted_at": "2026-10-23T17:55:20Z",
      "unresolved_thread_ids": [
        "PRRT_kwDOVJzQB86vt0_0"
      ]
    },
    {
      "base_ref": "pr43",
      "base_sha": "dd936dc3f352c160d9824630eb6b32ae675d3887",
      "body_digest": "sha256:06be91469d3035eb2e07fa7fd095f0ca94dbe229ac6d82ba71259d90fed31a6e",
      "commit_id": "54402cdba6d35863a696adc112ef0d7dc829397a",
      "id": 5633170866,
      "inline_message_ids": [
        4363235304
      ],
      "request_comment_id": 6371511975,
      "result_kind": "findings",
      "status": "result",
      "submitted_at": "2026-10-23T19:01:19Z",
      "unresolved_thread_ids": [
        "PRRT_kwDOVJzQB86vvNBg"
      ]
    },
    {
      "base_ref": "pr43",
      "base_sha": "dd936dc3f352c160d9824630eb6b32ae675d3887",
      "body_digest": "sha256:3f2051cf5e546f5bc21295b070e2fee0dcd72f7b3579cd8b17cbbb01e121db8b",
      "commit_id": "9846f46bf4c8d3caecc05a80b38d129473097f92",
      "id": 5633566852,
      "inline_message_ids": [
        4363547061
      ],
      "request_comment_id": 6373207606,
      "result_kind": "findings",
      "status": "result",
      "submitted_at": "2026-10-23T19:39:50Z",
      "unresolved_thread_ids": [
        "PRRT_kwDOVJzQB86vv7av"
      ]
    },
    {
      "base_ref": "pr43",
      "base_sha": "dd936dc3f352c160d9824630eb6b32ae675d3887",
      "body_digest": "sha256:864769ba77100c51cb4fa4063c5505eee7c11645946380635933b0f61e9b956c",
      "commit_id": "6e3192f0d7fdd5bda4c8fd4a81af201ec7996531",
      "id": 6375371899,
      "inline_message_ids": [],
      "request_comment_id": 6373602589,
      "result_kind": "clean",
      "status": "result",
      "submitted_at": "2026-10-23T21:45:38Z",
      "unresolved_thread_ids": []
    }
  ],
  "revision_fingerprint": "sha256:f12e26a02a01e375082ef3586ae31b8de4838092ff7bcbfe8561a53d37c03702",
  "rounds": [
    {
      "applied_fix_paths": [
        "repair-app/worker.mjs",
        "repair-app/worker.test.mjs"
      ],
      "disposition_changes": [
        "PR45-4362361183",
        "PR45-4362361195"
      ],
      "effective_diff_digest": "sha256:02992273218252e5269d2973fbef7993a79eb470b844380cb9a331ada61090b7",
      "finding_ids": [
        "PR45-4362361183",
        "PR45-4362361195"
      ],
      "invariants": [
        "A retained reservation must be shown in its owned Check, without a misleading runnable action or a repeated dispatch.",
        "Only a C2 inputs payload within the documented GitHub limit may expose an action or reserve a request."
      ],
      "outcome": "corrected-head-needs-review",
      "proposed_fix_paths": [
        "repair-app/worker.mjs",
        "repair-app/worker.test.mjs"
      ],
      "resulting_head": "54402cdba6d35863a696adc112ef0d7dc829397a",
      "review_observation_id": null,
      "review_request_id": 6370648550,
      "review_result_id": 5632025332,
      "reviewed_head": "a3be434edde3c85ca31c7934445bcc767a04fd9a",
      "root_cause": "Reservation replay and same-Check collision paths omitted Check recovery after a failed first PATCH; dispatch validation did not enforce the complete inputs payload limit. Shared recovery and exact five-input construction now cover all affected paths.",
      "round": 1,
      "unresolved_current_slice_findings": 0,
      "unresolved_design_blockers": 0
    },
    {
      "applied_fix_paths": [],
      "disposition_changes": [
        "PR45-4362647407"
      ],
      "effective_diff_digest": "sha256:02992273218252e5269d2973fbef7993a79eb470b844380cb9a331ada61090b7",
      "finding_ids": [
        "PR45-4362647407"
      ],
      "invariants": [
        "Successful fixed-version dispatch returns its documented run identity."
      ],
      "outcome": "same-head-needs-retry",
      "proposed_fix_paths": [],
      "resulting_head": "54402cdba6d35863a696adc112ef0d7dc829397a",
      "review_observation_id": null,
      "review_request_id": 6371269470,
      "review_result_id": 5632392151,
      "reviewed_head": "54402cdba6d35863a696adc112ef0d7dc829397a",
      "root_cause": "The finding applies a pre-version opt-in announcement to the pinned 2026-03-10 API contract. Version-specific official docs show the existing request returns 200 with run details. Rejection is recorded with a maintainer response and resolved review thread; no code change.",
      "round": 2,
      "unresolved_current_slice_findings": 0,
      "unresolved_design_blockers": 0
    },
    {
      "applied_fix_paths": [
        "repair-app/worker.mjs",
        "repair-app/worker.test.mjs"
      ],
      "disposition_changes": [
        "PR45-4363235304"
      ],
      "effective_diff_digest": "sha256:58e8838cb381b98815a98373a7f86c64287c7b79596a28084734d5e5622bf40e",
      "finding_ids": [
        "PR45-4363235304"
      ],
      "invariants": [
        "A successful active Check refresh cannot erase a retained dispatch run identity or regress its presentation to reserved."
      ],
      "outcome": "corrected-head-needs-review",
      "proposed_fix_paths": [
        "repair-app/worker.mjs",
        "repair-app/worker.test.mjs"
      ],
      "resulting_head": "9846f46bf4c8d3caecc05a80b38d129473097f92",
      "review_observation_id": null,
      "review_request_id": 6371511975,
      "review_result_id": 5633170866,
      "reviewed_head": "54402cdba6d35863a696adc112ef0d7dc829397a",
      "root_cause": "The shared restoration writer used a request snapshot read before asynchronous Check calls. It now re-reads the exact request after every write and repairs a stale state or run link with bounded owned-Check reconciliation; all four GET/PATCH interleavings are red without the fix and green with it.",
      "round": 3,
      "unresolved_current_slice_findings": 0,
      "unresolved_design_blockers": 0
    },
    {
      "applied_fix_paths": [
        "repair-app/worker.mjs",
        "repair-app/worker.test.mjs"
      ],
      "disposition_changes": [
        "PR45-4363547061"
      ],
      "effective_diff_digest": "sha256:3ca39fc0301a925f0aea2c6b121caa2abb645bf1f958a4cbb46dfa1821dfb0c3",
      "finding_ids": [
        "PR45-4363547061"
      ],
      "invariants": [
        "Retaining immutable selection Check identities must not disable a managed PR after the first 100 history entries."
      ],
      "outcome": "corrected-head-needs-review",
      "proposed_fix_paths": [
        "repair-app/worker.mjs",
        "repair-app/worker.test.mjs"
      ],
      "resulting_head": "6e3192f0d7fdd5bda4c8fd4a81af201ec7996531",
      "review_observation_id": null,
      "review_request_id": 6373207606,
      "review_result_id": 5633566852,
      "reviewed_head": "9846f46bf4c8d3caecc05a80b38d129473097f92",
      "root_cause": "The Check lookup rejected complete multi-page histories as incomplete. It now processes complete pages under the existing deadline, validates stable totals and page lengths, and preserves newest matching Check selection with constant retained history.",
      "round": 4,
      "unresolved_current_slice_findings": 0,
      "unresolved_design_blockers": 0
    },
    {
      "applied_fix_paths": [],
      "disposition_changes": [],
      "effective_diff_digest": "sha256:3ca39fc0301a925f0aea2c6b121caa2abb645bf1f958a4cbb46dfa1821dfb0c3",
      "finding_ids": [],
      "invariants": [],
      "outcome": "timeout",
      "proposed_fix_paths": [],
      "resulting_head": "6e3192f0d7fdd5bda4c8fd4a81af201ec7996531",
      "review_observation_id": "sha256:a41dcb6e11b6d645b15d80336455c89c2efdfdd65fdcbc5e4084b8762ff7a2d2",
      "review_request_id": 6373602589,
      "review_result_id": null,
      "reviewed_head": "6e3192f0d7fdd5bda4c8fd4a81af201ec7996531",
      "root_cause": "No completed attributable Codex response after the retained bounded 908.725-second wait; no result or approval inferred. Record this exact pending observation to enable the installed bounded recovery policy.",
      "round": 5,
      "unresolved_current_slice_findings": 0,
      "unresolved_design_blockers": 0
    },
    {
      "applied_fix_paths": [],
      "disposition_changes": [],
      "effective_diff_digest": "sha256:3ca39fc0301a925f0aea2c6b121caa2abb645bf1f958a4cbb46dfa1821dfb0c3",
      "finding_ids": [],
      "invariants": [],
      "outcome": "timeout",
      "proposed_fix_paths": [],
      "resulting_head": "6e3192f0d7fdd5bda4c8fd4a81af201ec7996531",
      "review_observation_id": "sha256:9704bb1da527b8dd622e9c91b35b1e3e1ff60ad942fd56f7a37b817b0172d9bd",
      "review_request_id": 6375023599,
      "review_result_id": null,
      "reviewed_head": "6e3192f0d7fdd5bda4c8fd4a81af201ec7996531",
      "root_cause": "First replacement produced no completed attributable Codex review during the retained 904.649-second bounded wait. No product edit or approval. Preserve this second distinct timeout for the final allowed automatic replacement.",
      "round": 6,
      "unresolved_current_slice_findings": 0,
      "unresolved_design_blockers": 0
    },
    {
      "applied_fix_paths": [],
      "disposition_changes": [],
      "effective_diff_digest": "sha256:3ca39fc0301a925f0aea2c6b121caa2abb645bf1f958a4cbb46dfa1821dfb0c3",
      "finding_ids": [],
      "invariants": [],
      "outcome": "clean",
      "proposed_fix_paths": [],
      "resulting_head": "6e3192f0d7fdd5bda4c8fd4a81af201ec7996531",
      "review_observation_id": null,
      "review_request_id": 6373602589,
      "review_result_id": 6375371899,
      "reviewed_head": "6e3192f0d7fdd5bda4c8fd4a81af201ec7996531",
      "root_cause": "The final permitted replacement returned a clean exact-head Codex result. No new defect or code change; full local validation and all eight required CI checks passed. Original and replacement request identities and both timeout rounds remain retained.",
      "round": 7,
      "unresolved_current_slice_findings": 0,
      "unresolved_design_blockers": 0
    }
  ],
  "schema": "awd:swe:pr-cycle-state",
  "version": 2
}

@omry
omry marked this pull request as ready for review October 23, 2026 17:17
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-23T21:45:40.012831Z 6e3192f Manual request
🔒 Security Review ✅ Completed 2026-10-23T17:20:58.730837Z a3be434 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@omry

omry commented Oct 23, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

Exact head: a3be434

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a3be434edd

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread repair-app/worker.mjs Outdated
Comment thread repair-app/worker.mjs Outdated
@omry

omry commented Oct 23, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

Exact head: 54402cd

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 54402cdba6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread repair-app/worker.mjs
@omry

omry commented Oct 23, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

Exact head: 54402cd

omry commented Oct 23, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

Fresh review request; the previous request has remained running without a response.

Exact head: 54402cd

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 54402cdba6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread repair-app/worker.mjs Outdated
@omry

omry commented Oct 23, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

Exact head: 9846f46

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9846f46bf4

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread repair-app/worker.mjs Outdated
Bind the native Run selected fixes action to the signed Check identity, current maintainer permission and canonical PR head, base and exact selected versions. Keep each idle Check ID attached to its selection fingerprint so old confirmations cannot authorize another batch.

Reserve one active request per installation, repository and PR with a D1 partial unique index. Dispatch only the fixed default-branch workflow with five validated inputs, retain its returned run identity, and preserve reservations after ambiguous outcomes without automatic retry.

Add a harmless read-only installation fixture and operator reference. Completion handling belongs to slice 4; dependency repairs remain disabled. Live dispatch acceptance is pending.

Validation: 140 Worker tests, native Workers/D1 concurrency and consent probes, 1294 repository tests, lint, format, typing and bundle checks passed. A fresh independent full-scope review is clean.
@omry

omry commented Oct 23, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

Exact head: 6e3192f

2 similar comments
@omry

omry commented Oct 23, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

Exact head: 6e3192f

@omry

omry commented Oct 23, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

Exact head: 6e3192f

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Keep it up!

Reviewed commit: 6e3192f0d7

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant