garrytan
a05965fb0a
B9: read cycle_freshness from a doctor run that includes it
...
/sync-gbrain Step 3.5 and the --full auto-dream decision read CYCLE from
gbrain doctor --json --fast, which skips the DB checks that carry
cycle_freshness, so the answer was always "unknown". Both now read
gbrain doctor --json --scope=brain (DB checks, no skill-file walk), parse
its JSON even when doctor exits 1 for a failing check, and match the
issue that names this source: "never completed" is never, "last cycled
Nh ago" is completed. When the installed gbrain does not report the
check, they say "unknown: installed gbrain does not expose
cycle_freshness" (lib readCycleStatus carries the reason to the --full
SKIP row).
The source-probe fixture that pinned the --fast call and a made-up
message format now answers --scope=brain with gbrain's real message.
2026-10-03 21:30:04 +00:00
..
2026-08-19 16:53:19 -07:00
2026-06-09 22:29:23 -07:00
2026-10-01 11:57:48 -07:00
2026-10-01 11:57:48 -07:00
2026-09-21 12:27:25 -04:00
2026-09-26 18:57:53 -04:00
2026-10-01 11:57:48 -07:00
2026-10-02 11:11:00 -07:00
2026-10-01 11:57:48 -07:00
2026-10-01 11:57:48 -07:00
2026-10-03 01:19:03 -07:00
2026-10-01 11:57:48 -07:00
2026-04-18 15:05:42 +08:00
2026-10-02 11:11:00 -07:00
2026-09-14 14:32:45 -07:00
2026-08-15 11:42:19 -07:00
2026-10-03 07:54:09 -07:00
2026-10-01 11:57:48 -07:00
2026-08-14 09:28:56 -07:00
2026-10-03 07:54:09 -07:00
2026-08-15 11:42:19 -07:00
2026-10-03 07:54:09 -07:00
2026-09-22 14:57:52 -04:00
2026-06-08 06:20:58 -07:00
2026-10-01 11:57:48 -07:00
2026-10-01 13:55:16 -07:00
2026-08-31 08:55:30 -07:00
2026-10-01 11:57:48 -07:00
2026-08-16 19:34:41 -07:00
2026-10-01 11:57:48 -07:00
2026-10-01 11:57:48 -07:00
2026-10-01 11:57:48 -07:00
2026-10-01 11:57:48 -07:00
2026-08-14 09:28:56 -07:00
2026-10-01 11:57:48 -07:00
2026-03-26 11:15:24 -06:00
2026-06-25 09:42:45 -07:00
2026-10-03 20:45:47 +00:00
2026-08-16 19:34:41 -07:00
2026-05-21 21:21:07 -07:00
2026-08-14 09:28:56 -07:00
2026-10-01 11:57:48 -07:00
2026-10-01 11:57:48 -07:00
2026-10-01 11:57:48 -07:00
2026-08-15 22:20:30 -07:00
2026-04-24 01:38:21 -07:00
2026-10-03 21:30:04 +00:00
2026-10-02 11:11:00 -07:00
2026-10-03 07:54:09 -07:00
2026-05-21 16:09:26 -07:00
2026-05-21 16:09:26 -07:00
2026-07-14 16:35:30 -07:00
2026-08-16 09:53:31 -07:00
2026-08-24 08:55:58 -07:00
2026-10-01 11:57:48 -07:00
2026-10-01 11:57:48 -07:00
2026-10-01 11:57:48 -07:00
2026-10-03 21:17:54 +00:00
2026-09-14 14:32:45 -07:00
2026-08-14 22:02:07 -07:00
2026-10-01 13:55:16 -07:00
2026-09-22 14:57:52 -04:00
2026-03-30 22:25:46 -06:00
2026-10-03 07:54:09 -07:00
2026-08-14 22:02:07 -07:00
2026-09-29 06:07:35 -07:00
2026-09-29 06:07:35 -07:00
2026-10-01 11:57:48 -07:00
2026-10-01 11:57:48 -07:00
2026-09-26 18:57:53 -04:00
2026-10-02 11:11:00 -07:00
2026-10-03 07:54:09 -07:00
2026-10-02 11:11:00 -07:00
2026-09-06 08:54:25 -07:00
2026-10-01 11:57:48 -07:00
2026-10-01 11:57:48 -07:00
2026-10-01 11:57:48 -07:00
2026-10-01 11:57:48 -07:00
2026-10-01 13:55:16 -07:00
2026-08-14 09:28:56 -07:00
2026-08-30 20:45:19 -07:00
2026-10-03 07:54:09 -07:00
2026-09-23 08:54:53 -04:00
2026-10-01 11:57:48 -07:00
2026-10-03 07:54:09 -07:00
2026-10-03 07:54:09 -07:00
2026-10-01 11:57:48 -07:00
2026-10-01 11:57:48 -07:00
2026-10-01 11:57:48 -07:00
2026-10-03 07:54:09 -07:00
2026-10-01 11:57:48 -07:00
2026-10-01 11:57:48 -07:00
2026-10-01 11:57:48 -07:00
2026-10-01 11:57:48 -07:00
2026-10-03 07:54:09 -07:00
2026-10-02 11:11:00 -07:00
2026-10-01 11:57:48 -07:00
2026-08-29 10:10:35 -07:00
2026-09-01 11:15:11 -07:00