6.4 KiB
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_fnplugin 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_tfrom monolithicscheduler_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,
-EBUSYguard 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_schedAdmindispatch (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 guidedocs(scheduler-core):sync CLAUDE.md for core/driver/picker/sim/REPL architecturedocs(scheduler-core):commit accumulated brief/requirements/roadmap editsdocs(scheduler-core):backfill_Verifiednotes for tasks 2.1–2.6docs(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
- scheduler-core is implementation-complete — next step is either PR review + merge to master, or starting scheduler-allocation/scheduler-preemption design.
- Documentation audit (33 specs) is in progress — design.md corrections applied to ~8 HA/Raft specs; remaining ~24 specs need verification.
- Broad documentation audit (S1278) still running — 28 docs with 126 findings, Tier 3 workflow targeting 32 closed spec design.md files.