[Reliability] Settlement lock state machine for retry-after-failure #25
Labels
No labels
blocked:children
blocked:commit-ready-failed
blocked:depends-231
blocked:depends-236
blocked:depends-237
blocked:depends-238
blocked:depends-239
blocked:gate-fetch
blocked:gate-fetch
blocked:gate-lint
blocked:gate-research
blocked:needs-attention
blocked:needs-decision
blocked:no-changes
blocked:no-procedure
blocked:preflight
blocked:verify-failed
bug
enhancement
feature-request
high-priority
in-progress
lint-cleanup
needs-decompose
needs-triage
ops-retry
ops-task
phase-5
quickfix
security/medium
self-building
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/mesh-seed#25
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Observed during lease-expiry recovery harness.
Current behavior
intent.failedand settlement worker marks settlement lock completed.result.committed, but settlement lock returnsalready_settledand blocks reward settlement.Problem
Current settlement lock semantics treat failed settlement as terminal, which conflicts with retry/recovery flows where later success should settle.
Proposed
Acceptance
Implemented fix in working tree:
intent_id,attempt) usingsettlement_locks_v2.attempton claim/result payloads.Verification:
test_retry_after_failure_can_settle_new_attempt)This resolves the retry-after-failure settlement lock inflection.
Phase Dependency Mapping
Linked to Phase Tracker: #31 (Phase 4: Optimization)
Prerequisites:
Type: Reliability/Accounting
Priority: P2 (financial correctness)
Purpose: Prevent double-spend in settlement
Acceptance Criteria:
Critical for: Economic integrity