Garry Tan and Claude Opus 5
bb4fe207fe
fix(cycle): scope the extract_facts guard to its source and fix the drain advice ( #2646 , #3526 )
...
Defect A (#3526 ): the empty-fence guard COUNT had no source_id predicate,
so one pending legacy row in any mounted source jammed extract_facts for
every source in the brain. The count now binds f.source_id = $1 to the
run's sourceId (source-isolation invariant).
Defect B: the guard advised `gbrain apply-migrations --yes`, which is a
proven no-op once the v0.32.2 ledger entry is complete (the runner
classifies it as already-applied and Phase B never re-runs). The warning
(and cycle.ts's phase hint) now gives the drain path verified to work
end-to-end on a real brain: `apply-migrations --force-retry 0.32.2`
then `apply-migrations --yes` (Phase B is idempotent), or forget_fact
per row.
New test proves a pending legacy row in source A does not jam extraction
for source B (fails on master, passes with the fix).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-07-28 13:11:36 -07:00
..
2026-07-02 10:48:54 -07:00
2026-07-28 11:56:06 -07:00
2026-05-22 13:38:07 -07:00
2026-06-03 07:27:34 -07:00
2026-05-24 21:50:08 -07:00
2026-07-23 15:29:09 -07:00
2026-07-23 18:02:03 -07:00
2026-07-23 12:03:26 -07:00
2026-07-17 15:01:27 -07:00
2026-07-28 11:41:08 -07:00
2026-04-29 23:46:36 -07:00
2026-06-24 06:05:16 -07:00
2026-07-02 10:48:54 -07:00
2026-07-27 18:06:01 -07:00
2026-07-23 12:26:33 -07:00
2026-07-28 13:11:36 -07:00
2026-05-22 11:53:11 -07:00
2026-05-22 13:38:07 -07:00
2026-06-01 22:13:19 -07:00
2026-07-23 13:38:52 -07:00
2026-07-13 00:09:04 -07:00
2026-06-03 07:09:20 -07:00
2026-07-27 13:46:43 -07:00
2026-05-10 06:34:40 -07:00
2026-07-23 17:28:51 -07:00
2026-07-24 12:27:56 -07:00
2026-05-24 22:56:21 -07:00
2026-07-27 13:55:41 -07:00
2026-07-27 14:15:35 -07:00
2026-07-23 12:13:50 -07:00
2026-05-26 17:31:48 -07:00
2026-07-24 12:11:29 -07:00
2026-05-17 08:00:29 -07:00
2026-07-23 16:13:51 -07:00
2026-07-27 23:44:52 -07:00
2026-05-20 13:55:12 -07:00
2026-07-22 00:23:10 -07:00
2026-06-16 22:45:22 -07:00
2026-07-23 18:16:21 -07:00
2026-07-27 13:28:37 -07:00
2026-07-27 14:11:36 -07:00
2026-06-07 08:12:50 -07:00
2026-06-03 23:00:11 -07:00
2026-05-02 08:41:11 -07:00
2026-07-23 12:26:33 -07:00
2026-05-22 22:16:25 -07:00
2026-05-20 13:55:12 -07:00
2026-05-23 10:01:08 -07:00
2026-05-23 08:49:28 -07:00
2026-05-22 11:53:11 -07:00
2026-05-26 23:15:44 -07:00
2026-05-09 20:46:34 -07:00
2026-05-19 17:14:53 -07:00
2026-06-12 07:28:13 -07:00
2026-07-23 13:24:46 -07:00
2026-06-10 22:00:36 -07:00
2026-06-03 06:20:03 -07:00
2026-05-23 08:49:28 -07:00
2026-07-20 15:39:04 -07:00
2026-07-02 08:00:58 -07:00
2026-07-23 14:21:51 -07:00
2026-07-23 14:21:39 -07:00
2026-07-27 18:03:31 -07:00
2026-07-22 14:13:54 -07:00
2026-07-23 12:13:50 -07:00
2026-07-20 13:00:16 -07:00
2026-05-23 10:01:08 -07:00
2026-05-10 18:59:11 -07:00
2026-06-03 06:43:11 -07:00
2026-07-27 16:45:42 -07:00
2026-06-01 19:09:15 -07:00
2026-05-08 13:25:48 -07:00
2026-07-23 13:23:36 -07:00
2026-05-23 10:57:32 -07:00
2026-05-24 10:49:56 -07:00
2026-06-08 21:19:25 -07:00
2026-07-23 12:42:56 -07:00
2026-05-23 08:49:28 -07:00
2026-07-23 18:35:05 -07:00
2026-07-28 13:11:36 -07:00
2026-04-14 19:41:34 -10:00
2026-06-21 06:36:43 -07:00
2026-06-17 06:58:07 -07:00
2026-06-09 22:28:44 -07:00
2026-07-27 14:16:05 -07:00
2026-04-29 22:21:07 -07:00
2026-07-27 18:01:35 -07:00
2026-06-03 07:27:34 -07:00
2026-05-25 14:56:38 -07:00
2026-05-20 13:55:12 -07:00
2026-05-07 21:52:58 -07:00
2026-06-17 06:58:07 -07:00
2026-06-16 15:08:47 -07:00
2026-07-10 10:05:23 +09:00
2026-05-24 10:49:56 -07:00
2026-07-20 22:14:46 -07:00
2026-05-23 08:49:28 -07:00
2026-07-23 16:43:59 -07:00
2026-07-27 17:48:37 -07:00
2026-07-23 16:43:59 -07:00
2026-06-16 15:08:47 -07:00
2026-05-27 08:50:53 -07:00
2026-04-11 00:01:09 -10:00
2026-07-28 11:44:17 -07:00
2026-07-27 18:01:35 -07:00
2026-04-25 12:25:34 -07:00
2026-05-14 19:13:14 -07:00
2026-05-01 09:02:43 -07:00
2026-06-03 08:42:25 -07:00
2026-05-26 18:59:17 -07:00
2026-07-20 15:05:32 -07:00
2026-06-12 06:05:34 -07:00
2026-07-27 18:01:35 -07:00
2026-05-30 11:21:56 -07:00
2026-04-29 23:46:36 -07:00
2026-05-23 10:21:59 -07:00
2026-07-13 00:09:16 -07:00
2026-04-22 01:34:22 -07:00
2026-05-20 13:55:12 -07:00
2026-04-29 23:46:36 -07:00
2026-05-21 09:26:37 -07:00
2026-07-17 15:23:47 -07:00
2026-07-27 23:46:17 -07:00
2026-07-20 16:28:53 -07:00
2026-07-17 11:32:48 -07:00
2026-05-30 12:34:43 -07:00
2026-07-17 14:17:37 -07:00
2026-07-23 12:57:46 -07:00
2026-04-05 12:48:10 -07:00
2026-07-10 10:05:23 +09:00
2026-06-03 08:42:25 -07:00
2026-06-12 06:05:34 -07:00
2026-05-21 18:57:05 -07:00
2026-07-27 18:04:46 -07:00
2026-07-27 16:43:09 -07:00
2026-07-23 12:57:37 -07:00
2026-05-09 19:47:56 -07:00
2026-07-23 17:12:57 -07:00
2026-05-26 18:59:17 -07:00
2026-05-27 07:16:30 -07:00
2026-06-01 21:54:13 -07:00
2026-07-27 16:21:51 -07:00
2026-05-25 20:00:03 -07:00
2026-07-22 18:46:49 -07:00
2026-07-23 17:28:42 -07:00
2026-06-24 06:05:16 -07:00
2026-07-24 12:41:26 -07:00
2026-07-27 18:01:35 -07:00
2026-07-23 14:33:02 -07:00
2026-07-23 12:03:26 -07:00
2026-06-17 06:58:07 -07:00
2026-05-06 21:14:34 -07:00
2026-07-21 16:50:43 -07:00
2026-05-23 10:21:59 -07:00
2026-07-02 08:00:58 -07:00
2026-07-28 11:44:17 -07:00
2026-07-23 18:35:22 -07:00
2026-07-23 17:12:57 -07:00
2026-05-26 17:31:48 -07:00
2026-07-28 11:44:17 -07:00
2026-05-09 20:46:34 -07:00
2026-05-25 14:43:12 -07:00
2026-06-03 08:00:57 -07:00
2026-05-23 10:57:32 -07:00
2026-06-01 23:03:09 -07:00
2026-05-11 23:20:17 -07:00
2026-05-22 11:53:11 -07:00
2026-05-23 08:49:28 -07:00
2026-05-07 22:56:22 -07:00
2026-07-02 08:00:58 -07:00
2026-05-23 10:01:08 -07:00
2026-05-10 13:20:07 -07:00
2026-07-27 17:48:37 -07:00
2026-05-25 15:10:23 -07:00
2026-06-08 06:16:34 -07:00
2026-06-07 08:05:34 -07:00
2026-05-25 12:48:55 -07:00
2026-07-23 17:12:57 -07:00
2026-05-22 13:38:07 -07:00
2026-04-27 22:59:08 -07:00
2026-05-22 21:18:09 -07:00
2026-07-27 13:29:07 -07:00
2026-07-27 13:29:07 -07:00
2026-05-20 13:55:12 -07:00
2026-06-08 21:19:25 -07:00
2026-05-20 13:55:12 -07:00
2026-05-20 13:55:12 -07:00
2026-04-23 19:34:27 -07:00
2026-05-25 20:00:03 -07:00
2026-05-14 20:51:11 -07:00
2026-05-23 10:21:59 -07:00
2026-07-27 14:16:05 -07:00
2026-06-03 07:47:21 -07:00
2026-05-22 21:04:30 -07:00
2026-07-27 14:16:05 -07:00
2026-07-27 14:16:05 -07:00
2026-07-20 16:28:53 -07:00
2026-07-23 13:53:11 -07:00
2026-06-16 15:08:47 -07:00
2026-06-24 06:05:16 -07:00
2026-05-19 17:14:53 -07:00
2026-04-29 22:21:07 -07:00
2026-04-09 10:17:13 -07:00
2026-05-08 13:25:48 -07:00
2026-06-03 07:47:21 -07:00
2026-06-16 15:08:47 -07:00
2026-06-07 19:22:33 -07:00
2026-07-17 15:43:09 -07:00
2026-05-30 11:21:56 -07:00
2026-05-20 09:19:18 -07:00
2026-06-10 22:00:36 -07:00
2026-05-10 18:59:11 -07:00
2026-06-12 06:05:34 -07:00
2026-05-25 14:43:12 -07:00
2026-05-23 10:21:59 -07:00
2026-05-22 22:37:15 -07:00
2026-07-24 11:50:42 -07:00
2026-07-02 08:00:58 -07:00
2026-05-07 21:52:58 -07:00
2026-07-27 18:01:35 -07:00
2026-05-08 13:25:48 -07:00
2026-05-08 13:25:48 -07:00
2026-05-06 21:14:34 -07:00
2026-07-23 12:02:46 -07:00
2026-07-27 14:13:08 -07:00
2026-05-26 18:29:03 -07:00
2026-07-23 18:02:03 -07:00
2026-04-09 10:17:13 -07:00
2026-05-06 11:54:06 -07:00