Phase 0 — STEP_DONE/TASK_DONE split + owner-follow-up integration smoke
This commit is contained in:
@@ -9,6 +9,8 @@ import {
|
||||
|
||||
describe('paired execution context shared verdict helpers', () => {
|
||||
it('parses visible verdicts from the first summary line only', () => {
|
||||
expect(parseVisibleVerdict('STEP_DONE\nmore to do')).toBe('step_done');
|
||||
expect(parseVisibleVerdict('TASK_DONE\nall done')).toBe('task_done');
|
||||
expect(
|
||||
parseVisibleVerdict(
|
||||
'DONE_WITH_CONCERNS\n\nfollow-up detail that should not affect parsing',
|
||||
@@ -19,6 +21,15 @@ describe('paired execution context shared verdict helpers', () => {
|
||||
});
|
||||
|
||||
it('maps normal owner completion verdicts to reviewer or arbiter signals', () => {
|
||||
expect(
|
||||
resolveOwnerCompletionSignal({
|
||||
phase: 'normal',
|
||||
visibleVerdict: 'step_done',
|
||||
}),
|
||||
).toEqual({
|
||||
kind: 'request_owner_continue',
|
||||
resetStatusToActive: false,
|
||||
});
|
||||
expect(
|
||||
resolveOwnerCompletionSignal({
|
||||
phase: 'normal',
|
||||
@@ -37,6 +48,18 @@ describe('paired execution context shared verdict helpers', () => {
|
||||
});
|
||||
|
||||
it('maps finalize owner outcomes to complete, re-review, or arbiter', () => {
|
||||
expect(
|
||||
resolveOwnerCompletionSignal({
|
||||
phase: 'finalize',
|
||||
visibleVerdict: 'step_done',
|
||||
hasChangesSinceApproval: false,
|
||||
roundTripCount: 0,
|
||||
deadlockThreshold: 2,
|
||||
}),
|
||||
).toEqual({
|
||||
kind: 'request_owner_continue',
|
||||
resetStatusToActive: true,
|
||||
});
|
||||
expect(
|
||||
resolveOwnerCompletionSignal({
|
||||
phase: 'finalize',
|
||||
@@ -70,6 +93,20 @@ describe('paired execution context shared verdict helpers', () => {
|
||||
});
|
||||
|
||||
it('maps reviewer completion verdicts to finalize, owner changes, or arbiter', () => {
|
||||
expect(
|
||||
resolveReviewerCompletionSignal({
|
||||
visibleVerdict: 'task_done',
|
||||
roundTripCount: 0,
|
||||
deadlockThreshold: 3,
|
||||
}),
|
||||
).toEqual({ kind: 'request_owner_finalize' });
|
||||
expect(
|
||||
resolveReviewerCompletionSignal({
|
||||
visibleVerdict: 'step_done',
|
||||
roundTripCount: 0,
|
||||
deadlockThreshold: 3,
|
||||
}),
|
||||
).toEqual({ kind: 'request_owner_changes' });
|
||||
expect(
|
||||
resolveReviewerCompletionSignal({
|
||||
visibleVerdict: 'done',
|
||||
@@ -94,6 +131,11 @@ describe('paired execution context shared verdict helpers', () => {
|
||||
});
|
||||
|
||||
it('maps reviewer failure verdicts to explicit failure signals', () => {
|
||||
expect(
|
||||
resolveReviewerFailureSignal({
|
||||
visibleVerdict: 'task_done',
|
||||
}),
|
||||
).toEqual({ kind: 'request_owner_finalize' });
|
||||
expect(
|
||||
resolveReviewerFailureSignal({
|
||||
visibleVerdict: 'done',
|
||||
|
||||
Reference in New Issue
Block a user