Skip to content

ci: ground bot changes and reviews in scope and evidence - #571

Merged
vuanhphung merged 4 commits into
mainfrom
ci/engineer-bot-scope-guardrails
Nov 7, 2026
Merged

vuanhphung merged 4 commits into
mainfrom
ci/engineer-bot-scope-guardrails

Conversation

@vuanhphung

@vuanhphung vuanhphung commented Nov 6, 2026 •

Copy link
Copy Markdown
Collaborator

Successive bot reviews can broaden a focused fix, repeat settled arguments, or propose changes based on unverified assumptions. Anchor implementation to the original acceptance criteria and explicit maintainer direction, preserving behavior outside the task.

Require engineers and reviewers to verify execution paths, capabilities, and downstream contracts before acting or raising findings. Use available review history and require new evidence to reopen settled concerns. Keep tests focused on intended behavior and relevant boundary interactions, and report verification and deferred work accurately.

Validation: git diff --check and commit hooks passed. Prompt-only changes; no live bot evaluation. Supplying additional review history remains an engine concern.

Signed-off-by: Vu Anh Phung <vu.phung@databricks.com>

@peco-review-bot peco-review-bot 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.

Verdict: 1 Low

Looks good: this prompt-only change fits the existing blocked/out_of_scope outcome contract (.bot/config.yaml:107). There is one low concern: the new scope wording doesn't say whether a review comment came from a maintainer or from a bot.

Scope and stopping rules:
- The original task and explicit maintainer direction define the acceptance
criteria. Use the supplied context and relevant tests to establish them;
review suggestions alone do not expand the task.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔵 Low — The follow-up prompt runs on review comments, but "review suggestions alone do not expand the task" doesn't say whose review it means. A human maintainer's review comment is "explicit maintainer direction", while a review-bot suggestion is not. As written, the model could treat both the same way. It might refuse a maintainer's in-thread request as out of scope and report blocked, or it might go along with a bot's request to broaden the change. The PR also deletes the explicit public-API guardrail ("keep public API changes out of scope unless the reviewer explicitly asks"), so this sentence is now the only thing deciding when a public-API change is allowed. Suggest separating the two cases, e.g. "automated/bot review suggestions alone do not expand the task; a maintainer's explicit request in the thread counts as maintainer direction", and keeping a short reminder that changes to exported signatures need that direction.

Signed-off-by: Vu Anh Phung <vu.phung@databricks.com>

@peco-review-bot peco-review-bot 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.

Verdict: 1 Low

Looks good: one low finding about a sentence left with no instruction after an edit. The changes only touch prompts and match the outcome names the prompts already use (blocked, out_of_scope). Nit: in the follow-up prompt, line 16 (findings. If the scope is unclear or a broader change or policy decision is needed,) is wider than the rest of the block. Re-wrapping it would match the surrounding style.

(`printWidth 120`, single quotes, trailing commas). TypeScript is pinned to
5.5.4 — don't rely on newer syntax. This is a widely-consumed connector — keep
public API changes out of scope unless the reviewer explicitly asks.
5.5.4 — don't rely on newer syntax. This is a widely-consumed connector.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔵 Low — Removing the trailing clause leaves This is a widely-consumed connector. as a bare sentence with no instruction attached. The guidance now lives in the new "Scope and stopping rules" block (Preserve behavior and public contracts outside the task). That block also says only a human maintainer can widen scope, where the old text said "the reviewer", which is a reasonable tightening. Either delete the leftover sentence or point it back to the new rule (e.g. This is a widely-consumed connector — see the scope rules above for public API changes.) so the model doesn't read it as context with no instruction.

Signed-off-by: Vu Anh Phung <vu.phung@databricks.com>
@vuanhphung vuanhphung changed the title ci: keep engineer bot changes within task scope ci: ground bot changes and reviews in scope and evidence Nov 7, 2026

@peco-review-bot peco-review-bot 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.

Verdict: 1 Low

Looks good: these are prompt-only changes, and the scope and evidence rules agree with each other and with the existing blocked / out_of_scope outcomes (.bot/config.yaml:107; follow-up L49 already uses blocked). One low concern: the follow-up prompt's public-API guard got weaker. Nit: line 15 of engineer-followup/system.md is longer than the ~80-column wrap the rest of the file uses.

(`printWidth 120`, single quotes, trailing commas). TypeScript is pinned to
5.5.4 — don't rely on newer syntax. This is a widely-consumed connector — keep
public API changes out of scope unless the reviewer explicitly asks.
5.5.4 — don't rely on newer syntax. This is a widely-consumed connector.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔵 Low — The PR removes the explicit public-API guard from the follow-up prompt: "keep public API changes out of scope unless the reviewer explicitly asks". The new wording at L14-15 ("Preserve behavior and public contracts outside the task") is weaker. It only protects contracts outside the task, so a follow-up edit could now change an exported signature whenever it judges that change to be inside the task, with no explicit request needed.

The author prompt still says "avoid changing exported signatures … unless the bug is squarely there", so the two flows no longer match on how strict they are about the public API. If you meant to keep the old guarantee, add a short clause to the scope rules, e.g. "Do not change exported signatures or documented behavior unless a human maintainer explicitly asks." That would also fit the new rule that only human maintainers can revise scope.

Signed-off-by: Vu Anh Phung <vu.phung@databricks.com>

@peco-review-bot peco-review-bot 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.

✅ No issues identified by the review bot.

@vuanhphung
vuanhphung added this pull request to the merge queue Nov 7, 2026
Merged via the queue into main with commit ca316a4 Nov 7, 2026
23 checks passed
@vuanhphung
vuanhphung deleted the ci/engineer-bot-scope-guardrails branch November 7, 2026 00:59

This branch was previously deployed

1 inactive deployment
azure-prod — 506c9a9d Deployed Nov 7, 2026 by vuanhphung via e2e-test (24.22.1, 24_22_1) #1812
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant