**Screenshot: The PRs tab in full split-pane layout — left panel showing a PR list with status badges (open, approved, draft, changes_requested) and lane name tags, right panel showing a PR detail view with the Overview tab active, displaying CI check status indicators, reviewer avatars, and a description rendered from markdown. A stacked PR dependency arrow should be visible between two items in the list.
What is the Pull Requests View?
The PRs tab is ADE’s full pull request management interface, connected directly to GitHub. It provides a complete view of every PR across all lanes in your project — their CI status, review state, and merge readiness — without requiring you to switch to a browser. Every lane can have one associated PR. ADE tracks the lane-to-PR link permanently and surfaces PR status inline in the Lanes view, the Workspace Graph, and the History timeline, in addition to the dedicated PRs tab.Lane-to-PR Mapping
Each lane maps to exactly one PR. Creating a PR from a lane links them permanently — lane context pre-fills the PR form automatically.
Stacked PR Support
ADE manages the full lifecycle of stacked PRs: creates them targeting the right branches, rebases them when a parent merges, and merges the stack in the correct order.
Pre-Merge Simulation
Run an on-demand integration simulation before merging — ADE shows predicted conflicts, affected files, and risk level for the specific PR being merged.
Lane-to-PR Mapping
Every lane can have at most one associated PR at any time. The mapping is created when you open a PR from a lane and persists until the PR is closed or merged.| Lane State | PR Badge Shown |
|---|---|
| No PR created yet | ”Create PR” button |
| Draft PR open | Draft badge (grey) |
| PR open, no review | Open badge (blue) |
| PR approved | Approved badge (green) |
| Changes requested | Changes Requested badge (amber) |
| PR merged | Merged badge (purple) |
| PR closed (unmerged) | Closed badge (red) |
Creating a PR from a Lane
Open the lane's PR action
In the Lanes tab, select the lane you want to create a PR for. In the right inspector’s PR sub-tab, click Create PR. Alternatively, click the Create PR button in the lane list row’s action menu (⋮).
Review the pre-filled form
ADE pre-fills the PR creation form with context sourced from the lane:
- Title — generated from the lane’s intent (from its Lane Pack)
- Description — the lane’s intent, acceptance criteria, and diff summary, formatted as markdown. If your repository has a
.github/pull_request_template.md, the template is prepended and the Lane Pack content is appended below it. - Base branch — the lane’s base branch. For stacked lanes, this is automatically set to the parent lane’s branch (not
main). - Reviewers — any reviewers configured in the lane settings or in
.ade/ade.yaml - Labels — labels mapped to the lane’s associated Linear issue (if connected)
**Screenshot: The “Create PR” form filled in — title field showing “feat: add session expiry logic”, description showing a formatted markdown body with an “Intent” section and an “Acceptance Criteria” checklist, base branch dropdown showing “main”, and a “Reviewers” field with two user avatars. A “Draft PR” toggle should be visible and enabled.
Toggle draft mode if needed
If the work is not ready for review, enable the Draft PR toggle. Draft PRs are tracked by ADE but will not be auto-merged even if CI passes and all reviews are complete. Draft mode can be toggled per-lane in lane settings.
Stacked PRs
ADE has first-class support for stacked PR workflows, where a series of lanes build on each other and their PRs target each other (rather than all targetingmain).
**Screenshot: The PR list showing a stack of 3 PRs — “auth-base”, “auth-middleware”, “auth-endpoints” — connected by vertical dependency arrows indicating merge order (bottom up). Each PR shows its CI status indicator. The bottom PR (“auth-base”) has a green “Approved” badge, the middle is “Open”, and the top is “Draft”.
How Stacked PRs Are Structured
When a lane is stacked (its base branch is another lane’s branch), ADE automatically targets that lane’s branch when creating a PR:When a Parent PR Merges
When PR #42 (lane/auth-base → main) is merged:
- ADE detects the merge event via GitHub webhook / polling
- ADE automatically rebases
lane/auth-middlewareontomain(since its parent has now landed onmain) - The target branch of PR #43 is updated from
lane/auth-basetomain - If the rebase encounters conflicts, the affected lane enters
conflictstatus and the rebase pauses for manual resolution - The process repeats for each subsequent lane in the stack
The automatic rebase on parent merge is enabled by default. You can disable it per-stack in
.ade/ade.yaml under stacks.auto_rebase_on_parent_merge: false if you prefer to handle rebase timing manually.Stack Management
The PR list displays stacked PRs with indentation and dependency arrows. The stack header row shows:- Total PRs in the stack
- Number approved / pending / failing CI
- Merge Stack button (enabled when the bottom PR is ready to merge)
PR Detail View
Select any PR in the list to open its full detail in the right panel. The detail view has five tabs.- Overview
- Files Changed
- Comments
- Timeline
- Simulation
The Overview tab shows the full PR summary:
- Title and description — rendered markdown, with edit button (requires GitHub auth)
- Status badges — PR state, draft indicator, merge readiness score
- CI checks — all GitHub Actions checks with their current status (passing, failing, pending, skipped). Click any check to see its log output in an inline log viewer.
- Reviewers — reviewer avatars with approval/changes-requested/pending state
- Assignees and labels
- Base branch and head branch
- Creation date and last updated timestamp
- Conflict Risk badge — the latest integration simulation result for this PR
PR Actions
All PR actions are available from the detail view’s action bar at the top of the right panel.Update PR Description
Update PR Description
Pulls fresh context from the lane’s current Lane Pack and regenerates the PR description. Useful after significant new commits have landed on the lane. ADE shows you a diff of what changed in the description before submitting the update.
Request Review
Request Review
Opens the reviewer picker. Search by GitHub username or team name. ADE suggests reviewers based on code ownership (from
CODEOWNERS if present) and previous review history for the affected files.Approve / Submit Review
Approve / Submit Review
If you are listed as a requested reviewer, the Approve and Request Changes buttons are active. Submit an optional review comment with either action.
Mark as Ready
Mark as Ready
Converts a draft PR to a ready-for-review PR. ADE sends a Slack / Linear notification to configured channels (if integrations are enabled) when a PR moves from draft to ready.
Merge PR
Merge PR
Opens the merge dialog. Select merge strategy (see Merge Strategies below), optionally edit the merge commit message, and confirm. ADE calls the GitHub merge API and waits for the merge to complete before updating the UI.
Close / Reopen PR
Close / Reopen PR
Closes the PR without merging (does not delete the branch). Reopen is available for closed (not merged) PRs.
CI/CD Integration
ADE polls GitHub Actions for CI status on all linked PRs. The CI check list is visible in the PR Overview tab and as an icon badge on the PR list entry.**Screenshot: The CI checks section of the PR Overview tab — showing 4 checks: “build” (green checkmark), “unit-tests” (green checkmark), “e2e-tests” (red X with “2 failures” label), “lint” (green checkmark). The “e2e-tests” row is expanded showing a truncated log output with red error lines. An “Ask CTO about this failure” button sits below the log.
Reading CI Status
| Icon | Status | Meaning |
|---|---|---|
| Green checkmark | success | Check passed |
| Red X | failure | Check failed |
| Yellow spinner | pending | Check is running |
| Grey dash | skipped | Check was skipped |
| Orange exclamation | action_required | Manual action needed |
Viewing CI Logs
Click any check name to expand its log output inline in the Overview tab. Logs are syntax-highlighted for common CI output formats (Go test output, Jest, pytest, etc.). UseCmd+F inside the log viewer to search for specific error text.
CI Failure Assistance
When any required check fails, a “Ask CTO about this failure” button appears below the failing check. Clicking it:- Opens the CTO chat panel
- Pre-loads the failing check’s log output as context
- Pre-fills the message: “CI is failing on PR #[N] in the [check-name] step. Here’s the log: […]”
Merge Strategies
ADE supports all three GitHub merge strategies. Select the strategy in the merge dialog.| Strategy | Description | When to use |
|---|---|---|
| Merge commit | Creates a merge commit with all individual commits | When you want the full commit history preserved |
| Squash and merge | Squashes all commits into one before merging | When individual commits are noisy and you want a clean history |
| Rebase and merge | Replays commits linearly onto the base branch | When you want linear history without a merge commit |
For stacked PR workflows, ADE enforces the same merge strategy across the entire stack. This prevents history fragmentation when a stack of PRs is merged in sequence. Set the stack-level strategy in
.ade/ade.yaml under stacks.merge_strategy.Stack Merge Workflow
The Merge Stack feature merges all PRs in a stack from bottom to top in the correct order, automatically rebasing each subsequent PR after the previous one lands.Verify stack readiness
In the PR list, open the stack header row. The readiness summary shows how many PRs in the stack are approved and CI-passing. All PRs must be in a mergeable state before the stack merge can proceed.
Click 'Merge Stack'
The Merge Stack button is enabled when all PRs in the stack are approved and all required CI checks have passed. Click it to open the Stack Merge dialog.
Review the merge order
The dialog shows the planned merge order (bottom-up) and the merge strategy to be used. Review and confirm.
Monitor the merge sequence
ADE merges PR #1 (the bottom of the stack), then immediately rebases PR #2 onto
main and updates its target branch, then merges PR #2, and so on. A progress indicator tracks each step.If a merge step fails (e.g., because the rebase encountered a conflict), the process pauses and surfaces the conflict for resolution. After you resolve it, click Resume Stack Merge to continue.Draft PRs
Lanes created with “draft” mode produce draft PRs. Draft mode can be set:- At lane creation time (in the New Lane dialog, under Advanced)
- After creation, in the Lane Settings (kebab menu ⋮ > Settings > PR Settings > Draft mode)
- Per-project default in
.ade/ade.yaml:
PR Templates
ADE respects.github/pull_request_template.md if present in your repository. When generating a PR description, ADE:
- Loads the template content
- Appends the lane’s intent and acceptance criteria (from the Lane Pack) below the template
- Fills in any template sections it can infer (e.g., “Type of change” checkboxes based on the diff)
.github/PULL_REQUEST_TEMPLATE/), ADE presents a dropdown to select which template to use when creating the PR.
Troubleshooting
Merge is blocked — 'Base branch is not up to date'
Merge is blocked — 'Base branch is not up to date'
GitHub requires the PR branch to be up to date with its base branch before merging (when branch protection rules require this). In the PR Overview, click Update Branch — ADE will rebase or merge the base branch into your PR branch. If conflicts arise during the update, the lane enters
conflict status and the Conflicts tab shows the details.Stale PR — description doesn't reflect recent commits
Stale PR — description doesn't reflect recent commits
The PR description was generated from an earlier Lane Pack. Click Update PR Description in the action bar — ADE regenerates the description from the current Lane Pack state. Review the diff in the preview before submitting the update to GitHub.
CI is failing but the code looks correct
CI is failing but the code looks correct
Use the “Ask CTO about this failure” button in the PR Overview to route the CI log to the CTO agent. Common causes ADE’s CTO agent detects: missing environment variable in CI, test file not updated after a function rename, outdated snapshot, or a flaky test. The CTO agent will propose a fix.
Stack Merge paused mid-sequence
Stack Merge paused mid-sequence
If a conflict arises during a stack merge rebase, the process pauses. The Conflicts tab will show the conflict. Resolve it using the standard conflict workflow, then return to the PRs tab and click Resume Stack Merge. The sequence picks up from the point it paused — it does not restart from the beginning.
Lane and PR are out of sync
Lane and PR are out of sync
If the underlying GitHub PR was merged or closed directly on GitHub (not through ADE), ADE will detect the state change on the next poll cycle (within 2 minutes) and update the lane badge accordingly. If the sync seems stuck, click the Refresh icon in the PR detail header to force an immediate re-fetch from the GitHub API.
Cannot post comments — authentication error
Cannot post comments — authentication error
Posting comments and submitting reviews requires a GitHub personal access token with
pull_requests: write scope, or a GitHub App installation. Configure GitHub authentication in Settings > Integrations > GitHub. Read-only PR viewing (status, diffs, CI) works with a read-only token or the public GitHub API.Configuration Reference
Key PR-related settings in.ade/ade.yaml:
What’s Next
Conflicts
Understand how integration simulations relate to the continuous conflict prediction engine.
Lanes
Learn how stacked lane relationships drive the stacked PR workflow automatically.
History
See every PR event — reviews, CI changes, merges — in the project operations timeline.
CTO Agent
Let the CTO agent monitor PR CI health, triage failures, and delegate fixes to worker agents.