Skip to content

docs(agents): cross-repo dispatch pattern + e2e-before-merge gate#837

Merged
buremba merged 2 commits into
mainfrom
docs/agent-dispatch-and-e2e
May 18, 2026
Merged

docs(agents): cross-repo dispatch pattern + e2e-before-merge gate#837
buremba merged 2 commits into
mainfrom
docs/agent-dispatch-and-e2e

Conversation

@buremba
Copy link
Copy Markdown
Member

@buremba buremba commented May 18, 2026

Summary

  • Owletto agents work in a standalone `~/Code/owletto` clone, not via the lobu submodule (`packages/owletto/`). Submodule worktrees inherit `origin = lobu-ai/owletto` and can't push lobu PRs — bit two agents in the 2026-05-17 triage.
  • Don't pass `"REPO: /absolute/path"` in dispatch prompts. Agents take it as a cwd hint and `cd` out of their isolation worktree onto the main checkout.
  • New hard gate: e2e red→fix→green reproducer in PR body for every bug fix. Bail if you can't reproduce. Pi approval validates code shape, not that the fix hits the actual smoking gun.

Why now

Triage of 24h-old issues shipped three PRs (#833, #835, owletto#160) without any reproducer. Pi flagged one of them (#835) as "not reproducible from code alone" — merged anyway. Honest cost: two prod fixes need 24h of log-watching to confirm they hit the actual bug. This PR codifies the rule that would have caught that.

Test plan

  • Diff is 12 lines, AGENTS.md only.
  • Existing rules unchanged; new bullets sit alongside them.

🤖 No-op verification — docs only, no code path affected.

Summary by CodeRabbit

  • Documentation
    • Clarified workflow guardrails for cross-repo dispatch: use a standalone local clone and avoid absolute-path directives in prompts.
    • Added an "E2E before merge (hard gate)" requirement for bug-fix PRs: reproduce → fix → green validation, required PR-body contents, a bail-out rule if reproduction is impossible, and a draft/exception path when required environments are unreachable.

Review Change Stack

- Owletto agents work in standalone ~/Code/owletto clone, not packages/owletto submodule (avoids inherited origin → wrong remote).
- Don't pass "REPO: /absolute/path" in dispatch prompts — agents cd out of their isolation worktree.
- Add e2e red→fix→green hard gate before opening bug-fix PRs. Bail if you can't reproduce.

Motivated by the 2026-05-17 triage: both #781 and #782 agents hit the origin misconfig, and all three PRs (#833, #835, owletto#160) shipped without a reproducer.
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 18, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 4a6003a2-ee97-4ff1-98fe-a44b52627985

📥 Commits

Reviewing files that changed from the base of the PR and between de85d8e and d419b92.

📒 Files selected for processing (1)
  • AGENTS.md

📝 Walkthrough

Walkthrough

AGENTS.md received two documentation additions: guardrails for cross-repo dispatch when working on the owletto submodule (requiring standalone clone path and forbidding absolute REPO directives) and a new E2E before merge hard-gate procedure for bug-fix PRs (defining reproduce/fix/re-run validation, required PR-body content, and exception handling).

Changes

Agent Workflow Procedures

Layer / File(s) Summary
Cross-repo dispatch and E2E validation guardrails
AGENTS.md
Added constraints for owletto cross-repo dispatch (standalone clone, no absolute REPO directives) and inserted E2E before merge hard-gate requiring bug-fix PRs to demonstrate reproduce → fix → re-run validation with documented PR-body content and fallback rules for unreachable environments.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 I nibble notes on windy nights,

I stitch the paths of code and light,
Reproduce, then mend, then watch it green,
A tidy hop where bugs were seen,
Cheers—tiny paws, a document bright.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely summarizes the two main changes: cross-repo dispatch pattern documentation and the new e2e-before-merge gate requirement.
Description check ✅ Passed The PR description covers the summary, rationale, and test plan, though it deviates from the template structure by omitting the standard test plan checklist format.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/agent-dispatch-and-e2e

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov-commenter
Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
AGENTS.md (1)

159-167: ⚡ Quick win

Consider clarifying the "Pi approval" reference.

Line 165 mentions "Pi approval validates code shape" without defining what Pi is. If Pi is an internal tool, bot, or reviewer known to the team, this may be fine. However, for new contributors or agents unfamiliar with the term, a brief parenthetical explanation (e.g., "Pi approval (automated code-shape check)") would improve clarity.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@AGENTS.md` around lines 159 - 167, Clarify the ambiguous "Pi approval"
reference in AGENTS.md by updating the sentence that reads "Pi approval
validates code shape" to include a short parenthetical explaining what Pi is
(e.g., "Pi approval (automated code-shape/formatting check or internal bot)"),
so new contributors understand it; locate the phrase "Pi approval validates code
shape" in the E2E before merge section and add the concise parenthetical
immediately after "Pi approval".
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@AGENTS.md`:
- Around line 159-167: Clarify the ambiguous "Pi approval" reference in
AGENTS.md by updating the sentence that reads "Pi approval validates code shape"
to include a short parenthetical explaining what Pi is (e.g., "Pi approval
(automated code-shape/formatting check or internal bot)"), so new contributors
understand it; locate the phrase "Pi approval validates code shape" in the E2E
before merge section and add the concise parenthetical immediately after "Pi
approval".

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: d43dc7d4-842f-4303-b98e-8cbed9c12638

📥 Commits

Reviewing files that changed from the base of the PR and between d159443 and de85d8e.

📒 Files selected for processing (1)
  • AGENTS.md

@buremba
Copy link
Copy Markdown
Member Author

buremba commented May 18, 2026

Addressed in the latest commit — parenthetical clarifies Pi is the project's automated PR-review CLI invoked as pi -p <PR>. Thanks for catching.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants