myxce/.kiro/specs/raft-commit-safety/spec.json
Rongsong Shen b0f2aea466
chore(gitea-sync): record first status-driven Gitea sync
- buglog: gitea_issue / gitea_synced_status for the 20 bugs created and the
  30 already-synced entries (#25/#35 reopened as partial)
- .kiro/specs/*/spec.json: "gitea" milestone/issue mapping for all 66 specs
  (65 milestones + 195 issues created, 158 closed at creation)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 10:22:05 +00:00

32 lines
1.9 KiB
JSON

{
"feature_name": "raft-commit-safety",
"created_at": "2026-06-21T12:00:00Z",
"updated_at": "2026-06-25T00:00:00Z",
"language": "en",
"phase": "implemented",
"approvals": {
"requirements": {
"generated": true,
"approved": true
},
"design": {
"generated": true,
"approved": true
},
"tasks": {
"generated": true,
"approved": true
}
},
"ready_for_implementation": true,
"implementation_status": "implemented — commit-safety + vote-freshness half landed + validated (18/18 tasks, raft_sim GO per memory project_raft_commit_safety_done). Phase reconciled 2026-06-25 (was mislabeled tasks-generated).",
"note": "Auto-approved (-y mode). Adds the commit-safety + election-freshness half of raft.tla on top of raft-log-replication's library log. raft_advance_commit (AdvanceCommitIndex, raft.tla:259) advances commit_index to Max(agreeIndexes from match_index[]) ONLY when on_get_entry_term(Max)==currentTerm (Figure-8 current-term rule, G4); new callback on_commit_advanced(ctx, commit_index) TRIGGERS the existing synchronous commit barrier / persist-before-ACK durability (does NOT replace it). Vote/PreVote freshness upgraded from LSN-only to (lastLogTerm,lastLogIndex) lexicographic compare (HandleRequestVoteRequest logOk, raft.tla:285, G6) carried via last_log_term in raft_on_vote_request + on_vote_eligible/vote-request payload. Simulator asserts Figure-8 refusal + Leader Completeness. Boundary: owns commit-index advance + vote freshness in src/lib/raft ONLY; NOT the log model/AppendEntries (raft-log-replication), the barrier/durability mechanism (controller), config markers/snapshot (ha-term-safety), or the conformance harness (raft-sim-conformance). Depends: raft-log-replication (HARD). Closes bug-851 G4/G6.",
"gitea": {
"milestone_id": 34,
"issues": {
"requirements_design": 165,
"implementation": 166,
"validation": 167
}
}
}