Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RLSNJhNoULvVcUhXEFafQC
68 KiB
68 KiB
XCE Change Log
Auto-generated by /xce-changes — component-grouped, newest week first.
.wolf/ bookkeeping commits are excluded.
Sep 06, 2026 - Sep 12, 2026
controller
a83d7087docs(xce-test-cli-ux): document jobsub -n's min,max task-range format (2026-09-10)38595099test(xce-test-cli-ux): verify help/completion/context-switching hold together (task 4.4) (2026-09-10)a98fad24fix(xce-test-cli-ux): route diagnostic/warning messages to stderr uniformly (2026-09-10)96746af3feat(xce-test-cli-ux): generate and consolidate every command's help content (2026-09-09)0d67f5cbfeat(xce-test-cli-ux): add JSON output mode to the listing commands (2026-09-09)a57c0471feat(xce-test-cli-ux): wire confirmation gate to the five destructive commands (2026-09-09)45120af2feat(xce-test-cli-ux): wrap every blocking RPC with the interrupt adapter (2026-09-09)f152c59efeat(xce-test-cli-ux): migrate all flag-accepting commands to flagspec (2026-09-09)878a42fbfix(xce-test-cli-ux): fix bug-1557's join maxmem default (2026-09-09)a8154acbfix(xce-test-cli-ux): fix bug-1711's display and text defects (2026-09-09)c709eba8feat(xce-test-cli-ux): add in-session source command with cycle detection (2026-09-09)0ef232a0feat(xce-test-cli-ux): add command-name tab completion scoped to context (2026-09-09)07d238eafeat(xce-test-cli-ux): build JSON list-output helper library (2026-09-09)a2686516feat(xce-test-cli-ux): build destructive-command confirmation gate (2026-09-09)4d1f2476test(xce-test-cli-ux): build reusable pty-driven black-box CLI harness (2026-09-09)b70228c5feat(xce-test-cli-ux): add process-level help/version discovery (2026-09-09)204f81d1feat(xce-test-cli-ux): add per-connection lock to interruptible-call adapter (2026-09-09)9a06047dfeat(xce-test-cli-ux): build interruptible-call heap-ownership mechanism (2026-09-09)b4f5a460feat(xce-test-cli-ux): fix SIGINT install to guarantee EINTR, add accessor (2026-09-09)89af46affeat(xce-test-cli-ux): add flag typo-suggestion and help-block renderer (2026-09-09)0748f10cfeat(xce-test-cli-ux): build flag-descriptor parsing/rejection core (2026-09-09)
worker
a35f597efix(worker): real maxswap/maxtmp detection; feat(scheduler): annotate multi-slot assigned jobs (2026-09-07)f02bedc5test(resreq-maxtasks-wiring): close worker launch-type dispatch coverage gap (2026-09-06)
scheduler
25fb5c11fix(scheduler): sim resource over-commit, byte-unit display, sync job-state-at-capture (2026-09-12)a6d96705refactor(scheduler): read slots' job total from alloc_req instead of name-checking (2026-09-08)5b18f14afix(scheduler): restore slots-based global limit enforcement (bug-1790 regression) (2026-09-08)fa34b038refactor(scheduler): move job-total limit computation to the limit plugin (bug-1790) (2026-09-08)c832706etest(scheduler): fix wrong resInUse precondition in mem-reservation test (bug-1758) (2026-09-08)9caf1424fix(scheduler): populate job-wide total want for per-host resources during global phase (bug-1790) (2026-09-08)924ac32cfix(scheduler): global limits on per-host resources now read the correct want (bug-1789) (2026-09-07)22cfe616fix(scheduler): fix limit-plugin usergroup/scope/error-code cascade (gitea#46) (2026-09-07)0d3f925cfix(scheduler): retire reconciled jobs from picker candidates (bug-1759/1779) (2026-09-07)ef3c4670fix(scheduler): exclude terminal jobs from assigned-jobs listing (bug-1778) (2026-09-07)a35f597efix(worker): real maxswap/maxtmp detection; feat(scheduler): annotate multi-slot assigned jobs (2026-09-07)c454f065test(resreq-maxtasks-wiring): fix deferred queue-priority assertion (2026-09-06)d1849c94test(resreq-maxtasks-wiring): retire multislot test's bug-1770 workaround (2026-09-06)c36014c0test(resreq-maxtasks-wiring): verify driver parity, update-immunity, cache (2026-09-06)4644d20ctest(resreq-maxtasks-wiring): verify ingest wiring parity and no-regression (2026-09-06)6577e041feat(resreq-maxtasks-wiring): wire snapshot-restore ingest to real task count (2026-09-06)0aadb494feat(resreq-maxtasks-wiring): wire fresh job-ingest to real task count (2026-09-06)
frontend
099dbdabfix(apiserver): fix job control union discriminant, add human-readable job ID support (gitea#45) (2026-09-07)5ab344e1fix(apiserver): propagate submit user as job execuser (bug-1780) (2026-09-07)e395eaa3fix(frontend): count host job-state columns and EXEC_HOST by real slots (2026-09-07)
lib
f09fbdb3fix(build): close the same codegen race for the four PEG parsers (bug-1798) (2026-09-10)c1c6c9a2fix(build): close capnp codegen race for controller/worker/scheduler too (bug-1798) (2026-09-10)654c6e8cfix(build): close capnp codegen missing-dependency-edge race (bug-1798) (2026-09-10)fa34b038refactor(scheduler): move job-total limit computation to the limit plugin (bug-1790) (2026-09-08)4b20590cfix(lib): free host_account.host and job_account test fixtures (bug-1723, bug-1621) (2026-09-08)9caf1424fix(scheduler): populate job-wide total want for per-host resources during global phase (bug-1790) (2026-09-08)22cfe616fix(scheduler): fix limit-plugin usergroup/scope/error-code cascade (gitea#46) (2026-09-07)799a71ecfeat(resreq-maxtasks-wiring): add task-count derivation helper (2026-09-06)
include
fa34b038refactor(scheduler): move job-total limit computation to the limit plugin (bug-1790) (2026-09-08)9caf1424fix(scheduler): populate job-wide total want for per-host resources during global phase (bug-1790) (2026-09-08)22cfe616fix(scheduler): fix limit-plugin usergroup/scope/error-code cascade (gitea#46) (2026-09-07)799a71ecfeat(resreq-maxtasks-wiring): add task-count derivation helper (2026-09-06)
specs
25fb5c11fix(scheduler): sim resource over-commit, byte-unit display, sync job-state-at-capture (2026-09-12)38595099test(xce-test-cli-ux): verify help/completion/context-switching hold together (task 4.4) (2026-09-10)31d66060docs(xce-test-cli-ux): verify source's interaction with the confirmation gate (task 4.3) (2026-09-10)f6793a24docs(xce-test-cli-ux): verify the confirmation gate end-to-end (task 4.2) (2026-09-10)18aa7366docs(xce-test-cli-ux): verify Ctrl-C cancellation end-to-end (task 4.1) (2026-09-10)a98fad24fix(xce-test-cli-ux): route diagnostic/warning messages to stderr uniformly (2026-09-10)96746af3feat(xce-test-cli-ux): generate and consolidate every command's help content (2026-09-09)0d67f5cbfeat(xce-test-cli-ux): add JSON output mode to the listing commands (2026-09-09)a57c0471feat(xce-test-cli-ux): wire confirmation gate to the five destructive commands (2026-09-09)45120af2feat(xce-test-cli-ux): wrap every blocking RPC with the interrupt adapter (2026-09-09)f152c59efeat(xce-test-cli-ux): migrate all flag-accepting commands to flagspec (2026-09-09)878a42fbfix(xce-test-cli-ux): fix bug-1557's join maxmem default (2026-09-09)a8154acbfix(xce-test-cli-ux): fix bug-1711's display and text defects (2026-09-09)c709eba8feat(xce-test-cli-ux): add in-session source command with cycle detection (2026-09-09)0ef232a0feat(xce-test-cli-ux): add command-name tab completion scoped to context (2026-09-09)07d238eafeat(xce-test-cli-ux): build JSON list-output helper library (2026-09-09)a2686516feat(xce-test-cli-ux): build destructive-command confirmation gate (2026-09-09)7d0ac6f6docs(xce-test-cli-ux): commit requirements/design/tasks spec-phase artifacts (2026-09-09)4d1f2476test(xce-test-cli-ux): build reusable pty-driven black-box CLI harness (2026-09-09)b70228c5feat(xce-test-cli-ux): add process-level help/version discovery (2026-09-09)204f81d1feat(xce-test-cli-ux): add per-connection lock to interruptible-call adapter (2026-09-09)9a06047dfeat(xce-test-cli-ux): build interruptible-call heap-ownership mechanism (2026-09-09)b4f5a460feat(xce-test-cli-ux): fix SIGINT install to guarantee EINTR, add accessor (2026-09-09)89af46affeat(xce-test-cli-ux): add flag typo-suggestion and help-block renderer (2026-09-09)0748f10cfeat(xce-test-cli-ux): build flag-descriptor parsing/rejection core (2026-09-09)0d3f925cfix(scheduler): retire reconciled jobs from picker candidates (bug-1759/1779) (2026-09-07)a221b6aechore(resreq-maxtasks-wiring): close out feature-level validation (2026-09-06)5c87f1ccchore(resreq-maxtasks-wiring): confirm HA soak regression (task 5.2) (2026-09-06)c454f065test(resreq-maxtasks-wiring): fix deferred queue-priority assertion (2026-09-06)1e962746feat(resreq-maxtasks-wiring): prove array-job element spans hosts too (2026-09-06)7fd673ccfeat(resreq-maxtasks-wiring): submit real multi-task job across hosts (2026-09-06)0313b910feat(resreq-maxtasks-wiring): add multi-host e2e test harness (2026-09-06)d1849c94test(resreq-maxtasks-wiring): retire multislot test's bug-1770 workaround (2026-09-06)c36014c0test(resreq-maxtasks-wiring): verify driver parity, update-immunity, cache (2026-09-06)4644d20ctest(resreq-maxtasks-wiring): verify ingest wiring parity and no-regression (2026-09-06)f02bedc5test(resreq-maxtasks-wiring): close worker launch-type dispatch coverage gap (2026-09-06)6577e041feat(resreq-maxtasks-wiring): wire snapshot-restore ingest to real task count (2026-09-06)0aadb494feat(resreq-maxtasks-wiring): wire fresh job-ingest to real task count (2026-09-06)799a71ecfeat(resreq-maxtasks-wiring): add task-count derivation helper (2026-09-06)
build
58918a6afix(scheduler): live-verify bug-1790 with a real global mem limit (2026-09-08)ed654609remove override of maxswap (2026-09-08)028d8f6achore(build): make xce-build.sh self-wrap into nix develop (2026-09-07)850d186dfeat(build): cap xce-build.sh's run-queue length via a live-computed --jobs flag (2026-09-07)
misc
25fb5c11fix(scheduler): sim resource over-commit, byte-unit display, sync job-state-at-capture (2026-09-12)ffca959edocs(skills): note join's corrected maxmem default at bare-join call sites (2026-09-10)7acf26f2docs(xce-build): drop redundant manual nix develop wrapper from skill (2026-09-08)028d8f6achore(build): make xce-build.sh self-wrap into nix develop (2026-09-07)850d186dfeat(build): cap xce-build.sh's run-queue length via a live-computed --jobs flag (2026-09-07)a6b735b6add weekly report and change logs (2026-09-06)1e962746feat(resreq-maxtasks-wiring): prove array-job element spans hosts too (2026-09-06)7fd673ccfeat(resreq-maxtasks-wiring): submit real multi-task job across hosts (2026-09-06)0313b910feat(resreq-maxtasks-wiring): add multi-host e2e test harness (2026-09-06)
Aug 30, 2026 - Sep 05, 2026
controller
12c6a59cfeat(eliminate-frontend-makefile): task 3.4 - update source code comments (2026-09-03)1c4cf8bdfix(worker-rejoin-resync): task 7.5 - bound the outbound reconciliation query (2026-09-02)613b80e9test(worker-rejoin-resync): task 7.4 - large job-count pagination correctness (2026-09-02)165fc158test(worker-rejoin-resync): task 7.3 - burst recovery unbounded by count (2026-09-02)bceca0c9test(worker-rejoin-resync): task 7.2 - failover-during-job recovery (2026-09-01)8650cfd9test(worker-rejoin-resync): task 7.1 - full rejoin round trip (2026-09-01)9f655c61feat(worker-rejoin-resync): task 6.2 - route job-state report to reconciliation (2026-09-01)a3d12d37feat(worker-rejoin-resync): task 6.1 - trigger reconciliation on rejoin (2026-09-01)eec2596cfeat(worker-rejoin-resync): apply reported outcomes idempotently (task 3.2) (2026-09-01)442fcf45feat(worker-rejoin-resync): reconciliation round lifecycle (task 3.1) (2026-09-01)ea0658ecfeat(worker-rejoin-resync): fail-fast disconnected-worker dispatch (task 2.3) (2026-09-01)ecfb4c94feat(worker-rejoin-resync): reconcile unqueried job assignment (task 2.2) (2026-09-01)cfe66ddefeat(worker-rejoin-resync): reconcile unrecognized job to pending (task 2.1) (2026-09-01)026fe97bfix(bug-1737): scheduler can never learn a job finished successfully (2026-08-31)0e96a69ffix(bug-1429): persist_stop() before commit_engine_fini() in 21 fixtures (2026-08-30) — fixes a controller_unit_test hang/deadlock after HA quorum was lost during teardown5c2c6664fix(bug-1736): capture memory_swap/tasks_current, compute peak_cpu_time (2026-08-30)d8a37fa2fix(bug-1735): job memory/CPU usage always read 0 in scheduler replay (2026-08-30)a02d4777fix(bug-1561): fix flaky test_conf_trim_keeps_only_n_versions/test_conf_get_saved_tag_no_config (2026-08-30)
worker
b6a2f5ecfix(worker-rejoin-resync): task 4.4 - gate periodic load-indices send on resync_pending (2026-09-02)a3d12d37feat(worker-rejoin-resync): task 6.1 - trigger reconciliation on rejoin (2026-09-01)5b699736feat(worker-rejoin-resync): task 4.3 - wire query receipt and post-join gate (2026-09-01)cfe58c3dfeat(worker-rejoin-resync): task 4.2 - worker answers job-state query with extras (2026-09-01)e31012e8feat(worker-rejoin-resync): task 4.1 - bounded finished-job retention on worker (2026-09-01)
scheduler
c009f108test(scheduler-allocation): end-to-end multi-host parallel job proof (2026-09-05)e8c2087dfeat(scheduler-allocation): clear unsatisfiable-resreq cache per session (2026-09-05)5c022d0bfeat(scheduler-allocation): wire unsatisfiable-resreq cache into dispatch (2026-09-04)9d23060btest(scheduler-allocation): prove parjob's shared resource commits once (2026-09-04)3d5e1c32feat(scheduler-allocation): implement parjob's per-bucket allocation loop (2026-09-04)6ca717fbfeat(scheduler-allocation): implement parjob's combinatorial plan generation (2026-09-04)9d64ba0dtest(scheduler-allocation): prove seqjob rewrap preserves host selection (2026-09-04)b18c5f78feat(scheduler-allocation): rewrap seqjob allocation onto shared iterators (2026-09-04)86c86352feat(scheduler-allocation): implement the unsatisfiable-resreq cache (2026-09-04)d9831b0bfeat(scheduler-allocation): implement the shared host-candidate iterator (2026-09-04)d0024eb7feat(scheduler-allocation): add per-host resource-debit reversal (2026-09-04)d8b5cf87feat(scheduler-allocation): add forward-compatible allocation-mode field (2026-09-04)5a670676feat(scheduler-allocation): add resreq fingerprinting for the cache (2026-09-04)d5d2c1cafeat(scheduler-allocation): add lazy plan/host iterator contracts (2026-09-04)88b0ac99fix(scheduler): close post-failover rejoin detection gap (bug-1760) (2026-09-04) — new primary's dispatched job stayed PEND 60s+ with zero scheduler activity9dcffce8test(scheduler-sim-reconcile-terminal-guard): task 2.2 - final REPL-level verification (2026-09-03)b722de4ffix(scheduler-sim-reconcile-terminal-guard): task 1.2 - bug-1764 terminal-state guard (2026-09-03) — info worker kept listing already-DONE/EXIT jobs as still assignedff05c37btest(scheduler-sim-reconcile-terminal-guard): task 1.1 - RED tests for terminal guard (2026-09-03)56e007cbfeat(scheduler-sim-step-verbosity): task 1.2 - implement preamble deduplication (2026-09-03)6a2aa47ftest(scheduler-sim-step-verbosity): task 1.1 - RED tests for preamble dedup (2026-09-03)bd973973feat(scheduler-sim-repl-verbosity): task 9.2 - discoverable help and break event types (2026-09-02)bd77eea0test(scheduler-sim-repl-verbosity): task 9.1 - RED tests for help/break discoverability (2026-09-02)9db99964feat(scheduler-sim-repl-verbosity): task 8.2 - implement resource table rendering (2026-09-02)e48e222bfeat(scheduler-sim-repl-verbosity): task 8.1 - RED-phase resource table tests (2026-09-02)5ee1d6cbfeat(scheduler-sim-repl-verbosity): task 7.2 - implement resource formatting helpers (2026-09-02)11fe6194feat(scheduler-sim-repl-verbosity): task 7.1 - RED-phase resource formatting tests (2026-09-02)da6ba96efeat(scheduler-sim-repl-verbosity): task 6.2 - implement dynamic REPL prompt (2026-09-02)99fa45c4feat(scheduler-sim-repl-verbosity): task 6.1 - RED-phase REPL prompt tests (2026-09-02)d9109b7cfeat(scheduler-sim-repl-verbosity): task 4.2 - retire redundant per-decision echo (2026-09-02)3d08a43afeat(scheduler-sim-repl-verbosity): task 4.1 - RED-phase sim_print_decision Gate tests (2026-09-02)cc78d091feat(scheduler-sim-repl-verbosity): task 3.2 - implement Event Echo Gate (2026-09-02)f587a441feat(scheduler-sim-repl-verbosity): task 3.1 - RED-phase Event Echo Gate tests (2026-09-02)921c72bbfeat(scheduler-sim-repl-verbosity): task 2.2 - implement Round Rollup logic (2026-09-02)0c6ccb03feat(scheduler-sim-repl-verbosity): task 2.1 - RED-phase Round Rollup tests (2026-09-02)140f0900fix(scheduler): repl_cmd_delete() rejects non-numeric/invalid breakpoint ids (2026-09-02)b639fae1feat(scheduler-sim-repl-verbosity): task 1.2 - implement job identifier range compression (2026-09-02)f165e3a7feat(scheduler-sim-repl-verbosity): task 1.1 - RED-phase tests for job identifier range compression (2026-09-02)80d5a062feat(worker-rejoin-resync): task 5 - exclude reconciling host from dispatch (2026-09-01)eb06f16dfix(scheduler): wire mem reservation reconciliation into live rusage event path (2026-09-01)f4103e0efix(scheduler): charge unreserved jobs' real memory usage too (2026-08-31)87a2a46bfeat(scheduler): reconcile mem reservation against real usage (2026-08-31)fc559948fix(bug-1727): 'info worker'/'info resource' double-counted used capacity (2026-08-31)0e78f863fix(bug-1738,bug-1739): terminal-state regression + phantom RUN in JOBS_PUSH merge (2026-08-31) — phantom RUN entries exceeded the worker's real slot capacity026fe97bfix(bug-1737): scheduler can never learn a job finished successfully (2026-08-31)b0476a84fix(bug-1734): merge redelivered job state instead of discarding it (2026-08-30)dfcd345dfix(bug-1560): symlink-escape test asserted the wrong error string (2026-08-30)38437e57fix(scheduler): don't hand an orphaned duplicate job to the picker (2026-08-30)
autoscaler
0b1e3107remove extralib (2026-09-04)68bc86bcbuild: make Go and Python builds fully offline (hermetic Nix build) (2026-09-03)
frontend
6fabdba9feat(eliminate-frontend-makefile): task 4.2 - delete src/frontend/Makefile (2026-09-03)12c6a59cfeat(eliminate-frontend-makefile): task 3.4 - update source code comments (2026-09-03)f5fbc6bcfeat(eliminate-frontend-makefile): task 3.3 - update live documentation (11 files) (2026-09-03)6b105125feat(eliminate-frontend-makefile): task 3.2 - fix deploy-ha.sh/run.sh messages (2026-09-03)6c3ff201feat(eliminate-frontend-makefile): task 1.1 - Meson backend CGO test target (2026-09-03)68bc86bcbuild: make Go and Python builds fully offline (hermetic Nix build) (2026-09-03)728496befix(apiserver): populate hosts-list slot usage counts (2026-09-01)343639fcfix(apiserver): stop job-control panic on int/int64 type mismatch (2026-09-01)
xceadmin
68bc86bcbuild: make Go and Python builds fully offline (hermetic Nix build) (2026-09-03)ce3d391efeat(worker-rejoin-resync): wire config fields into xceadmin build (task 1.5) (2026-09-01)
lib
5a670676feat(scheduler-allocation): add resreq fingerprinting for the cache (2026-09-04)88b0ac99fix(scheduler): close post-failover rejoin detection gap (bug-1760) (2026-09-04) — new primary's dispatched job stayed PEND 60s+ with zero scheduler activity0b1e3107remove extralib (2026-09-04)9f3dfe79feat(worker-rejoin-resync): add reconciliation wire codec helpers (task 1.4) (2026-09-01)026fe97bfix(bug-1737): scheduler can never learn a job finished successfully (2026-08-31)
include
5a670676feat(scheduler-allocation): add resreq fingerprinting for the cache (2026-09-04)88b0ac99fix(scheduler): close post-failover rejoin detection gap (bug-1760) (2026-09-04) — new primary's dispatched job stayed PEND 60s+ with zero scheduler activity0b1e3107remove extralib (2026-09-04)9f655c61feat(worker-rejoin-resync): task 6.2 - route job-state report to reconciliation (2026-09-01)a3d12d37feat(worker-rejoin-resync): task 6.1 - trigger reconciliation on rejoin (2026-09-01)9f3dfe79feat(worker-rejoin-resync): add reconciliation wire codec helpers (task 1.4) (2026-09-01)1260d913feat(worker-rejoin-resync): add worker reconciling status type (task 1.2) (2026-09-01)1ff57ef6feat(worker-rejoin-resync): define reconciliation wire protocol (task 1.1) (2026-09-01)026fe97bfix(bug-1737): scheduler can never learn a job finished successfully (2026-08-31)5c2c6664fix(bug-1736): capture memory_swap/tasks_current, compute peak_cpu_time (2026-08-30)
schema
a3d12d37feat(worker-rejoin-resync): task 6.1 - trigger reconciliation on rejoin (2026-09-01)1ff57ef6feat(worker-rejoin-resync): define reconciliation wire protocol (task 1.1) (2026-09-01)026fe97bfix(bug-1737): scheduler can never learn a job finished successfully (2026-08-31)5c2c6664fix(bug-1736): capture memory_swap/tasks_current, compute peak_cpu_time (2026-08-30)
docs
f5fbc6bcfeat(eliminate-frontend-makefile): task 3.3 - update live documentation (11 files) (2026-09-03)
specs
ecfb0a3cchore(scheduler-allocation): confirm HA soak regression (task 6.2) (2026-09-05)58e6a855chore(scheduler-allocation): confirm full regression pass (task 6.1) (2026-09-05)c009f108test(scheduler-allocation): end-to-end multi-host parallel job proof (2026-09-05)e8c2087dfeat(scheduler-allocation): clear unsatisfiable-resreq cache per session (2026-09-05)5c022d0bfeat(scheduler-allocation): wire unsatisfiable-resreq cache into dispatch (2026-09-04)9d23060btest(scheduler-allocation): prove parjob's shared resource commits once (2026-09-04)3d5e1c32feat(scheduler-allocation): implement parjob's per-bucket allocation loop (2026-09-04)6ca717fbfeat(scheduler-allocation): implement parjob's combinatorial plan generation (2026-09-04)9d64ba0dtest(scheduler-allocation): prove seqjob rewrap preserves host selection (2026-09-04)b18c5f78feat(scheduler-allocation): rewrap seqjob allocation onto shared iterators (2026-09-04)86c86352feat(scheduler-allocation): implement the unsatisfiable-resreq cache (2026-09-04)d9831b0bfeat(scheduler-allocation): implement the shared host-candidate iterator (2026-09-04)d0024eb7feat(scheduler-allocation): add per-host resource-debit reversal (2026-09-04)d8b5cf87feat(scheduler-allocation): add forward-compatible allocation-mode field (2026-09-04)5a670676feat(scheduler-allocation): add resreq fingerprinting for the cache (2026-09-04)d5d2c1cafeat(scheduler-allocation): add lazy plan/host iterator contracts (2026-09-04)d1a3e158docs(scheduler-allocation): fix xce_host_iter_t.next() return type (2026-09-04)48c789dfdocs(scheduler-allocation): approve requirements, add design and tasks (2026-09-04)375c49ecdocs(eliminate-frontend-makefile): mark task 4.2 and feature complete (2026-09-03)91d99134docs(eliminate-frontend-makefile): task 4.1 - final go/no-go gate passed (2026-09-03)c554ed25docs(eliminate-frontend-makefile): task 3.6 - live-reference sweep clean (2026-09-03)87707ff1docs(eliminate-frontend-makefile): task 3.5 - verified regression suite parity (2026-09-03)12c6a59cfeat(eliminate-frontend-makefile): task 3.4 - update source code comments (2026-09-03)f5fbc6bcfeat(eliminate-frontend-makefile): task 3.3 - update live documentation (11 files) (2026-09-03)6b105125feat(eliminate-frontend-makefile): task 3.2 - fix deploy-ha.sh/run.sh messages (2026-09-03)ff051e0efeat(eliminate-frontend-makefile): task 3.1 - fix run-resource-verify.sh discovery (2026-09-03)3c199f37feat(eliminate-frontend-makefile): task 2 - migrate xce-build.sh off Make (2026-09-03)54b11bc2docs(eliminate-frontend-makefile): task 1.2 - verified real CGO path coverage (2026-09-03)6c3ff201feat(eliminate-frontend-makefile): task 1.1 - Meson backend CGO test target (2026-09-03)be9a03a3docs(eliminate-frontend-makefile): add approved spec (requirements/design/tasks) (2026-09-03)4a224e8cSimplify AppImage build to nix build .#xce.appImage (2026-09-03)df4b386adocs(specs): reconcile stale phase/checkbox metadata (3 more specs) (2026-09-03)8557b869docs(xce-test-rc-file): reconcile stale phase/checkbox metadata (2026-09-03)1abab949docs(specs): reconcile stale metadata found auditing stalled specs (2026-09-03)b14e53f5docs(worker-rejoin-resync): reconcile stale phase metadata (2026-09-03)177e9b29docs(xce-node-manager): add spec (requirements/design approved) (2026-09-03)6bb37cf4docs(scheduler-sim-diagnostics): add draft spec (requirements only) (2026-09-03)0f7699dedocs(scheduler-primary-lifecycle): add superseded spec (requirements/design/tasks) (2026-09-03)9dcffce8test(scheduler-sim-reconcile-terminal-guard): task 2.2 - final REPL-level verification (2026-09-03)4b26120fdocs(scheduler-sim-reconcile-terminal-guard): task 2.1 - validate no regression (2026-09-03)b722de4ffix(scheduler-sim-reconcile-terminal-guard): task 1.2 - bug-1764 terminal-state guard (2026-09-03) — info worker kept listing already-DONE/EXIT jobs as still assignedff05c37btest(scheduler-sim-reconcile-terminal-guard): task 1.1 - RED tests for terminal guard (2026-09-03)f854d9fadocs(scheduler-sim-reconcile-terminal-guard): add approved spec (requirements/design/tasks) (2026-09-03)56bd3103docs(scheduler-sim-step-verbosity): task 2.2 - final regression and transcript verification (2026-09-03)19c9406ddocs(scheduler-sim-step-verbosity): task 2.1 - validate no out-of-scope changes (2026-09-03)56e007cbfeat(scheduler-sim-step-verbosity): task 1.2 - implement preamble deduplication (2026-09-03)6a2aa47ftest(scheduler-sim-step-verbosity): task 1.1 - RED tests for preamble dedup (2026-09-03)13745409docs(scheduler-sim-step-verbosity): add approved spec (requirements/design/tasks) (2026-09-03)a51790dcdocs(scheduler-sim-repl-verbosity): fix two documentation gaps from final validation (2026-09-02)e87c0b3fdocs(scheduler-sim-repl-verbosity): task 10.2 - final regression and scale verification (2026-09-02)5ab129cddocs(scheduler-sim-repl-verbosity): task 10.1 - validate no out-of-scope REPL regressions (2026-09-02)bd973973feat(scheduler-sim-repl-verbosity): task 9.2 - discoverable help and break event types (2026-09-02)bd77eea0test(scheduler-sim-repl-verbosity): task 9.1 - RED tests for help/break discoverability (2026-09-02)9db99964feat(scheduler-sim-repl-verbosity): task 8.2 - implement resource table rendering (2026-09-02)e48e222bfeat(scheduler-sim-repl-verbosity): task 8.1 - RED-phase resource table tests (2026-09-02)5ee1d6cbfeat(scheduler-sim-repl-verbosity): task 7.2 - implement resource formatting helpers (2026-09-02)11fe6194feat(scheduler-sim-repl-verbosity): task 7.1 - RED-phase resource formatting tests (2026-09-02)da6ba96efeat(scheduler-sim-repl-verbosity): task 6.2 - implement dynamic REPL prompt (2026-09-02)99fa45c4feat(scheduler-sim-repl-verbosity): task 6.1 - RED-phase REPL prompt tests (2026-09-02)d9109b7cfeat(scheduler-sim-repl-verbosity): task 4.2 - retire redundant per-decision echo (2026-09-02)3d08a43afeat(scheduler-sim-repl-verbosity): task 4.1 - RED-phase sim_print_decision Gate tests (2026-09-02)cc78d091feat(scheduler-sim-repl-verbosity): task 3.2 - implement Event Echo Gate (2026-09-02)f587a441feat(scheduler-sim-repl-verbosity): task 3.1 - RED-phase Event Echo Gate tests (2026-09-02)921c72bbfeat(scheduler-sim-repl-verbosity): task 2.2 - implement Round Rollup logic (2026-09-02)0c6ccb03feat(scheduler-sim-repl-verbosity): task 2.1 - RED-phase Round Rollup tests (2026-09-02)e6c67019docs(scheduler-sim-repl-verbosity): expand spec with Requirements 5.5, 6, 7 (2026-09-02)b639fae1feat(scheduler-sim-repl-verbosity): task 1.2 - implement job identifier range compression (2026-09-02)f165e3a7feat(scheduler-sim-repl-verbosity): task 1.1 - RED-phase tests for job identifier range compression (2026-09-02)b6a2f5ecfix(worker-rejoin-resync): task 4.4 - gate periodic load-indices send on resync_pending (2026-09-02)4140ecdbdocs(worker-rejoin-resync): add task 4.4 - close feature-level Req 3.8 gap (2026-09-02)a1dc2396docs(worker-rejoin-resync): check off completed group headers in tasks.md (2026-09-02)1c4cf8bdfix(worker-rejoin-resync): task 7.5 - bound the outbound reconciliation query (2026-09-02)613b80e9test(worker-rejoin-resync): task 7.4 - large job-count pagination correctness (2026-09-02)165fc158test(worker-rejoin-resync): task 7.3 - burst recovery unbounded by count (2026-09-02)bceca0c9test(worker-rejoin-resync): task 7.2 - failover-during-job recovery (2026-09-01)8650cfd9test(worker-rejoin-resync): task 7.1 - full rejoin round trip (2026-09-01)9f655c61feat(worker-rejoin-resync): task 6.2 - route job-state report to reconciliation (2026-09-01)a3d12d37feat(worker-rejoin-resync): task 6.1 - trigger reconciliation on rejoin (2026-09-01)80d5a062feat(worker-rejoin-resync): task 5 - exclude reconciling host from dispatch (2026-09-01)5b699736feat(worker-rejoin-resync): task 4.3 - wire query receipt and post-join gate (2026-09-01)cfe58c3dfeat(worker-rejoin-resync): task 4.2 - worker answers job-state query with extras (2026-09-01)e31012e8feat(worker-rejoin-resync): task 4.1 - bounded finished-job retention on worker (2026-09-01)087b8c18docs(worker-rejoin-resync): fold worker config-delivery gap into task 6.1 (2026-09-01)eec2596cfeat(worker-rejoin-resync): apply reported outcomes idempotently (task 3.2) (2026-09-01)442fcf45feat(worker-rejoin-resync): reconciliation round lifecycle (task 3.1) (2026-09-01)ea0658ecfeat(worker-rejoin-resync): fail-fast disconnected-worker dispatch (task 2.3) (2026-09-01)ecfb4c94feat(worker-rejoin-resync): reconcile unqueried job assignment (task 2.2) (2026-09-01)b7ed6de2docs(worker-rejoin-resync): correct design.md's NULL-alloc encode claim (2026-09-01)cfe66ddefeat(worker-rejoin-resync): reconcile unrecognized job to pending (task 2.1) (2026-09-01)eda2eb1bdocs(worker-rejoin-resync): mark Foundation phase complete (task 1) (2026-09-01)ce3d391efeat(worker-rejoin-resync): wire config fields into xceadmin build (task 1.5) (2026-09-01)9f3dfe79feat(worker-rejoin-resync): add reconciliation wire codec helpers (task 1.4) (2026-09-01)9fbbd12bdocs(worker-rejoin-resync): add task 1.5, xceadmin config-build wiring (2026-09-01)25347648docs(worker-rejoin-resync): close task 1.3, satisfied by pre-existing infra (2026-09-01)1260d913feat(worker-rejoin-resync): add worker reconciling status type (task 1.2) (2026-09-01)1ff57ef6feat(worker-rejoin-resync): define reconciliation wire protocol (task 1.1) (2026-09-01)6c908d50docs(worker-rejoin-resync): fix design review findings; add tasks.md (2026-09-01)8a2e22f4docs: mark scheduler-dispatch-commit tasks complete; add parked commit-batch-window spec (2026-09-01)f2ff45f1docs(worker-rejoin-resync): add requirements, design, and research docs (2026-09-01)eb06f16dfix(scheduler): wire mem reservation reconciliation into live rusage event path (2026-09-01)a6a0bdf7docs(resource-accounting): explain why admission control doesn't query live (2026-08-31)f4103e0efix(scheduler): charge unreserved jobs' real memory usage too (2026-08-31)87a2a46bfeat(scheduler): reconcile mem reservation against real usage (2026-08-31)f59890cedocs(scheduler-snapshot-job-allocation): sync spec.json phase to implementation-complete (2026-08-30)
build
0b1e3107remove extralib (2026-09-04)6b105125feat(eliminate-frontend-makefile): task 3.2 - fix deploy-ha.sh/run.sh messages (2026-09-03)3c199f37feat(eliminate-frontend-makefile): task 2 - migrate xce-build.sh off Make (2026-09-03)4a224e8cSimplify AppImage build to nix build .#xce.appImage (2026-09-03)68bc86bcbuild: make Go and Python builds fully offline (hermetic Nix build) (2026-09-03)ce3d391efeat(worker-rejoin-resync): wire config fields into xceadmin build (task 1.5) (2026-09-01)ff9de2e0fix(bug-924): prune stale /tmp test-fixture dirs in xce-build.sh (2026-08-30)
misc
f5fbc6bcfeat(eliminate-frontend-makefile): task 3.3 - update live documentation (11 files) (2026-09-03)ff051e0efeat(eliminate-frontend-makefile): task 3.1 - fix run-resource-verify.sh discovery (2026-09-03)4a224e8cSimplify AppImage build to nix build .#xce.appImage (2026-09-03)651b5138fix(xce-build skill): dispatch builds via Bash run_in_background, not Agent subagent (2026-09-03)68bc86bcbuild: make Go and Python builds fully offline (hermetic Nix build) (2026-09-03)00fc0a43test(xce-test-ha): add worker-rejoin-resync coverage to sequential/chaotic soak modes (2026-09-02)ea00879aupdate README.md to the newest build guide (2026-09-02)87a2a46bfeat(scheduler): reconcile mem reservation against real usage (2026-08-31)63261097update work status (2026-08-30)ccef5610feat(skills): add xce-changes skill for component-grouped CHANGES.md (2026-08-30)
Aug 24, 2026 - Aug 29, 2026
controller
67009815fix(bug-1731): fire HOOK_DETAIL_JOB_FAIL on WAL_JOB_FAIL apply (2026-08-29)ebe691c3fix(bug-1731): fire HOOK_DETAIL_JOB_START/JOB_EXIT on WAL apply (2026-08-29)47532f0afix(ha): first-boot promotion evaluated eligibility before its own WAL recovery ran (bug-1696) (2026-08-27)f886c809fix(controller): standby dispatch-gate rejections now redirect to a known primary (bug-1700, bug-1701) (2026-08-27)ac1e312efix(controller): job.start_time never set -- dispatch/WAL_JOB_START RUN-state collision (bug-1697) (2026-08-27)7880ab42chore(xce-test-rc-file): pass --norc from existing xce_test automation (2026-08-27)19bc8192test(xce-test-rc-file): task 3.2 end-to-end rc-file failure handling (2026-08-26)d258aa3dtest(xce-test-rc-file): task 3.1 end-to-end rc-file discovery/loading/--norc (2026-08-26)e863d699feat(xce-test-rc-file): task 2.2 wire rc-file loading into xce_test startup (2026-08-26)68fcd657feat(xce-test-rc-file): task 2.1 add --norc flag to xce_test (2026-08-26)77aba21ffeat(xce-test-rc-file): task 1.2 rc-file line-loading via pluggable runner (2026-08-26)9de4db95feat(xce-test-rc-file): task 1.1 rc-file path resolution with XDG precedence (2026-08-26)ac46bfa6fix(controller): restored-but-stale raft term permanently blocked re-election after restart (bug-1695) (2026-08-25)b4eb9ec8fix(controller): offload checkpoint_task_fn off the delaymgr thread (bug-1694) (2026-08-25)3eba7c16fix(controller): fail loud on scheduler/worker disconnect instead of relying on the reply-wait timeout (bug-1693) (2026-08-25)d0e5f85afix(controller): WAL_JOB_PREASON loses job.pend_reasons on replay (bug-1692) (2026-08-25)97760761fix(controller): WAL_JOB_CKPT loses job.ckptinfo on replay (bug-1691) (2026-08-25)f7b732a3fix(controller): WAL_JOB_RUSAGE loses job.run_usage on replay (bug-1690) (2026-08-25)c2690cbffix(controller): WAL_JOB_FINISH loses exit_info/finish_time on replay -- and exit_info was never set at all in production (bug-1689) (2026-08-25)955efecdfix(controller): WAL_JOB_START loses pidinfo/start_time on restart replay (bug-1687) (2026-08-25)e5e6cd18fix(controller): raft_cb_persist must deny vote and roll back state on persist failure (bug-1684) (2026-08-25)8d6f610etest(controller): cover live dispatch's apiserver notification (bug-1679) (2026-08-25)da7813bffix(controller): notify apiserver synchronously on live dispatch (bug-1679) (2026-08-25)f8851353test(controller): cover WAL_JOB_DISPATCH allocation persistence (bug-1678) (2026-08-25)db142d41fix(controller): persist dispatch-time resource allocation into WAL_JOB_DISPATCH (bug-1678, gitea #43) (2026-08-25)
worker
347e996efeat(worker): distinguish signal-killed job exits from real crashes in logs (2026-08-29)
scheduler
14f95b06fix(scheduler): re-derive worker/shared resource used-totals on snapshot load (2026-08-29)ebe691c3fix(bug-1731): fire HOOK_DETAIL_JOB_START/JOB_EXIT on WAL apply (2026-08-29)b1323f8dfix(bug-1730): free job accounts/allocs on JOB_UPDATE terminal transition (2026-08-29)5948e079docs(scheduler-snapshot-job-allocation): close final invariant-audit follow-up, feature complete (2026-08-28)93d791c6docs(scheduler-snapshot-job-allocation): correct snapshot.c scope-decision documentation (2026-08-28)2654e03ftest(scheduler-snapshot-job-allocation): close originally-reported symptom end to end (2026-08-28)de6ad514test(scheduler-snapshot-job-allocation): regression test for allocator crash (2026-08-27)f0fbebdetest(scheduler-snapshot-job-allocation): backward-compat for allocation-less snapshots (2026-08-27)7481cedbtest(scheduler-snapshot-job-allocation): full cross-instance round-trip proof (2026-08-27)182cb555feat(scheduler-snapshot-job-allocation): restore allocs/accounts on load (2026-08-27)6fa2d970feat(scheduler-snapshot-job-allocation): populate allocs on snapshot save (2026-08-27)22353849feat(scheduler-snapshot-job-allocation): construct schedobj for restored jobs (2026-08-27)0ebf3a81fix(scheduler): repeat WORKERS_PUSH with a NULL resval clobbers good values (bug-1688) (2026-08-27)ab077916test(scheduler-sim-eager-reconciliation): task 3.2 sim-verify regression (2026-08-27)c971f7dctest(scheduler-sim-eager-reconciliation): task 3.1 resource-contention proof (2026-08-27)c67382e6test(scheduler-sim-eager-reconciliation): task 1.2 capture-safety unit coverage (2026-08-27)0893fd50test(scheduler-sim-eager-reconciliation): task 2.1 resInUse deferral proof (2026-08-27)e2bb98c8feat(scheduler-sim-eager-reconciliation): task 1.1 state-independent dispatch capture (2026-08-27)bc3f76b4fix(scheduler): invalidate stale builtin_fcfs picker cursors across calls (bug-1686) (2026-08-25)b040dfc0fix(scheduler): remove double-free in limit plugin config update (bug-1685) (2026-08-25)6400f96dfix(scheduler): mirror plugin_begin_session/plugin_end_session into sim-mode driver (bug-1681) (2026-08-25)
frontend
ebe691c3fix(bug-1731): fire HOOK_DETAIL_JOB_START/JOB_EXIT on WAL apply (2026-08-29)9a230f08fix(apiserver): FilterRows must not route non-bitmask operators through bitmask matching (bug-1680) (2026-08-25)1a61b04afix(apiserver): thread from_host through the CGO conversion layer (bug-1676, gitea #44) (2026-08-24)fe8818b1fix(apiserver): pass client-asserted FromHost through unchanged (bug-1676, gitea #44) (2026-08-24)4fad7884fix(xcecli): assert own hostname as FROM_HOST at submission time (bug-1676, gitea #44) (2026-08-24)fe87dafcfix(apiserver): fall back to default HostConfig for unmatched workers (bug-1673, gitea #40) (2026-08-24)88c7c05dfix(apiserver): jobs list -l/-o validates against the wrong struct (bug-1674, gitea #41) (2026-08-24)a58c2a19fix(xcecli): friendly message for connection-refused instead of raw OS error (bug-1675, gitea #42) (2026-08-24)
xceadmin
6193fa7etest(admin-config-tool): update standby-redirect E2E for bug-1700/1701 (2026-08-29)cfd7db8cfix(xceadmin): retry transient scheduler-admin failures after a redirect (bug-1713, bug-1715) (2026-08-27)3891bd90test(xceadmin): add env-var override for live E2E binary discovery (2026-08-27)
lib
42e1eeaafix(bug-1733): fix heap-use-after-free race in vtask_enq() (2026-08-29)097e33aefeat(scheduler-snapshot-job-allocation): add dup_job_alloc deep-copy primitive (2026-08-27)00207503fix(lib): heap buffer overflow in make_job_account() for multi-host jobs (bug-1722) (2026-08-27)363709b0fix(lib): thread from_host through the wire format and the job-submit interning object (bug-1676, gitea #44) (2026-08-24)
include
097e33aefeat(scheduler-snapshot-job-allocation): add dup_job_alloc deep-copy primitive (2026-08-27)ac1e312efix(controller): job.start_time never set -- dispatch/WAL_JOB_START RUN-state collision (bug-1697) (2026-08-27)b4eb9ec8fix(controller): offload checkpoint_task_fn off the delaymgr thread (bug-1694) (2026-08-25)d0e5f85afix(controller): WAL_JOB_PREASON loses job.pend_reasons on replay (bug-1692) (2026-08-25)97760761fix(controller): WAL_JOB_CKPT loses job.ckptinfo on replay (bug-1691) (2026-08-25)f7b732a3fix(controller): WAL_JOB_RUSAGE loses job.run_usage on replay (bug-1690) (2026-08-25)c2690cbffix(controller): WAL_JOB_FINISH loses exit_info/finish_time on replay -- and exit_info was never set at all in production (bug-1689) (2026-08-25)955efecdfix(controller): WAL_JOB_START loses pidinfo/start_time on restart replay (bug-1687) (2026-08-25)da7813bffix(controller): notify apiserver synchronously on live dispatch (bug-1679) (2026-08-25)db142d41fix(controller): persist dispatch-time resource allocation into WAL_JOB_DISPATCH (bug-1678, gitea #43) (2026-08-25)363709b0fix(lib): thread from_host through the wire format and the job-submit interning object (bug-1676, gitea #44) (2026-08-24)
schema
f7b732a3fix(controller): WAL_JOB_RUSAGE loses job.run_usage on replay (bug-1690) (2026-08-25)363709b0fix(lib): thread from_host through the wire format and the job-submit interning object (bug-1676, gitea #44) (2026-08-24)
specs
6193fa7etest(admin-config-tool): update standby-redirect E2E for bug-1700/1701 (2026-08-29)42fdeb66docs: save scheduler-config-version-tag spec (requirements/design/tasks) (2026-08-29)b64682dcdocs: save scheduler-snapshot-job-allocation and xce-test-cli-ux spec docs, sync OpenWolf state (2026-08-28)5948e079docs(scheduler-snapshot-job-allocation): close final invariant-audit follow-up, feature complete (2026-08-28)93d791c6docs(scheduler-snapshot-job-allocation): correct snapshot.c scope-decision documentation (2026-08-28)9988e714test(scheduler-snapshot-job-allocation): confirm no regression to reconciliation or snapshot format (2026-08-28)2654e03ftest(scheduler-snapshot-job-allocation): close originally-reported symptom end to end (2026-08-28)de6ad514test(scheduler-snapshot-job-allocation): regression test for allocator crash (2026-08-27)f0fbebdetest(scheduler-snapshot-job-allocation): backward-compat for allocation-less snapshots (2026-08-27)7481cedbtest(scheduler-snapshot-job-allocation): full cross-instance round-trip proof (2026-08-27)182cb555feat(scheduler-snapshot-job-allocation): restore allocs/accounts on load (2026-08-27)6fa2d970feat(scheduler-snapshot-job-allocation): populate allocs on snapshot save (2026-08-27)22353849feat(scheduler-snapshot-job-allocation): construct schedobj for restored jobs (2026-08-27)097e33aefeat(scheduler-snapshot-job-allocation): add dup_job_alloc deep-copy primitive (2026-08-27)d32f06e5docs: formalize save/restore field-completeness as a standing invariant (2026-08-27)5e68fcc0docs(spec): promote eliminate-frontend-makefile backlog item to a brief (2026-08-27)13246a89docs: OpenWolf pointer cleanup + redirect-hint checklist item (bug-1700 lesson) (2026-08-27)446437bftest(scheduler-sim-eager-reconciliation): task 3.3 full regression confirmation (2026-08-27)ab077916test(scheduler-sim-eager-reconciliation): task 3.2 sim-verify regression (2026-08-27)c971f7dctest(scheduler-sim-eager-reconciliation): task 3.1 resource-contention proof (2026-08-27)c67382e6test(scheduler-sim-eager-reconciliation): task 1.2 capture-safety unit coverage (2026-08-27)0893fd50test(scheduler-sim-eager-reconciliation): task 2.1 resInUse deferral proof (2026-08-27)e2bb98c8feat(scheduler-sim-eager-reconciliation): task 1.1 state-independent dispatch capture (2026-08-27)8fc86ef4test(xce-test-rc-file): task 3.3 confirm existing automation unaffected (2026-08-26)19bc8192test(xce-test-rc-file): task 3.2 end-to-end rc-file failure handling (2026-08-26)d258aa3dtest(xce-test-rc-file): task 3.1 end-to-end rc-file discovery/loading/--norc (2026-08-26)e863d699feat(xce-test-rc-file): task 2.2 wire rc-file loading into xce_test startup (2026-08-26)68fcd657feat(xce-test-rc-file): task 2.1 add --norc flag to xce_test (2026-08-26)77aba21ffeat(xce-test-rc-file): task 1.2 rc-file line-loading via pluggable runner (2026-08-26)9de4db95feat(xce-test-rc-file): task 1.1 rc-file path resolution with XDG precedence (2026-08-26)71a814f3docs(steering): add field-complete apply-parity invariant; extend xce-audit-invariants (2026-08-25)5c82ad0bchore(specs): reconcile stale phase/checkbox metadata across 4 specs (2026-08-24)0c736c79chore(specs): add scheduler-sim-eager-reconciliation spec, weekly report, cross-spec sequencing notes (2026-08-24)
build
83cb660bfix(bug-1732): build xcecd_virtual in xce-build.sh's worker target (2026-08-29)faedc6fcfix(deploy-ha): guard against double-launching a live HA deploy (2026-08-27)
misc
f0a3729fignore daemon.log token-ledger (2026-08-28)1b473736docs: general design-time cross-check against project invariant dimensions (2026-08-27)d32f06e5docs: formalize save/restore field-completeness as a standing invariant (2026-08-27)13246a89docs: OpenWolf pointer cleanup + redirect-hint checklist item (bug-1700 lesson) (2026-08-27)7880ab42chore(xce-test-rc-file): pass --norc from existing xce_test automation (2026-08-27)5441d1b8docs(steering): add Decision Log fidelity as controller audit dimension 8 (2026-08-25)71a814f3docs(steering): add field-complete apply-parity invariant; extend xce-audit-invariants (2026-08-25)643741fafix(gitea-sync): unwrap buglog.json's {version,bugs} wrapper before iterating (bug-1677) (2026-08-24)8fd232c1chore: gitignore generated capnp-c codegen output (2026-08-24)f2b5f9c9chore: untrack .wolf/dashboard-token, gitignore it going forward (2026-08-24)0c736c79chore(specs): add scheduler-sim-eager-reconciliation spec, weekly report, cross-spec sequencing notes (2026-08-24)
Aug 17, 2026 - Aug 23, 2026
controller
a9cfee5ftest(scheduler-dispatch-commit): fix last stale pinned assertion, full regression clean (task 5.4, final) (2026-08-23)bea95699test(scheduler-dispatch-commit): terminal dispatch failure e2e coverage (task 5.3) (2026-08-23)16d90319test(scheduler-dispatch-commit): retryable and bounded-retry dispatch failure e2e coverage (task 5.2) (2026-08-23)7b3dfed5feat(scheduler-dispatch-commit): handle_jobdispatch no longer duplicates dispatch-outcome reporting (task 4.1) (2026-08-23)05c45ef3feat(scheduler-dispatch-commit): controller resolves retryable dispatch failures with bounded escalation (task 3.3) (2026-08-23)8a4266adfeat(scheduler-dispatch-commit): controller resolves terminal dispatch failures to EXIT (task 3.2) (2026-08-23)d9aedc4bfeat(scheduler-dispatch-commit): controller commits alloc+RUN transition together on successful dispatch (task 3.1) (2026-08-23)19bbac6afeat(scheduler-dispatch-commit): add dispatch-fail retry counter to job_t (task 1.3) (2026-08-23)8eea7490feat(scheduler-dispatch-commit): add durable WAL_JOB_DISPATCH fact type (task 1.2) (2026-08-23)5724d1e9feat(scheduler-dispatch-commit): add controller dispatch-failure classification (task 1.1) (2026-08-23)1c906e95fix(worker): job ids print human-readable format via fmt_jobid() (bug-1588) (2026-08-22)fd62e26bfeat(dirty-content-fingerprint): controller/scheduler show fingerprint in --version (2026-08-21)88649a04feat(build-time-versioning): controller/scheduler --version and startup log (2026-08-20)5147396dfix(controller): job start_time/finish_time/run_time never set by apply-pump (2026-08-20)e52c68f4fix(controller): admission-gate OPCode_schedAdmin's blocking wait (Req 5 AC 10) (2026-08-19)515f4ca0fix(controller): job.c TRACE lines print human-readable jobid (bug-1588) (2026-08-19)b406dd76fix(controller): sched_worker_change() use-after-free on worker disconnect (bug-1578) (2026-08-18)f5390c14feat(resource-value-verification): per-name accept/reject verification in resupdate (task 2.2) (2026-08-18)058335d2feat(resource-value-verification): wire resolver into resupdate, add -t flag (task 2.1) (2026-08-17)98b8c34bfeat(resource-value-verification): extract resupdate type-resolution logic (task 1.1) (2026-08-17)aabddf60fix(scheduler,controller): worker resource values always display as 0.00 (bug-1568) (2026-08-17)986a3304fix(controller): persist_flush now fires durable-advance callback (bug-1564) (2026-08-17)846713abfix(ha): close standby election-freeze (bug-1562) + flusher retry storm (bug-1563) (2026-08-17)
worker
1c906e95fix(worker): job ids print human-readable format via fmt_jobid() (bug-1588) (2026-08-22)d3d9522ffeat(dirty-content-fingerprint): worker shows fingerprint in --version (2026-08-21)bc5c669bfeat(build-time-versioning): worker --version and startup log (2026-08-20)70fe9e46fix(worker): dbus_workers_update() starves workers after first DONE/EXITED (bug-1589) (2026-08-19)6e5c3a89fix(worker): bug-1569 periodic resval reports tagged with wrong host (2026-08-17)
scheduler
01c83066test(scheduler-dispatch-commit): bug-1624 multi-round regression coverage (task 5.1) (2026-08-23)281a026dfeat(scheduler-dispatch-commit): scheduler processes dispatch-fail notify, returns job to PEND (task 2.2) (2026-08-23)8607348cfeat(scheduler-dispatch-commit): scheduler transitions job to RUN at dispatch commit (task 2.1) (2026-08-23)3c4091d8test(scheduler-sim-decision-parity): live-verify against a real 24-round recording (task 4.3, final) (2026-08-22)88bed529test(scheduler-sim-decision-parity): regression suite for existing guarantees (task 4.2) (2026-08-22)b3190732test(scheduler-sim-decision-parity): prove capacity-aware parity under contention (task 4.1) (2026-08-22)12644094feat(scheduler-sim-decision-parity): wire reconciliation into the round boundary (task 3) (2026-08-22)0c237f60feat(scheduler-sim-decision-parity): report reconciled decisions through the existing channel (task 2.4) (2026-08-22)eccba841feat(scheduler-sim-decision-parity): reconstruct job allocation with safe ownership (task 2.3) (2026-08-22)81358b52feat(scheduler-sim-decision-parity): add reconciliation trigger and lookup (task 2.2) (2026-08-22)134380b8fix(scheduler-sim-decision-parity): give sim mode driver.c's round-boundary split (task 2.1) (2026-08-22)f11f0df3test(scheduler-sim-decision-parity): add resource-contention replay fixture (task 1.2) (2026-08-22)3106c82efeat(scheduler-sim-decision-parity): relocate resource accounting to core-level (task 1.1) (2026-08-22)25e35bacdocs(scheduler): document driver-equivalence invariant, scope decision-parity fix spec (2026-08-22)fd62e26bfeat(dirty-content-fingerprint): controller/scheduler show fingerprint in --version (2026-08-21)88649a04feat(build-time-versioning): controller/scheduler --version and startup log (2026-08-20)8abab049feat(scheduler): show event time/session in sim echo, total sessions on replay load (2026-08-20)94733616fix(scheduler): gate resource value/used display on XCE_RESF_CONSUMABLE (2026-08-20)185feca2fix(scheduler): "info resource all" printed nothing when no global/shared resources exist (2026-08-20)8cb304d2fix(scheduler): sim_print_decision() bypassed tlog, producing inconsistent PEND/DISPATCH/PREEMPT output (2026-08-20)1bc65d2cdocs(resource-value-verification): close design-review doc/comment gaps (2026-08-19)a13068dcfix(scheduler): extend core-isolation nm-audit to core_events.c/core_session.c/core_clock.c (Req 5 AC 1/2) (2026-08-19)b450a680fix(scheduler): activate virtual-clock logging for sim/REPL sessions (Req 5 AC 3) (2026-08-19)c9acd502fix(scheduler): clock/resval/jobid-format fixes plus REPL live-operator gaps (task 12.5) (2026-08-19)e68444f1feat(resource-value-verification): add scheduler resval trace log (task 4.1) (2026-08-18)7041d988fix(scheduler): bug-1569 three stacked crashes blocking ALL job dispatch (2026-08-17)6e5c3a89fix(worker): bug-1569 periodic resval reports tagged with wrong host (2026-08-17)aabddf60fix(scheduler,controller): worker resource values always display as 0.00 (bug-1568) (2026-08-17)0c8e417bfix(scheduler): sim mode picker never learns about the initial snapshot's own jobs/queues (bug-1567) (2026-08-17)
frontend
d65d18adfeat(dirty-content-fingerprint): xcecli shows fingerprint in --version (2026-08-21)a4c1b5adfeat(dirty-content-fingerprint): apiserver shows fingerprint in -version (2026-08-21)aa3391a9feat(dirty-content-fingerprint): Makefile computes dev-loop fingerprint (2026-08-21)502dd023feat(dirty-content-fingerprint): apiserver/xcecli meson pass fingerprint to go_build (2026-08-21)fb09afe6feat(build-time-versioning): xcecli --version via Cobra rootCmd.Version (2026-08-20)17e837b1feat(build-time-versioning): apiserver -version flag and startup log (2026-08-20)45c9b026feat(build-time-versioning): Makefile ldflags for make build-server/build-cli (2026-08-20)071f3895feat(build-time-versioning): thread commit_id/build_time into go_build env (2026-08-20)1bc65d2cdocs(resource-value-verification): close design-review doc/comment gaps (2026-08-19)8b4fbffafeat(resource-value-verification): add apiserver resval trace log (task 4.2) (2026-08-18)
xceadmin
c79ccf0ffeat(dirty-content-fingerprint): xceadmin shows fingerprint in --version (2026-08-21)2bf62a64feat(dirty-content-fingerprint): xceadmin build-info module gains fingerprint (2026-08-21)7f5c87cefeat(build-time-versioning): xceadmin committed fallback stub and CLI version wiring (2026-08-20)e1cd9d25feat(build-time-versioning): xceadmin generates build-info module (2026-08-20)0f1df499feat(deploy,xceadmin): standalone xceadmin packaging + deploy-ha usability (bug-1566) (2026-08-17)
lib
7ebcba6dfeat(dirty-content-fingerprint): add --version-only composition with dirty_fingerprint (2026-08-21)48a86cdafeat(build-time-versioning): version macro/helper functions with unknown fallback (2026-08-20)ddee884cfix(libxce): bug-1600 -- makeGroup() freed rtti makeString() pointer via raw free() (2026-08-20)
include
19bbac6afeat(scheduler-dispatch-commit): add dispatch-fail retry counter to job_t (task 1.3) (2026-08-23)8eea7490feat(scheduler-dispatch-commit): add durable WAL_JOB_DISPATCH fact type (task 1.2) (2026-08-23)7ebcba6dfeat(dirty-content-fingerprint): add --version-only composition with dirty_fingerprint (2026-08-21)48a86cdafeat(build-time-versioning): version macro/helper functions with unknown fallback (2026-08-20)846713abfix(ha): close standby election-freeze (bug-1562) + flusher retry storm (bug-1563) (2026-08-17)
specs
f784e2bdchore(scheduler-dispatch-commit): mark spec implementation-complete (2026-08-23)a9cfee5ftest(scheduler-dispatch-commit): fix last stale pinned assertion, full regression clean (task 5.4, final) (2026-08-23)bea95699test(scheduler-dispatch-commit): terminal dispatch failure e2e coverage (task 5.3) (2026-08-23)16d90319test(scheduler-dispatch-commit): retryable and bounded-retry dispatch failure e2e coverage (task 5.2) (2026-08-23)01c83066test(scheduler-dispatch-commit): bug-1624 multi-round regression coverage (task 5.1) (2026-08-23)7b3dfed5feat(scheduler-dispatch-commit): handle_jobdispatch no longer duplicates dispatch-outcome reporting (task 4.1) (2026-08-23)05c45ef3feat(scheduler-dispatch-commit): controller resolves retryable dispatch failures with bounded escalation (task 3.3) (2026-08-23)8a4266adfeat(scheduler-dispatch-commit): controller resolves terminal dispatch failures to EXIT (task 3.2) (2026-08-23)d9aedc4bfeat(scheduler-dispatch-commit): controller commits alloc+RUN transition together on successful dispatch (task 3.1) (2026-08-23)281a026dfeat(scheduler-dispatch-commit): scheduler processes dispatch-fail notify, returns job to PEND (task 2.2) (2026-08-23)8607348cfeat(scheduler-dispatch-commit): scheduler transitions job to RUN at dispatch commit (task 2.1) (2026-08-23)19bbac6afeat(scheduler-dispatch-commit): add dispatch-fail retry counter to job_t (task 1.3) (2026-08-23)8eea7490feat(scheduler-dispatch-commit): add durable WAL_JOB_DISPATCH fact type (task 1.2) (2026-08-23)5724d1e9feat(scheduler-dispatch-commit): add controller dispatch-failure classification (task 1.1) (2026-08-23)ca01509fchore(scheduler-sim-decision-parity): mark feature complete (2026-08-22)3c4091d8test(scheduler-sim-decision-parity): live-verify against a real 24-round recording (task 4.3, final) (2026-08-22)88bed529test(scheduler-sim-decision-parity): regression suite for existing guarantees (task 4.2) (2026-08-22)b3190732test(scheduler-sim-decision-parity): prove capacity-aware parity under contention (task 4.1) (2026-08-22)12644094feat(scheduler-sim-decision-parity): wire reconciliation into the round boundary (task 3) (2026-08-22)0c237f60feat(scheduler-sim-decision-parity): report reconciled decisions through the existing channel (task 2.4) (2026-08-22)eccba841feat(scheduler-sim-decision-parity): reconstruct job allocation with safe ownership (task 2.3) (2026-08-22)81358b52feat(scheduler-sim-decision-parity): add reconciliation trigger and lookup (task 2.2) (2026-08-22)134380b8fix(scheduler-sim-decision-parity): give sim mode driver.c's round-boundary split (task 2.1) (2026-08-22)f11f0df3test(scheduler-sim-decision-parity): add resource-contention replay fixture (task 1.2) (2026-08-22)3106c82efeat(scheduler-sim-decision-parity): relocate resource accounting to core-level (task 1.1) (2026-08-22)0b2c856ddocs(scheduler-sim-decision-parity): finalize design and generate tasks (2026-08-22)25e35bacdocs(scheduler): document driver-equivalence invariant, scope decision-parity fix spec (2026-08-22)94fd1504chore: sync harness/session state and OpenWolf bookkeeping (2026-08-22)979cd24fdocs(scheduler-sim-repl-verbosity): add approved spec (requirements/design/tasks) (2026-08-22)aaca3768docs(dirty-content-fingerprint): mark task 2 container checkbox complete (2026-08-21)f4d2c123test(dirty-content-fingerprint): add Nix production path fingerprint check (2026-08-21)a4785418test(dirty-content-fingerprint): add startup-log-unchanged consistency check (2026-08-21)a7d64c82test(dirty-content-fingerprint): add dev-loop distinguishability regression (2026-08-21)c79ccf0ffeat(dirty-content-fingerprint): xceadmin shows fingerprint in --version (2026-08-21)2bf62a64feat(dirty-content-fingerprint): xceadmin build-info module gains fingerprint (2026-08-21)d65d18adfeat(dirty-content-fingerprint): xcecli shows fingerprint in --version (2026-08-21)a4c1b5adfeat(dirty-content-fingerprint): apiserver shows fingerprint in -version (2026-08-21)aa3391a9feat(dirty-content-fingerprint): Makefile computes dev-loop fingerprint (2026-08-21)502dd023feat(dirty-content-fingerprint): apiserver/xcecli meson pass fingerprint to go_build (2026-08-21)b9499493feat(dirty-content-fingerprint): go_build injects fingerprint via ldflags (2026-08-21)d3d9522ffeat(dirty-content-fingerprint): worker shows fingerprint in --version (2026-08-21)fd62e26bfeat(dirty-content-fingerprint): controller/scheduler show fingerprint in --version (2026-08-21)7ebcba6dfeat(dirty-content-fingerprint): add --version-only composition with dirty_fingerprint (2026-08-21)fc5cba15feat(dirty-content-fingerprint): Nix flake computes fingerprint via self.narHash (2026-08-21)c9d40ba1feat(dirty-content-fingerprint): xce-build.sh computes dev-loop fingerprint (2026-08-21)a860141bfeat(dirty-content-fingerprint): add dirty_fingerprint meson option and C define (2026-08-21)d3c583b3docs(dirty-content-fingerprint): add spec (requirements, design, tasks) (2026-08-21)084a5a95test(build-time-versioning): add xceadmin end-to-end build/install/version cycle check (2026-08-20)79941a9ftest(build-time-versioning): add version/startup-log consistency check (2026-08-20)0eefc95ftest(build-time-versioning): add motivating-incident regression script (2026-08-20)7f5c87cefeat(build-time-versioning): xceadmin committed fallback stub and CLI version wiring (2026-08-20)e1cd9d25feat(build-time-versioning): xceadmin generates build-info module (2026-08-20)fb09afe6feat(build-time-versioning): xcecli --version via Cobra rootCmd.Version (2026-08-20)17e837b1feat(build-time-versioning): apiserver -version flag and startup log (2026-08-20)45c9b026feat(build-time-versioning): Makefile ldflags for make build-server/build-cli (2026-08-20)071f3895feat(build-time-versioning): thread commit_id/build_time into go_build env (2026-08-20)18ae0cc3feat(build-time-versioning): go_build injects commit/build-time via ldflags (2026-08-20)bc5c669bfeat(build-time-versioning): worker --version and startup log (2026-08-20)88649a04feat(build-time-versioning): controller/scheduler --version and startup log (2026-08-20)48a86cdafeat(build-time-versioning): version macro/helper functions with unknown fallback (2026-08-20)d08fda76feat(build-time-versioning): nix packages compute build time at build phase (2026-08-20)bca63974feat(build-time-versioning): xce-build.sh computes real commit id/build time (2026-08-20)1ff9e66cdocs(build-time-versioning): add spec (requirements, design, research) (2026-08-20)4b7cc786feat(build-time-versioning): add build_time meson option and C-wide define (2026-08-20)e61fa2b3docs(roadmap): add resource-distribution-mapping (existed since 2026-07-23, never tracked here) (2026-08-20)a16d32e3docs(roadmap): close out four low-risk backlog cleanup items (2026-08-19)0519d24ddocs(scheduler-core): reconcile stale doc references after today's fixes (2026-08-19)aa42752ddocs(scheduler-core): mark task 12.5 complete with fresh verification evidence (2026-08-19)1bc65d2cdocs(resource-value-verification): close design-review doc/comment gaps (2026-08-19)e52c68f4fix(controller): admission-gate OPCode_schedAdmin's blocking wait (Req 5 AC 10) (2026-08-19)c9acd502fix(scheduler): clock/resval/jobid-format fixes plus REPL live-operator gaps (task 12.5) (2026-08-19)70fe9e46fix(worker): dbus_workers_update() starves workers after first DONE/EXITED (bug-1589) (2026-08-19)ef404131docs(resource-value-verification): commit spec files, mark implementation complete (2026-08-18)9be9e954test(resource-value-verification): verdict-logic regression selftest (task 8.2) (2026-08-18)19104d31test(resource-value-verification): full live e2e validation run (task 8.1) (2026-08-18)13646647feat(resource-value-verification): verdict aggregation, reporting, cleanup (task 7.1) (2026-08-18)8222c031feat(resource-value-verification): apiserver-side verification check (task 6.4) (2026-08-18)b673b7c9fix(resource-value-verification): close bug-1579 for real via xce_test's ! shell-escape (2026-08-18)72b6fdeafeat(resource-value-verification): scheduler-side verification check (task 6.3) (2026-08-18)cb5bbfccfeat(resource-value-verification): controller-side verification check (task 6.2) (2026-08-18)75a0839dfeat(resource-value-verification): worker join and resource injection (task 6.1) (2026-08-18)da41cce2feat(resource-value-verification): wire deployment into skill via start-all.sh (task 5.1) (2026-08-18)8b4fbffafeat(resource-value-verification): add apiserver resval trace log (task 4.2) (2026-08-18)e68444f1feat(resource-value-verification): add scheduler resval trace log (task 4.1) (2026-08-18)8f542a38feat(resource-value-verification): extend xce-deploy-ha with apiserver step + start-all.sh (task 3.1) (2026-08-18)f5390c14feat(resource-value-verification): per-name accept/reject verification in resupdate (task 2.2) (2026-08-18)058335d2feat(resource-value-verification): wire resolver into resupdate, add -t flag (task 2.1) (2026-08-17)642e2362feat(resource-value-verification): scaffold xce-test-resources skill (task 1.2) (2026-08-17)98b8c34bfeat(resource-value-verification): extract resupdate type-resolution logic (task 1.1) (2026-08-17)9f539583docs: sync skills and steering docs with bug-1562..1566 findings (2026-08-17)
build
f4d2c123test(dirty-content-fingerprint): add Nix production path fingerprint check (2026-08-21)a4785418test(dirty-content-fingerprint): add startup-log-unchanged consistency check (2026-08-21)a7d64c82test(dirty-content-fingerprint): add dev-loop distinguishability regression (2026-08-21)b9499493feat(dirty-content-fingerprint): go_build injects fingerprint via ldflags (2026-08-21)fc5cba15feat(dirty-content-fingerprint): Nix flake computes fingerprint via self.narHash (2026-08-21)c9d40ba1feat(dirty-content-fingerprint): xce-build.sh computes dev-loop fingerprint (2026-08-21)a860141bfeat(dirty-content-fingerprint): add dirty_fingerprint meson option and C define (2026-08-21)084a5a95test(build-time-versioning): add xceadmin end-to-end build/install/version cycle check (2026-08-20)79941a9ftest(build-time-versioning): add version/startup-log consistency check (2026-08-20)0eefc95ftest(build-time-versioning): add motivating-incident regression script (2026-08-20)18ae0cc3feat(build-time-versioning): go_build injects commit/build-time via ldflags (2026-08-20)d08fda76feat(build-time-versioning): nix packages compute build time at build phase (2026-08-20)bca63974feat(build-time-versioning): xce-build.sh computes real commit id/build time (2026-08-20)4b7cc786feat(build-time-versioning): add build_time meson option and C-wide define (2026-08-20)83e61eecfeat(xce-deploy-ha): support real xcecd worker deployment alongside virtual (2026-08-19)8f542a38feat(resource-value-verification): extend xce-deploy-ha with apiserver step + start-all.sh (task 3.1) (2026-08-18)0f1df499feat(deploy,xceadmin): standalone xceadmin packaging + deploy-ha usability (bug-1566) (2026-08-17)1c943e98feat(build): add --incremental flag to xce-build.sh (bug-1565) (2026-08-17)
misc
94fd1504chore: sync harness/session state and OpenWolf bookkeeping (2026-08-22)83e61eecfeat(xce-deploy-ha): support real xcecd worker deployment alongside virtual (2026-08-19)9be9e954test(resource-value-verification): verdict-logic regression selftest (task 8.2) (2026-08-18)13646647feat(resource-value-verification): verdict aggregation, reporting, cleanup (task 7.1) (2026-08-18)8222c031feat(resource-value-verification): apiserver-side verification check (task 6.4) (2026-08-18)b673b7c9fix(resource-value-verification): close bug-1579 for real via xce_test's ! shell-escape (2026-08-18)72b6fdeafeat(resource-value-verification): scheduler-side verification check (task 6.3) (2026-08-18)cb5bbfccfeat(resource-value-verification): controller-side verification check (task 6.2) (2026-08-18)75a0839dfeat(resource-value-verification): worker join and resource injection (task 6.1) (2026-08-18)da41cce2feat(resource-value-verification): wire deployment into skill via start-all.sh (task 5.1) (2026-08-18)8f542a38feat(resource-value-verification): extend xce-deploy-ha with apiserver step + start-all.sh (task 3.1) (2026-08-18)642e2362feat(resource-value-verification): scaffold xce-test-resources skill (task 1.2) (2026-08-17)9f539583docs: sync skills and steering docs with bug-1562..1566 findings (2026-08-17)