feat(FN-5147): complete Step 3 — gate remaining in-review mutators
Fusion-Task-Id: FN-5147 Fusion-Task-Lineage: 2a0e5bd4-b2ea-498c-95ef-85126819e824
This commit is contained in:
committed by
gsxdsm
parent
59c68043aa
commit
17cf473703
@@ -7621,8 +7621,10 @@ describe("autoMerge gating for mutating in-review sweeps (FN-5147)", () => {
|
||||
"recoverStuckMergeDeadlocks",
|
||||
"recoverOrphanOnlyScopeViolations",
|
||||
"recoverAlreadyMergedReviewTasks",
|
||||
"recoverForeignOnlyContaminatedInReviewTasks",
|
||||
"recoverMissingWorktreeReviewFailures",
|
||||
"recoverPartialProgressNoTaskDoneFailures",
|
||||
"reclaimSelfOwnedBranchConflicts",
|
||||
] as const)("skips entirely when autoMerge is disabled (respects PR-based review flow): %s", async (methodName) => {
|
||||
if (methodName === "recoverReviewTasksWithFailedPreMergeSteps") {
|
||||
manager = new SelfHealingManager(store, { rootDir: "/tmp/test-project", recoverFailedPreMergeStep: vi.fn() });
|
||||
|
||||
@@ -1706,11 +1706,14 @@ export class SelfHealingManager {
|
||||
/**
|
||||
* STANDING: do not auto-discard stranded commits. Reclaim preserves commits;
|
||||
* unrecoverable conflicts are escalated for human review.
|
||||
*
|
||||
* No-op when `settings.autoMerge === false` — PR-based review flow owns lifecycle until human merge.
|
||||
*/
|
||||
async reclaimSelfOwnedBranchConflicts(): Promise<number> {
|
||||
try {
|
||||
const settings = await this.store.getSettings();
|
||||
if (settings.globalPause || settings.enginePaused) return 0;
|
||||
if (settings.autoMerge === false) return 0;
|
||||
|
||||
const todoCandidates = await this.store.listTasks({ column: "todo", slim: true });
|
||||
const inProgressCandidates = await this.store.listTasks({ column: "in-progress", slim: true });
|
||||
|
||||
Reference in New Issue
Block a user