Tom Boucher
a38e4d080d
fix( #2788 ): recover Gaps Found rows; mark-complete no longer false-succeeds on a rejected row ( #2902 )
...
* fix(#2788 ): recover Gaps Found rows; mark-complete no longer false-succeeds on a rejected row
Two coupled defects in the requirement traceability state machine:
Defect 1 (terminal state): requirements revert-phase (the gaps_found response)
left a row at 'Gaps Found' with no inverse — neither mark-complete's /^pending$/i
guard nor the phase-complete reconcile's /^(?:pending|in progress)$/i accepted it,
so a single failed verification stranded every requirement permanently and blocked
the milestone. Widen both guards to accept 'gaps found' so a genuinely-satisfied
stranded row reaches Complete again.
Defect 2 (false success): mark-complete ORed checkboxHit || tableHit for 'updated',
so on a Gaps Found row it flipped the checkbox but could not move the row, yet
reported updated:true. When a traceability table has a row for an ID, gate 'updated'
on the row moving (tableHit) — a checkbox-only flip on a table-bearing file no
longer lies. The #2140 table_unmatched path (no row for the ID) is preserved.
* chore(#2788 ): backfill changeset PR 2902
---------
Co-authored-by: Test <test@example.com >
(cherry picked from commit 9f567a1627 )
2026-07-31 08:19:59 -04:00
..
2026-07-09 19:38:27 -04:00
2026-07-21 08:26:47 -04:00
2026-07-28 18:02:17 -04:00
2026-06-14 20:52:56 -04:00
2026-06-28 02:12:06 -04:00
2026-07-17 06:50:06 -04:00
2026-06-21 22:55:22 -04:00
2026-07-20 14:59:30 -04:00
2026-06-15 18:50:46 -04:00
2026-07-23 07:38:00 -04:00
2026-06-02 11:45:01 -04:00
2026-06-27 08:43:47 -04:00
2026-06-23 23:21:06 -04:00
2026-07-27 16:50:12 -04:00
2026-07-19 20:24:21 -04:00
2026-06-16 02:38:47 -04:00
2026-07-30 12:48:06 -04:00
2026-06-20 01:59:03 -04:00
2026-07-30 12:48:06 -04:00
2026-07-29 10:55:45 -04:00
2026-06-25 23:55:58 -04:00
2026-07-02 20:34:30 -04:00
2026-07-07 00:19:08 -04:00
2026-07-29 16:58:02 -04:00
2026-07-17 06:50:06 -04:00
2026-07-30 16:55:10 -04:00
2026-07-28 18:02:17 -04:00
2026-07-27 16:24:21 -04:00
2026-07-27 16:24:21 -04:00
2026-06-10 10:40:12 -04:00
2026-06-26 12:19:39 -04:00
2026-07-12 15:34:59 -04:00
2026-07-05 19:16:06 +00:00
2026-06-02 11:45:01 -04:00
2026-07-19 07:52:17 -04:00
2026-06-02 11:45:01 -04:00
2026-06-13 10:27:12 -04:00
2026-06-23 22:47:57 -04:00
2026-07-27 16:50:12 -04:00
2026-07-27 16:50:12 -04:00
2026-06-23 16:10:34 -04:00
2026-06-15 18:50:46 -04:00
2026-07-29 14:19:57 -04:00
2026-06-08 22:51:43 -04:00
2026-06-02 11:45:01 -04:00
2026-07-15 15:33:58 -04:00
2026-06-22 23:43:22 -04:00
2026-07-17 16:25:13 -04:00
2026-07-20 14:22:27 -04:00
2026-07-13 15:36:17 -04:00
2026-06-14 21:44:21 -04:00
2026-06-28 02:12:06 -04:00
2026-07-26 21:42:50 -04:00
2026-06-24 17:16:13 -04:00
2026-06-24 17:16:13 -04:00
2026-07-17 06:50:06 -04:00
2026-07-03 19:37:38 -04:00
2026-06-11 11:36:50 -04:00
2026-06-08 23:37:41 -04:00
2026-07-29 12:29:45 -04:00
2026-07-17 06:49:58 -04:00
2026-07-05 14:04:29 -04:00
2026-06-15 18:50:46 -04:00
2026-06-23 23:21:06 -04:00
2026-07-05 14:50:01 -04:00
2026-07-12 15:34:59 -04:00
2026-07-02 18:08:42 -04:00
2026-06-28 11:44:36 -04:00
2026-07-02 21:45:35 -04:00
2026-07-26 22:52:57 -04:00
2026-07-05 19:16:08 +00:00
2026-07-27 16:50:12 -04:00
2026-07-07 22:21:45 -04:00
2026-07-22 00:58:58 -04:00
2026-07-17 06:50:06 -04:00
2026-07-13 15:36:17 -04:00
2026-07-11 16:04:24 -04:00
2026-07-21 08:26:47 -04:00
2026-06-23 23:21:06 -04:00
2026-06-16 00:12:54 -04:00
2026-06-24 13:19:10 -04:00
2026-06-15 16:18:54 -04:00
2026-07-07 19:38:01 -04:00
2026-07-19 14:59:25 -04:00
2026-07-14 14:25:44 -04:00
2026-07-11 21:07:38 -04:00
2026-07-31 08:19:59 -04:00
2026-06-28 11:27:44 -04:00
2026-07-21 19:10:22 -04:00
2026-06-02 11:45:01 -04:00
2026-07-20 14:59:30 -04:00
2026-07-07 12:14:43 -04:00
2026-07-19 15:43:48 -04:00
2026-06-02 11:45:01 -04:00
2026-06-05 17:58:48 -04:00
2026-07-28 18:02:17 -04:00
2026-07-26 21:42:50 -04:00
2026-07-30 13:53:39 -04:00
2026-07-13 20:39:58 -04:00
2026-07-14 15:17:14 -04:00
2026-07-31 08:19:59 -04:00
2026-07-02 11:14:01 -04:00
2026-07-28 18:02:11 -04:00
2026-07-27 16:50:12 -04:00
2026-07-28 21:11:48 -04:00
2026-07-02 11:55:53 -04:00
2026-07-26 01:06:35 -04:00
2026-06-08 14:04:26 -04:00
2026-07-03 23:21:55 -04:00
2026-06-20 13:37:16 -04:00
2026-06-02 11:45:01 -04:00
2026-06-06 11:24:48 -04:00
2026-06-05 17:58:48 -04:00
2026-06-18 07:44:52 -04:00
2026-07-30 19:14:13 -04:00
2026-07-30 12:48:06 -04:00
2026-07-30 12:48:06 -04:00
2026-07-29 16:58:02 -04:00
2026-07-10 09:44:49 -04:00
2026-07-27 20:17:09 -04:00
2026-07-10 09:44:49 -04:00
2026-07-27 16:50:12 -04:00
2026-07-25 01:50:20 -04:00
2026-07-13 15:36:17 -04:00
2026-07-23 07:38:42 -04:00
2026-07-11 23:24:42 -04:00
2026-07-11 00:53:34 -04:00
2026-07-29 22:18:48 -04:00
2026-07-22 00:27:35 -04:00
2026-06-11 12:37:25 -04:00
2026-07-13 15:36:17 -04:00
2026-06-02 11:45:01 -04:00
2026-07-14 14:25:44 -04:00
2026-06-18 14:41:20 -04:00
2026-07-14 15:16:55 -04:00
2026-07-27 16:50:12 -04:00
2026-07-06 14:40:38 -04:00
2026-06-29 16:15:55 -04:00
2026-07-30 19:55:03 -04:00
2026-06-28 11:44:36 -04:00
2026-07-30 13:53:39 -04:00
2026-07-30 21:19:36 -04:00
2026-07-17 06:50:06 -04:00
2026-06-15 16:18:54 -04:00
2026-06-17 08:52:23 -04:00
2026-07-12 15:34:59 -04:00
2026-07-27 16:50:12 -04:00
2026-07-27 16:50:12 -04:00
2026-07-28 18:31:47 -04:00
2026-07-12 16:22:47 -04:00
2026-07-27 20:17:09 -04:00
2026-07-04 13:32:51 -04:00
2026-06-02 11:45:01 -04:00
2026-07-29 12:29:45 -04:00
2026-06-07 01:26:56 -04:00
2026-07-27 16:50:12 -04:00
2026-06-02 11:45:01 -04:00
2026-07-29 12:29:45 -04:00
2026-07-02 10:24:41 -04:00
2026-07-02 10:24:41 -04:00
2026-06-02 11:45:01 -04:00
2026-07-12 15:34:59 -04:00
2026-06-11 11:36:30 -04:00
2026-07-25 01:50:20 -04:00
2026-07-13 20:39:58 -04:00