fix: prevent infinite loops in paired review (merge_ready oscillation, arbiter re-invocation)

- Owner finalize with concerns now checks deadlock threshold before
  looping back — prevents merge_ready ↔ active infinite oscillation
- Arbiter verdict resets round_trip to threshold-1 instead of 0,
  giving agents one round before re-triggering arbiter
This commit is contained in:
Eyejoker
2026-03-31 04:13:26 +09:00
parent e1b9501e87
commit af550a2aab
3 changed files with 50 additions and 12 deletions

View File

@@ -203,7 +203,7 @@ describe('paired execution context', () => {
status: 'review_ready',
arbiter_verdict: null,
arbiter_requested_at: null,
completion_reason: null,
completion_reason: null,
created_at: '2026-03-28T00:00:00.000Z',
updated_at: '2026-03-28T00:00:00.000Z',
});
@@ -238,7 +238,7 @@ describe('paired execution context', () => {
status: 'review_ready',
arbiter_verdict: null,
arbiter_requested_at: null,
completion_reason: null,
completion_reason: null,
created_at: '2026-03-28T00:00:00.000Z',
updated_at: '2026-03-28T00:00:00.000Z',
});
@@ -276,7 +276,7 @@ describe('paired execution context', () => {
status: 'active',
arbiter_verdict: null,
arbiter_requested_at: null,
completion_reason: null,
completion_reason: null,
created_at: '2026-03-28T00:00:00.000Z',
updated_at: '2026-03-28T00:00:00.000Z',
});
@@ -320,7 +320,7 @@ describe('paired execution context', () => {
status: 'in_review',
arbiter_verdict: null,
arbiter_requested_at: null,
completion_reason: null,
completion_reason: null,
created_at: '2026-03-28T00:00:00.000Z',
updated_at: '2026-03-28T00:00:00.000Z',
});