myxce/.wolf/anatomy.md
Rongsong Shen a5e29a6ffa fix(raft-apply-decoupling): kill-mid-fact-stream soak + close bug-1416 boot-time TOCTOU (task 7.2)
Adds --factstream HA soak mode driving real jstart/jfinish/jfail worker-fact
traffic against a live 3-node cluster, killing the primary mid-stream and
asserting zero committed-state divergence and zero phantom fact reactions.

Building this scenario surfaced bug-1416: persist_recover()'s boot-time
apply-correctness verification can race the live apply pump and the standby
live-replication apply path, both of which mutate the same last_applied_lsn/
job-table state the verification re-reads live -- producing a false
APPLY_DIVERGENT that permanently fences an otherwise-healthy node. Fixed with
a new persist_t.recovery_complete gate that defers only the in-memory apply
(never the durability write or replication ACK) while a recovery pass is in
flight, closed from the earliest safe point in myapp_run() so an election-
retry candidate can't apply live traffic before persist_recover() ever runs.

Round-2 adversarial review independently verified the ACK/durability paths
stay ungated, reproduced the myapp.c fix as load-bearing via revert-and-
reproduce, and confirmed real-divergence detection still fires. Live 3-node
factstream soak: 2/2 rounds PASS, zero APPLY_DIVERGENT across 5 recover
calls. controller_unit_test: zero new failures across 23 groups.
2026-07-07 03:03:40 +00:00

