# XCE Project Status — Aug 03 – Aug 07, 2026 ## TL;DR **scheduler-core: fully implemented.** All 13 task groups landed across the week — picker plugin contract, core extraction, normal-mode driver wiring, replay wire format, snapshot save/load, recording lifecycle, admin opcode dispatch, simulation mode, interactive REPL, and HA soak regression. One controller bug fixed (bug-1505: WalCatchupEntry SIGSEGV). Aug 08 (today) was documentation cleanup: deployment guide, CLAUDE.md sync, and a broad audit of 33 closed specs. The scheduler-framework feature branch is now implementation-complete. ## Commits by day ### Aug 03 (Sun) — Group 1 (picker contract) + Group 2 (builtin_fcfs) + Group 4 (core extraction) + Group 5 (driver wiring) 10 commits, closing out Groups 1–5: - **Group 1 — Picker Plugin Contract** (tasks 1.1–1.3): defined `job_elect_fn` plugin contract, registered picker plugin category, added picker configuration fields - **Group 2 — builtin_fcfs** (tasks 2.1–2.6): lifecycle, state-change hooks, session/post-allocation hooks, wired as registered default picker, scheduling-loop ordering guard regression tests, data-sharing invariant audit - **Group 4 — Core Extraction** (tasks 4.1–4.6): extracted `xce_sched_core_t` from monolithic `scheduler_t`, pinned jbuf capacity + kvmgr determinism audit, event batch push interface (CONFIG_PUSH decomposition approved round 2), session-start signal + decision callback, clock virtualization + session timing, core contract test (full push-go-drain-end cycle) - **Group 5 — Driver Wiring** (tasks 5.1–5.2): normal-mode event translation path, decision publishing + mode-selection wired into `main.c` ### Aug 04 (Mon) — Group 6 (HA soak gate) + Group 7 (replay wire format) + Group 8 (snapshot) 9 commits: - **Group 6** (task 6): Phase 2 HA soak regression gate closed - **Group 7 — Replay Wire Format** (tasks 7.1–7.5): replay stream envelope schema, event payload types (JobStateChangeEvent), decision payload types + snapshot schema (SnapshotData, ReplayDecision), admin opcode schema, round-trip coverage gap (1087/1087 tests pass) - **Group 8 — Snapshot** (tasks 8.1–8.2): snapshot save/load with cross-thread concurrency fix, `-EBUSY` guard against active session ### Aug 05 (Tue) — Group 9 (recording lifecycle) + Group 10 (admin dispatch + xceadmin CLI) 9 commits: - **Group 9 — Recording Lifecycle** (tasks 9.1–9.5): directory provisioning + path validation, record start/stop lifecycle (O_TRUNC→ftruncate hardlink fix, CWE-59 patched), periodic snapshot checkpointing, scheduler-side admin request handler, integration tests (26/26 pass) - **Group 10 — Admin Dispatch + xceadmin CLI** (tasks 10.1–10.3): controller-side `OPCode_schedAdmin` dispatch (fmt-noise + leak fix), dispatch test suite (timeout/RPC-status/error paths), xceadmin recording client functions ### Aug 06 (Wed) — Group 10 (cont.) + Group 11 (simulation mode) 9 commits: - **Group 10 cont.** (tasks 10.4–10.6): xceadmin scheduler dump command, CLI wiring (record_start/stop/status), mock-server E2E tests - **Group 11 — Simulation Mode** (tasks 11.1–11.3): simulation-mode startup, virtual clock advancement + event loop, simulation isolation enforcement ### Aug 07 (Thu) — Group 11 (cont.) + Group 12 (REPL) + Group 13 (validation) 12 commits: - **Group 11 cont.** (tasks 11.4–11.6): simulation decision verification, what-if branching + output recording, normal↔sim decision equivalence tests (5/5 pass, 33/33 regression) - **Group 12 — REPL** (tasks 12.1–12.4): execution control (readline→libedit GPL→BSD), breakpoints + state inspection, snapshot capture + simulation parameter commands, step/continue equivalence to batch (37/37 tests pass) - **fix(controller):** stop SIGSEGV in WalCatchupEntry capnp encode (**bug-1505**) - **Group 13:** full cross-phase HA soak regression (15 rounds sequential pass) - **Validation:** spec marked implementation-complete; feature-level validation findings recorded ### Aug 08 (Fri, today) — Documentation Cleanup 5 commits (documentation only, not implementation): - `docs:` add scheduler recording/simulation/REPL to deployment guide - `docs(scheduler-core):` sync CLAUDE.md for core/driver/picker/sim/REPL architecture - `docs(scheduler-core):` commit accumulated brief/requirements/roadmap edits - `docs(scheduler-core):` backfill `_Verified` notes for tasks 2.1–2.6 - `docs(scheduler-core):` commit design.md/research.md, sync design.md with as-built code Plus a broad documentation audit (not yet committed): 33 closed `.kiro/specs` design.md files audited for drift against production source, with confirmed corrections across 8+ HA/Raft spec design docs. A separate stream of work (S1275–S1278) covered 28 free-standing docs → 126 audit findings, and TLS encryption claims in deployment.md were verified against `libxce` source (server-side TLS confirmed, `do_connect()` is an uncalled stub). ## Bugs opened/fixed this window | Bug | Status | Summary | |---|---|---| | bug-1505 | **Fixed** (2026-08-07, `1fd467d0`) | `WalCatchupEntry` capnp encode SIGSEGV — `Data` fields in capnp schema caused null-deref; fixed by migrating to `List(UInt8)` (same class as bug-1504 in SnapshotData) | ## Spec status changes - **scheduler-core** — **implementation-complete** (2026-08-07). All 13 task groups (1.1–13) delivered; spec.json phase → `implemented`. 55 commits, 112 files changed, ~42K insertions. - Architecture: picker plugin system (job_elect_fn contract), builtin_fcfs, extracted xce_sched_core_t, normal-mode driver, capnp replay wire format, snapshot persistence, recording lifecycle, xceadmin CLI, simulation mode (normal↔sim equivalence), interactive REPL (BSD libedit). ## Stats - **55 commits** in 5 days - **112 files changed**, 42,005 insertions, 803 deletions - **1 bug fixed** (bug-1505) - **13 task groups** completed (Groups 1–13) - **1 spec** moved to implemented (scheduler-core) - **1,087+ roundtrip tests**, **26 integration tests**, **37 REPL tests**, **15-round HA soak** all passing ## Open threads heading into next session 1. scheduler-core is implementation-complete — next step is either PR review + merge to master, or starting scheduler-allocation/scheduler-preemption design. 2. Documentation audit (33 specs) is in progress — design.md corrections applied to ~8 HA/Raft specs; remaining ~24 specs need verification. 3. Broad documentation audit (S1278) still running — 28 docs with 126 findings, Tier 3 workflow targeting 32 closed spec design.md files.