myxce/.kiro/specs/resval-id-decoupling/spec.json
Rongsong Shen 5a08dac57b
docs(kiro): close 3 stalled specs whose follow-up work already landed
ha-config-bootstrap, scheduler-controller-msg-gap, and resval-id-decoupling
were the only 3 specs (of ~40) carrying a nonstandard status:"active"
field, each paired with a note about residual gap-audit findings that
never got refreshed once later work actually resolved them:

- ha-config-bootstrap: all 3 known deviations resolved/superseded
  (redirect fields -> libxce-failover; WAL majority-commit scope -> the
  deliberate wal_classify() WAIT/RETAIN design; commit-timeout durability
  -> bug-661 fix via ha-commit-durability, live-reverified 2026-07-18).
  One narrower, genuinely new gap found in passing (OP_upgradeConfig
  replies lack redirect wiring, admin-config-tool task 6.3) is flagged
  in the note for a future spec, not folded back into this one.
- scheduler-controller-msg-gap: both open items (sched_pend_update_killer
  leak, test coverage) were fixed via bug-765 across 4 commits on
  2026-06-19, verified directly in current scheduler.c and the test
  suite -- the note just never caught up.
- resval-id-decoupling: not just an investigation -- the recommended
  name-keyed collect_resval() fix shipped one day after the spec was
  created (commit d47b3375), verified as the sole implementation left
  in current code. Description no longer named the deleted function;
  status:"active" flipped to "closed" and a note added to match its
  sibling specs' convention.

All three verified via direct code/commit/buglog inspection (not just
trusting stale spec text) before closing. status:"active" -> "closed"
in all three; phase stays "implemented" (already correct).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-16 12:13:15 +00:00

24 lines
1.6 KiB
JSON

{
"feature_name": "resval-id-decoupling",
"description": "Investigated the controller-to-scheduler/apiserver resource-value transport, which previously assumed idx/id parity between controller and scheduler resource arrays (collect_resval_with_idx(), src/controller/dataex.c) -- a silent-corruption risk on divergent registration order. Recommended and shipped a name-keyed replacement.",
"phase": "implemented",
"created_at": "2026-05-12T06:52:00-07:00",
"updated_at": "2026-08-16T11:35:00Z",
"language": "en",
"status": "closed",
"approvals": {
"requirements": {
"generated": true,
"approved": true
},
"design": {
"generated": true,
"approved": true
},
"tasks": {
"generated": true,
"approved": true
}
},
"note": "CLOSED 2026-08-16. Recommended fix was implemented, not just proposed -- collect_resval_with_idx() replaced by name-keyed collect_resval() (commit d47b3375, 2026-05-13, landed one day after this spec was created). Verified in current code: zero remaining callers of the old idx-keyed function; controller.capnp's Worker.resvals/Conf4Sched.resvals are List(NameValue); scheduler resolves via key_find() by name (scheduler.c, schedobj.c). Related hazard bug-335 (UPDATE_RESVALS hardcoded slot 0) closed 2026-06-10. research.md's own Gap Re-Audit (2026-06-18): 21/23 EARS requirements met, functionally complete. 2 SHOULD-level residuals left as separate small cleanup, not a spec: delete the now-dead ValueWithIdx/xce_val_with_idx_t type (zero real callers); add one regression test for divergent controller/scheduler registration order (EARS-R6-1)."
}