myxce/.kiro/specs/controller-status/spec.json
Rongsong Shen 9a0fec667b chore(controller-status): record delta impl status (6.1-6.3 done, 6.4 pending live)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 09:31:29 +00:00

34 lines
2.1 KiB
JSON

{
"feature_name": "controller-status",
"created_at": "2026-06-19T00:00:00Z",
"updated_at": "2026-06-20T00:00:00Z",
"language": "en",
"phase": "tasks-generated",
"approvals": {
"requirements": {
"generated": true,
"approved": true
},
"design": {
"generated": true,
"approved": true
},
"tasks": {
"generated": true,
"approved": true
}
},
"ready_for_implementation": true,
"implementation": {
"completed": true,
"tasks_done": "1.1-5.1 (all)",
"notes": "ctrlstatus opcode + handler + all-roles dispatch gate + libxce any-node & authoritative reads + ctrlstatus command + wait-primary swap, all reviewed and committed; E2E-verified live (primary self-reports, standbys answer with answered-by, config SHA-256 checksum identical across nodes, authoritative wait-primary names the primary). E2E found+fixed the primaryName-from-vestigial-primary_host bug. Out-of-boundary upstream finding: libxce failover returns EINVAL on a dead-first-master (affects joblist equally) -> route to libxce-failover."
},
"delta": {
"reopened_at": "2026-06-20T00:00:00Z",
"reason": "Live E2E finding (2026-06-20): ctrlstatus answered by a standby reports committedLsn=0 / committedConfigVersion=0 while appliedLsn=38 — it reads the primary-only raw markers (persist.committed_lsn, ha->committed_config_tag) instead of the standby's learned committed position (ha->last_known_committed_lsn / last_known_committed_config_tag). Plus an observability gap: no responder timestamp to correlate a captured status against ctrl-N.log.",
"new_requirements": "10 (off-primary committed-state fidelity), 11 (responder snapshot timestamp for log correlation)",
"needs": "design + tasks regen for Req 10-11 only; prior tasks 1.1-5.1 remain implemented",
"impl_status": "6.1-6.3 implemented + reviewed + committed (65ddafe, 3799bd6, ee30765), controller unit suite green; 6.4 (live-cluster E2E) BLOCKED on manual real-fs env — sandbox overlayfs fdatasync errno=5 (bug-795) breaks the commit path. Hand-off recipe in tasks.md Implementation Notes."
}
}