Clifford Garwood
1ff8ec9a49
test(skills): cover the patch recovery loop end to end
...
Asserting an error string contains "read" proves the wording, not that a
model obeying it reaches a working patch. TestPatchRecoveryLoop walks the
loop through the public tool — half-formed patch, read the error, follow it,
patch succeeds — and pins the invariants that centralizing validation could
have broken: ordering ahead of the skill lookup, new_string='' still
deleting, missing new_string still rejected, and a rejected patch leaving
the file byte-identical.
The two recovery tests fail against the pre-fix dispatcher; the rest pass
either way as regression guards.
2026-08-28 23:17:35 -07:00
..
2026-08-25 04:21:45 -07:00
2026-08-23 20:07:21 -07:00
2026-08-20 05:26:37 -05:00
2026-08-25 13:27:20 +05:30
2026-08-24 16:18:45 +05:30
2026-08-23 17:56:36 -07:00
2026-08-23 18:25:19 -07:00
2026-08-27 13:48:51 -07:00
2026-08-23 21:12:32 -07:00
2026-08-23 03:57:43 -07:00
2026-08-24 00:57:15 +05:30
2026-08-27 13:49:04 -07:00
2026-08-21 15:23:51 -07:00
2026-08-24 03:21:37 -07:00
2026-08-23 20:00:30 -07:00
2026-08-24 03:21:37 -07:00
2026-08-24 03:21:37 -07:00
2026-08-28 04:57:52 -07:00
2026-08-23 13:27:04 +05:30
2026-08-24 20:11:18 -07:00
2026-08-26 19:25:33 -07:00
2026-08-21 22:33:45 +05:30
2026-08-24 21:45:56 -07:00
2026-08-25 01:34:56 +05:30
2026-08-27 16:11:16 +05:30
2026-08-26 19:25:33 -07:00
2026-08-24 20:11:18 -07:00
2026-08-24 21:51:44 -07:00
2026-08-27 16:11:16 +05:30
2026-08-23 18:25:35 -07:00
2026-08-23 18:27:15 -07:00
2026-08-26 18:02:17 +05:30
2026-08-26 16:42:44 -07:00
2026-08-28 23:10:01 -07:00
2026-08-27 22:22:39 -07:00
2026-08-28 03:05:03 -07:00
2026-08-28 01:39:33 -07:00
2026-08-28 03:04:51 -07:00
2026-08-26 19:25:33 -07:00
2026-08-26 19:25:33 -07:00
2026-08-27 23:26:40 +08:00
2026-08-26 04:50:13 -07:00
2026-08-25 02:31:34 -07:00
2026-08-26 19:25:33 -07:00
2026-08-26 16:06:41 +05:30
2026-08-28 06:36:22 -07:00
2026-08-25 16:39:12 -07:00
2026-08-27 07:38:53 -07:00
2026-08-27 07:38:53 -07:00
2026-08-27 07:38:53 -07:00
2026-08-27 07:38:53 -07:00
2026-08-28 23:10:01 -07:00
2026-08-25 04:00:27 -07:00
2026-08-20 05:26:37 -05:00
2026-08-28 12:59:41 -07:00
2026-08-23 17:45:47 -05:00
2026-08-24 03:20:14 -07:00
2026-08-28 03:58:52 -07:00
2026-08-28 03:58:52 -07:00
2026-08-28 03:58:52 -07:00
2026-08-28 04:58:21 -07:00
2026-08-23 18:27:15 -07:00
2026-08-25 01:34:56 +05:30
2026-08-28 07:50:33 -07:00
2026-08-26 06:26:02 -07:00
2026-08-25 02:45:10 -07:00
2026-08-28 20:16:26 -07:00
2026-08-28 20:16:26 -07:00
2026-08-26 08:40:07 -07:00
2026-08-26 08:40:07 -07:00
2026-08-26 08:40:07 -07:00
2026-08-27 14:08:20 +05:30
2026-08-27 21:36:35 +05:30
2026-08-24 17:12:15 +05:30
2026-08-26 08:40:07 -07:00
2026-08-26 02:54:35 +05:30
2026-08-26 19:23:39 -07:00
2026-08-23 03:56:37 -07:00
2026-08-28 23:10:01 -07:00
2026-08-28 12:59:41 -07:00
2026-08-22 11:15:44 -07:00
2026-08-22 02:25:12 -04:00
2026-08-28 09:23:00 -07:00
2026-08-28 08:46:11 -07:00
2026-08-28 23:10:01 -07:00
2026-08-26 04:51:41 -07:00
2026-08-27 07:33:36 -07:00
2026-08-26 16:06:09 +05:30
2026-08-24 20:03:24 -07:00
2026-08-25 04:00:27 -07:00
2026-08-23 21:12:32 -07:00
2026-08-27 07:09:26 -07:00
2026-08-28 12:15:18 -07:00
2026-08-28 12:15:18 -07:00
2026-08-28 23:17:35 -07:00
2026-08-28 03:24:43 -07:00
2026-08-28 03:46:21 -07:00
2026-08-27 14:28:22 +05:30
2026-08-21 22:33:45 +05:30
2026-08-21 14:56:28 +10:00
2026-08-23 19:00:47 -07:00
2026-08-27 13:49:04 -07:00
2026-08-27 21:50:18 -05:00
2026-08-28 08:58:12 -07:00
2026-08-25 16:39:12 -07:00
2026-08-25 16:39:12 -07:00
2026-08-23 18:25:35 -07:00
2026-08-28 05:10:33 -07:00
2026-08-28 05:10:33 -07:00
2026-08-28 05:10:33 -07:00
2026-08-28 04:58:21 -07:00
2026-08-23 13:27:04 +05:30
2026-08-28 04:58:21 -07:00
2026-08-23 03:54:52 -07:00
2026-08-26 19:23:39 -07:00
2026-08-20 02:04:32 -07:00
2026-08-25 04:21:45 -07:00
2026-08-20 20:20:23 -07:00