Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 28 additions & 11 deletions plans/issue-kickoff/issue-28.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,32 @@
# Issue #28 kickoff
# Issue #28 kickoff — stale `CHANGES_REQUESTED` gate handling

Title: automation: handle stale CHANGES_REQUESTED gate after bot re-review
Issue: https://github.com/nutthouse/tutti/issues/28

## Goal
Implement and ship issue #28 with tests and docs.
## Problem framing
Merge orchestration can deadlock when GitHub keeps `CHANGES_REQUESTED` from an older review even after follow-up commits and green checks.

## First slice (next PR updates)
- [ ] Reproduce/validate current behavior
- [ ] Implement minimal end-to-end path
- [ ] Add tests for success + failure cases
- [ ] Update docs/changelog/versioning per policy
## Focused implementation slices
1. **Readiness evaluator**
- Add a helper that compares:
- latest actionable review timestamp
- latest head commit timestamp
- required-checks all-green state
2. **Stale-review rule**
- Mark stale when:
- checks are green
- latest commit is newer than latest actionable review
- no newer actionable comments/reviews exist
3. **Orchestrator handling**
- Trigger one re-review request/ping path
- Add bounded wait + poll loop
- Terminal fallback: `needs-human-unblock`
4. **Operator-visible output**
- PR summary line includes stale-review diagnosis and chosen action.

## Blockers
- None yet (kickoff PR)
## Acceptance mapping
- Distinguish unresolved feedback vs stale review lock ✅
- Terminal status includes merged/needs-human-unblock ✅
- Deterministic summary comment path ✅

## Next code change in this branch
- Implement readiness decision enum + tests for stale/non-stale scenarios.
Loading