Lock alpha scope, tracker auth, TOPLOC fraud verification, and deferred multi-tracker money-path work; supersede legacy fraud issues with ADR-0018. Co-authored-by: Cursor <cursoragent@cursor.com>
26 lines
752 B
Markdown
26 lines
752 B
Markdown
Status: ready-for-human
|
||
|
||
# 14 — A3: Durable Raft term and vote state (deferred)
|
||
|
||
## What to build
|
||
|
||
Persist Raft `currentTerm`, `votedFor`, and log metadata to disk. In-memory-only term (~26) risks split leadership after tracker restart → duplicate settlement epochs.
|
||
|
||
**Code refs:**
|
||
|
||
- `packages/tracker/meshnet_tracker/raft.py` — `LogEntry.term` (~25–27), election state in `RaftNode`
|
||
|
||
## Acceptance criteria
|
||
|
||
- [ ] Term/vote persisted alongside tracker data dir
|
||
- [ ] Restart resumes as follower/candidate with monotonic term
|
||
- [ ] Test: kill leader mid-settlement, restart, no duplicate payout batch
|
||
|
||
## ADR links
|
||
|
||
- [ADR-0019](../../docs/adr/0019-money-path-consistency-multi-tracker.md) §3
|
||
|
||
## Blocked by
|
||
|
||
Alpha single-settlement posture
|