Epic: #46
Summary
Harden compaction concurrency/locking and retry behavior to avoid race conditions and partial writes.
Problem
- Concurrent compactions or aborts can cause partial state or confusing outcomes.
Proposal
- Validate locking coverage: session lock acquired for all compactions without external
signal.
- Handle abort race gracefully; ensure summary text part is either complete or clearly aborted with usable content.
- Retry backoff already exists; verify edge cases and add tests.
Code Refs
- packages/opencode/src/session/compaction.ts:90-93 (SessionLock usage)
- packages/opencode/src/session/compaction.ts:262-313 (retry loop)
Tasks
Acceptance Criteria
- No data corruption or confusing partial state under concurrent/aborted compactions.
Epic: #46
Summary
Harden compaction concurrency/locking and retry behavior to avoid race conditions and partial writes.
Problem
Proposal
signal.Code Refs
Tasks
Acceptance Criteria