1000 lines
37 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# anatomy.md
> Auto-maintained by OpenWolf. Last scanned: 2026-07-05T07:39:59.974Z
> Files: 600 tracked | Anatomy hits: 0 | Misses: 0
## ../../../../../../tmp/claude-1000/-home-rshen-projects-xce-worktrees-raft-tla/a13f7866-1ea4-4b63-91a6-4de1393543ae/scratchpad/
- `append_bug_1414.py` (~1114 tok)
- `append_bugs.py` (~1412 tok)
- `run_regression.sh` (~181 tok)
## ../../../../../../tmp/claude-1000/-home-rshen-projects-xce-worktrees-raft-tla/c9cdeb23-6930-42d0-adab-2651b711793f/scratchpad/
- `run_full_suite.sh` — Full controller suite, suite-by-suite under ASAN (dodges the 300s aggregate cap). (~450 tok)
## ../../../../../claude/.claude/projects/-home-rshen-projects-xce-xce/memory/
- `MEMORY.md` — Memory Index (~1681 tok)
- `project_bug1306_hook_rc_clobber.md` (~693 tok)
- `project_raft_election_resonance.md` (~556 tok)
- `reference_nonoverlay_fs_soak.md` (~371 tok)
## ../../../../../claude/tmp/gdbwrap/
- `ctrl-dbg.sh` — bug-1283: run the NON-ASAN DEBUG (-O0 -g3) xce_controller under gdb -batch; on (~231 tok)
## ./
- `.clang-format` (~226 tok)
- `.gitignore` — Git ignore rules (~170 tok)
- `.mcp.json` (~7 tok)
- `.opencode.json` (~7 tok)
- `CLAUDE.md` — OpenWolf (~1400 tok)
- `codegraph.html` — CodeGraph - Interactive Visualization (~13864 tok)
- `package-lock.json` — npm lock file (~1039 tok)
- `package.json` — Node.js package manifest (~1 tok)
- `README.md` — Project documentation (~612 tok)
- `uninstall-code-review-graph.sh` — Fully uninstall `code-review-graph` (the Python/uv MCP tool). (~672 tok)
- `xce-ha-soak.log` (~2232 tok)
## .claude/
- `settings.json` (~497 tok)
- `settings.local.json` (~507 tok)
- `ucai-formatter-cache.local.json` (~17 tok)
## .claude/rules/
- `openwolf.md` (~313 tok)
## .claude/skills/kiro-debug/
- `SKILL.md` — kiro-debug (~1322 tok)
## .claude/skills/kiro-discovery/
- `SKILL.md` — kiro-discovery Skill (~3387 tok)
## .claude/skills/kiro-impl/
- `SKILL.md` — kiro-impl Skill (~4048 tok)
## .claude/skills/kiro-impl/templates/
- `debugger-prompt.md` — Debug Investigator (~812 tok)
- `implementer-prompt.md` — TDD Task Implementer (~1659 tok)
- `reviewer-prompt.md` — Task Implementation Reviewer (~1352 tok)
## .claude/skills/kiro-review/
- `SKILL.md` — kiro-review (~1756 tok)
## .claude/skills/kiro-spec-batch/
- `SKILL.md` — kiro-spec-batch Skill (~2293 tok)
## .claude/skills/kiro-spec-design/
- `SKILL.md` — kiro-spec-design Skill (~2881 tok)
## .claude/skills/kiro-spec-design/.claude/
- `ucai-formatter-cache.local.json` (~17 tok)
## .claude/skills/kiro-spec-design/rules/
- `design-discovery-full.md` — Full Discovery Process for Technical Design (~949 tok)
- `design-discovery-light.md` — Light Discovery Process for Extensions (~389 tok)
- `design-principles.md` — Technical Design Rules and Principles (~2982 tok)
- `design-review-gate.md` — Design Review Gate (~1016 tok)
- `design-synthesis.md` — Design Synthesis (~464 tok)
## .claude/skills/kiro-spec-design/templates/specs/
- `design.md` — Design Document Template (~3303 tok)
- `research.md` — Research & Design Decisions Template (~586 tok)
## .claude/skills/kiro-spec-init/
- `SKILL.md` — Spec Initialization (~790 tok)
## .claude/skills/kiro-spec-init/.claude/
- `ucai-formatter-cache.local.json` (~17 tok)
## .claude/skills/kiro-spec-init/templates/specs/
- `init.json` (~125 tok)
- `requirements-init.md` — Requirements Document (~40 tok)
## .claude/skills/kiro-spec-init/templates/specs/.claude/
- `ucai-formatter-cache.local.json` (~17 tok)
## .claude/skills/kiro-spec-quick/
- `SKILL.md` — Quick Spec Generator (~1995 tok)
## .claude/skills/kiro-spec-quick/templates/specs/
- `init.json` (~125 tok)
- `requirements-init.md` — Requirements Document (~40 tok)
## .claude/skills/kiro-spec-requirements/
- `SKILL.md` — kiro-spec-requirements Skill (~2125 tok)
## .claude/skills/kiro-spec-requirements/.claude/
- `ucai-formatter-cache.local.json` (~17 tok)
## .claude/skills/kiro-spec-requirements/rules/
- `ears-format.md` — EARS Format Guidelines (~739 tok)
- `requirements-review-gate.md` — Requirements Review Gate (~924 tok)
## .claude/skills/kiro-spec-requirements/templates/specs/
- `requirements.md` — Requirements Document (~325 tok)
## .claude/skills/kiro-spec-status/
- `SKILL.md` — kiro-spec-status Skill (~746 tok)
## .claude/skills/kiro-spec-tasks/
- `SKILL.md` — kiro-spec-tasks Skill (~2473 tok)
## .claude/skills/kiro-spec-tasks/.claude/
- `ucai-formatter-cache.local.json` (~17 tok)
## .claude/skills/kiro-spec-tasks/rules/
- `tasks-generation.md` — Task Generation Rules (~2773 tok)
- `tasks-parallel-analysis.md` — Parallel Task Analysis Rules (~633 tok)
## .claude/skills/kiro-spec-tasks/templates/specs/
- `tasks.md` — Implementation Plan (~318 tok)
## .claude/skills/kiro-steering-custom/
- `SKILL.md` — kiro-steering-custom Skill (~1230 tok)
## .claude/skills/kiro-steering-custom/rules/
- `steering-principles.md` — Steering Principles (~593 tok)
## .claude/skills/kiro-steering-custom/templates/steering-custom/
- `api-standards.md` — API Standards (~415 tok)
- `authentication.md` — Authentication & Authorization Standards (~523 tok)
- `database.md` — Database Standards (~377 tok)
- `deployment.md` — Deployment Standards (~441 tok)
- `error-handling.md` — Error Handling Standards (~549 tok)
- `security.md` — Security Standards (~523 tok)
- `testing.md` — Testing Standards (~325 tok)
## .claude/skills/kiro-steering/
- `SKILL.md` — kiro-steering Skill (~1191 tok)
## .claude/skills/kiro-steering/rules/
- `steering-principles.md` — Steering Principles (~593 tok)
## .claude/skills/kiro-steering/templates/steering/
- `product.md` — Product Overview (~89 tok)
- `structure.md` — Project Structure (~218 tok)
- `tech.md` — Technology Stack (~198 tok)
## .claude/skills/kiro-validate-design/
- `SKILL.md` — kiro-validate-design Skill (~1296 tok)
## .claude/skills/kiro-validate-design/rules/
- `design-review.md` — Design Review Process (~1090 tok)
## .claude/skills/kiro-validate-gap/
- `SKILL.md` — kiro-validate-gap Skill (~1385 tok)
## .claude/skills/kiro-validate-gap/rules/
- `gap-analysis.md` — Gap Analysis Process (~1266 tok)
## .claude/skills/kiro-validate-impl/
- `SKILL.md` — kiro-validate-impl Skill (~2826 tok)
## .claude/skills/kiro-verify-completion/
- `SKILL.md` — kiro-verify-completion (~972 tok)
## .claude/skills/xce-build/
- `SKILL.md` — build xce source code (~380 tok)
## .claude/skills/xce-deploy-ha/
- `SKILL.md` — XCE HA Cluster Deployment (~1345 tok)
## .claude/skills/xce-test-ha/
- `run-ha-soak.sh` — run-ha-soak.sh — driver for /xce-test-ha: deploy a 3-node XCE HA cluster, then (~18920 tok)
- `SKILL.md` — XCE HA Failover Soak Test (~4553 tok)
- `soak-verdict-selftest.sh` — soak-verdict-selftest.sh — deterministic unit test for the verdict parser in (~1857 tok)
- `soak-verdict.sh` — soak-verdict.sh — pure (side-effect-free) verdict helpers for run-ha-soak.sh. (~1383 tok)
## .codegraph/
- `.gitignore` — Git ignore rules (~61 tok)
- `codegraph.db-shm` (~8737 tok)
- `daemon.log` (~2066 tok)
## .kiro/settings/rules/
- `design-discovery-full.md` — Full Discovery Process for Technical Design (~949 tok)
- `design-discovery-light.md` — Light Discovery Process for Extensions (~389 tok)
- `design-principles.md` — Technical Design Rules and Principles (~2982 tok)
- `design-review-gate.md` — Design Review Gate (~1016 tok)
- `design-review.md` — Design Review Process (~1090 tok)
- `design-synthesis.md` — Design Synthesis (~464 tok)
- `ears-format.md` — EARS Format Guidelines (~739 tok)
- `gap-analysis.md` — Gap Analysis Process (~1266 tok)
- `requirements-review-gate.md` — Requirements Review Gate (~924 tok)
- `steering-principles.md` — Steering Principles (~593 tok)
- `tasks-generation.md` — Task Generation Rules (~2773 tok)
- `tasks-parallel-analysis.md` — Parallel Task Analysis Rules (~633 tok)
## .kiro/settings/templates/specs/
- `design.md` — Design Document Template (~3303 tok)
- `init.json` (~125 tok)
- `requirements-init.md` — Requirements Document (~40 tok)
- `requirements.md` — Requirements Document (~325 tok)
- `research.md` — Research & Design Decisions Template (~586 tok)
- `tasks.md` — Implementation Plan (~318 tok)
## .kiro/settings/templates/steering-custom/
- `api-standards.md` — API Standards (~415 tok)
- `authentication.md` — Authentication & Authorization Standards (~523 tok)
- `database.md` — Database Standards (~377 tok)
- `deployment.md` — Deployment Standards (~441 tok)
- `error-handling.md` — Error Handling Standards (~549 tok)
- `security.md` — Security Standards (~523 tok)
- `testing.md` — Testing Standards (~325 tok)
## .kiro/settings/templates/steering/
- `product.md` — Product Overview (~89 tok)
- `structure.md` — Project Structure (~218 tok)
- `tech.md` — Technology Stack (~198 tok)
## .kiro/specs/
- `.gitignore` — Git ignore rules (~3 tok)
## .kiro/specs/config-upgrade-snapshot/
- `brief.md` — Brief: config-upgrade-snapshot (~923 tok)
- `requirements.md` — Requirements Document (~1533 tok)
- `research.md` — Gap Analysis — config-upgrade-snapshot (2026-06-24) (~3178 tok)
- `spec.json` (~147 tok)
## .kiro/specs/controller-status/
- `design.md` — Design Document — controller-status (`ctrlstatus`) (~7961 tok)
- `requirements.md` — Requirements Document (~3158 tok)
- `research.md` — Gap Analysis — controller-status (ctrlstatus) (~4457 tok)
- `spec.json` (~608 tok)
- `tasks.md` — Implementation Plan (~5073 tok)
## .kiro/specs/election-iomgr-refactor/
- `design.md` — Design Document: election-iomgr-refactor (~6671 tok)
- `requirements.md` — Requirements Document (~2695 tok)
- `research.md` — Research & Design Decisions (~11773 tok)
- `spec.json` (~129 tok)
- `tasks.md` — Implementation Plan (~3693 tok)
## .kiro/specs/ha-commit-barrier-rollout/
- `brief.md` — Brief: ha-commit-barrier-rollout (~626 tok)
- `design.md` — Design: ha-commit-barrier-rollout (~10372 tok)
- `requirements.md` — Requirements Document (~3181 tok)
- `research.md` — Research & Design Decisions: ha-commit-barrier-rollout (~6381 tok)
- `spec.json` (~341 tok)
- `tasks.md` — Implementation Plan: ha-commit-barrier-rollout (~5658 tok)
## .kiro/specs/ha-commit-durability/
- `brief.md` — Brief: ha-commit-durability (~2855 tok)
- `design.md` — Design Document — ha-commit-durability (~15280 tok)
- `INVESTIGATION-failover-job-loss.md` — Investigation: committed jobs lost across controller failover (bug-795 family) (~5299 tok)
- `requirements.md` — Requirements Document (~2587 tok)
- `research.md` — Gap Analysis — ha-commit-durability (~7773 tok)
- `spec.json` (~196 tok)
- `tasks.md` — Implementation Plan (~11353 tok)
## .kiro/specs/ha-commit-durability/repro-851/
- `ctrl-1.log` (~6116 tok)
- `ctrl-2.log` (~3742 tok)
- `ctrl-3.log` (~8148 tok)
- `waldump-ctrl-1.txt` (~1383 tok)
- `waldump-ctrl-2.txt` (~1383 tok)
- `waldump-ctrl-3.txt` (~1395 tok)
## .kiro/specs/ha-commit-engine/
- `brief.md` — Brief: ha-commit-engine (~588 tok)
- `design.md` — Design: ha-commit-engine (~7600 tok)
- `requirements.md` — Requirements Document (~2715 tok)
- `research.md` — Research Log: ha-commit-engine (~3398 tok)
- `spec.json` (~255 tok)
- `tasks.md` — Implementation Plan: ha-commit-engine (~4593 tok)
## .kiro/specs/ha-config-bootstrap/
- `brief.md` — Brief: ha-election-raft-config (~16310 tok)
- `design.md` — Design: HA Config Bootstrap & Raft-Style Quorum Election (~11439 tok)
- `election-trace.md` — Election Trace: 3-Node Cold Start (2026-06-04 00:15:58) (~2907 tok)
- `manual-tests.md` — Manual Integration Tests: ha-config-bootstrap (~3748 tok)
- `requirements.md` — Requirements: HA Config Bootstrap & Raft-Style Quorum Election (~3890 tok)
- `research.md` — Cross-Spec Gap Audit (2026-06-03) (~16849 tok)
- `spec.json` (~293 tok)
- `tasks.md` — Implementation Plan: HA Config Bootstrap & Raft-Style Quorum Election (~5780 tok)
## .kiro/specs/ha-consistency-invariants/
- `brief.md` — Brief: ha-consistency-invariants (~2916 tok)
- `design.md` — Design: ha-consistency-invariants (~8316 tok)
- `requirements.md` — Requirements Document (~3772 tok)
- `research.md` — Gap Analysis: ha-consistency-invariants (~10252 tok)
- `spec.json` (~462 tok)
## .kiro/specs/ha-convergence-recovery/
- `brief.md` — Brief: ha-convergence-recovery (~746 tok)
- `design.md` — Design: ha-convergence-recovery (~9928 tok)
- `requirements.md` — Requirements Document (~3586 tok)
- `research.md` — Research & Design Decisions: ha-convergence-recovery (~8994 tok)
- `spec.json` (~190 tok)
- `tasks.md` — Implementation Plan: ha-convergence-recovery (~5999 tok)
## .kiro/specs/ha-elect-ctx-lifecycle/
- `brief.md` — Discovery Brief: ha-elect-ctx-lifecycle (~774 tok)
- `research.md` — Research / Gap Analysis — ha-elect-ctx-lifecycle (~1092 tok)
- `spec.json` (~130 tok)
## .kiro/specs/ha-entity-snapshots/
- `design.md` — Design Document: ha-entity-snapshots (~8185 tok)
- `requirements.md` — Requirements Document (~2216 tok)
- `research.md` — Gap Analysis: ha-entity-snapshots (~3038 tok)
- `spec.json` (~129 tok)
- `tasks.md` — Implementation Plan (~3997 tok)
## .kiro/specs/ha-heartbeat-committed-propagation/
- `brief.md` — Brief: ha-heartbeat-committed-propagation (~1403 tok)
- `design.md` — Design Document — ha-heartbeat-committed-propagation (~4689 tok)
- `requirements.md` — Requirements Document (~1763 tok)
- `research.md` — Research / Gap Analysis — ha-heartbeat-committed-propagation (~2474 tok)
- `spec.json` (~301 tok)
- `tasks.md` — Implementation Plan (~2873 tok)
## .kiro/specs/ha-heartbeat-liveness/
- `design.md` — Design Document: ha-heartbeat-liveness (~5409 tok)
- `manual-tests.md` — Manual Integration Tests: ha-heartbeat-liveness — Task 4.5 (~1726 tok)
- `requirements.md` — Requirements Document (~2054 tok)
- `research.md` — Gap Analysis: ha-heartbeat-liveness (~7901 tok)
- `spec.json` (~171 tok)
- `tasks.md` — Implementation Plan (~2227 tok)
## .kiro/specs/ha-peer-connection-reuse/
- `design.md` — Design Document: ha-peer-connection-reuse (~5369 tok)
- `requirements.md` — Requirements Document (~1605 tok)
- `research.md` — Research & Design Decisions: ha-peer-connection-reuse (~8740 tok)
- `spec.json` (~169 tok)
- `tasks.md` — Implementation Plan: ha-peer-connection-reuse (~2022 tok)
## .kiro/specs/ha-prevote/
- `design.md` — Design Document (~6905 tok)
- `requirements.md` — Requirements Document (~3604 tok)
- `research.md` — Gap Analysis: ha-prevote (~8259 tok)
- `spec.json` (~126 tok)
- `tasks.md` — Implementation Plan (~3197 tok)
## .kiro/specs/ha-repl-hardening/
- `design.md` — Design: HA Replication Hardening (~5577 tok)
- `raft-tla-audit.md` — Raft TLA+ Specification Audit (~1591 tok)
- `requirements.md` — Requirements Document (~2850 tok)
- `research.md` — Gap Analysis: HA Replication Hardening (~11568 tok)
- `spec.json` (~198 tok)
- `tasks.md` — Implementation Plan: HA Replication Hardening (~4501 tok)
## .kiro/specs/ha-single-leader-role/
- `brief.md` — Brief: ha-single-leader-role (~624 tok)
- `design.md` — Design: ha-single-leader-role (~8611 tok)
- `requirements.md` — Requirements Document (~2177 tok)
- `research.md` — Research & Discovery Log: ha-single-leader-role (~5686 tok)
- `spec.json` (~177 tok)
- `tasks.md` — Implementation Plan: ha-single-leader-role (~5040 tok)
## .kiro/specs/ha-term-safety/
- `design.md` — Design Document (~11209 tok)
- `requirements.md` — Requirements Document (~4240 tok)
- `research.md` — Research & Design Decisions (~5375 tok)
- `spec.json` (~140 tok)
- `tasks.md` — Implementation Plan (~14377 tok)
- `TLA-gap-analysis.md` — Gap Analysis: XCE HA implementation vs `raft/raft.tla` (~2070 tok)
## .kiro/specs/ha-wal-replication/
- `brief.md` — Brief: ha-wal-replication (~829 tok)
- `design.md` — Design: HA WAL Replication (~1413 tok)
- `requirements.md` — Requirements Document (~1087 tok)
- `research.md` — Research: HA WAL Replication (~2542 tok)
- `spec.json` (~128 tok)
- `tasks.md` — Implementation Plan: HA WAL Replication (~1913 tok)
## .kiro/specs/job-array-single-wal-record/
- `brief.md` — Brief: job-array-single-wal-record (~1247 tok)
## .kiro/specs/libxce-failover/
- `brief.md` — Brief: libxce-failover (~2238 tok)
- `design.md` — Design Document — libxce-failover (~8279 tok)
- `requirements.md` — Requirements Document (~2933 tok)
- `research.md` — Research Log — libxce-failover (~4638 tok)
- `spec.json` (~128 tok)
- `tasks.md` — Implementation Plan (~4086 tok)
## .kiro/specs/raft-apply-decoupling/
- `brief.md` — Brief: raft-apply-decoupling (~2239 tok)
- `design.md` — Design Document: raft-apply-decoupling (~9210 tok)
- `facts-in-raft.md` — Design Note: Routing Facts Through Raft (apply-after-commit for RETAIN events) (~5569 tok)
- `requirements.md` — Requirements Document (~4629 tok)
- `research.md` — Research & Design Decisions (~4600 tok)
- `spec.json` (~129 tok)
- `tasks.md` — Implementation Plan (~20719 tok)
## .kiro/specs/raft-commit-safety/
- `brief.md` — Brief: raft-commit-safety (~967 tok)
- `design.md` — Design Document (~8677 tok)
- `requirements.md` — Requirements Document (~4523 tok)
- `research.md` — Gap Analysis — raft-commit-safety (2026-06-24) (~1679 tok)
- `spec.json` (~515 tok)
- `tasks.md` — Implementation Plan (~3186 tok)
## .kiro/specs/raft-drive-async/
- `brief.md` — Brief: raft-drive-async (~2465 tok)
- `design.md` — Design Document — raft-drive-async (~9226 tok)
- `requirements.md` — Requirements Document (~3369 tok)
- `research.md` — Gap Analysis — raft-drive-async (2026-06-25) (~3578 tok)
- `spec.json` (~128 tok)
- `tasks.md` — Implementation Plan (~10270 tok)
## .kiro/specs/raft-ha-core-safety/
- `.gdbwrap-ctrl.sh` — bug-1282 diagnostic: run the release xce_controller under gdb -batch; on SIGSEGV (~222 tok)
- `design.md` — Design Document — raft-ha-core-safety (~10558 tok)
- `requirements.md` — Requirements Document (~2601 tok)
- `research.md` — Gap Analysis — raft-ha-core-safety (~20590 tok)
- `spec.json` (~129 tok)
- `tasks.md` — Implementation Plan: raft-ha-core-safety (~11904 tok)
## .kiro/specs/raft-library/
- `design.md` — Design Document: raft-library (~7756 tok)
- `requirements.md` — Requirements Document (~2115 tok)
- `research.md` — Research & Design Decisions: raft-library (~6052 tok)
- `spec.json` (~215 tok)
- `tasks.md` — Implementation Plan (~4312 tok)
## .kiro/specs/raft-log-replication/
- `brief.md` — Brief: raft-log-replication (~1297 tok)
- `design.md` — Design Document (~7912 tok)
- `requirements.md` — Requirements Document (~4710 tok)
- `research.md` — Research Log: raft-log-replication (~1206 tok)
- `spec.json` (~368 tok)
- `tasks.md` — Implementation Plan (~3864 tok)
## .kiro/specs/raft-sim-conformance/
- `brief.md` — Brief: raft-sim-conformance (~697 tok)
- `design.md` — Design Document (~8280 tok)
- `requirements.md` — Requirements Document (~3776 tok)
- `research.md` — Gap Analysis — raft-sim-conformance (2026-06-24) (~3557 tok)
- `spec.json` — Declares divergence (~428 tok)
- `tasks.md` — Implementation Plan (~4680 tok)
## .kiro/specs/resval-id-decoupling/
- `design.md` — Design: resval-id-decoupling (~3914 tok)
- `requirements.md` — Requirements: resval-id-decoupling (~2360 tok)
- `research.md` — Gap Analysis: resval-id-decoupling (~7389 tok)
- `spec.json` — Declares is (~226 tok)
- `tasks.md` — Implementation Tasks: resval-id-decoupling (~2424 tok)
## .kiro/specs/scheduler-controller-msg-gap/
- `design.md` — Design: scheduler-controller-msg-gap (~5006 tok)
- `requirements.md` — Requirements: scheduler-controller-msg-gap (~2712 tok)
- `research.md` — Research Log: scheduler-controller-msg-gap (~8281 tok)
- `spec.json` (~230 tok)
- `tasks.md` — Tasks: scheduler-controller-msg-gap (~4650 tok)
## .kiro/specs/worker-join-refactor/
- `design.md` — Design Document: worker-join-refactor (~4709 tok)
- `requirements.md` — Requirements Document (~1401 tok)
- `research.md` — Research Log: worker-join-refactor (~7581 tok)
- `spec.json` (~128 tok)
- `tasks.md` — Implementation Plan (~1638 tok)
## .kiro/specs/xce-test-e2e-primitives/
- `design.md` — Design Document — xce-test-e2e-primitives (~2913 tok)
- `requirements.md` — Requirements Document (~2163 tok)
- `research.md` — Research / Discovery — xce-test-e2e-primitives (~499 tok)
- `spec.json` (~271 tok)
- `tasks.md` — Implementation Plan (~4188 tok)
## .kiro/steering/
- `api-standards.md` — API Standards (~1291 tok)
- `build-deployment.md` — Build & Deployment (~1241 tok)
- `error-handling.md` — Error Handling Standards (~1026 tok)
- `ha-async-io.md` — HA Protocol & Async I/O (~3225 tok)
- `persistence.md` — WAL & Persistence Durability (~2127 tok)
- `product.md` — Product Overview (~1246 tok)
- `roadmap.md` — Roadmap (~8482 tok)
- `security.md` — Security Standards (~804 tok)
- `structure.md` — Project Structure (~1170 tok)
- `tech.md` — Technology Stack (~1155 tok)
- `testing.md` — Testing Standards (~741 tok)
## .remember/
- `.gitignore` — Git ignore rules (~1 tok)
- `archive.md` — Archive (~6 tok)
- `now.md` — 11:21 | raft_tla (~53 tok)
- `recent.md` — Recent (~88 tok)
- `today-2026-06-26.done.md` — 03:44 | raft_tla (~174 tok)
- `today-2026-06-27.md` — 10:15 | raft_tla (~194 tok)
## .remember/logs/
- `hook-errors.log` (~0 tok)
- `memory-2026-06-26.log` (~206678 tok)
- `memory-2026-06-27.log` (~117086 tok)
## .remember/logs/autonomous/
- `save-112110.log` (~0 tok)
## .remember/tmp/
- `last-ndc.ts` (~4 tok)
- `last-save-ts` (~3 tok)
- `last-save.json` (~19 tok)
- `save-session.pid` (~2 tok)
## cases/
- `.ha-failover.md.~undo-tree~` (~34150 tok)
## docs/superpowers/plans/
- `2026-05-07-p0-single-controller-persistence.md` — P0: Single-Controller Persistence — Implementation Plan (~13327 tok)
- `2026-05-07-p1-ha-foundation.md` — P1: HA Foundation — Implementation Plan (~13491 tok)
- `2026-05-07-p2-replication.md` — P2: Replication (Fan-Out TCP) — TDD Implementation Plan (~12797 tok)
- `2026-05-07-p25-discovery.md` — P2.5: libxce Smart Discovery — TDD Implementation Plan (~10344 tok)
- `2026-05-07-p3-hardening.md` — P3: Integration & Hardening — TDD Implementation Plan (~9628 tok)
- `2026-05-07-persistence-ha-overview.md` — XCE Persistence & HA — Implementation Overview (~558 tok)
- `2026-05-13-config-replication.md` — Config Replication Implementation Plan (~21611 tok)
- `2026-05-20-config-repl-wire-protocol.md` — Config Replication — Wire Protocol Completion + Bug Fixes (~5134 tok)
## ha/data/
- `xce.crt` — ---BEGIN CERTIFICATE----- (~381 tok)
- `xce.key` — ---BEGIN PRIVATE KEY----- (~455 tok)
## raft/
- `#raft.tla#` — ------------------------------- MODULE raft --------------------------------- (~5162 tok)
- `raft.tla` — ------------------------------- MODULE raft --------------------------------- (~5350 tok)
## reports/
- `jun29-jul04-2026.md` — Work Summary: June 30 – July 4, 2026 (~857 tok)
## src/
- `flake.nix` (~571 tok)
- `meson.build` (~623 tok)
- `meson.options` (~90 tok)
## src/.claude/
- `ucai-formatter-cache.local.json` (~17 tok)
## src/autoscaler/
- `meson.build` (~163 tok)
## src/autoscaler/providers/
- `meson.build` (~342 tok)
## src/autoscaler/providers/baidu/
- `BccTool.env` (~64 tok)
## src/autoscaler/providers/baidu/lsf/conf/
- `baiduprov_config.json` (~44 tok)
- `baiduprov_templates.json` (~431 tok)
- `credentials` (~25 tok)
- `logger.yaml` (~196 tok)
## src/autoscaler/providers/baidu/postprovision/lsf/
- `example_user_data.sh` (~486 tok)
## src/autoscaler/providers/baidu/scripts/
- `getAvailableMachines.sh` — This script: (~112 tok)
- `getAvailableTemplates.sh` — This script: (~110 tok)
- `getRequestStatus.sh` — This script: (~110 tok)
- `getReturnRequests.sh` — This script: (~110 tok)
- `requestMachines.sh` — This script: (~110 tok)
- `requestReturnMachines.sh` — This script: (~110 tok)
## src/autoscaler/providers/baidu/src/bcctool/
- `BccTool.env` (~64 tok)
- `go.mod` — Go module definition (~136 tok)
- `go.sum` — Go dependency checksums (~566 tok)
- `main.go` (~355 tok)
## src/autoscaler/providers/baidu/src/bcctool/client/
- `bccClient.go` — ProvCloudClient (63 fields); methods: CreateInstances, ReleaseInstances, ListInstancesByTag, ListAllInstances (~3781 tok)
## src/autoscaler/providers/baidu/src/bcctool/enums/
- `provCode.go` — All error codes used in the Baidu Cloud provider plugin (~1198 tok)
## src/autoscaler/providers/baidu/src/bcctool/model/
- `types.go` — ClientCredential (149 fields); methods: IsBidTemplate, GetNcpus, GetMemory, String (~4213 tok)
## src/autoscaler/providers/baidu/src/bcctool/provconst/
- `bdConst.go` — Declares var (~311 tok)
## src/autoscaler/providers/baidu/src/bcctool/provservices/
- `provService.go` — GetAvailableTemplates, CreateInstancesFromFile, DeleteInstancesFromFile, SyncInstancesStatusFromFile, GetRequestStatusFromFile (~3661 tok)
## src/autoscaler/providers/baidu/src/bcctool/utils/
- `envvars.go` — InitEnvVars (~696 tok)
- `jsonUtils.go` — LoadProvTemplates, LoadProvConfig, LoadNodeCreationInputFile, LoadGetReturnRequestInputFile + 6 more (~2660 tok)
- `logger.go` — Config (50 fields) (~1649 tok)
- `provUtils.go` — InitProv, ExitWithError, Result, CreationTimeout, TerminationTimeout (~718 tok)
## src/autoscaler/scaler/
- `obj_mgr.c` — include <errno.h> (~3260 tok)
- `plug_mgr.c` — Main functions: (~4412 tok)
- `prov_conf.c` — include "prov_conf.h" (~2721 tok)
- `scaler_ctx.c` — include <string.h> (~547 tok)
- `scaler_json.c` — include <stdio.h> (~3716 tok)
- `scaler_misc.c` — include <math.h> (~1482 tok)
- `scaler_obj.c` — include "scaler_obj.h" (~2462 tok)
- `scaler.c` — include <errno.h> (~5076 tok)
## src/autoscaler/scaler/conf/
- `hostProviders.json` (~60 tok)
- `hostProviders.yaml` (~35 tok)
## src/autoscaler/scaler/include/
- `obj_mgr.h` — ifndef _OBJ_MGR_H_ (~492 tok)
- `plug_mgr.h` — ifndef _PLUG_MGR_H_ (~119 tok)
- `prov_conf.h` — ifndef _SCALER_CONF_H_ (~132 tok)
- `scaler_ctx.h` — ifndef _SCALER_CTX_H_ (~73 tok)
- `scaler_json.h` — ifndef __JSON_UTILS_H__ (~267 tok)
- `scaler_misc.h` — ifndef _SCALER_MISC_H_ (~203 tok)
- `scaler_obj.h` — ifndef _SCALER_OBJ_H_ (~273 tok)
- `scaler.h` — ifndef _SCALER_H_ (~384 tok)
## src/autoscaler/scaler/include/scaler/
- `types.h` — ifndef _SCALER_TYPES_H_ (~1091 tok)
## src/autoscaler/scaler/testsuite/
- `test_plug_mgr.c` — include <stdlib.h> (~1794 tok)
- `test_scale_misc.c` — include <stdio.h> (~1258 tok)
- `test.c` — include <stdio.h> (~97 tok)
## src/autoscaler/scaler/testsuite/scripts/
- `getAvailableTemplates.sh` (~242 tok)
- `getRequestStatus.sh` — Parse command line arguments (~644 tok)
- `getReturnRequests.sh` (~44 tok)
- `requestMachines.sh` (~20 tok)
- `requestReturnMachines.sh` (~38 tok)
## src/build.release/
- `.gitignore` — Git ignore rules (~25 tok)
- `.hgignore` — This file is autogenerated by Meson. If you change or delete it, it won't be recreated. (~29 tok)
- `.ninja_deps` — ninjadeps (~94574 tok)
- `.ninja_log` — ninja log v7 (~7797 tok)
- `build.ninja` — This is the build file for project "xce" (~76087 tok)
- `compile_commands.json` (~85144 tok)
- `xce` (~176 tok)
## src/build.release/autoscaler/
- `libscaler.a` (~28211 tok)
## src/build.release/autoscaler/libscaler.a.p/
- `scaler_obj_mgr.c.o` (~4493 tok)
- `scaler_plug_mgr.c.o` (~5263 tok)
- `scaler_prov_conf.c.o` (~2951 tok)
- `scaler_scaler_ctx.c.o` (~1060 tok)
- `scaler_scaler_json.c.o` (~4416 tok)
- `scaler_scaler_misc.c.o` (~2408 tok)
- `scaler_scaler_obj.c.o` (~2362 tok)
- `scaler_scaler.c.o` (~4615 tok)
## src/build.release/controller/
- `xce_controller` (~231672 tok)
- `xce_test` (~187302 tok)
## src/build.release/controller/controller_unit_test.p/
- `commit.c.o` (~2380 tok)
- `config_repl.c.o` (~15422 tok)
- `ctrl_metrics.c.o` (~954 tok)
- `ctrlstatus.c.o` (~1055 tok)
- `egress.c.o` (~684 tok)
- `ha_convergence.c.o` (~1671 tok)
- `ha.c.o` (~29278 tok)
- `job.c.o` (~7479 tok)
- `join.c.o` (~2434 tok)
- `opupd.c.o` (~805 tok)
- `persist.c.o` (~13480 tok)
- `queue.c.o` (~1618 tok)
- `repl.c.o` (~4060 tok)
- `slowlane.c.o` (~1279 tok)
- `startup_validation.c.o` (~1000 tok)
- `testsuite_controller_test.c.o` (~4462 tok)
- `testsuite_test_cluster_persist.c.o` (~1871 tok)
- `testsuite_test_coldstart_lsn0.c.o` (~3991 tok)
- `testsuite_test_commit_admission_pool.c.o` (~2507 tok)
- `testsuite_test_commit_barrier_reply.c.o` (~20113 tok)
- `testsuite_test_commit_barrier_rollout.c.o` (~16643 tok)
- `testsuite_test_commit_durability.c.o` (~20992 tok)
- `testsuite_test_commit_engine.c.o` (~18365 tok)
- `testsuite_test_config_repl.c.o` (~33947 tok)
- `testsuite_test_convergence_verification.c.o` (~13548 tok)
- `testsuite_test_ctrl_metrics.c.o` (~1390 tok)
- `testsuite_test_ctrlstatus.c.o` (~4859 tok)
- `testsuite_test_demotion_convergence.c.o` (~9560 tok)
- `testsuite_test_drive_async_config.c.o` (~1314 tok)
- `testsuite_test_e2e_capnp.c.o` (~2374 tok)
- `testsuite_test_e2e_checkpoint.c.o` (~3658 tok)
- `testsuite_test_e2e_gc.c.o` (~2267 tok)
- `testsuite_test_e2e_hooks.c.o` (~2780 tok)
- `testsuite_test_e2e_wal.c.o` (~2611 tok)
- `testsuite_test_egress_filter.c.o` (~5332 tok)
- `testsuite_test_gc_retention.c.o` (~3928 tok)
- `testsuite_test_ha_bootstrap_support.c.o` (~763 tok)
- `testsuite_test_ha_bootstrap.c.o` (~3083 tok)
- `testsuite_test_ha_cluster.c.o` (~1641 tok)
- `testsuite_test_ha_connection_reuse.c.o` (~4725 tok)
- `testsuite_test_ha_ctrlhello.c.o` (~1651 tok)
- `testsuite_test_ha_dispatch_integration.c.o` (~6316 tok)
- `testsuite_test_ha_durability.c.o` (~3514 tok)
- `testsuite_test_ha_election.c.o` (~10076 tok)
- `testsuite_test_ha_failover_prevote.c.o` (~3303 tok)
- `testsuite_test_ha_failover.c.o` (~2953 tok)
- `testsuite_test_ha_heartbeat_committed.c.o` (~2861 tok)
- `testsuite_test_ha_liveness.c.o` (~18406 tok)
- `testsuite_test_ha_prevote.c.o` (~7709 tok)
- `testsuite_test_ha_rdhup_integration.c.o` (~4906 tok)
- `testsuite_test_ha_redirect.c.o` (~1653 tok)
- `testsuite_test_ha_repl_push.c.o` (~3326 tok)
- `testsuite_test_ha_role_lifecycle.c.o` — Declares WAL_NOOP (~9714 tok)
- `testsuite_test_ha_role.c.o` (~7639 tok)
- `testsuite_test_ha_start_election_async.c.o` (~2049 tok)
- `testsuite_test_ha_startup.c.o` (~8839 tok)
- `testsuite_test_ha_vep_teardown.c.o` (~5627 tok)
- `testsuite_test_ha_vote_floor_heartbeat.c.o` (~2418 tok)
- `testsuite_test_ha_vote_gate.c.o` (~9850 tok)
- `testsuite_test_ha_vote_send.c.o` (~5643 tok)
- `testsuite_test_hooks.c.o` — Declares tests (~756 tok)
- `testsuite_test_join_redirect.c.o` (~1122 tok)
- `testsuite_test_p1_integration.c.o` (~1554 tok)
- `testsuite_test_p2_integration.c.o` (~4480 tok)
- `testsuite_test_p3_hardening.c.o` (~5212 tok)
- `testsuite_test_p3_manual_failover.c.o` (~1255 tok)
- `testsuite_test_persist_checkpoint.c.o` (~2306 tok)
- `testsuite_test_persist_hooks.c.o` — Declares tests (~5045 tok)
- `testsuite_test_persist_recovery.c.o` (~3920 tok)
- `testsuite_test_persist_repl.c.o` (~1651 tok)
- `testsuite_test_persist_schema.c.o` (~1079 tok)
- `testsuite_test_persist_truncate.c.o` (~2555 tok)
- `testsuite_test_persist_types.c.o` (~1148 tok)
- `testsuite_test_persist_wal.c.o` (~2262 tok)
- `testsuite_test_repl_apply.c.o` (~5440 tok)
- `testsuite_test_repl_catchup.c.o` (~1961 tok)
- `testsuite_test_repl_majority.c.o` (~3823 tok)
- `testsuite_test_repl_unit.c.o` (~7043 tok)
- `testsuite_test_slowlane.c.o` (~3285 tok)
- `testsuite_test_term_safety_adapter.c.o` (~19529 tok)
- `testsuite_test_walcompare.c.o` (~6412 tok)
- `testsuite_test_waldump.c.o` (~4875 tok)
- `testsuite_test_worker_join.c.o` — Declares must (~6479 tok)
- `testsuite_walcompare.c.o` (~2442 tok)
- `testsuite_waldump.c.o` (~8073 tok)
- `worker.c.o` (~4547 tok)
## src/build.release/controller/xce_controller.p/
- `apiserver.c.o` (~3427 tok)
- `cluster.c.o` (~11086 tok)
- `commit.c.o` (~2048 tok)
- `config_repl.c.o` (~15387 tok)
- `ctrl_metrics.c.o` (~954 tok)
- `ctrlstatus.c.o` (~1055 tok)
- `dataex.c.o` (~2410 tok)
- `egress.c.o` (~684 tok)
- `ha_convergence.c.o` (~1762 tok)
- `ha.c.o` (~25817 tok)
- `job.c.o` (~7479 tok)
- `join.c.o` (~2434 tok)
- `main.c.o` (~2912 tok)
- `misc.c.o` (~1523 tok)
- `myapp.c.o` (~2415 tok)
- `myconf.c.o` (~1358 tok)
- `opget.c.o` (~1396 tok)
- `opupd.c.o` (~805 tok)
- `persist.c.o` (~12292 tok)
- `queue.c.o` (~1618 tok)
- `repl.c.o` (~3916 tok)
- `reply.c.o` (~800 tok)
- `resources.c.o` (~248 tok)
- `sched.c.o` (~2960 tok)
- `slowlane.c.o` (~1279 tok)
- `startup_validation.c.o` (~1000 tok)
- `task.c.o` (~1388 tok)
- `worker.c.o` (~4528 tok)
## src/controller/
- `CLAUDE.md` — XCE Controller (~3373 tok)
- `cluster.c` — include "config.h" (~18098 tok)
- `commit.c` — Declares is (~12825 tok)
- `config_repl.c` — define _GNU_SOURCE (~28945 tok)
- `config_repl.h` — pragma once (~6155 tok)
- `ha.c` — define _GNU_SOURCE (~102306 tok)
- `ha.h` — ifndef HA_H (~26001 tok)
- `job.c` — include <errno.h> (~16424 tok)
- `main.c` — include <argp.h> (~3035 tok)
- `meson.build` (~1580 tok)
- `myapp.c` — define _GNU_SOURCE (~5215 tok)
- `persist.c` — define _GNU_SOURCE (~60786 tok)
## src/controller/include/
- `cluster.h` — if !defined(_CLUSTER_H_) (~2610 tok)
- `commit.h` — pragma once (~3635 tok)
## src/controller/testsuite/
- `controller_test.c` — include <argp.h> (~1986 tok)
- `snapdiff.c` — define _GNU_SOURCE (~833 tok)
- `snapdiff.h` — pragma once (~569 tok)
- `snapverify.c` — define _GNU_SOURCE (~2505 tok)
- `snapverify.h` — pragma once (~645 tok)
- `test_apply_committed_entry.c` — Declares directly (~4141 tok)
- `test_apply_correctness_verification.c` — Task 5.1-5.3: post-replay apply verdict (CLEAN/DIVERGENT), routes through existing loud-fence; 11 tests incl. explicit stays-alive pin + fence-clear-via-restart + direct persist_clear_recovery_unrecoverable coverage (~17000 tok)
- `test_apply_pump_integration.c` — Declares hook (~16913 tok)
- `test_apply_pump.c` — Task 6.1 ordered apply pump tests (4, pool=NULL) + task 6.2 round-2 bug-1415 regression `test_apply_pump_late_pending_apply_registration_self_heals` (5th test, own tpr_* fixture with a REAL multi-vcpu vtaskmgr_t via commit_set_pool, forces apply-pump-wins-race via a barrier) (~17700 tok)
- `test_apply_reapply_idempotency.c` — Declares xce_job_t (~4001 tok)
- `test_apply_seam.c` (~2936 tok)
- `test_apply_seam.c` — raft-apply-decoupling task 2.1: calls apply_job_start/finish/fail/update_transition() directly on a bare jobmgr+job_t (no cluster_t), bypassing on_job_start/finish/fail, to prove the extracted guard cores work outside the receipt path (~2900 tok)
- `test_commit_barrier_reply.c` — Declares uint8_t (~38815 tok)
- `test_commit_durability.c` — define _GNU_SOURCE (~31376 tok)
- `test_commit_resolve.c` (~14018 tok)
- `test_config_repl.c` — define _GNU_SOURCE (~42756 tok)
- `test_convergence_verification.c` — define _GNU_SOURCE (~16987 tok)
- `test_demotion_convergence.c` — define _GNU_SOURCE (~12767 tok)
- `test_e2e_hooks.c` — define _GNU_SOURCE (~2184 tok)
- `test_egress_filter.c` — Declares xce_job_t (~5072 tok)
- `test_ha_core_safety.c` — Declares char (~36309 tok)
- `test_ha_liveness.c` — Declares directly (~24748 tok)
- `test_ha_partition.c` (~5459 tok)
- `test_ha_rdhup_integration.c` — Declares char (~7341 tok)
- `test_ha_vep_teardown.c` (~6218 tok)
- `test_ha_vote_gate.c` — define _GNU_SOURCE (~14165 tok)
- `test_persist_hooks.c` — define _GNU_SOURCE (~4305 tok)
- `test_persist_snapshot_entities.c` — unsigned: queue (~14897 tok)
- `test_persist_truncate.c` — define _GNU_SOURCE (~5031 tok)
- `test_replay_apply_seam.c` — Declares through (~3707 tok)
- `test_snapdiff.c` — define _GNU_SOURCE (~1033 tok)
- `test_snapverify.c` — define _GNU_SOURCE (~2008 tok)
- `test_walcompare.c` — define _GNU_SOURCE (~6845 tok)
- `test.c` — include <argp.h> (~29726 tok)
- `walcompare.c` — define _GNU_SOURCE (~5176 tok)
- `walcompare.h` — pragma once (~1474 tok)
- `waldump.c` — define _GNU_SOURCE (~5404 tok)
## src/include/
- `client.h` — if !defined(_CLIENT_H_) (~1707 tok)
- `config.h` — if !defined(_CONFIG_H_) (~1257 tok)
- `delay.h` — if !defined(_DELAY_H_) (~414 tok)
- `myconf.h` — if !defined(_MYCONF_H_) (~560 tok)
- `netio.h` — if !defined(_NETIO_H_) (~2313 tok)
- `persist.h` — pragma once (~20431 tok)
- `typemap.h` — if !defined(_TYPEMAP_H_) (~4717 tok)
- `wal_types.h` — pragma once (~1996 tok)
## src/lib/
- `delay.c` — include <errno.h> (~1520 tok)
- `jobj.c` — include <errno.h> (~4867 tok)
- `netio.c` — include <arpa/inet.h> (~8371 tok)
- `request.c` — include <errno.h> (~15919 tok)
- `vtaskmgr.c` — include <errno.h> (~3822 tok)
## src/lib/raft/
- `raft_sim.c` — ifdef XCE_TESTING (~28490 tok)
- `raft.h` — ifndef RAFT_H (~17581 tok)
## src/lib/testsuite/
- `test_ctrlstatus.c` (~4821 tok)
- `test_raft.c` — include <errno.h> (~98108 tok)
- `test_wal_wire.c` — include <errno.h> (~4238 tok)
## src/schema/
- `controller.capnp` — Declares OPCode (~9344 tok)
## src/tools/
- `test-commit-durability.sh` — test-commit-durability.sh — bug-661 reproduction: committed jobs lost across failover. (~9574 tok)
- `xce-build.sh` (~1395 tok)