myxce/.kiro/specs
Rongsong Shen 48a86cdab6
feat(build-time-versioning): version macro/helper functions with unknown fallback
Adds xce_version_field()/xce_compose_version() (utils.h/utils.c) to
compose a version string carrying commit id + build time, rendering
"unknown" for either field when its underlying meson-supplied define is
empty -- ready for controller/scheduler/worker to consume.

MK_VERSION/STR (the pre-existing, compile-time-only macro pair) can't
express this empty-to-"unknown" substitution at the preprocessor level,
so this is a runtime mechanism instead. Round 1 review REJECTED an
earlier version of this task for silently orphaning MK_VERSION/STR
(the task explicitly asked to "extend" them) and for leaving an
undocumented architectural trap: argp_program_version is a file-scope
const char* initialized at compile time, which cannot call a runtime
function -- consuming code must instead compute into a static buffer
inside main() and assign the pointer before argp_parse() runs. Round 2
adds an explicit SUPERSEDED doc comment on MK_VERSION/STR plus NOTE FOR
CALLERS guidance covering both points, and was APPROVED.

Also expands task 3.2's boundary to include controller/testsuite/test.c
(a third MK_VERSION/STR call site discovered during review) so no
caller of the superseded macro survives implementation.

5 new unit tests in test_utils.c (RED->GREEN, TDD).

Task 3.1/13 of build-time-versioning.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-20 10:16:17 +00:00
..
admin-config-tool docs(admin-config-tool): close task 6.3, mark spec implementation-complete 2026-08-16 11:13:37 +00:00
build-time-versioning feat(build-time-versioning): version macro/helper functions with unknown fallback 2026-08-20 10:16:17 +00:00
clusterconfig-schema-split update documents 2026-08-10 17:51:51 +08:00
component-failover-adoption docs(kiro): reconcile spec metadata, promote 3 new specs, fix template path 2026-08-16 11:02:06 +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
election-iomgr-refactor update documents 2026-08-10 17:51:51 +08: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 docs(resource-value-verification): close design-review doc/comment gaps 2026-08-19 11:00:57 +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 add scheduler related projects 2026-07-31 17:42:13 +08: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 docs(roadmap): close out four low-risk backlog cleanup items 2026-08-19 15:07:52 +00:00
scheduler-framework add scheduler related projects 2026-07-31 17:42:13 +08:00
scheduler-preemption add scheduler related projects 2026-07-31 17:42:13 +08:00
scheduler-sim-diagnostics docs(kiro): reconcile spec metadata, promote 3 new specs, fix template path 2026-08-16 11:02:06 +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 docs(kiro): reconcile spec metadata, promote 3 new specs, fix template path 2026-08-16 11:02:06 +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
.gitignore chore: baseline snapshot — prior-session work + ha-consistency-invariants spec family 2026-06-11 13:21:50 +00:00