## 1. Public contracts

- [x] 1.1 Add the `EvelynIOUBurnerService` API with complete JavaDoc for ordered `List<MoneyAmount>` configuration, iteration order, transaction uncertainty, finalization, notification, lifecycle, and process-local reset risks.
- [x] 1.2 Update `JupiterSwapService` JavaDoc to support canonical SOL/WSOL native input through the unchanged exact-input method while preserving legacy SPL and Token-2022 behavior.

## 2. Construction and identity boundaries

- [x] 2.1 Add the reference implementation's authoritative constructor with dependency, numeric, duration, reserve, duplicate, known-UUID, and EVE-input validation plus an order-preserving defensive list copy.
- [x] 2.2 Resolve canonical fixed currencies and validate exactly one non-blank CIS `solana-mint` representation for each configured non-SOL UUID without adding burner-specific input types or changing `MoneyAmount`/DeTag configuration.

## 3. Sequential lifecycle and iteration control

- [x] 3.1 Implement one immediate fixed-delay daemon worker, non-overlapping start/stop semantics, interruption preservation, bounded clean termination, and explicit stop/start reset of process-local pending and suspension state.
- [x] 3.2 Implement the safe iteration boundary and pending-burn-first short circuit so unresolved signatures are awaited before and instead of any new swap or burn work.

## 4. Prioritized buyback path

- [x] 4.1 Inspect configured UUIDs in order, canonicalize through CIS, distinguish native SOL from mint-backed tokens, detect supported token programs and precision internally, enforce reserves, and skip unusable candidates without blocking later inputs or EVE processing.
- [x] 4.2 Resolve fresh canonical input/USDC prices (with exact-one USDC), calculate a downward-rounded exact amount within the reserve and USDC cap, and attempt at most one Jupiter swap per iteration.
- [x] 4.3 Classify definitive versus unknown Jupiter outcomes, never add a second confirmation wait or transaction attempt, and suspend later-lifecycle swaps conservatively for timeout, applicable I/O, or interruption while retaining the burn path.

## 5. Burn finalization and notification

- [x] 5.1 Reload the complete EVE balance with internally detected token program, require a fresh canonical EVE/USDT price, calculate its bound USD value, submit one complete-balance burn, and retain pending data before awaiting.
- [x] 5.2 Handle `FINALIZED` success, definitive failure, timeout, I/O, and interruption without resubmission; suspend unknown signature-less burn submission outcomes for the lifecycle.
- [x] 5.3 Format the fixed proof message exactly and make at most one non-secret-logging notification attempt for each successfully finalized burn, clearing completed pending state before delivery.

## 6. Verification

- [x] 6.1 Review production JavaDoc, lifecycle/state transitions, ValueTag imports, changed-file scope, and absence of parser, autorun wiring, persistence, tests, test hooks, generated-source edits, or burner-specific input types.
- [x] 6.2 Run production compilation and assembly successfully without creating or modifying automated tests.
- [x] 6.3 Run strict OpenSpec validation and safe narrowly scoped structural/manual verification while leaving the change active and unsynchronized.
