myxce/.kiro/specs
Rongsong Shen ecfb4c942f
feat(worker-rejoin-resync): reconcile unqueried job assignment (task 2.2)
Add record_job_reconcile_assign_fact(cluster_t*, job_t*, worker_t*,
xce_job_state_entry_t*) to job.c: eagerly sets job->job.state to match
the worker's reported outcome (mirroring dispatch_a_job_'s inline
mutation, minus allocation fields -- there are none to set, job->job.allocs
stays NULL per Requirement 4.8's documented scope). Calls the existing
persist_submit_job_dispatch_fact(..., alloc=NULL) directly, then leaves
the post-unlock persist_notify_job_updated_already_persisted() call to
the caller, same convention as task 2.1.

Fixes bug-1746 along the way: capnp_encode_joballoc() (persist.c, part
of bug-1678's original fix, predates this feature) unconditionally
dereferenced a NULL alloc -- never triggered before since
dispatch_a_job_ (the only prior caller) always passes non-NULL. Fixed
with a minimal guard producing a true zero-length buffer, matching
apply_committed_entry's alloc_len > 0 decode gate exactly. This
directly contradicted design.md's "tested, backward-compatible on both
seams" claim (true only for decode, never actually exercised for
encode) -- corrected in 4 places.

2 tests: applies-running-no-allocs-and-notifies, and a real restart-
replay round trip (write to real disk, fresh persist_recover(), confirm
jobid/host/state/NULL-allocs survive) -- proving this task's own
"durably survives a restart replay" completion criterion literally, not
just the in-memory mutation.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y4M5MJM2zK6nU43da267Ku
2026-09-01 11:40:47 +00:00
..
admin-config-tool test(admin-config-tool): update standby-redirect E2E for bug-1700/1701 2026-08-29 12:10:28 +00:00
build-time-versioning chore(specs): reconcile stale phase/checkbox metadata across 4 specs 2026-08-24 13:04:11 +00:00
clusterconfig-schema-split update documents 2026-08-10 17:51:51 +08:00
commit-batch-window docs: mark scheduler-dispatch-commit tasks complete; add parked commit-batch-window spec 2026-09-01 07:08:43 +00:00
component-failover-adoption chore(specs): reconcile stale phase/checkbox metadata across 4 specs 2026-08-24 13:04:11 +00:00
component-rejoin-resync docs(kiro): reconcile spec metadata, promote 3 new specs, fix template path 2026-08-16 11:02:06 +00:00
config-upgrade-snapshot docs(kiro): reconcile spec metadata, promote 3 new specs, fix template path 2026-08-16 11:02:06 +00:00
controller-status update documents 2026-08-10 17:51:51 +08:00
dirty-content-fingerprint chore(specs): reconcile stale phase/checkbox metadata across 4 specs 2026-08-24 13:04:11 +00:00
election-iomgr-refactor update documents 2026-08-10 17:51:51 +08:00
eliminate-frontend-makefile docs(spec): promote eliminate-frontend-makefile backlog item to a brief 2026-08-27 08:27:55 +00:00
ha-commit-barrier-rollout update documents 2026-08-10 17:51:51 +08:00
ha-commit-durability update documents 2026-08-10 17:51:51 +08:00
ha-commit-engine update documents 2026-08-10 17:51:51 +08:00
ha-config-bootstrap docs(kiro): close 3 stalled specs whose follow-up work already landed 2026-08-16 12:13:15 +00:00
ha-consistency-invariants update documents 2026-08-10 17:51:51 +08:00
ha-convergence-recovery update documents 2026-08-10 17:51:51 +08:00
ha-elect-ctx-lifecycle update documents 2026-08-10 17:51:51 +08:00
ha-entity-snapshots update documents 2026-08-10 17:51:51 +08:00
ha-heartbeat-committed-propagation update documents 2026-08-10 17:51:51 +08:00
ha-heartbeat-liveness update documents 2026-08-10 17:51:51 +08:00
ha-peer-connection-reuse update documents 2026-08-10 17:51:51 +08:00
ha-prevote update documents 2026-08-10 17:51:51 +08:00
ha-repl-hardening update documents 2026-08-10 17:51:51 +08:00
ha-single-leader-role docs: fix unchecked group-header checkboxes across 8 fully-implemented specs 2026-07-07 08:45:41 +00:00
ha-term-safety docs(raft-adapter-conformance): extend controller conformance record with this feature's findings 2026-07-30 03:39:56 +00:00
ha-wal-replication update documents 2026-08-10 17:51:51 +08:00
job-array-single-wal-record fix: bug-1445 -- first-boot promotion check races its own first replay 2026-07-17 10:42:13 +00:00
libxce-failover docs(specs): kiro-validate-impl GO closure for 8 HA/raft specs 2026-07-18 13:27:36 +00:00
raft-adapter-conformance docs(kiro): reconcile spec metadata, promote 3 new specs, fix template path 2026-08-16 11:02:06 +00:00
raft-apply-decoupling fix(controller): bug-1433 async-thread fdatasync block + bug-1434 committed_lsn CAS race 2026-07-11 12:16:28 +00:00
raft-commit-safety docs: promote raft-apply-decoupling spec family from /kiro-discovery 2026-07-03 02:41:11 +00:00
raft-drive-async fix(netio): bug-1447 same-batch endpoint use-after-free in io_worker dispatch 2026-07-18 13:28:04 +00:00
raft-ha-core-safety fix(controller): bug-1433 async-thread fdatasync block + bug-1434 committed_lsn CAS race 2026-07-11 12:16:28 +00:00
raft-library checkpoint: bug-851 root cause + raft TLA+ conformance spec family 2026-06-21 14:02:15 +00:00
raft-log-replication docs: promote raft-apply-decoupling spec family from /kiro-discovery 2026-07-03 02:41:11 +00:00
raft-sim-conformance docs(specs): kiro-validate-impl GO closure for 8 HA/raft specs 2026-07-18 13:27:36 +00:00
resource-distribution-mapping add resource distribution map project 2026-07-23 09:20:26 +00:00
resource-value-verification chore(specs): reconcile stale phase/checkbox metadata across 4 specs 2026-08-24 13:04:11 +00:00
resval-id-decoupling docs(kiro): close 3 stalled specs whose follow-up work already landed 2026-08-16 12:13:15 +00:00
scheduler-allocation chore(specs): add scheduler-sim-eager-reconciliation spec, weekly report, cross-spec sequencing notes 2026-08-24 12:56:35 +00:00
scheduler-config-version-tag docs: save scheduler-config-version-tag spec (requirements/design/tasks) 2026-08-29 11:47:28 +00:00
scheduler-controller-msg-gap docs(kiro): close 3 stalled specs whose follow-up work already landed 2026-08-16 12:13:15 +00:00
scheduler-core chore(specs): reconcile stale phase/checkbox metadata across 4 specs 2026-08-24 13:04:11 +00:00
scheduler-dispatch-commit fix(scheduler): wire mem reservation reconciliation into live rusage event path 2026-09-01 07:08:37 +00:00
scheduler-framework add scheduler related projects 2026-07-31 17:42:13 +08:00
scheduler-preemption chore(specs): add scheduler-sim-eager-reconciliation spec, weekly report, cross-spec sequencing notes 2026-08-24 12:56:35 +00:00
scheduler-sim-decision-parity chore(scheduler-sim-decision-parity): mark feature complete 2026-08-22 13:11:34 +00:00
scheduler-sim-diagnostics docs(kiro): reconcile spec metadata, promote 3 new specs, fix template path 2026-08-16 11:02:06 +00:00
scheduler-sim-eager-reconciliation test(scheduler-sim-eager-reconciliation): task 3.3 full regression confirmation 2026-08-27 06:13:12 +00:00
scheduler-sim-repl-verbosity docs(scheduler-sim-repl-verbosity): add approved spec (requirements/design/tasks) 2026-08-22 02:45:52 +00:00
scheduler-snapshot-job-allocation docs(scheduler-snapshot-job-allocation): sync spec.json phase to implementation-complete 2026-08-30 15:08:00 +00:00
worker-join-refactor checkpoint: bug-851 root cause + raft TLA+ conformance spec family 2026-06-21 14:02:15 +00:00
worker-rejoin-resync feat(worker-rejoin-resync): reconcile unqueried job assignment (task 2.2) 2026-09-01 11:40:47 +00:00
xce-test-cli-ux docs: save scheduler-snapshot-job-allocation and xce-test-cli-ux spec docs, sync OpenWolf state 2026-08-28 06:30:37 +00:00
xce-test-e2e-primitives fix(controller): bug-1433 async-thread fdatasync block + bug-1434 committed_lsn CAS race 2026-07-11 12:16:28 +00:00
xce-test-rc-file test(xce-test-rc-file): task 3.3 confirm existing automation unaffected 2026-08-26 17:34:17 +00:00
.gitignore chore: baseline snapshot — prior-session work + ha-consistency-invariants spec family 2026-06-11 13:21:50 +00:00