myxce/CHANGES.md
2026-08-30 23:09:58 +08:00

35 KiB

XCE Change Log

Auto-generated by /xce-changes — component-grouped, newest week first. .wolf/ bookkeeping commits are excluded.

Aug 24, 2026 - Aug 29, 2026

controller

  • 67009815 fix(bug-1731): fire HOOK_DETAIL_JOB_FAIL on WAL_JOB_FAIL apply (2026-08-29)
  • ebe691c3 fix(bug-1731): fire HOOK_DETAIL_JOB_START/JOB_EXIT on WAL apply (2026-08-29)
  • 47532f0a fix(ha): first-boot promotion evaluated eligibility before its own WAL recovery ran (bug-1696) (2026-08-27)
  • f886c809 fix(controller): standby dispatch-gate rejections now redirect to a known primary (bug-1700, bug-1701) (2026-08-27)
  • ac1e312e fix(controller): job.start_time never set -- dispatch/WAL_JOB_START RUN-state collision (bug-1697) (2026-08-27)
  • 7880ab42 chore(xce-test-rc-file): pass --norc from existing xce_test automation (2026-08-27)
  • 19bc8192 test(xce-test-rc-file): task 3.2 end-to-end rc-file failure handling (2026-08-26)
  • d258aa3d test(xce-test-rc-file): task 3.1 end-to-end rc-file discovery/loading/--norc (2026-08-26)
  • e863d699 feat(xce-test-rc-file): task 2.2 wire rc-file loading into xce_test startup (2026-08-26)
  • 68fcd657 feat(xce-test-rc-file): task 2.1 add --norc flag to xce_test (2026-08-26)
  • 77aba21f feat(xce-test-rc-file): task 1.2 rc-file line-loading via pluggable runner (2026-08-26)
  • 9de4db95 feat(xce-test-rc-file): task 1.1 rc-file path resolution with XDG precedence (2026-08-26)
  • ac46bfa6 fix(controller): restored-but-stale raft term permanently blocked re-election after restart (bug-1695) (2026-08-25)
  • b4eb9ec8 fix(controller): offload checkpoint_task_fn off the delaymgr thread (bug-1694) (2026-08-25)
  • 3eba7c16 fix(controller): fail loud on scheduler/worker disconnect instead of relying on the reply-wait timeout (bug-1693) (2026-08-25)
  • d0e5f85a fix(controller): WAL_JOB_PREASON loses job.pend_reasons on replay (bug-1692) (2026-08-25)
  • 97760761 fix(controller): WAL_JOB_CKPT loses job.ckptinfo on replay (bug-1691) (2026-08-25)
  • f7b732a3 fix(controller): WAL_JOB_RUSAGE loses job.run_usage on replay (bug-1690) (2026-08-25)
  • c2690cbf fix(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)
  • 955efecd fix(controller): WAL_JOB_START loses pidinfo/start_time on restart replay (bug-1687) (2026-08-25)
  • e5e6cd18 fix(controller): raft_cb_persist must deny vote and roll back state on persist failure (bug-1684) (2026-08-25)
  • 8d6f610e test(controller): cover live dispatch's apiserver notification (bug-1679) (2026-08-25)
  • da7813bf fix(controller): notify apiserver synchronously on live dispatch (bug-1679) (2026-08-25)
  • f8851353 test(controller): cover WAL_JOB_DISPATCH allocation persistence (bug-1678) (2026-08-25)
  • db142d41 fix(controller): persist dispatch-time resource allocation into WAL_JOB_DISPATCH (bug-1678, gitea #43) (2026-08-25)

worker

  • 347e996e feat(worker): distinguish signal-killed job exits from real crashes in logs (2026-08-29)

scheduler

  • 14f95b06 fix(scheduler): re-derive worker/shared resource used-totals on snapshot load (2026-08-29)
  • ebe691c3 fix(bug-1731): fire HOOK_DETAIL_JOB_START/JOB_EXIT on WAL apply (2026-08-29)
  • b1323f8d fix(bug-1730): free job accounts/allocs on JOB_UPDATE terminal transition (2026-08-29)
  • 5948e079 docs(scheduler-snapshot-job-allocation): close final invariant-audit follow-up, feature complete (2026-08-28)
  • 93d791c6 docs(scheduler-snapshot-job-allocation): correct snapshot.c scope-decision documentation (2026-08-28)
  • 2654e03f test(scheduler-snapshot-job-allocation): close originally-reported symptom end to end (2026-08-28)
  • de6ad514 test(scheduler-snapshot-job-allocation): regression test for allocator crash (2026-08-27)
  • f0fbebde test(scheduler-snapshot-job-allocation): backward-compat for allocation-less snapshots (2026-08-27)
  • 7481cedb test(scheduler-snapshot-job-allocation): full cross-instance round-trip proof (2026-08-27)
  • 182cb555 feat(scheduler-snapshot-job-allocation): restore allocs/accounts on load (2026-08-27)
  • 6fa2d970 feat(scheduler-snapshot-job-allocation): populate allocs on snapshot save (2026-08-27)
  • 22353849 feat(scheduler-snapshot-job-allocation): construct schedobj for restored jobs (2026-08-27)
  • 0ebf3a81 fix(scheduler): repeat WORKERS_PUSH with a NULL resval clobbers good values (bug-1688) (2026-08-27)
  • ab077916 test(scheduler-sim-eager-reconciliation): task 3.2 sim-verify regression (2026-08-27)
  • c971f7dc test(scheduler-sim-eager-reconciliation): task 3.1 resource-contention proof (2026-08-27)
  • c67382e6 test(scheduler-sim-eager-reconciliation): task 1.2 capture-safety unit coverage (2026-08-27)
  • 0893fd50 test(scheduler-sim-eager-reconciliation): task 2.1 resInUse deferral proof (2026-08-27)
  • e2bb98c8 feat(scheduler-sim-eager-reconciliation): task 1.1 state-independent dispatch capture (2026-08-27)
  • bc3f76b4 fix(scheduler): invalidate stale builtin_fcfs picker cursors across calls (bug-1686) (2026-08-25)
  • b040dfc0 fix(scheduler): remove double-free in limit plugin config update (bug-1685) (2026-08-25)
  • 6400f96d fix(scheduler): mirror plugin_begin_session/plugin_end_session into sim-mode driver (bug-1681) (2026-08-25)

frontend

  • ebe691c3 fix(bug-1731): fire HOOK_DETAIL_JOB_START/JOB_EXIT on WAL apply (2026-08-29)
  • 9a230f08 fix(apiserver): FilterRows must not route non-bitmask operators through bitmask matching (bug-1680) (2026-08-25)
  • 1a61b04a fix(apiserver): thread from_host through the CGO conversion layer (bug-1676, gitea #44) (2026-08-24)
  • fe8818b1 fix(apiserver): pass client-asserted FromHost through unchanged (bug-1676, gitea #44) (2026-08-24)
  • 4fad7884 fix(xcecli): assert own hostname as FROM_HOST at submission time (bug-1676, gitea #44) (2026-08-24)
  • fe87dafc fix(apiserver): fall back to default HostConfig for unmatched workers (bug-1673, gitea #40) (2026-08-24)
  • 88c7c05d fix(apiserver): jobs list -l/-o validates against the wrong struct (bug-1674, gitea #41) (2026-08-24)
  • a58c2a19 fix(xcecli): friendly message for connection-refused instead of raw OS error (bug-1675, gitea #42) (2026-08-24)

xceadmin

  • 6193fa7e test(admin-config-tool): update standby-redirect E2E for bug-1700/1701 (2026-08-29)
  • cfd7db8c fix(xceadmin): retry transient scheduler-admin failures after a redirect (bug-1713, bug-1715) (2026-08-27)
  • 3891bd90 test(xceadmin): add env-var override for live E2E binary discovery (2026-08-27)

lib

  • 42e1eeaa fix(bug-1733): fix heap-use-after-free race in vtask_enq() (2026-08-29)
  • 097e33ae feat(scheduler-snapshot-job-allocation): add dup_job_alloc deep-copy primitive (2026-08-27)
  • 00207503 fix(lib): heap buffer overflow in make_job_account() for multi-host jobs (bug-1722) (2026-08-27)
  • 363709b0 fix(lib): thread from_host through the wire format and the job-submit interning object (bug-1676, gitea #44) (2026-08-24)

include

  • 097e33ae feat(scheduler-snapshot-job-allocation): add dup_job_alloc deep-copy primitive (2026-08-27)
  • ac1e312e fix(controller): job.start_time never set -- dispatch/WAL_JOB_START RUN-state collision (bug-1697) (2026-08-27)
  • b4eb9ec8 fix(controller): offload checkpoint_task_fn off the delaymgr thread (bug-1694) (2026-08-25)
  • d0e5f85a fix(controller): WAL_JOB_PREASON loses job.pend_reasons on replay (bug-1692) (2026-08-25)
  • 97760761 fix(controller): WAL_JOB_CKPT loses job.ckptinfo on replay (bug-1691) (2026-08-25)
  • f7b732a3 fix(controller): WAL_JOB_RUSAGE loses job.run_usage on replay (bug-1690) (2026-08-25)
  • c2690cbf fix(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)
  • 955efecd fix(controller): WAL_JOB_START loses pidinfo/start_time on restart replay (bug-1687) (2026-08-25)
  • da7813bf fix(controller): notify apiserver synchronously on live dispatch (bug-1679) (2026-08-25)
  • db142d41 fix(controller): persist dispatch-time resource allocation into WAL_JOB_DISPATCH (bug-1678, gitea #43) (2026-08-25)
  • 363709b0 fix(lib): thread from_host through the wire format and the job-submit interning object (bug-1676, gitea #44) (2026-08-24)

schema

  • f7b732a3 fix(controller): WAL_JOB_RUSAGE loses job.run_usage on replay (bug-1690) (2026-08-25)
  • 363709b0 fix(lib): thread from_host through the wire format and the job-submit interning object (bug-1676, gitea #44) (2026-08-24)

specs

  • 6193fa7e test(admin-config-tool): update standby-redirect E2E for bug-1700/1701 (2026-08-29)
  • 42fdeb66 docs: save scheduler-config-version-tag spec (requirements/design/tasks) (2026-08-29)
  • b64682dc docs: save scheduler-snapshot-job-allocation and xce-test-cli-ux spec docs, sync OpenWolf state (2026-08-28)
  • 5948e079 docs(scheduler-snapshot-job-allocation): close final invariant-audit follow-up, feature complete (2026-08-28)
  • 93d791c6 docs(scheduler-snapshot-job-allocation): correct snapshot.c scope-decision documentation (2026-08-28)
  • 9988e714 test(scheduler-snapshot-job-allocation): confirm no regression to reconciliation or snapshot format (2026-08-28)
  • 2654e03f test(scheduler-snapshot-job-allocation): close originally-reported symptom end to end (2026-08-28)
  • de6ad514 test(scheduler-snapshot-job-allocation): regression test for allocator crash (2026-08-27)
  • f0fbebde test(scheduler-snapshot-job-allocation): backward-compat for allocation-less snapshots (2026-08-27)
  • 7481cedb test(scheduler-snapshot-job-allocation): full cross-instance round-trip proof (2026-08-27)
  • 182cb555 feat(scheduler-snapshot-job-allocation): restore allocs/accounts on load (2026-08-27)
  • 6fa2d970 feat(scheduler-snapshot-job-allocation): populate allocs on snapshot save (2026-08-27)
  • 22353849 feat(scheduler-snapshot-job-allocation): construct schedobj for restored jobs (2026-08-27)
  • 097e33ae feat(scheduler-snapshot-job-allocation): add dup_job_alloc deep-copy primitive (2026-08-27)
  • d32f06e5 docs: formalize save/restore field-completeness as a standing invariant (2026-08-27)
  • 5e68fcc0 docs(spec): promote eliminate-frontend-makefile backlog item to a brief (2026-08-27)
  • 13246a89 docs: OpenWolf pointer cleanup + redirect-hint checklist item (bug-1700 lesson) (2026-08-27)
  • 446437bf test(scheduler-sim-eager-reconciliation): task 3.3 full regression confirmation (2026-08-27)
  • ab077916 test(scheduler-sim-eager-reconciliation): task 3.2 sim-verify regression (2026-08-27)
  • c971f7dc test(scheduler-sim-eager-reconciliation): task 3.1 resource-contention proof (2026-08-27)
  • c67382e6 test(scheduler-sim-eager-reconciliation): task 1.2 capture-safety unit coverage (2026-08-27)
  • 0893fd50 test(scheduler-sim-eager-reconciliation): task 2.1 resInUse deferral proof (2026-08-27)
  • e2bb98c8 feat(scheduler-sim-eager-reconciliation): task 1.1 state-independent dispatch capture (2026-08-27)
  • 8fc86ef4 test(xce-test-rc-file): task 3.3 confirm existing automation unaffected (2026-08-26)
  • 19bc8192 test(xce-test-rc-file): task 3.2 end-to-end rc-file failure handling (2026-08-26)
  • d258aa3d test(xce-test-rc-file): task 3.1 end-to-end rc-file discovery/loading/--norc (2026-08-26)
  • e863d699 feat(xce-test-rc-file): task 2.2 wire rc-file loading into xce_test startup (2026-08-26)
  • 68fcd657 feat(xce-test-rc-file): task 2.1 add --norc flag to xce_test (2026-08-26)
  • 77aba21f feat(xce-test-rc-file): task 1.2 rc-file line-loading via pluggable runner (2026-08-26)
  • 9de4db95 feat(xce-test-rc-file): task 1.1 rc-file path resolution with XDG precedence (2026-08-26)
  • 71a814f3 docs(steering): add field-complete apply-parity invariant; extend xce-audit-invariants (2026-08-25)
  • 5c82ad0b chore(specs): reconcile stale phase/checkbox metadata across 4 specs (2026-08-24)
  • 0c736c79 chore(specs): add scheduler-sim-eager-reconciliation spec, weekly report, cross-spec sequencing notes (2026-08-24)

build

  • 83cb660b fix(bug-1732): build xcecd_virtual in xce-build.sh's worker target (2026-08-29)
  • faedc6fc fix(deploy-ha): guard against double-launching a live HA deploy (2026-08-27)

misc

  • f0a3729f ignore daemon.log token-ledger (2026-08-28)
  • 1b473736 docs: general design-time cross-check against project invariant dimensions (2026-08-27)
  • d32f06e5 docs: formalize save/restore field-completeness as a standing invariant (2026-08-27)
  • 13246a89 docs: OpenWolf pointer cleanup + redirect-hint checklist item (bug-1700 lesson) (2026-08-27)
  • 7880ab42 chore(xce-test-rc-file): pass --norc from existing xce_test automation (2026-08-27)
  • 5441d1b8 docs(steering): add Decision Log fidelity as controller audit dimension 8 (2026-08-25)
  • 71a814f3 docs(steering): add field-complete apply-parity invariant; extend xce-audit-invariants (2026-08-25)
  • 643741fa fix(gitea-sync): unwrap buglog.json's {version,bugs} wrapper before iterating (bug-1677) (2026-08-24)
  • 8fd232c1 chore: gitignore generated capnp-c codegen output (2026-08-24)
  • f2b5f9c9 chore: untrack .wolf/dashboard-token, gitignore it going forward (2026-08-24)
  • 0c736c79 chore(specs): add scheduler-sim-eager-reconciliation spec, weekly report, cross-spec sequencing notes (2026-08-24)

Aug 17, 2026 - Aug 23, 2026

controller

  • a9cfee5f test(scheduler-dispatch-commit): fix last stale pinned assertion, full regression clean (task 5.4, final) (2026-08-23)
  • bea95699 test(scheduler-dispatch-commit): terminal dispatch failure e2e coverage (task 5.3) (2026-08-23)
  • 16d90319 test(scheduler-dispatch-commit): retryable and bounded-retry dispatch failure e2e coverage (task 5.2) (2026-08-23)
  • 7b3dfed5 feat(scheduler-dispatch-commit): handle_jobdispatch no longer duplicates dispatch-outcome reporting (task 4.1) (2026-08-23)
  • 05c45ef3 feat(scheduler-dispatch-commit): controller resolves retryable dispatch failures with bounded escalation (task 3.3) (2026-08-23)
  • 8a4266ad feat(scheduler-dispatch-commit): controller resolves terminal dispatch failures to EXIT (task 3.2) (2026-08-23)
  • d9aedc4b feat(scheduler-dispatch-commit): controller commits alloc+RUN transition together on successful dispatch (task 3.1) (2026-08-23)
  • 19bbac6a feat(scheduler-dispatch-commit): add dispatch-fail retry counter to job_t (task 1.3) (2026-08-23)
  • 8eea7490 feat(scheduler-dispatch-commit): add durable WAL_JOB_DISPATCH fact type (task 1.2) (2026-08-23)
  • 5724d1e9 feat(scheduler-dispatch-commit): add controller dispatch-failure classification (task 1.1) (2026-08-23)
  • 1c906e95 fix(worker): job ids print human-readable format via fmt_jobid() (bug-1588) (2026-08-22)
  • fd62e26b feat(dirty-content-fingerprint): controller/scheduler show fingerprint in --version (2026-08-21)
  • 88649a04 feat(build-time-versioning): controller/scheduler --version and startup log (2026-08-20)
  • 5147396d fix(controller): job start_time/finish_time/run_time never set by apply-pump (2026-08-20)
  • e52c68f4 fix(controller): admission-gate OPCode_schedAdmin's blocking wait (Req 5 AC 10) (2026-08-19)
  • 515f4ca0 fix(controller): job.c TRACE lines print human-readable jobid (bug-1588) (2026-08-19)
  • b406dd76 fix(controller): sched_worker_change() use-after-free on worker disconnect (bug-1578) (2026-08-18)
  • f5390c14 feat(resource-value-verification): per-name accept/reject verification in resupdate (task 2.2) (2026-08-18)
  • 058335d2 feat(resource-value-verification): wire resolver into resupdate, add -t flag (task 2.1) (2026-08-17)
  • 98b8c34b feat(resource-value-verification): extract resupdate type-resolution logic (task 1.1) (2026-08-17)
  • aabddf60 fix(scheduler,controller): worker resource values always display as 0.00 (bug-1568) (2026-08-17)
  • 986a3304 fix(controller): persist_flush now fires durable-advance callback (bug-1564) (2026-08-17)
  • 846713ab fix(ha): close standby election-freeze (bug-1562) + flusher retry storm (bug-1563) (2026-08-17)

worker

  • 1c906e95 fix(worker): job ids print human-readable format via fmt_jobid() (bug-1588) (2026-08-22)
  • d3d9522f feat(dirty-content-fingerprint): worker shows fingerprint in --version (2026-08-21)
  • bc5c669b feat(build-time-versioning): worker --version and startup log (2026-08-20)
  • 70fe9e46 fix(worker): dbus_workers_update() starves workers after first DONE/EXITED (bug-1589) (2026-08-19)
  • 6e5c3a89 fix(worker): bug-1569 periodic resval reports tagged with wrong host (2026-08-17)

scheduler

  • 01c83066 test(scheduler-dispatch-commit): bug-1624 multi-round regression coverage (task 5.1) (2026-08-23)
  • 281a026d feat(scheduler-dispatch-commit): scheduler processes dispatch-fail notify, returns job to PEND (task 2.2) (2026-08-23)
  • 8607348c feat(scheduler-dispatch-commit): scheduler transitions job to RUN at dispatch commit (task 2.1) (2026-08-23)
  • 3c4091d8 test(scheduler-sim-decision-parity): live-verify against a real 24-round recording (task 4.3, final) (2026-08-22)
  • 88bed529 test(scheduler-sim-decision-parity): regression suite for existing guarantees (task 4.2) (2026-08-22)
  • b3190732 test(scheduler-sim-decision-parity): prove capacity-aware parity under contention (task 4.1) (2026-08-22)
  • 12644094 feat(scheduler-sim-decision-parity): wire reconciliation into the round boundary (task 3) (2026-08-22)
  • 0c237f60 feat(scheduler-sim-decision-parity): report reconciled decisions through the existing channel (task 2.4) (2026-08-22)
  • eccba841 feat(scheduler-sim-decision-parity): reconstruct job allocation with safe ownership (task 2.3) (2026-08-22)
  • 81358b52 feat(scheduler-sim-decision-parity): add reconciliation trigger and lookup (task 2.2) (2026-08-22)
  • 134380b8 fix(scheduler-sim-decision-parity): give sim mode driver.c's round-boundary split (task 2.1) (2026-08-22)
  • f11f0df3 test(scheduler-sim-decision-parity): add resource-contention replay fixture (task 1.2) (2026-08-22)
  • 3106c82e feat(scheduler-sim-decision-parity): relocate resource accounting to core-level (task 1.1) (2026-08-22)
  • 25e35bac docs(scheduler): document driver-equivalence invariant, scope decision-parity fix spec (2026-08-22)
  • fd62e26b feat(dirty-content-fingerprint): controller/scheduler show fingerprint in --version (2026-08-21)
  • 88649a04 feat(build-time-versioning): controller/scheduler --version and startup log (2026-08-20)
  • 8abab049 feat(scheduler): show event time/session in sim echo, total sessions on replay load (2026-08-20)
  • 94733616 fix(scheduler): gate resource value/used display on XCE_RESF_CONSUMABLE (2026-08-20)
  • 185feca2 fix(scheduler): "info resource all" printed nothing when no global/shared resources exist (2026-08-20)
  • 8cb304d2 fix(scheduler): sim_print_decision() bypassed tlog, producing inconsistent PEND/DISPATCH/PREEMPT output (2026-08-20)
  • 1bc65d2c docs(resource-value-verification): close design-review doc/comment gaps (2026-08-19)
  • a13068dc fix(scheduler): extend core-isolation nm-audit to core_events.c/core_session.c/core_clock.c (Req 5 AC 1/2) (2026-08-19)
  • b450a680 fix(scheduler): activate virtual-clock logging for sim/REPL sessions (Req 5 AC 3) (2026-08-19)
  • c9acd502 fix(scheduler): clock/resval/jobid-format fixes plus REPL live-operator gaps (task 12.5) (2026-08-19)
  • e68444f1 feat(resource-value-verification): add scheduler resval trace log (task 4.1) (2026-08-18)
  • 7041d988 fix(scheduler): bug-1569 three stacked crashes blocking ALL job dispatch (2026-08-17)
  • 6e5c3a89 fix(worker): bug-1569 periodic resval reports tagged with wrong host (2026-08-17)
  • aabddf60 fix(scheduler,controller): worker resource values always display as 0.00 (bug-1568) (2026-08-17)
  • 0c8e417b fix(scheduler): sim mode picker never learns about the initial snapshot's own jobs/queues (bug-1567) (2026-08-17)

frontend

  • d65d18ad feat(dirty-content-fingerprint): xcecli shows fingerprint in --version (2026-08-21)
  • a4c1b5ad feat(dirty-content-fingerprint): apiserver shows fingerprint in -version (2026-08-21)
  • aa3391a9 feat(dirty-content-fingerprint): Makefile computes dev-loop fingerprint (2026-08-21)
  • 502dd023 feat(dirty-content-fingerprint): apiserver/xcecli meson pass fingerprint to go_build (2026-08-21)
  • fb09afe6 feat(build-time-versioning): xcecli --version via Cobra rootCmd.Version (2026-08-20)
  • 17e837b1 feat(build-time-versioning): apiserver -version flag and startup log (2026-08-20)
  • 45c9b026 feat(build-time-versioning): Makefile ldflags for make build-server/build-cli (2026-08-20)
  • 071f3895 feat(build-time-versioning): thread commit_id/build_time into go_build env (2026-08-20)
  • 1bc65d2c docs(resource-value-verification): close design-review doc/comment gaps (2026-08-19)
  • 8b4fbffa feat(resource-value-verification): add apiserver resval trace log (task 4.2) (2026-08-18)

xceadmin

  • c79ccf0f feat(dirty-content-fingerprint): xceadmin shows fingerprint in --version (2026-08-21)
  • 2bf62a64 feat(dirty-content-fingerprint): xceadmin build-info module gains fingerprint (2026-08-21)
  • 7f5c87ce feat(build-time-versioning): xceadmin committed fallback stub and CLI version wiring (2026-08-20)
  • e1cd9d25 feat(build-time-versioning): xceadmin generates build-info module (2026-08-20)
  • 0f1df499 feat(deploy,xceadmin): standalone xceadmin packaging + deploy-ha usability (bug-1566) (2026-08-17)

lib

  • 7ebcba6d feat(dirty-content-fingerprint): add --version-only composition with dirty_fingerprint (2026-08-21)
  • 48a86cda feat(build-time-versioning): version macro/helper functions with unknown fallback (2026-08-20)
  • ddee884c fix(libxce): bug-1600 -- makeGroup() freed rtti makeString() pointer via raw free() (2026-08-20)

include

  • 19bbac6a feat(scheduler-dispatch-commit): add dispatch-fail retry counter to job_t (task 1.3) (2026-08-23)
  • 8eea7490 feat(scheduler-dispatch-commit): add durable WAL_JOB_DISPATCH fact type (task 1.2) (2026-08-23)
  • 7ebcba6d feat(dirty-content-fingerprint): add --version-only composition with dirty_fingerprint (2026-08-21)
  • 48a86cda feat(build-time-versioning): version macro/helper functions with unknown fallback (2026-08-20)
  • 846713ab fix(ha): close standby election-freeze (bug-1562) + flusher retry storm (bug-1563) (2026-08-17)

specs

  • f784e2bd chore(scheduler-dispatch-commit): mark spec implementation-complete (2026-08-23)
  • a9cfee5f test(scheduler-dispatch-commit): fix last stale pinned assertion, full regression clean (task 5.4, final) (2026-08-23)
  • bea95699 test(scheduler-dispatch-commit): terminal dispatch failure e2e coverage (task 5.3) (2026-08-23)
  • 16d90319 test(scheduler-dispatch-commit): retryable and bounded-retry dispatch failure e2e coverage (task 5.2) (2026-08-23)
  • 01c83066 test(scheduler-dispatch-commit): bug-1624 multi-round regression coverage (task 5.1) (2026-08-23)
  • 7b3dfed5 feat(scheduler-dispatch-commit): handle_jobdispatch no longer duplicates dispatch-outcome reporting (task 4.1) (2026-08-23)
  • 05c45ef3 feat(scheduler-dispatch-commit): controller resolves retryable dispatch failures with bounded escalation (task 3.3) (2026-08-23)
  • 8a4266ad feat(scheduler-dispatch-commit): controller resolves terminal dispatch failures to EXIT (task 3.2) (2026-08-23)
  • d9aedc4b feat(scheduler-dispatch-commit): controller commits alloc+RUN transition together on successful dispatch (task 3.1) (2026-08-23)
  • 281a026d feat(scheduler-dispatch-commit): scheduler processes dispatch-fail notify, returns job to PEND (task 2.2) (2026-08-23)
  • 8607348c feat(scheduler-dispatch-commit): scheduler transitions job to RUN at dispatch commit (task 2.1) (2026-08-23)
  • 19bbac6a feat(scheduler-dispatch-commit): add dispatch-fail retry counter to job_t (task 1.3) (2026-08-23)
  • 8eea7490 feat(scheduler-dispatch-commit): add durable WAL_JOB_DISPATCH fact type (task 1.2) (2026-08-23)
  • 5724d1e9 feat(scheduler-dispatch-commit): add controller dispatch-failure classification (task 1.1) (2026-08-23)
  • ca01509f chore(scheduler-sim-decision-parity): mark feature complete (2026-08-22)
  • 3c4091d8 test(scheduler-sim-decision-parity): live-verify against a real 24-round recording (task 4.3, final) (2026-08-22)
  • 88bed529 test(scheduler-sim-decision-parity): regression suite for existing guarantees (task 4.2) (2026-08-22)
  • b3190732 test(scheduler-sim-decision-parity): prove capacity-aware parity under contention (task 4.1) (2026-08-22)
  • 12644094 feat(scheduler-sim-decision-parity): wire reconciliation into the round boundary (task 3) (2026-08-22)
  • 0c237f60 feat(scheduler-sim-decision-parity): report reconciled decisions through the existing channel (task 2.4) (2026-08-22)
  • eccba841 feat(scheduler-sim-decision-parity): reconstruct job allocation with safe ownership (task 2.3) (2026-08-22)
  • 81358b52 feat(scheduler-sim-decision-parity): add reconciliation trigger and lookup (task 2.2) (2026-08-22)
  • 134380b8 fix(scheduler-sim-decision-parity): give sim mode driver.c's round-boundary split (task 2.1) (2026-08-22)
  • f11f0df3 test(scheduler-sim-decision-parity): add resource-contention replay fixture (task 1.2) (2026-08-22)
  • 3106c82e feat(scheduler-sim-decision-parity): relocate resource accounting to core-level (task 1.1) (2026-08-22)
  • 0b2c856d docs(scheduler-sim-decision-parity): finalize design and generate tasks (2026-08-22)
  • 25e35bac docs(scheduler): document driver-equivalence invariant, scope decision-parity fix spec (2026-08-22)
  • 94fd1504 chore: sync harness/session state and OpenWolf bookkeeping (2026-08-22)
  • 979cd24f docs(scheduler-sim-repl-verbosity): add approved spec (requirements/design/tasks) (2026-08-22)
  • aaca3768 docs(dirty-content-fingerprint): mark task 2 container checkbox complete (2026-08-21)
  • f4d2c123 test(dirty-content-fingerprint): add Nix production path fingerprint check (2026-08-21)
  • a4785418 test(dirty-content-fingerprint): add startup-log-unchanged consistency check (2026-08-21)
  • a7d64c82 test(dirty-content-fingerprint): add dev-loop distinguishability regression (2026-08-21)
  • c79ccf0f feat(dirty-content-fingerprint): xceadmin shows fingerprint in --version (2026-08-21)
  • 2bf62a64 feat(dirty-content-fingerprint): xceadmin build-info module gains fingerprint (2026-08-21)
  • d65d18ad feat(dirty-content-fingerprint): xcecli shows fingerprint in --version (2026-08-21)
  • a4c1b5ad feat(dirty-content-fingerprint): apiserver shows fingerprint in -version (2026-08-21)
  • aa3391a9 feat(dirty-content-fingerprint): Makefile computes dev-loop fingerprint (2026-08-21)
  • 502dd023 feat(dirty-content-fingerprint): apiserver/xcecli meson pass fingerprint to go_build (2026-08-21)
  • b9499493 feat(dirty-content-fingerprint): go_build injects fingerprint via ldflags (2026-08-21)
  • d3d9522f feat(dirty-content-fingerprint): worker shows fingerprint in --version (2026-08-21)
  • fd62e26b feat(dirty-content-fingerprint): controller/scheduler show fingerprint in --version (2026-08-21)
  • 7ebcba6d feat(dirty-content-fingerprint): add --version-only composition with dirty_fingerprint (2026-08-21)
  • fc5cba15 feat(dirty-content-fingerprint): Nix flake computes fingerprint via self.narHash (2026-08-21)
  • c9d40ba1 feat(dirty-content-fingerprint): xce-build.sh computes dev-loop fingerprint (2026-08-21)
  • a860141b feat(dirty-content-fingerprint): add dirty_fingerprint meson option and C define (2026-08-21)
  • d3c583b3 docs(dirty-content-fingerprint): add spec (requirements, design, tasks) (2026-08-21)
  • 084a5a95 test(build-time-versioning): add xceadmin end-to-end build/install/version cycle check (2026-08-20)
  • 79941a9f test(build-time-versioning): add version/startup-log consistency check (2026-08-20)
  • 0eefc95f test(build-time-versioning): add motivating-incident regression script (2026-08-20)
  • 7f5c87ce feat(build-time-versioning): xceadmin committed fallback stub and CLI version wiring (2026-08-20)
  • e1cd9d25 feat(build-time-versioning): xceadmin generates build-info module (2026-08-20)
  • fb09afe6 feat(build-time-versioning): xcecli --version via Cobra rootCmd.Version (2026-08-20)
  • 17e837b1 feat(build-time-versioning): apiserver -version flag and startup log (2026-08-20)
  • 45c9b026 feat(build-time-versioning): Makefile ldflags for make build-server/build-cli (2026-08-20)
  • 071f3895 feat(build-time-versioning): thread commit_id/build_time into go_build env (2026-08-20)
  • 18ae0cc3 feat(build-time-versioning): go_build injects commit/build-time via ldflags (2026-08-20)
  • bc5c669b feat(build-time-versioning): worker --version and startup log (2026-08-20)
  • 88649a04 feat(build-time-versioning): controller/scheduler --version and startup log (2026-08-20)
  • 48a86cda feat(build-time-versioning): version macro/helper functions with unknown fallback (2026-08-20)
  • d08fda76 feat(build-time-versioning): nix packages compute build time at build phase (2026-08-20)
  • bca63974 feat(build-time-versioning): xce-build.sh computes real commit id/build time (2026-08-20)
  • 1ff9e66c docs(build-time-versioning): add spec (requirements, design, research) (2026-08-20)
  • 4b7cc786 feat(build-time-versioning): add build_time meson option and C-wide define (2026-08-20)
  • e61fa2b3 docs(roadmap): add resource-distribution-mapping (existed since 2026-07-23, never tracked here) (2026-08-20)
  • a16d32e3 docs(roadmap): close out four low-risk backlog cleanup items (2026-08-19)
  • 0519d24d docs(scheduler-core): reconcile stale doc references after today's fixes (2026-08-19)
  • aa42752d docs(scheduler-core): mark task 12.5 complete with fresh verification evidence (2026-08-19)
  • 1bc65d2c docs(resource-value-verification): close design-review doc/comment gaps (2026-08-19)
  • e52c68f4 fix(controller): admission-gate OPCode_schedAdmin's blocking wait (Req 5 AC 10) (2026-08-19)
  • c9acd502 fix(scheduler): clock/resval/jobid-format fixes plus REPL live-operator gaps (task 12.5) (2026-08-19)
  • 70fe9e46 fix(worker): dbus_workers_update() starves workers after first DONE/EXITED (bug-1589) (2026-08-19)
  • ef404131 docs(resource-value-verification): commit spec files, mark implementation complete (2026-08-18)
  • 9be9e954 test(resource-value-verification): verdict-logic regression selftest (task 8.2) (2026-08-18)
  • 19104d31 test(resource-value-verification): full live e2e validation run (task 8.1) (2026-08-18)
  • 13646647 feat(resource-value-verification): verdict aggregation, reporting, cleanup (task 7.1) (2026-08-18)
  • 8222c031 feat(resource-value-verification): apiserver-side verification check (task 6.4) (2026-08-18)
  • b673b7c9 fix(resource-value-verification): close bug-1579 for real via xce_test's ! shell-escape (2026-08-18)
  • 72b6fdea feat(resource-value-verification): scheduler-side verification check (task 6.3) (2026-08-18)
  • cb5bbfcc feat(resource-value-verification): controller-side verification check (task 6.2) (2026-08-18)
  • 75a0839d feat(resource-value-verification): worker join and resource injection (task 6.1) (2026-08-18)
  • da41cce2 feat(resource-value-verification): wire deployment into skill via start-all.sh (task 5.1) (2026-08-18)
  • 8b4fbffa feat(resource-value-verification): add apiserver resval trace log (task 4.2) (2026-08-18)
  • e68444f1 feat(resource-value-verification): add scheduler resval trace log (task 4.1) (2026-08-18)
  • 8f542a38 feat(resource-value-verification): extend xce-deploy-ha with apiserver step + start-all.sh (task 3.1) (2026-08-18)
  • f5390c14 feat(resource-value-verification): per-name accept/reject verification in resupdate (task 2.2) (2026-08-18)
  • 058335d2 feat(resource-value-verification): wire resolver into resupdate, add -t flag (task 2.1) (2026-08-17)
  • 642e2362 feat(resource-value-verification): scaffold xce-test-resources skill (task 1.2) (2026-08-17)
  • 98b8c34b feat(resource-value-verification): extract resupdate type-resolution logic (task 1.1) (2026-08-17)
  • 9f539583 docs: sync skills and steering docs with bug-1562..1566 findings (2026-08-17)

build

  • f4d2c123 test(dirty-content-fingerprint): add Nix production path fingerprint check (2026-08-21)
  • a4785418 test(dirty-content-fingerprint): add startup-log-unchanged consistency check (2026-08-21)
  • a7d64c82 test(dirty-content-fingerprint): add dev-loop distinguishability regression (2026-08-21)
  • b9499493 feat(dirty-content-fingerprint): go_build injects fingerprint via ldflags (2026-08-21)
  • fc5cba15 feat(dirty-content-fingerprint): Nix flake computes fingerprint via self.narHash (2026-08-21)
  • c9d40ba1 feat(dirty-content-fingerprint): xce-build.sh computes dev-loop fingerprint (2026-08-21)
  • a860141b feat(dirty-content-fingerprint): add dirty_fingerprint meson option and C define (2026-08-21)
  • 084a5a95 test(build-time-versioning): add xceadmin end-to-end build/install/version cycle check (2026-08-20)
  • 79941a9f test(build-time-versioning): add version/startup-log consistency check (2026-08-20)
  • 0eefc95f test(build-time-versioning): add motivating-incident regression script (2026-08-20)
  • 18ae0cc3 feat(build-time-versioning): go_build injects commit/build-time via ldflags (2026-08-20)
  • d08fda76 feat(build-time-versioning): nix packages compute build time at build phase (2026-08-20)
  • bca63974 feat(build-time-versioning): xce-build.sh computes real commit id/build time (2026-08-20)
  • 4b7cc786 feat(build-time-versioning): add build_time meson option and C-wide define (2026-08-20)
  • 83e61eec feat(xce-deploy-ha): support real xcecd worker deployment alongside virtual (2026-08-19)
  • 8f542a38 feat(resource-value-verification): extend xce-deploy-ha with apiserver step + start-all.sh (task 3.1) (2026-08-18)
  • 0f1df499 feat(deploy,xceadmin): standalone xceadmin packaging + deploy-ha usability (bug-1566) (2026-08-17)
  • 1c943e98 feat(build): add --incremental flag to xce-build.sh (bug-1565) (2026-08-17)

misc

  • 94fd1504 chore: sync harness/session state and OpenWolf bookkeeping (2026-08-22)
  • 83e61eec feat(xce-deploy-ha): support real xcecd worker deployment alongside virtual (2026-08-19)
  • 9be9e954 test(resource-value-verification): verdict-logic regression selftest (task 8.2) (2026-08-18)
  • 13646647 feat(resource-value-verification): verdict aggregation, reporting, cleanup (task 7.1) (2026-08-18)
  • 8222c031 feat(resource-value-verification): apiserver-side verification check (task 6.4) (2026-08-18)
  • b673b7c9 fix(resource-value-verification): close bug-1579 for real via xce_test's ! shell-escape (2026-08-18)
  • 72b6fdea feat(resource-value-verification): scheduler-side verification check (task 6.3) (2026-08-18)
  • cb5bbfcc feat(resource-value-verification): controller-side verification check (task 6.2) (2026-08-18)
  • 75a0839d feat(resource-value-verification): worker join and resource injection (task 6.1) (2026-08-18)
  • da41cce2 feat(resource-value-verification): wire deployment into skill via start-all.sh (task 5.1) (2026-08-18)
  • 8f542a38 feat(resource-value-verification): extend xce-deploy-ha with apiserver step + start-all.sh (task 3.1) (2026-08-18)
  • 642e2362 feat(resource-value-verification): scaffold xce-test-resources skill (task 1.2) (2026-08-17)
  • 9f539583 docs: sync skills and steering docs with bug-1562..1566 findings (2026-08-17)