feat: auto-trigger reviewer after owner completion with round trip limit

- Owner finishes → auto mark review_ready → reviewer executes
- Reviewer finishes → task back to active → owner can respond
- Automatic ping-pong until consensus or round trip limit
- PAIRED_MAX_ROUND_TRIPS env var (default 10, 0 = unlimited)
- round_trip_count tracked per task in DB
This commit is contained in:
Eyejoker
2026-03-29 18:57:16 +09:00
parent 338c1f6a1d
commit a1e5418a2f
10 changed files with 105 additions and 45 deletions

View File

@@ -262,7 +262,7 @@ describe('createMessageRuntime', () => {
reviewer_service_id: 'codex-main',
title: null,
source_ref: 'HEAD',
plan_notes: null,
plan_notes: null, round_trip_count: 0,
review_requested_at: '2026-03-29T00:00:00.000Z',
status: 'review_ready',
created_at: '2026-03-29T00:00:00.000Z',
@@ -354,7 +354,7 @@ describe('createMessageRuntime', () => {
reviewer_service_id: 'codex-main',
title: null,
source_ref: 'HEAD',
plan_notes: null,
plan_notes: null, round_trip_count: 0,
review_requested_at: null,
status: 'active',
created_at: '2026-03-29T00:00:00.000Z',
@@ -2841,5 +2841,4 @@ describe('createMessageRuntime', () => {
expect(enqueueTask).not.toHaveBeenCalled();
expect(db.getMessagesSinceSeq).not.toHaveBeenCalled();
});
});