finalize configuration replication
This commit is contained in:
parent
e1517bbf28
commit
fa66d1ba9c
30 changed files with 8867 additions and 1560 deletions
|
|
@ -36,3 +36,17 @@
|
|||
- Added on_trace callback to raft_callbacks_t for full protocol observability
|
||||
- Simulator dump log enables post-mortem analysis of split-brain scenarios
|
||||
- raft_snapshot() provides safe point-in-time state read for crash/failure logging
|
||||
|
||||
---
|
||||
|
||||
# Cross-Spec Gap Audit (2026-06-08)
|
||||
|
||||
> Batch `/kiro-validate-gap` across 9 specs on persistent_ha branch.
|
||||
|
||||
## Analysis Summary
|
||||
|
||||
- **raft-library** is **~100% complete**. All 7 task groups (1–7), all subtasks (1–2.2, 3.1–3.5, 4.1–4.2, 5.1–5.4, 6.1–6.4, 7) are `[x]` in tasks.md. The `ready_for_implementation` flag is set in spec.json.
|
||||
- **No remaining gaps**: The library (`src/lib/raft/raft.h`, `raft.c`, `raft_sim.c`) exposes `raft_state_t` + `raft_callbacks_t` with 9 callback hooks. The deterministic simulator (`raft_sim.c`) verifies split-brain freedom across 100 randomized rounds. The controller adapter in ha.c delegates all election state management (term, voted_for, quorum evaluation) to the raft library.
|
||||
- **Cross-spec integration**: `election-iomgr-refactor` uses `raft_start_election` instead of the old `am_i_primary_quorum`. The adapter callbacks in ha.c wire `on_send_vote_request` → iomgr async connect, `on_become_leader` → `cluster_init_phase2` + config push, `on_become_follower` → `CTRL_STANDBY`. The `on_vote_eligible` callback implements the freshness gate (config_tag + applied_lsn comparison) and role gate (`CTRL_PRIMARY_COMMITTING` → deny).
|
||||
- **Test coverage**: 34+ Unity test cases across 5 groups (A–H) covering basic election correctness, voted_for invariant, eligibility policy, quorum evaluation, election timeout, RDHUP failover, and split-brain prevention. All pass under ASAN.
|
||||
- **Recommendation**: The spec can be marked `implemented`.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue