chore: baseline snapshot — prior-session work + ha-consistency-invariants spec family

Pre-existing uncommitted work: ha-repl-hardening payload data plane (7.x),
heartbeat liveness fix (Req 1.3), connection-reuse ASAN fixes, doc cleanup.
New: ha-consistency-invariants umbrella (requirements/design/research) and
its four implementation sub-specs (specs generated via batch, cross-spec
review applied), steering roadmap + product.md Raft+CP decision.
This commit is contained in:
Rongsong Shen 2026-06-11 13:21:50 +00:00
parent 084244941b
commit 06135954ff
88 changed files with 25611 additions and 5285 deletions

View file

@ -5363,7 +5363,7 @@
"error_message": "UPDATE_RESVALS dequeue writes worker resval at index 0 unconditionally instead of resolving resource idx by name",
"file": "src/scheduler/src/scheduler.c",
"root_cause": "zarray_put(&w->resvals, 0, rv->val) hardcodes index 0; worker resvals are indexed by resource idx (see schedobj.c:291)",
"fix": "NOT YET FIXED — found during scheduler-controller-msg-gap validation gap analysis (research.md G-1). Fix: key_find rv->name in sched->resmgr, put at r->idx",
"fix": "FIXED 2026-06-10: UPDATE_RESVALS now resolves rv->name via key_find on sched->resmgr and writes to r->idx (matching UPDATE_RESVALS_FULL pattern) instead of hardcoding index 0.",
"tags": [
"scheduler",
"resvals",
@ -5373,7 +5373,7 @@
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-09T00:00:00Z"
"last_seen": "2026-06-10T17:00:00Z"
},
{
"id": "bug-336",
@ -5381,7 +5381,7 @@
"error_message": "XCE_SCHED_OP_UPDATE_RESOURCES cannot update existing resources; makeResource returns NULL/EEXIST and return value is silently ignored",
"file": "src/scheduler/src/scheduler.c",
"root_cause": "makeResource_ in src/lib/resobj.c rejects duplicates with EEXIST; dequeue case ignores NULL return, so 'add or update' (EARS-UB-1.1) is only 'add'",
"fix": "NOT YET FIXED — found during scheduler-controller-msg-gap validation gap analysis (research.md G-2). Fix: on EEXIST mutate existing resource fields and log failures",
"fix": "FIXED 2026-06-10: UPDATE_RESOURCES now checks makeResource return; on NULL (EEXIST) looks up existing resource by name and updates valtype/ordtype/flags/interval fields in place (add-or-update semantics).",
"tags": [
"scheduler",
"resources",
@ -5392,7 +5392,7 @@
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-09T00:00:00Z"
"last_seen": "2026-06-10T17:00:00Z"
},
{
"id": "bug-337",
@ -5762,6 +5762,832 @@
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-10T03:55:44.698Z"
},
{
"id": "bug-359",
"timestamp": "2026-06-10T04:16:25.052Z",
"error_message": "Missing guard clause",
"file": "src/scheduler/src/scheduler.c",
"root_cause": "No early return/throw for edge case: r == NULL",
"fix": "Added guard clause: if (r == NULL)",
"tags": [
"auto-detected",
"guard-clause",
"c"
],
"related_bugs": [],
"occurrences": 2,
"last_seen": "2026-06-10T04:16:28.320Z"
},
{
"id": "bug-360",
"timestamp": "2026-06-10T04:17:09.223Z",
"error_message": "Significant refactor of ",
"file": "src/scheduler/src/scheduler.c",
"root_cause": "4 lines replaced/restructured",
"fix": "Rewrote 4→6 lines (4 removed)",
"tags": [
"auto-detected",
"refactor",
"c"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-10T04:17:09.223Z"
},
{
"id": "bug-361",
"timestamp": "2026-06-10T04:47:09.048Z",
"error_message": "Wrong condition in logic",
"file": "src/controller/ha.c",
"root_cause": "Condition was: if (opcode == OPCode_requestVote || opcode == OPCode_p)",
"fix": "Changed to: if (opcode == OPCode_requestVote ||\n opcode)",
"tags": [
"auto-detected",
"logic-fix",
"c"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-10T04:47:09.048Z"
},
{
"id": "bug-353",
"timestamp": "2026-06-10T17:30:00Z",
"error_message": "Config push silently rejected when standby is in CTRL_ELECTING: ha_dispatch_gate only allows requestVote/probeConfigTag, returning -E_XCE_ERR_NOT_READY for all other opcodes. If liveness poll fires during election window, any incoming config push is discarded.",
"file": "src/controller/ha.c",
"root_cause": "CTRL_ELECTING gate in ha_dispatch_gate (ha.c:1464) allowed only vote/probe opcodes. Config push from primary arriving during the ELECTING window (after liveness-poll-triggered failover, before election result) was rejected with -E_XCE_ERR_NOT_READY (10013). Standby never saved config, leaving conf dir empty.",
"fix": "FIXED 2026-06-10: Added OPCode_hello, OPCode_nop, OPCode_replConfigPush, OPCode_walCatchupEntry, OPCode_snapshotTransfer to CTRL_ELECTING allowlist. A campaigning node must accept replication from the current primary to stay current for both win and loss paths. Controller suite green.",
"tags": [
"ha",
"dispatch-gate",
"election",
"config-replication",
"silent-failure"
],
"related_bugs": [
"bug-335",
"bug-336"
],
"occurrences": 1,
"last_seen": "2026-06-10T17:30:00Z"
},
{
"id": "bug-363",
"timestamp": "2026-06-10T04:58:30.903Z",
"error_message": "Significant refactor of ",
"file": "src/controller/ha.c",
"root_cause": "4 lines replaced/restructured",
"fix": "Rewrote 9→15 lines (4 removed)",
"tags": [
"auto-detected",
"refactor",
"c"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-10T04:58:30.903Z"
},
{
"id": "bug-364",
"timestamp": "2026-06-10T06:26:24.340Z",
"error_message": "Incorrect value in code",
"file": "src/controller/CLAUDE.md",
"root_cause": "Had `CTRL_ELECTING`",
"fix": "Changed to `CTRL_INIT`",
"tags": [
"auto-detected",
"wrong-value",
"md"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-10T06:26:24.340Z"
},
{
"id": "bug-365",
"timestamp": "2026-06-10T06:32:15.362Z",
"error_message": "Significant refactor of ",
"file": "src/controller/cluster.c",
"root_cause": "3 lines replaced/restructured",
"fix": "Rewrote 8→13 lines (3 removed) | Also: /* Req 4.1: ctrlhello counts as primary activity —; if ((ctrl_role_t)atomic_load_explicit(&c->ha.role,",
"tags": [
"auto-detected",
"refactor",
"c"
],
"related_bugs": [],
"occurrences": 2,
"last_seen": "2026-06-10T06:35:56.354Z"
},
{
"id": "bug-366",
"timestamp": "2026-06-10T06:32:18.661Z",
"error_message": "Significant refactor of ",
"file": "src/controller/config_repl.c",
"root_cause": "3 lines replaced/restructured",
"fix": "Rewrote 6→12 lines (3 removed)",
"tags": [
"auto-detected",
"refactor",
"c"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-10T06:32:18.661Z"
},
{
"id": "bug-367",
"timestamp": "2026-06-10T07:56:21.347Z",
"error_message": "Missing error handling in XCE_TESTING",
"file": "src/controller/testsuite/test_repl_unit.c",
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
"fix": "Added try/catch block | Also: /* =========================================================; * Task 1.1: repl_broadcast send path tests",
"tags": [
"auto-detected",
"error-handling",
"c"
],
"related_bugs": [],
"occurrences": 2,
"last_seen": "2026-06-10T07:57:02.036Z"
},
{
"id": "bug-368",
"timestamp": "2026-06-10T07:57:40.792Z",
"error_message": "Wrong reference: WAL_JOB should be WAL_JOB_SUBMIT",
"file": "src/controller/testsuite/test_repl_unit.c",
"root_cause": "Used \"WAL_JOB\" instead of \"WAL_JOB_SUBMIT\"",
"fix": "Changed WAL_JOB → WAL_JOB_SUBMIT",
"tags": [
"auto-detected",
"wrong-reference",
"c"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-10T07:57:40.792Z"
},
{
"id": "bug-369",
"timestamp": "2026-06-10T07:58:15.167Z",
"error_message": "Missing error handling in XCE_TESTING",
"file": "src/controller/repl.c",
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
"fix": "Added try/catch block",
"tags": [
"auto-detected",
"error-handling",
"c"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-10T07:58:15.167Z"
},
{
"id": "bug-370",
"timestamp": "2026-06-10T07:58:38.900Z",
"error_message": "Significant refactor of ",
"file": "src/controller/repl.c",
"root_cause": "3 lines replaced/restructured",
"fix": "Rewrote 42→65 lines (3 removed)",
"tags": [
"auto-detected",
"refactor",
"c"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-10T07:58:38.900Z"
},
{
"id": "bug-371",
"timestamp": "2026-06-10T07:59:24.268Z",
"error_message": "Wrong reference: DEBUG3 should be TRACE",
"file": "src/controller/repl.c",
"root_cause": "Used \"DEBUG3\" instead of \"TRACE\"",
"fix": "Changed DEBUG3 → TRACE",
"tags": [
"auto-detected",
"wrong-reference",
"c"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-10T07:59:24.268Z"
},
{
"id": "bug-372",
"timestamp": "2026-06-10T08:42:26.121Z",
"error_message": "Significant refactor of ",
"file": "src/controller/ha.h",
"root_cause": "3 lines replaced/restructured",
"fix": "Rewrote 12→16 lines (3 removed)",
"tags": [
"auto-detected",
"refactor",
"h"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-10T08:42:26.121Z"
},
{
"id": "bug-373",
"timestamp": "2026-06-10T08:45:30.400Z",
"error_message": "Wrong reference: request should be ep",
"file": "src/controller/cluster.c",
"root_cause": "Used \"request\" instead of \"ep\"",
"fix": "Changed request → ep",
"tags": [
"auto-detected",
"wrong-reference",
"c"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-10T08:45:30.400Z"
},
{
"id": "bug-374",
"timestamp": "2026-06-10T08:47:48.296Z",
"error_message": "Missing error handling in unknown",
"file": "src/controller/testsuite/test_ha_role.c",
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
"fix": "Added try/catch block | Also: /* Task 3.3 (ha-wal-replication): dispatch gate standby-role; RUN_TEST(test_dispatch_gate_allows_wal_catchup_in_standby_ro",
"tags": [
"auto-detected",
"error-handling",
"c"
],
"related_bugs": [],
"occurrences": 2,
"last_seen": "2026-06-10T08:48:00.267Z"
},
{
"id": "bug-375",
"timestamp": "2026-06-10T08:50:27.397Z",
"error_message": "Missing error handling in struct",
"file": "src/include/typemap.h",
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
"fix": "Added try/catch block",
"tags": [
"auto-detected",
"error-handling",
"h"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-10T08:50:27.397Z"
},
{
"id": "bug-376",
"timestamp": "2026-06-10T09:17:35.218Z",
"error_message": "Wrong condition in logic",
"file": "src/controller/ha.c",
"root_cause": "Condition was: if (opcode == OPCode_nop)",
"fix": "Changed to: if (rep_s.data_which == RequestReply_data_walackreplym)",
"tags": [
"auto-detected",
"logic-fix",
"c"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-10T09:17:35.218Z"
},
{
"id": "bug-377",
"timestamp": "2026-06-10T09:59:08.979Z",
"error_message": "Missing error handling in XCE_TESTING",
"file": "src/controller/testsuite/test_p2_integration.c",
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
"fix": "Added try/catch block",
"tags": [
"auto-detected",
"error-handling",
"c"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-10T09:59:08.979Z"
},
{
"id": "bug-378",
"timestamp": "2026-06-10T10:02:00.000Z",
"error_message": "AddressSanitizer: global-buffer-overflow in dataq_enq via xce_wal_batch_req_raw <- repl_broadcast <- persist_wal_async",
"file": "src/controller/testsuite/test_p2_integration.c",
"root_cause": "Tests 8 and 9 declared ep_a/ep_b/g_ep9_a/g_ep9_b as 'static int' (4 bytes) and passed them to repl_add_standby without (void*) cast. repl_broadcast then called xce_wal_batch_req_raw(s->ep, ...) using the stored int* as a real network endpoint, causing an 8-byte read past the 4-byte int. Neither test installed repl_broadcast_send_hook to intercept the call.",
"fix": "Added #include typemap.h; added extern repl_broadcast_send_hook declaration guarded by XCE_TESTING; added p2_drop_send_hook no-op; installed hook around persist_wal_sync_append in tests 8 and 9; fixed missing (void*) casts on all four ep variables",
"tags": [
"asan",
"global-buffer-overflow",
"repl_broadcast",
"unit-test",
"c"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-10T10:02:00.000Z"
},
{
"id": "bug-379",
"timestamp": "2026-06-10T10:36:53.011Z",
"error_message": "Significant refactor of ",
"file": "src/controller/testsuite/test_p2_integration.c",
"root_cause": "4 lines replaced/restructured",
"fix": "Rewrote 50→72 lines (4 removed)",
"tags": [
"auto-detected",
"refactor",
"c"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-10T10:36:53.011Z"
},
{
"id": "bug-380",
"timestamp": "2026-06-10T10:37:21.924Z",
"error_message": "Wrong reference: test_catchup_full_lifecycle_integration should be test_single_node_committed_lsn_unchanged",
"file": "src/controller/testsuite/test_p2_integration.c",
"root_cause": "Used \"test_catchup_full_lifecycle_integration\" instead of \"test_single_node_committed_lsn_unchanged\"",
"fix": "Changed test_catchup_full_lifecycle_integration → test_single_node_committed_lsn_unchanged",
"tags": [
"auto-detected",
"wrong-reference",
"c"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-10T10:37:21.924Z"
},
{
"id": "bug-381",
"timestamp": "2026-06-10T10:37:49.028Z",
"error_message": "Missing error handling in unknown",
"file": "src/controller/testsuite/test_repl_unit.c",
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
"fix": "Added try/catch block",
"tags": [
"auto-detected",
"error-handling",
"c"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-10T10:37:49.028Z"
},
{
"id": "bug-382",
"timestamp": "2026-06-10T11:54:19.749Z",
"error_message": "Function not marked async",
"file": ".kiro/specs/ha-wal-replication/tasks.md",
"root_cause": "Function uses await but wasn't declared async",
"fix": "Added async modifier",
"tags": [
"auto-detected",
"async-fix",
"md"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-10T11:54:19.749Z"
},
{
"id": "bug-383",
"timestamp": "2026-06-10T14:12:27.285Z",
"error_message": "Significant refactor of ",
"file": ".kiro/steering/product.md",
"root_cause": "5 lines replaced/restructured",
"fix": "Rewrote 13→22 lines (5 removed)",
"tags": [
"auto-detected",
"refactor",
"md"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-10T14:12:27.286Z"
},
{
"id": "bug-384",
"timestamp": "2026-06-10T14:13:01.581Z",
"error_message": "Function not marked async",
"file": ".kiro/steering/tech.md",
"root_cause": "Function uses await but wasn't declared async",
"fix": "Added async modifier",
"tags": [
"auto-detected",
"async-fix",
"md"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-10T14:13:01.581Z"
},
{
"id": "bug-385",
"timestamp": "2026-06-10T14:38:11.810Z",
"error_message": "Significant refactor of ",
"file": "CLAUDE.md",
"root_cause": "4 lines replaced/restructured",
"fix": "Rewrote 5→5 lines (4 removed)",
"tags": [
"auto-detected",
"refactor",
"md"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-10T14:38:11.810Z"
},
{
"id": "bug-386",
"timestamp": "2026-06-10T14:43:53.161Z",
"error_message": "Function not marked async",
"file": "CLAUDE.md",
"root_cause": "Function uses await but wasn't declared async",
"fix": "Added async modifier",
"tags": [
"auto-detected",
"async-fix",
"md"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-10T14:43:53.161Z"
},
{
"id": "bug-387",
"timestamp": "2026-06-10T14:53:19.493Z",
"error_message": "Significant refactor of ",
"file": "src/controller/CLAUDE.md",
"root_cause": "3 lines replaced/restructured",
"fix": "Rewrote 6→5 lines (3 removed) | Also: ### Controllers; - Struct: `type {Resource}Controller struct{}`",
"tags": [
"auto-detected",
"refactor",
"md"
],
"related_bugs": [],
"occurrences": 2,
"last_seen": "2026-06-10T14:55:18.463Z"
},
{
"id": "bug-388",
"timestamp": "2026-06-10T14:54:18.503Z",
"error_message": "Function not marked async",
"file": "src/controller/CLAUDE.md",
"root_cause": "Function uses await but wasn't declared async",
"fix": "Added async modifier",
"tags": [
"auto-detected",
"async-fix",
"md"
],
"related_bugs": [],
"occurrences": 2,
"last_seen": "2026-06-10T14:54:53.661Z"
},
{
"id": "bug-389",
"timestamp": "2026-06-11T02:46:08.749Z",
"error_message": "Wrong reference: signal should be stdio",
"file": "src/lib/delay.c",
"root_cause": "Used \"signal\" instead of \"stdio\"",
"fix": "Changed signal → stdio",
"tags": [
"auto-detected",
"wrong-reference",
"c"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-11T02:46:08.749Z"
},
{
"id": "bug-390",
"timestamp": "2026-06-11T03:30:54.341Z",
"error_message": "Missing error handling in XCE_TESTING",
"file": "src/controller/ha.c",
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
"fix": "Added try/catch block",
"tags": [
"auto-detected",
"error-handling",
"c"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-11T03:30:54.341Z"
},
{
"id": "bug-391",
"timestamp": "2026-06-11T03:41:14.912Z",
"error_message": "Missing guard clause",
"file": "src/controller/ha.c",
"root_cause": "No early return/throw for edge case: !ha",
"fix": "Added guard clause: if (!ha)",
"tags": [
"auto-detected",
"guard-clause",
"c"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-11T03:41:14.912Z"
},
{
"id": "bug-392",
"timestamp": "2026-06-11T03:46:02.642Z",
"error_message": "Missing guard clause",
"file": "src/controller/persist.c",
"root_cause": "No early return/throw for edge case: sync_rc_out",
"fix": "Added guard clause: if (sync_rc_out)",
"tags": [
"auto-detected",
"guard-clause",
"c"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-11T03:46:02.642Z"
},
{
"id": "bug-393",
"timestamp": "2026-06-11T03:47:03.826Z",
"error_message": "Significant refactor of ",
"file": "src/controller/job.c",
"root_cause": "2 lines replaced/restructured",
"fix": "Rewrote 15→28 lines (2 removed)",
"tags": [
"auto-detected",
"refactor",
"c"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-11T03:47:03.826Z"
},
{
"id": "bug-394",
"timestamp": "2026-06-11T05:09:37.037Z",
"error_message": "Incorrect value in code",
"file": ".kiro/specs/ha-consistency-invariants/research.md",
"root_cause": "Had `persist_truncate_wal_above`",
"fix": "Changed to `restore_job`",
"tags": [
"auto-detected",
"wrong-value",
"md"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-11T05:09:37.037Z"
},
{
"id": "bug-395",
"timestamp": "2026-06-11T05:10:14.835Z",
"error_message": "Significant refactor of ",
"file": ".kiro/specs/ha-consistency-invariants/research.md",
"root_cause": "3 lines replaced/restructured",
"fix": "Rewrote 7→7 lines (3 removed)",
"tags": [
"auto-detected",
"refactor",
"md"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-11T05:10:14.835Z"
},
{
"id": "bug-396",
"timestamp": "2026-06-10T22:45:00-07:00",
"error_message": "Worker job state notifications (OPCode_notify) are permanently lost when the controller dispatch gate rejects them (quorum loss / COMMITTING window): worker never reads replies, never retries, no rejoin resync",
"file": "src/worker/src/controller_connector.c, src/lib/xceapi.c, src/controller/cluster.c",
"root_cause": "xce_notify is enqueue-and-forget (no cbuf_get); error replies dropped via cbuf_tryput -EAGAIN (xcectx.c:304); xcecd_job_finished return ignored (FIXME at xcecd_worker_utils.c:298); xce_join_req carries no running-job state so rejoin cannot resync",
"fix": "NOT YET FIXED - discovered during ha-consistency-invariants gap research; design will add primary-side pending-facts queue (hold uncommitted facts until quorum) + idempotency guards in mark_job_*; see .kiro/specs/ha-consistency-invariants/research.md deep-dive section A",
"tags": [
"ha",
"notify",
"silent-data-loss",
"worker",
"quorum",
"ha-consistency-invariants"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-10T22:45:00-07:00"
},
{
"id": "bug-397",
"timestamp": "2026-06-11T06:34:28.705Z",
"error_message": "Significant refactor of ",
"file": ".kiro/specs/ha-consistency-invariants/requirements.md",
"root_cause": "2 lines replaced/restructured",
"fix": "Rewrote 3→4 lines (2 removed)",
"tags": [
"auto-detected",
"refactor",
"md"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-11T06:34:28.705Z"
},
{
"id": "bug-398",
"timestamp": "2026-06-11T06:35:26.288Z",
"error_message": "Incorrect value in code",
"file": ".kiro/specs/ha-consistency-invariants/research.md",
"root_cause": "Had `restore_job`",
"fix": "Changed to \"irrevocable\"",
"tags": [
"auto-detected",
"wrong-value",
"md"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-11T06:35:26.288Z"
},
{
"id": "bug-399",
"timestamp": "2026-06-11T06:43:14.709Z",
"error_message": "Incorrect value in code",
"file": ".kiro/specs/ha-consistency-invariants/research.md",
"root_cause": "Had 't span syscalls and degrade to serial mode), C ec",
"fix": "Changed to 't span syscalls), C ecosystem dead (libitm unmain",
"tags": [
"auto-detected",
"wrong-value",
"md"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-11T06:43:14.709Z"
},
{
"id": "bug-400",
"timestamp": "2026-06-11T07:23:53.901Z",
"error_message": "Incorrect value in code",
"file": ".kiro/specs/ha-consistency-invariants/research.md",
"root_cause": "Had \"return quickly\"",
"fix": "Changed to `--vcpus`",
"tags": [
"auto-detected",
"wrong-value",
"md"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-11T07:23:53.901Z"
},
{
"id": "bug-401",
"timestamp": "2026-06-11T07:47:34.756Z",
"error_message": "Incorrect value in code",
"file": ".kiro/specs/ha-consistency-invariants/research.md",
"root_cause": "Had `mark_job_*`",
"fix": "Changed to \"pending facts\"",
"tags": [
"auto-detected",
"wrong-value",
"md"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-11T07:47:34.756Z"
},
{
"id": "bug-402",
"timestamp": "2026-06-11T07:53:43.868Z",
"error_message": "Missing error handling in unknown",
"file": ".kiro/specs/ha-consistency-invariants/research.md",
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
"fix": "Added try/catch block",
"tags": [
"auto-detected",
"error-handling",
"md"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-11T07:53:43.868Z"
},
{
"id": "bug-403",
"timestamp": "2026-06-11T08:34:47.868Z",
"error_message": "Function not marked async",
"file": ".kiro/specs/ha-consistency-invariants/design.md",
"root_cause": "Function uses await but wasn't declared async",
"fix": "Added async modifier",
"tags": [
"auto-detected",
"async-fix",
"md"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-11T08:34:47.868Z"
},
{
"id": "bug-404",
"timestamp": "2026-06-11T08:46:20.815Z",
"error_message": "Missing error handling in unknown",
"file": ".kiro/steering/roadmap.md",
"root_cause": "Code path had no error handling — exceptions would propagate uncaught",
"fix": "Added try/catch block",
"tags": [
"auto-detected",
"error-handling",
"md"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-11T08:46:20.815Z"
},
{
"id": "bug-405",
"timestamp": "2026-06-11T09:47:16.750Z",
"error_message": "Incorrect value in code",
"file": ".kiro/specs/ha-single-leader-role/design.md",
"root_cause": "Had `writable_lsn`",
"fix": "Changed to 's \"",
"tags": [
"auto-detected",
"wrong-value",
"md"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-11T09:47:16.750Z"
},
{
"id": "bug-406",
"timestamp": "2026-06-11T09:49:04.296Z",
"error_message": "Incorrect value in code",
"file": ".kiro/specs/ha-single-leader-role/tasks.md",
"root_cause": "Had \" --exclude-dir=.git --exclude-dir=.kiro --exclude",
"fix": "Changed to \" --exclude-dir=.git --exclude-dir=specs --exclude",
"tags": [
"auto-detected",
"wrong-value",
"md"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-11T09:49:04.296Z"
},
{
"id": "bug-407",
"timestamp": "2026-06-11T10:01:15.181Z",
"error_message": "Incorrect value in code",
"file": ".kiro/specs/ha-commit-barrier-rollout/design.md",
"root_cause": "Had `repl.h`",
"fix": "Changed to `entry_lsn`",
"tags": [
"auto-detected",
"wrong-value",
"md"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-11T10:01:15.181Z"
},
{
"id": "bug-408",
"timestamp": "2026-06-11T10:01:39.424Z",
"error_message": "Incorrect value in code",
"file": ".kiro/specs/ha-convergence-recovery/tasks.md",
"root_cause": "Had `-XCE_ERR_NOT_READY`",
"fix": "Changed to `OPCode_notify`",
"tags": [
"auto-detected",
"wrong-value",
"md"
],
"related_bugs": [],
"occurrences": 2,
"last_seen": "2026-06-11T10:02:02.349Z"
},
{
"id": "bug-409",
"timestamp": "2026-06-11T12:57:17.283Z",
"error_message": "Significant refactor of ",
"file": ".kiro/steering/roadmap.md",
"root_cause": "4 lines replaced/restructured",
"fix": "Rewrote 6→8 lines (4 removed)",
"tags": [
"auto-detected",
"refactor",
"md"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-06-11T12:57:17.283Z"
}
]
}