feat(libxce-failover): foundation — per-ctx failover state, redirect-hint fields, remove orphaned retry primitive (task 1.1)

This commit is contained in:
Rongsong Shen 2026-06-17 00:05:41 +00:00
parent 8c11655e53
commit 387ccfa8dc
17 changed files with 2122 additions and 562 deletions

View file

@ -1,143 +1,131 @@
{
"session_id": "session-2026-06-16-2344",
"started": "2026-06-16T06:44:27.944Z",
"session_id": "session-2026-06-16-0057",
"started": "2026-06-16T07:57:38.410Z",
"files_read": {
"/home/rshen/projects/xce/worktrees/persistent_ha/.kiro/specs/ha-prevote/requirements.md": {
"count": 6,
"tokens": 3604,
"first_read": "2026-06-16T06:45:04.651Z"
"/home/rshen/projects/xce/worktrees/persistent_ha/.mcp.json": {
"count": 2,
"tokens": 7,
"first_read": "2026-06-16T07:58:57.528Z"
},
"/home/rshen/projects/xce/worktrees/persistent_ha/src/controller/ha.c": {
"count": 9,
"tokens": 0,
"first_read": "2026-06-16T06:45:17.576Z"
},
"/home/rshen/projects/xce/worktrees/persistent_ha/src/controller/testsuite/test_ha_connection_reuse.c": {
"/home/rshen/projects/xce/worktrees/persistent_ha/src/controller/commit.c": {
"count": 1,
"tokens": 0,
"first_read": "2026-06-16T06:45:26.432Z"
"first_read": "2026-06-16T07:58:58.420Z"
},
"/home/rshen/projects/xce/worktrees/persistent_ha/.kiro/specs/ha-prevote/tasks.md": {
"/home/rshen/projects/xce/worktrees/persistent_ha/src/controller/worker.c": {
"count": 1,
"tokens": 0,
"first_read": "2026-06-16T07:59:27.185Z"
},
"/home/rshen/projects/xce/worktrees/persistent_ha/src/controller/join.c": {
"count": 1,
"tokens": 0,
"first_read": "2026-06-16T07:59:27.920Z"
},
"/home/rshen/projects/xce/worktrees/persistent_ha/src/controller/persist.c": {
"count": 4,
"tokens": 3129,
"first_read": "2026-06-16T06:48:13.339Z"
"tokens": 0,
"first_read": "2026-06-16T07:59:43.058Z"
},
"/home/rshen/projects/xce/worktrees/persistent_ha/src/controller/testsuite/test_ha_prevote.c": {
"count": 2,
"tokens": 7618,
"first_read": "2026-06-16T06:48:14.326Z"
},
"/home/rshen/projects/xce/worktrees/persistent_ha/src/controller/testsuite/test_ha_failover_prevote.c": {
"count": 2,
"tokens": 3896,
"first_read": "2026-06-16T06:48:24.387Z"
},
"/home/rshen/projects/xce/worktrees/persistent_ha/src/controller/testsuite/test_ha_vote_gate.c": {
"/home/rshen/projects/xce/worktrees/persistent_ha/src/controller/meson.build": {
"count": 1,
"tokens": 9075,
"first_read": "2026-06-16T06:48:24.556Z"
"tokens": 0,
"first_read": "2026-06-16T08:00:30.531Z"
},
"/home/rshen/projects/xce/worktrees/persistent_ha/src/controller/testsuite/controller_test.c": {
"count": 1,
"tokens": 1469,
"first_read": "2026-06-16T06:48:31.170Z"
},
"/home/rshen/projects/xce/worktrees/persistent_ha/.kiro/specs/ha-prevote/design.md": {
"count": 4,
"tokens": 6905,
"first_read": "2026-06-16T06:48:40.155Z"
},
"/home/rshen/projects/xce/worktrees/persistent_ha/src/lib/raft/raft.c": {
"count": 3,
"tokens": 0,
"first_read": "2026-06-16T06:52:15.949Z"
"first_read": "2026-06-16T08:00:40.931Z"
},
"/home/rshen/projects/xce/worktrees/persistent_ha/.kiro/specs/ha-prevote/research.md": {
"count": 1,
"tokens": 5295,
"first_read": "2026-06-16T07:10:16.063Z"
},
"/home/rshen/projects/xce/worktrees/persistent_ha/src/lib/testsuite/test_raft.c": {
"/home/rshen/projects/xce/worktrees/persistent_ha/.claude/settings.json": {
"count": 2,
"tokens": 0,
"first_read": "2026-06-16T07:10:25.883Z"
"tokens": 497,
"first_read": "2026-06-16T08:06:45.661Z"
},
"/home/rshen/projects/xce/worktrees/persistent_ha/src/lib/raft/raft.h": {
"/home/rshen/projects/xce/worktrees/persistent_ha/src/include/persist.h": {
"count": 1,
"tokens": 0,
"first_read": "2026-06-16T07:10:26.237Z"
},
"/tmp/claude-1000/-home-rshen-projects-xce-worktrees-persistent-ha/bffce5f2-ffc9-4dc1-b956-0d3d7223fc0d/tasks/bei9rto5x.output": {
"count": 1,
"tokens": 0,
"first_read": "2026-06-16T07:20:19.102Z"
"first_read": "2026-06-16T08:17:36.150Z"
}
},
"files_written": [
{
"file": "/home/rshen/projects/xce/worktrees/persistent_ha/.kiro/specs/ha-prevote/tasks.md",
"action": "edit",
"tokens": 20,
"at": "2026-06-16T06:46:55.771Z"
"file": "/home/rshen/projects/xce/worktrees/persistent_ha/.mcp.json",
"action": "create",
"tokens": 7,
"at": "2026-06-16T07:59:01.938Z"
},
{
"file": "/home/rshen/projects/xce/worktrees/persistent_ha/src/controller/testsuite/test_ha_prevote.c",
"file": "/home/rshen/projects/xce/worktrees/persistent_ha/.claude/settings.json",
"action": "edit",
"tokens": 3353,
"at": "2026-06-16T06:50:23.587Z"
"tokens": 11,
"at": "2026-06-16T08:07:10.456Z"
},
{
"file": "/home/rshen/projects/xce/worktrees/persistent_ha/.kiro/specs/ha-prevote/tasks.md",
"file": "/home/rshen/projects/xce/worktrees/persistent_ha/.claude/settings.json",
"action": "edit",
"tokens": 14,
"at": "2026-06-16T06:54:20.104Z"
"tokens": 10,
"at": "2026-06-16T08:07:18.236Z"
},
{
"file": "/home/rshen/projects/xce/worktrees/persistent_ha/src/controller/testsuite/test_ha_prevote.c",
"action": "edit",
"tokens": 3780,
"at": "2026-06-16T06:58:28.913Z"
"file": "/home/rshen/projects/xce/worktrees/persistent_ha/.mcp.json",
"action": "create",
"tokens": 7,
"at": "2026-06-16T08:09:05.843Z"
},
{
"file": "/home/rshen/projects/xce/worktrees/persistent_ha/.kiro/specs/ha-prevote/tasks.md",
"action": "edit",
"tokens": 16,
"at": "2026-06-16T07:08:51.022Z"
"file": "/home/rshen/projects/xce/worktrees/persistent_ha/.claude/settings.json",
"action": "create",
"tokens": 497,
"at": "2026-06-16T08:09:28.949Z"
},
{
"file": "/home/rshen/projects/xce/worktrees/persistent_ha/src/lib/testsuite/test_raft.c",
"action": "edit",
"tokens": 4104,
"at": "2026-06-16T07:12:02.527Z"
"file": "/home/rshen/projects/xce/worktrees/persistent_ha/uninstall-code-review-graph.sh",
"action": "create",
"tokens": 672,
"at": "2026-06-16T08:09:44.867Z"
},
{
"file": "/home/rshen/projects/xce/worktrees/persistent_ha/src/lib/testsuite/test_raft.c",
"file": "/home/rshen/projects/xce/worktrees/persistent_ha/src/include/persist.h",
"action": "edit",
"tokens": 142,
"at": "2026-06-16T07:12:14.641Z"
"tokens": 74,
"at": "2026-06-16T08:18:22.177Z"
},
{
"file": "/home/rshen/projects/xce/worktrees/persistent_ha/.kiro/specs/ha-prevote/research.md",
"file": "/home/rshen/projects/xce/worktrees/persistent_ha/src/controller/persist.c",
"action": "edit",
"tokens": 1012,
"at": "2026-06-16T07:13:49.151Z"
"tokens": 56,
"at": "2026-06-16T08:18:33.020Z"
},
{
"file": "/home/rshen/projects/xce/worktrees/persistent_ha/.kiro/specs/ha-prevote/tasks.md",
"file": "/home/rshen/projects/xce/worktrees/persistent_ha/src/controller/persist.c",
"action": "edit",
"tokens": 17,
"at": "2026-06-16T07:17:57.840Z"
"tokens": 411,
"at": "2026-06-16T08:18:48.563Z"
},
{
"file": "/home/rshen/projects/xce/worktrees/persistent_ha/src/controller/persist.c",
"action": "edit",
"tokens": 166,
"at": "2026-06-16T08:18:57.385Z"
},
{
"file": "/home/rshen/projects/xce/worktrees/persistent_ha/src/controller/persist.c",
"action": "edit",
"tokens": 63,
"at": "2026-06-16T08:19:04.362Z"
}
],
"edit_counts": {
".kiro/specs/ha-prevote/tasks.md": 4,
"src/controller/testsuite/test_ha_prevote.c": 2,
"src/lib/testsuite/test_raft.c": 2,
".kiro/specs/ha-prevote/research.md": 1
".mcp.json": 2,
".claude/settings.json": 3,
"uninstall-code-review-graph.sh": 1,
"src/include/persist.h": 1,
"src/controller/persist.c": 4
},
"anatomy_hits": 10,
"anatomy_misses": 4,
"repeated_reads_warned": 24,
"anatomy_hits": 1,
"anatomy_misses": 8,
"repeated_reads_warned": 5,
"cerebrum_warnings": 0,
"stop_count": 1
"stop_count": 3
}