garrytan and capy-ai[bot]
c555ce3a83
fix: pre-landing review fixes, pass 2
...
bin/gstack-worktree-audit: a worktree whose own .git link is gone (git
marks it prunable, or its toplevel is another repository) prints a 'broken'
row in 'review' instead of describing the containing repository as clean
and safe; a locked entry whose directory is gone reads 'review', not
'prunable', since prune would not touch it; a clean tree names its
gitignored entries as 'clean,ignored:<n>' without changing the bucket; the
branch name is read from refs/heads/ by hand so a tag of the same name
cannot hide the PR; porcelain blocks are read with IFS=tab so paths with
leading or trailing spaces survive; a failed git status reads 'unknown',
never 'clean'; the base fetch also sets GIT_ASKPASS=true and ssh BatchMode.
bin/gstack-decision-trail: a file whose first line is not the header (a
blank file, rows written by hand) gets the header appended, and a UTF-8
BOM before the header no longer turns it into a data row.
Tests: the fake gh records its argv and runs the audit's own --jq over
canned JSON with a fork PR when jq is installed; row counts are asserted
before the every() checks; each test starts from the same gh and closed
worktree; the snapshot includes the worktree registry; new fixtures for
locked, broken, tag-shadowed and ignored-only worktrees, a blank trail and
a BOM. Docs and CHANGELOG describe the new DIRTY values and buckets.
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
2026-10-26 22:03:07 +00:00
..
2026-10-26 06:41:22 +00:00
2026-06-09 22:29:23 -07:00
2026-10-04 07:58:41 -07:00
2026-10-20 00:24:28 +00:00
2026-10-20 23:55:41 +00:00
2026-10-20 00:24:28 +00:00
2026-10-07 23:29:05 +00:00
2026-09-21 12:27:25 -04:00
2026-10-20 23:55:41 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-10 23:26:08 +00:00
2026-10-07 23:29:05 +00:00
2026-10-07 23:29:05 +00:00
2026-10-26 04:32:27 +00:00
2026-10-17 21:17:39 +00:00
2026-10-17 21:17:39 +00:00
2026-10-26 06:41:22 +00:00
2026-04-18 15:05:42 +08:00
2026-10-25 01:00:05 +00:00
2026-10-26 12:00:20 +00:00
2026-10-17 01:52:40 +00:00
2026-10-04 07:58:41 -07:00
2026-10-16 22:00:32 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-16 22:00:32 +00:00
2026-10-20 00:24:28 +00:00
2026-10-11 00:32:15 +00:00
2026-10-26 04:32:27 +00:00
2026-10-26 04:32:27 +00:00
2026-10-07 23:29:05 +00:00
2026-10-04 07:58:41 -07:00
2026-10-26 10:05:57 +00:00
2026-10-20 00:24:28 +00:00
2026-10-03 07:54:09 -07:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-26 22:03:07 +00:00
2026-10-20 00:24:28 +00:00
2026-10-03 16:13:45 -07:00
2026-10-26 06:07:07 +00:00
2026-10-20 01:06:17 +00:00
2026-10-25 22:31:08 +00:00
2026-10-26 17:35:04 +00:00
2026-10-20 00:24:28 +00:00
2026-08-31 08:55:30 -07:00
2026-10-26 07:08:52 +00:00
2026-10-25 12:39:53 +00:00
2026-10-26 04:32:27 +00:00
2026-10-26 04:32:27 +00:00
2026-10-22 20:10:23 +00:00
2026-10-26 04:32:27 +00:00
2026-10-26 04:32:27 +00:00
2026-10-26 20:48:01 +00:00
2026-10-20 00:24:28 +00:00
2026-10-06 23:42:19 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-26 09:33:07 +00:00
2026-03-26 11:15:24 -06:00
2026-10-26 17:50:02 +00:00
2026-10-16 22:00:32 +00:00
2026-06-25 09:42:45 -07:00
2026-10-24 23:55:21 +00:00
2026-10-26 09:33:07 +00:00
2026-10-20 00:24:28 +00:00
2026-10-26 04:32:27 +00:00
2026-05-21 21:21:07 -07:00
2026-10-04 07:58:41 -07:00
2026-10-20 00:24:28 +00:00
2026-10-25 05:06:30 +00:00
2026-10-26 04:32:27 +00:00
2026-10-20 00:24:28 +00:00
2026-04-24 01:38:21 -07:00
2026-10-25 16:35:45 +00:00
2026-10-25 11:48:39 +00:00
2026-10-20 00:24:28 +00:00
2026-10-14 17:36:39 +00:00
2026-10-26 04:32:27 +00:00
2026-10-08 20:05:06 +00:00
2026-10-11 16:48:11 +00:00
2026-10-26 09:03:59 +00:00
2026-10-26 04:32:27 +00:00
2026-10-26 04:32:27 +00:00
2026-10-26 04:32:27 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-04 07:58:41 -07:00
2026-10-20 00:24:28 +00:00
2026-10-08 15:43:32 +00:00
2026-10-26 04:32:27 +00:00
2026-10-26 04:32:27 +00:00
2026-10-26 04:46:42 +00:00
2026-10-26 04:32:27 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-17 00:41:41 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 23:55:41 +00:00
2026-03-30 22:25:46 -06:00
2026-10-11 16:48:11 +00:00
2026-10-03 07:54:09 -07:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 23:55:41 +00:00
2026-10-07 23:29:05 +00:00
2026-10-26 20:17:41 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-26 04:32:27 +00:00
2026-10-26 04:32:27 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-26 04:32:27 +00:00
2026-10-02 11:11:00 -07:00
2026-10-19 23:31:59 +00:00
2026-10-20 00:24:28 +00:00
2026-10-01 11:57:48 -07:00
2026-10-26 09:33:07 +00:00
2026-10-04 07:58:41 -07:00
2026-10-26 04:32:27 +00:00
2026-10-26 04:32:27 +00:00
2026-10-26 20:48:01 +00:00
2026-10-20 00:24:28 +00:00
2026-10-01 13:55:16 -07:00
2026-10-16 22:00:32 +00:00
2026-10-04 07:58:41 -07:00
2026-10-10 23:26:08 +00:00
2026-10-26 07:22:44 +00:00
2026-10-26 04:32:27 +00:00
2026-10-20 00:24:28 +00:00
2026-10-26 09:03:59 +00:00
2026-10-26 20:48:01 +00:00
2026-10-17 03:32:16 +00:00
2026-10-26 12:00:20 +00:00
2026-10-26 00:14:08 +00:00
2026-10-26 04:32:27 +00:00
2026-10-20 00:24:28 +00:00
2026-10-01 11:57:48 -07:00
2026-10-20 00:24:28 +00:00
2026-10-26 04:32:27 +00:00
2026-10-26 04:32:27 +00:00
2026-10-01 11:57:48 -07:00
2026-10-26 04:32:27 +00:00
2026-10-26 04:32:27 +00:00
2026-10-20 00:24:28 +00:00
2026-10-08 20:05:06 +00:00
2026-10-26 07:22:44 +00:00
2026-10-26 07:22:44 +00:00
2026-10-26 07:22:44 +00:00
2026-10-01 11:57:48 -07:00
2026-10-25 02:04:24 +00:00
2026-10-20 00:24:28 +00:00
2026-10-26 22:03:07 +00:00
2026-10-11 16:48:11 +00:00