myxce/.kiro/specs/ha-consistency-invariants/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
2.1 KiB
JSON

{
"feature_name": "ha-consistency-invariants",
"created_at": "2026-06-10T21:40:00-07:00",
"updated_at": "2026-06-11T09:30:00-07:00",
"language": "en",
"phase": "implemented",
"approvals": {
"requirements": {
"generated": true,
"approved": true
},
"design": {
"generated": true,
"approved": true
},
"tasks": {
"generated": false,
"approved": false
}
},
"ready_for_implementation": false,
"note": "UMBRELLA CONTRACT spec (decomposed 2026-06-11): requirements.md/design.md/research.md are the authoritative contract for four implementation sub-specs — ha-commit-engine, ha-commit-barrier-rollout, ha-single-leader-role, ha-convergence-recovery (dependency order in steering/roadmap.md). Do NOT generate tasks for this spec; implement via the sub-specs. Design approved as contract; sub-spec designs inherit and slice it.",
"implementation_status": "implemented — all 4 sub-specs complete (ha-commit-engine 18/18, ha-commit-barrier-rollout 23/23, ha-single-leader-role 17/17, ha-convergence-recovery 19/19; phases reconciled 2026-07-03, all were mislabeled tasks-generated). Requirements 1-7 satisfied. Criterion 2.9 (Facts-Apply invariant, added 2026-06-25) is now SATISFIED — closed by raft-apply-decoupling task 4 (\"Fact apply-after-commit split\", 4.1/4.2) plus D1 (quorum-loss fact policy, resolved+implemented block-but-durable). WAL_MODE_RETAIN facts append-only on receipt; state mutation + reactions moved to the post-commit apply_committed_entry() seam (persist.c:2721) via apply_job_update_transition() for all 9 job-state fact types; the old apply-on-receipt path (apply_wal_entry()) has zero production call sites. Verified by task 6.3 (command/fact apply-notify timing), 7.2 (live-cluster kill-primary-mid-fact-stream soak), 7.4 (throughput regression). design.approved corrected true->matches the note's 'Design approved as contract' (was inconsistently false).",
"gitea": {
"milestone_id": 17,
"issues": {
"requirements_design": 114,
"implementation": 115,
"validation": 116
}
}
}