From a74eb0080da34ee170e9350aa107a3540fa357e9 Mon Sep 17 00:00:00 2001 From: Rongsong Shen Date: Tue, 21 Jul 2026 08:06:51 +0000 Subject: [PATCH] =?UTF-8?q?docs(controller):=20clusterconfig-schema-split?= =?UTF-8?q?=20=E2=80=94=20close=20two=20validation=20traceability=20gaps?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit kiro-validate-impl's feature-level requirements-coverage pass found two low-severity gaps: Requirement 4.1 (discard removed-field values without error) had no citing task, though it was already satisfied structurally by task 1.1's direct removal + capnp's default decode behavior -- cited now on task 5.1, where it's live-exercised. Requirement 3.3's citing task (5.2) didn't document how worker-liveness was verified -- added a clarifying bullet recording the actual (indirect, code-path-untouched) verification method. No functional changes. --- .kiro/specs/clusterconfig-schema-split/tasks.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.kiro/specs/clusterconfig-schema-split/tasks.md b/.kiro/specs/clusterconfig-schema-split/tasks.md index a0e7194..c5edeba 100644 --- a/.kiro/specs/clusterconfig-schema-split/tasks.md +++ b/.kiro/specs/clusterconfig-schema-split/tasks.md @@ -75,11 +75,12 @@ - Write and run a small throwaway capnp-encoding tool (not part of the shipped codebase — discard it after use) that constructs a `ClusterConfig` with those same retained-field values and serializes it under the NEW (post-task-1.1) schema - Overwrite `ha/data/cluster.bin` with the newly-encoded blob - Observable: the regenerated `ha/data/cluster.bin` decodes correctly under the post-spec schema with every retained field matching the pre-spec blob's semantic values; `deploy-ha.sh`'s existing verbatim-copy usage (`deploy-ha.sh:33-36`) requires no changes and keeps working - - _Requirements: 3.2, 5.3_ + - _Requirements: 3.2, 4.1, 5.3_ - _Depends: 4_ - [x] 5.2 3-node HA cluster config-push verification - Deploy a 3-node HA cluster using the existing deploy tooling (which seeds ctrl-1 from the regenerated `ha/data/cluster.bin`) and confirm peer discovery via `--peers`, listener binding, and worker-liveness tracking behave identically to pre-spec + - Worker-liveness tracking (Req 3.3) is verified indirectly: `heartbeatInterval`/`inactiveHeartbeatCount` are retained, unmodified fields, and this spec touched no worker-liveness code path (`cluster.c`'s delay-task scheduling consuming them, e.g. around the `check_worker_timeout_`/liveness-poll call sites) — the observable is that the regenerated config activates cleanly on all 3 nodes with no error from that subsystem, not a live worker daemon exercising a timeout - Observable: the 3-node cluster reaches steady state with unchanged peer/listener/worker-liveness behavior, using the regenerated fixture with no error or warning - _Requirements: 3.3, 5.4_ - _Depends: 4, 5.1_