garrytan and capy-ai[bot]
988fe8fe76
fix(brain-sync): one drain lock for every writer to the artifacts repo
...
gstack-artifacts-init, gstack-brain-restore, gstack-gbrain-source-wireup
and the skill-start merge ran git in $GSTACK_HOME without the drain's lock,
so the drain could never tell an abandoned .git/index.lock from a live one.
They now take the same mkdir lock (bin/gstack-brain-lock.sh): the drain and
the skill-start merge skip when it is held, user-run writers wait for it
(GSTACK_BRAIN_LOCK_WAIT, default 120 s), and a child of the holder (the
drain's daily worktree advance, restore's wireup) inherits it by token.
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
2026-10-07 20:09:42 +00:00
..
2026-08-19 16:53:19 -07:00
2026-06-09 22:29:23 -07:00
2026-10-04 07:58:41 -07:00
2026-10-07 20:09:42 +00: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-04 07:58:41 -07:00
2026-10-07 20:09:42 +00:00
2026-10-07 20:09:42 +00:00
2026-10-04 07:58:41 -07:00
2026-10-01 11:57:48 -07:00
2026-04-18 15:05:42 +08:00
2026-10-06 18:07:50 +00:00
2026-10-04 07:58:41 -07: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-06 23:42:19 +00:00
2026-10-01 11:57:48 -07:00
2026-10-04 07:58:41 -07:00
2026-10-07 14:00:06 +00: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-03 16:13:45 -07:00
2026-10-03 16:13:45 -07:00
2026-10-01 11:57:48 -07:00
2026-10-04 07:58:41 -07:00
2026-10-01 13:55:16 -07:00
2026-08-31 08:55:30 -07:00
2026-10-04 07:58:41 -07:00
2026-08-16 19:34:41 -07:00
2026-10-01 11:57:48 -07:00
2026-10-04 07:58:41 -07:00
2026-10-06 18:07:50 +00:00
2026-10-01 11:57:48 -07:00
2026-10-06 23:42:19 +00: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-04 07:58:41 -07:00
2026-10-04 07:58:41 -07:00
2026-05-21 21:21:07 -07:00
2026-10-04 07:58:41 -07:00
2026-10-01 11:57:48 -07:00
2026-10-01 11:57:48 -07:00
2026-10-07 20:09:42 +00:00
2026-08-15 22:20:30 -07:00
2026-04-24 01:38:21 -07:00
2026-10-04 07:58:41 -07:00
2026-10-02 11:11:00 -07:00
2026-10-06 23:42:19 +00:00
2026-10-03 07:54:09 -07:00
2026-10-04 07:58:41 -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-10-04 07:58:41 -07:00
2026-10-04 07:58:41 -07:00
2026-10-04 07:58:41 -07:00
2026-10-05 01:29:54 +00:00
2026-10-04 07:58:41 -07:00
2026-09-14 14:32:45 -07:00
2026-08-14 22:02:07 -07:00
2026-10-04 07:58:41 -07:00
2026-10-06 18:07:50 +00: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-04 07:58:41 -07:00
2026-10-04 07:58:41 -07:00
2026-10-06 23:42:19 +00:00
2026-10-06 23:42:19 +00:00
2026-10-04 07:58:41 -07:00
2026-10-02 11:11:00 -07:00
2026-10-04 07:58:41 -07:00
2026-09-06 08:54:25 -07:00
2026-10-01 11:57:48 -07:00
2026-10-04 07:58:41 -07:00
2026-10-06 18:07:50 +00:00
2026-10-01 11:57:48 -07:00
2026-10-01 13:55:16 -07:00
2026-10-04 07:58:41 -07:00
2026-08-30 20:45:19 -07:00
2026-10-06 23:42:19 +00:00
2026-10-04 07:58:41 -07:00
2026-10-01 11:57:48 -07:00
2026-10-07 20:09:42 +00:00
2026-10-04 07:58:41 -07:00
2026-10-01 11:57:48 -07:00
2026-10-01 11:57:48 -07:00
2026-10-04 07:58:41 -07:00
2026-10-04 07:58: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-04 07:58:41 -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-10-04 07:58:41 -07:00
2026-10-06 18:07:50 +00:00