Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Repository: luvs01/opencodex/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: Thanks 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 |
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. |
|
✅ Deterministic PR hygiene checks passed. |
There was a problem hiding this comment.
| const inputNames = [...text.matchAll(/client_payload\[['"]([^'"]+)['"]\]/g)].map(match => match[1]); | ||
| expect(inputNames).toContain("consent-hook"); | ||
| expect(inputNames).toContain("tray-quit-hook"); | ||
| expect(inputNames).toContain("elevate-accept-hook"); |
There was a problem hiding this comment.
🔍 Payload-key test no longer verifies the dispatch contract
The regex collects duplicated payload references from the workflow body, not declared inputs. It cannot detect missing required fields or distinguish accepted keys from incidental references.
(Refers to this code)
Was this helpful? React with 👍 or 👎 to provide feedback.
| repository_dispatch: | ||
| types: [desktop-installed-gate] |
There was a problem hiding this comment.
🟨 Unvalidated dispatch payloads reach privileged self-hosted runners
Repository dispatches no longer validate required versions before scheduling. Malformed events can occupy every privileged gate runner and trigger failing artifact operations after approval.
Was this helpful? React with 👍 or 👎 to provide feedback.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9899598c8c
ℹ️ 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".
| repository_dispatch: | ||
| types: [desktop-installed-gate] |
There was a problem hiding this comment.
Land the dispatcher on the default branch before switching
When this commit lands on dev, the default branch (main) still does not contain .github/workflows/desktop-installed-gate.yml; GitHub states that repository_dispatch triggers a run only when the workflow file exists on the default branch. Consequently, every attempted dispatch is ignored until a later promotion to main, disabling the installed-artifact gate during the period in which releases are prepared from dev. Install a trusted dispatcher definition on main before removing the existing trigger, or use an already-default-branch workflow as the dispatch trampoline. GitHub’s repository_dispatch documentation documents this restriction.
AGENTS.md reference: AGENTS.md:L339-L341
Useful? React with 👍 / 👎.
Motivation
workflow_dispatchtrigger allowed a caller to select a branch whose workflow YAML would run on persistent self-hosted runners, enabling a collaborator-controlled workflow to execute arbitrary steps on privileged hosts.sudo dpkg -ion Linux), so the workflow must be loaded from an immutable/default ref rather than an attacker-controlled branch.devcheckout as the enforcement surface the repo controls.Description
workflow_dispatchtrigger with a typedrepository_dispatchevent (types: [desktop-installed-gate]) so GitHub loads the workflow from the repository default branch.inputs-based references togithub.event.client_payload(release/version/hook names) and adjusted the concurrency group to usegithub.event.client_payload.versionso payload-driven behavior remains available but is loaded from the default ref.environment,actions/checkoutpinnedref: dev, platform matrix, and hook-name boundary intact so the gate logic and protections remain the same at runtime.tests/ci-workflows/installed-gate-drivers.test.tsto assert the newrepository_dispatchtrigger and to extract the event payload keys fromclient_payloadusage in the workflow file.Testing
mise exec bun@latest -- bun test tests/ci-workflows/installed-gate-drivers.test.ts, which passed (49 passed).mise exec bun@latest -- bun run privacy:scan, which passed.mise exec bun@latest -- bun run prepush; typecheck and GUI lint passed but the full-suite phase encountered unrelated environment-local proxy HTTP 403s (external environment routing) and was stopped after confirming the recurring environmental failures, so unrelated full-suite failures are not attributed to this change.Codex Task