Open PRs
!gh pr list --repo SDSMT-Capstone-Spice-GUI-Team/Spice-GUI --json number,title,headRefName,mergeable,reviewDecision --jq "[.[] | {n: .number, t: .title, b: .headRefName, m: .mergeable, r: .reviewDecision}]"
PR CI Status
!gh pr list --repo SDSMT-Capstone-Spice-GUI-Team/Spice-GUI --json number,statusCheckRollup --jq "[.[] | {n: .number, checks: [.statusCheckRollup[]? | {name: .name, status: .conclusion}]}]"
Merge Protocol
- •One at a time — merge one PR, wait for CI to propagate, then merge the next
- •Check CI for each PR:
gh pr checks <N> - •If CI green — review the diff briefly, then merge:
bash
gh pr merge <N> --squash --delete-branch
- •If CI failing — check the failure:
- •Formatting:
git checkout <branch> && make format && git add -A && git commit -m "fix formatting" && git push - •Lint: fix the issue,
make lint, commit, push - •Test failure: analyze — if straightforward fix it, otherwise comment on the PR
- •Formatting:
- •If merge conflict — checkout the branch, rebase on target, resolve conflicts:
bash
git checkout <branch> git fetch origin <target> git rebase origin/<target> # resolve conflicts make format && make test && make lint git push --force-with-lease
- •After merge — verify the target branch CI is still green before merging the next PR
Key Rules
- •NEVER merge directly to
main— PRs targetdevelopor epic branches - •
main_window.pyis the #1 merge conflict hotspot (~1700 lines) - •NEVER claim issues or move them to In Progress — that's the authoring agent's job