Skip to content

test(automation): cover completion effect recovery - #856

Open
unohee wants to merge 2 commits into
mainfrom
wt/t_3822a10d
Open

unohee wants to merge 2 commits into
mainfrom
wt/t_3822a10d

Conversation

@unohee

@unohee unohee commented Oct 25, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Cover recovery when the same-attempt completion effect is already applied, including preservation of the original payload.
  • Cover repeated reconciliation of multiple stale worktree rows without changing their state or throwing.

Verification

@intrect/openswarm@0.24.4 test
node --experimental-vm-modules node_modules/vitest/vitest.mjs run --pool=forks --maxWorkers=2 src/automation/runLedgerRecovery.test.ts src/automation/autonomousRunner.durable.test.ts

RUN v4.1.8 /home/unohee/dev/OpenSwarm/.worktrees/t_3822a10d

[AutonomousRunner] Task source registered (linear)
[Scheduler] Task wall-clock budget: 90min for 3 iteration(s)
[AutonomousRunner] Task source registered (linear)
[Scheduler] Task wall-clock budget: 90min for 3 iteration(s)
[AutonomousRunner] Task source registered (linear)
[Scheduler] Task wall-clock budget: 90min for 3 iteration(s)
[AutonomousRunner] Task source registered (linear)
[Scheduler] Task wall-clock budget: 90min for 3 iteration(s)
[AutonomousRunner] Heartbeat triggered
[HB] ▶ Heartbeat started
[HB] ✓ Time window: allowed
[HB] ⟳ Fetching tasks from Linear...
[Scheduler] Queue cleared
[AutonomousRunner] Stopped (drained=true, remaining=0, quarantined=0, handlers=0)
[AutonomousRunner] Loaded task state: 1 completed, 0 failed
[Scheduler] Task wall-clock budget: 90min for 3 iteration(s)
[HB] ✓ Imported 1 legacy run state(s) into automation.db
[AutonomousRunner] Task source registered (linear)
[Scheduler] Task wall-clock budget: 90min for 3 iteration(s)
[Scheduler] INT-STUCK resumed from NEEDS_HUMAN (idle_fill, 0 free slot(s) left)
[HB] ♻ Recovered 1 Todo issues from completed/failed/rejected list
[AutonomousRunner] Task source registered (linear)
[Scheduler] Task wall-clock budget: 90min for 3 iteration(s)
[Reconciler] INT-92 has a draft PR (https://github.com/acme/repo/pull/92) rolled back by review — returned to the queue rather than completed
[AutonomousRunner] Task source registered (linear)
[Scheduler] Task wall-clock budget: 90min for 3 iteration(s)
[Reconciler] INT-92 has a draft PR (https://github.com/acme/repo/pull/92) because 1 sibling PR(s) already close the issue — recording it as delivered
[Reconciler] Recovered published run INT-92: https://github.com/acme/repo/pull/92
[AutonomousRunner] Task source registered (linear)
[Scheduler] Task wall-clock budget: 90min for 3 iteration(s)
[Reconciler] INT-92 has a draft PR (https://github.com/acme/repo/pull/92) of no recorded cause — parked for a human rather than re-run
[AutonomousRunner] Task source registered (linear)
[Scheduler] Task wall-clock budget: 90min for 3 iteration(s)
[Reconciler] Recovered published run INT-91: https://github.com/acme/repo/pull/91
[AutonomousRunner] Task source registered (linear)
[Scheduler] Task wall-clock budget: 90min for 3 iteration(s)
[Reconciler] Recovered published run AX-876: https://github.com/acme/repo/pull/171
[AutonomousRunner] Task source registered (linear)
[Scheduler] Task wall-clock budget: 90min for 3 iteration(s)
[Scheduler] Task wall-clock budget: 90min for 3 iteration(s)
[Reconciler] stale-one: cleared missing worktree pointer (clear)
[Reconciler] stale-two: cleared missing worktree pointer (clear)
[Reconciler] stale-three: cleared missing worktree pointer (clear)
[AutonomousRunner] Task source registered (linear)
[Scheduler] Task wall-clock budget: 90min for 3 iteration(s)
[AutonomousRunner] Heartbeat triggered
[HB] ▶ Heartbeat started
[HB] ✓ Time window: allowed
[HB] ⟳ Fetching tasks from Linear...
[HB] ✓ Tracker cache: 0 bulk hit(s), 1 explicit lookup(s), 1 terminal ledger row(s) reconciled
[HB] — No tasks in backlog
[Scheduler] Task wall-clock budget: 90min for 3 iteration(s)
[Scheduler] Started task: hung executor
[Scheduler] Task started: hung hung executor
[Scheduler] Queue cleared
[AutonomousRunner] Stopped (drained=false, remaining=1, quarantined=0, handlers=0)
[Scheduler] Task cancelled: hung executor
[Scheduler] Task cancelled: hung hung executor

Test Files 2 passed (2)
Tests 17 passed (17)
Start at 10:20:44
Duration 5.26s (transform 2.57s, setup 74ms, import 489ms, tests 5.02s, environment 0ms) (17 passed)

@intrect/openswarm@0.24.4 typecheck
tsc --noEmit -p tsconfig.check.json

The lost-worktree + existing non-draft PR + already-applied effect integration scenario remains untested and is not claimed as complete.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant