MF-8: Merge + review flow parity across forges #299
Labels
No labels
area:agents
area:dashboard
area:database
area:design
area:design-review
area:flows
area:infra
area:meta
area:security
area:sessions
area:webhook
area:workdir
security
type:bug
type:chore
type:meta
type:user-story
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/claude-hooks#299
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
As a platform engineer, I want squash-merge and review-verdict behaviour to work identically on all three forges (or degrade gracefully when a feature is missing), so that the post-CI routing state machine is forge-agnostic.
Acceptance criteria
Merge
ForgePort.mergePullRequestaccepts astrategy: "squash"default.Do: squash.merge_method: squash.squash: trueon the MR accept call.MergeError.Unmergeable | .Conflict | .CIFail | .AuthLost).Reviews
create_pull_reviewcall sites in domain code withforgePort.submitReview. Adapter translates.listReviewsreturns the merged shape consistently across forges.Stale-review flag
ForgeReview.stale.stale: true.stale?: booleanfield.Tests
webhook-ci.test.ts: CI → reviewer → approval → merge flow passes per-forge using stubbed adapters.Out of scope
References
specs/multi-forge.md§ MF-8.apps/server/src/http/webhook-ci.ts— CI state machine consuming merge/review.Dependencies