post-merge
Post-merge integration gate — cleanup, build, test, verify issues, update memory
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Post-merge integration gate — cleanup, build, test, verify issues, update memory
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Multi-stage iterative review pipeline across all active worktree branches
Post-merge integration gate — cleanup, build, test, verify issues, update memory
Multi-stage iterative review pipeline across all active worktree branches
SOC 직업 분류 기준
| name | post-merge |
| description | Post-merge integration gate — cleanup, build, test, verify issues, update memory |
| user-invokable | true |
Run after all PRs in a batch are merged. Verifies the merged main is clean, closes out tracking work, and updates project memory.
--skip-cleanup: skip worktree/branch cleanup (already done manually)--skip-memory: skip the memory update stepgit fetch origin
git checkout main
git pull origin main
If not already on main, stash or warn before switching.
git worktree list.claude/worktrees/:
git branch --merged main)git worktree remove {path} then git branch -d {branch}git worktree prune -v, then
git worktree list to confirm. A git worktree remove that is
interrupted (e.g. slow NFS target/ deletes) can leave the directory
gone but the admin registration behind (shows as prunable); the stale
entry makes VSCode/Git report "too many active changes". Always prune
after the removal loop.git fetch --prune origin
git branch -vv | grep ': gone]' | awk '{print $1}'
Delete local branches whose remote is gone (only if merged).Skip this step if --skip-cleanup is in $ARGUMENTS.
IMPORTANT: Always cargo clean before pixi run build after merging
multiple PRs. Stale incremental artifacts from worktrees cause spurious
"can't find crate" errors with maturin.
pixi run clean
pixi run build
If pixi run build fails, diagnose and fix on main immediately.
cargo test --workspace --exclude nereids-python
All tests must pass. If failures occur:
pixi run test-python
Common failure mode: Python test match= regex patterns don't align with
changed Rust error messages. Fix the test patterns to match actual messages.
If failures occur, fix, commit, push, and re-run.
If Steps 3-5 required fixes on main:
git push origin main
For each issue that was part of this batch:
gh issue view {number} --json state --jq '.state'
CLOSED: confirmed (auto-closed by PR merge)OPEN: close with comment referencing the merged PR:
gh issue close {number} -c "Resolved in PR #{pr_number}"
Also check if any parent epics should be closed (all sub-issues done).
Add all closed issues AND any newly created deferred-P2 issues to the NEREIDS Development project (number 8):
gh project item-add 8 --owner ornlneutronimaging \
--url https://github.com/ornlneutronimaging/NEREIDS/issues/{number}
Repeat for every issue number involved in this batch (closed + deferred). This keeps the project board in sync for velocity tracking.
Unless --skip-memory is in $ARGUMENTS:
MEMORY.mdPresent a summary table:
| Gate | Status |
|---|---|
pixi run build | PASS/FAIL |
cargo test | PASS — N tests (M ignored) |
pixi run test-python | PASS — N tests |
| Issues closed | #X, #Y, #Z |
| Fixes on main | N commits (if any) |
If all gates pass: "Post-merge integration complete. Main is clean."