Repository navigation
docs: reviewer roster and merge gate policy (reviewers.md, AGENTS.md) - #10
Conversation
sfmskywalker
left a comment
There was a problem hiding this comment.
Elsa 3 Code Review: REQUEST_CHANGES + HIGH @ 3e66d85
Code Review, Round 1/4
The policy matches elsa-core#8569, apart from differences that make sense for elsa-hub, and every merge-gate line includes HIGH. The Greptile, CodeRabbit, Cursor Bugbot and Code Quality statuses are backed by evidence. The problem is Copilot. The file marks it live and makes it the one reviewer every PR must request, but the only Copilot request on this repository in eight months, on this PR, never registered. That status needs to change, and the rules need a fallback for when no reviewer is live.
Requests for changes
-
Copilot status (reviewers.md:9, 17, 26; PR description). Mark GitHub Copilot code review as
not livefor elsa-hub, or asunverifiedwith the same practical effect, until a request on this repository registers and gets a review. Evidence:- Its only elsa-hub review is on #1 (2026-01-26). #1 was opened by the Copilot coding agent, Copilot was added as a reviewer at merge time, and the review arrived after the merge.
- On this PR (#10, opened 2026-10-03 18:58 CEST) a Copilot request was attempted, but it never registered. The timeline has no
review_requestedevent, the requested reviewers list is empty, and there are no reviews. - The same account requested Copilot on elsa-workflows/elsa-extensions#272 at 15:08 CEST the same day. That request registered and Copilot reviewed at 15:11. So the failure here is specific to elsa-hub, or to how it was requested here. It is not proof that Copilot works on this repository.
- This repository's ruleset "Code Quality Copilot review for default branch", which turns on automatic Copilot review, is disabled.
Replace "Confirmed working org-wide on elsa-workflows/elsa-extensions#272" with evidence from elsa-hub. One PR in another repository doesn't show that Copilot works org-wide or on this repository. Moving the elsa-extensions#272 reference into the Notes column is fine. If you would rather keep Copilot
live, request it again on this PR with GitHub CLI 2.88 or later. If the request registers and Copilot posts a review, cite #10 as the evidence instead. -
Fallback when no reviewer is live (reviewers.md:17-18, AGENTS.md:7). Once Copilot is not live, every row is not live, and "Request exactly one live advisory reviewer" (with "today that is GitHub Copilot code review") can't be followed. Add a rule such as: "If no reviewer in the table is live, skip the advisory request and say so in the PR description. The merge gate is unchanged." Then remove "today that is GitHub Copilot code review" or update it. Mirror the change in AGENTS.md:7 and in the PR description.
-
Evidence range (reviewers.md:24-30). Extend the range to #1 to #10, since #10 holds the failed Copilot request. #10 and #11 were both opened into
maintoday after the CodeRabbit install and got no CodeRabbit run. You can add them as further CodeRabbit evidence.
Non-blocking
- AGENTS.md:10 leaves out "or changes how it is requested", which reviewers.md:22 includes, and AGENTS.md:9 doesn't say the SHA must be the full 40 characters. Aligning both lines with reviewers.md would avoid drift.
- Title: "Advisory PR reviewers" undersells a file that also defines the merge gate. elsa-core#8569 got the same note. "PR reviewers and merge gate" would fit better.
- Direct commits to
main:mainhas no branch protection, and Lovable commits straight tomain, as the README says and as lovable-dev[bot] commits in September show. So the gate covers PRs only, by convention. A sentence saying so would prevent confusion. - "Green CI" here means CodeQL (Analyze javascript-typescript), GitGuardian and license/cla. The repository has no build or test workflow. Naming those checks would make the gate concrete.
- The review header format, the confidence scale and the four-round limit aren't written down here or in elsa-core#8569, so parity holds. A follow-up could add them to both repositories together.
Verified on 3e66d85
- Parity with elsa-core#8569 (merged at ad040a7): the Greptile row, its required-reviewer rule, the 5/5 gate term and the Greptile-unavailable exception are removed. That is justified because Greptile isn't live here. "At most one additional reviewer" became "exactly one live advisory reviewer", and the auto-review wait rule is dropped. Both make sense without Greptile, given the fallback in item 2. The PR adds "independent" and "including Codex", and the author still never self-approves. Both files state the merge gate as
APPROVE + HIGH @ <head sha>plus green CI. Any push needs a re-review on the new head, and advisory reviews never replace the gate. - Greptile is not live: there are no reviews, comments or "Greptile Review" check on #1 to #11. The org app was last updated 2026-10-01, before #9, #10 and #11 were opened.
- CodeRabbit is not live: there are no reviews or comments on #1 to #11. The org app (selected repositories) was installed 2026-10-03 at 12:26 CEST, and #9 was opened into
mainat 14:48 CEST with no run. - Cursor Bugbot and GitHub Code Quality are not live: neither has any activity on #1 to #11. The org-wide Codex, Claude and Devin apps have no review activity here either, so leaving them out of the table is consistent with elsa-core.
- Dashes: neither changed file contains an em dash (U+2014) or an en dash (U+2013). Both files are plain ASCII.
- Paths and links:
.github/reviewers.mdexists at head. elsa-core#8569 and elsa-extensions#272 resolve. Nothing contradicts the README or the.lovablenotes, which are the only other docs. - CI: CodeQL Analyze (javascript-typescript), GitGuardian Security Checks and license/cla all pass. The PR is mergeable, and there are no review threads.
Merge gate
Not mergeable yet. Merging needs an Elsa 3 Code Review APPROVE + HIGH @ <full head sha> on the new head after items 1 to 3 are fixed, plus green CI on that head. Greptile isn't live on elsa-hub, so it isn't part of this gate, and any Copilot review would be advisory only.
sfmskywalker
left a comment
There was a problem hiding this comment.
Elsa 3 Code Review: REQUEST_CHANGES + HIGH @ 9496003
Code Review, Round 2/4
All three Round 1 blockers are fixed, and every non-blocking item is addressed. One new factual error is left. The Copilot note now says Copilot works on elsa-extensions "only", which isn't true and contradicts elsa-core's own reviewers.md. It's a one-phrase fix.
Request for changes
- "It works on elsa-workflows/elsa-extensions only" (reviewers.md:9; PR description, Copilot row "Works on elsa-extensions only"). Copilot code review also reviews PRs in other org repositories. Examples are elsa-core #8142, #8137 and #8133 and elsa-studio #1041 and #995. elsa-core#8569's reviewers.md marks it live there too. Replace "only" with something like "It works on other elsa-workflows repositories (for example elsa-extensions#272)". Evidence line 29 is already accurate ("so this is specific to elsa-hub") and needs no change.
Round 1 items
- Copilot status: fixed. reviewers.md:9, the evidence at line 29, and the PR body all mark it
not live. They cite the #1 history, the request on #10 that never registered and the disabled ruleset, and they say when it would become live. The org-wide overclaim is gone. The #10 timeline still has noreview_requestedevent and no requested reviewers, which matches the new text. - No-live-reviewer fallback: fixed. It's in reviewers.md:18-19, AGENTS.md:8 and the PR body. The rule is to skip the request, say so in the PR description, and keep the gate. "Today that is GitHub Copilot code review" is removed. The PR body follows the new rule in its "Advisory reviewer for this PR" section.
- Evidence range: fixed. It now covers #1 to #11 for every reviewer, and CodeRabbit cites #9, #10 and #11.
Non-blocking items from Round 1
- AGENTS.md:12: now includes "or changes how it is requested". AGENTS.md:10: now requires the full 40-character SHA. Done.
- Title: now "PR reviewers and merge gate", and the intro on line 3 is updated to match. Done.
- Direct commits to
main: reviewers.md:24 and AGENTS.md:11 now saymainis unprotected and Lovable commits straight to it, so the gate covers PRs only, by convention. Done. - Green CI: defined at reviewers.md:22 and AGENTS.md:10 as CodeQL
Analyze (javascript-typescript),GitGuardian Security Checksandlicense/cla. These match the check names on this PR. Done.
No regressions on 9496003
- Parity with elsa-core#8569 holds. The only differences are still the Greptile items, which are removed because Greptile isn't live here, and the advisory-request rules, which now have a fallback. The author never self-approves. Any push needs a re-review on the new head. Advisory reviews never replace the gate.
- Every gate line still says
APPROVE + HIGH @ <head sha>plus green CI. That covers reviewers.md:21, AGENTS.md:10 and the PR body's merge-gate bullet. - Greptile, CodeRabbit, Cursor Bugbot and Code Quality are unchanged apart from the wider evidence range, which I rechecked. None has any activity on #1 to #11.
- Dashes: reviewers.md, AGENTS.md and the PR body contain no em dash (U+2014) or en dash (U+2013). All three are plain ASCII.
- CI: CodeQL Analyze (javascript-typescript), GitGuardian Security Checks and license/cla all pass on this head. The PR is mergeable, and there are no open review threads.
Merge gate
Not mergeable yet. Merging needs an Elsa 3 Code Review APPROVE + HIGH @ <full head sha> on the new head after item 1 is fixed, plus green CI on that head. No advisory reviewer is live on elsa-hub, so none is part of this gate.
sfmskywalker
left a comment
There was a problem hiding this comment.
Elsa 3 Code Review: APPROVE + HIGH @ dfff236
Code Review, Round 3/4
The only change since Round 2 is one commit on top of 9496003. It replaces one phrase in the Copilot row of .github/reviewers.md line 9, and the PR body's Copilot row now has the same wording.
Round 2 item
Fixed. "It works on elsa-workflows/elsa-extensions only (elsa-extensions#272)" now reads "It works on other elsa-workflows repositories (for example elsa-extensions#272)". That's accurate: Copilot has also reviewed elsa-core and elsa-studio PRs, and elsa-core's reviewers.md marks it live. The row still marks Copilot not live for elsa-hub, with the same evidence.
Rechecked
- Scope: the compare against 9496003 is one commit, one file, one line. Nothing else changed, so everything verified in Round 2 still holds. That covers parity with elsa-core#8569 apart from the Greptile and advisory-request differences, the no-live-reviewer fallback, the evidence range #1 to #11, the full-SHA and update-rule wording, the unprotected-
mainnote and the green-CI definition. - Gate lines: every one still says
APPROVE + HIGH @ <head sha>plus green CI. - Dashes:
.github/reviewers.mdandAGENTS.mdat this head are plain ASCII, and the PR body has no em or en dashes.
Merge gate
elsa-hub has no live advisory reviewer, so the gate is Elsa 3 Code Review APPROVE + HIGH on the head plus green CI.
- Review: APPROVE + HIGH @ dfff236.
- CI: CodeQL Analyze (javascript-typescript), GitGuardian Security Checks and license/cla are all green. The merge state is CLEAN.
- Threads: none open.
- The gate is met at this head. Any further push voids this approval.
Why
Agents (Codex, Cursor and others) open most PRs here. The repository had no record of which automated reviewers actually work on it or how to request them, and no stated merge gate. This adds that record, following elsa-workflows/elsa-core#8569, so an agent knows which review is advisory, what the merge gate is, and that the author never reviews its own PR.
Change
.github/reviewers.md("PR reviewers and merge gate"): one row per reviewer (status, how to request, notes), the rules, and dated evidence:APPROVE + HIGH @ <full 40-char head sha>plus green CI. Any push after approval needs a re-review on the new head.Analyze (javascript-typescript)),GitGuardian Security Checksandlicense/cla; there is no build or test workflow.mainhas no branch protection and Lovable commits straight tomain, so the gate covers PRs only, by convention.AGENTS.md(new) with a short "PR reviewers" section that mirrors these rules and points at.github/reviewers.md.Docs only; no code or workflow changes.
Advisory reviewer for this PR
None requested: no advisory reviewer is live on elsa-hub today (see the table below). A Copilot request on this PR was attempted before it was marked not live and never registered. The merge gate still applies.
Evidence (elsa-hub PRs #1 to #11, checked 2026-10-03)
review_requestedevent, no review). Ruleset "Code Quality Copilot review for default branch" is disabled. It works on other elsa-workflows repositories (for example elsa-extensions#272). Becomes live once Copilot review is enabled for elsa-hub and a review actually lands.main, opened after the org app install on 2026-10-03) got no automatic review.