Garry Tan
3c26f2eaf2
fix(ci): a permission failure must never red-X a contributor's PR (live incident)
...
The gate's first live runs put a red X on an outside contributor's PR five
times over, with no comment explaining why. This repo's GITHUB_TOKEN is
read-only, so every comment and label call returned 403; the throw reached the
top-level handler as exit 2.
The gate is advisory. A repository permission problem is an operator condition,
never a statement about the PR under review. 401/403/404 from GitHub now emit a
loud operator-facing warning naming both blockers (workflow permissions and the
missing ANTHROPIC_API_KEY secret) and exit 0. A genuine outage or a bug in here
still fails visibly at exit 2. Pinned by four tests including the entry-handler
routing; mutation-tested.
2026-08-04 22:25:25 +08:00
..
2026-05-18 20:55:57 -07:00
2026-05-11 22:42:54 -07:00
2026-04-21 11:51:32 -07:00
2026-04-30 20:47:32 -07:00
2026-04-11 10:52:30 -10:00
2026-05-19 18:12:01 -07:00
2026-08-01 19:55:28 +08:00
2026-05-03 16:49:21 -07:00
2026-05-18 20:55:57 -07:00
2026-05-06 21:14:34 -07:00
2026-05-26 23:15:44 -07:00
2026-07-28 20:08:36 -07:00
2026-05-06 20:58:19 -07:00
2026-07-29 16:08:08 -07:00
2026-07-29 16:08:08 -07:00
2026-05-13 13:14:58 -04:00
2026-07-27 14:15:05 -07:00
2026-05-26 17:31:48 -07:00
2026-05-20 20:25:41 -07:00
2026-05-25 10:39:09 -07:00
2026-05-07 10:03:38 -07:00
2026-06-24 06:05:16 -07:00
2026-06-24 06:05:16 -07:00
2026-06-03 05:50:21 -07:00
2026-05-26 23:15:44 -07:00
2026-05-03 20:48:39 -07:00
2026-05-22 21:54:13 -07:00
2026-07-27 23:37:09 -07:00
2026-07-23 13:54:14 -07:00
2026-05-07 10:03:38 -07:00
2026-05-08 13:25:48 -07:00
2026-05-26 17:31:48 -07:00
2026-04-21 17:54:13 -07:00
2026-05-17 08:32:03 -07:00
2026-07-02 08:00:58 -07:00
2026-05-20 13:55:12 -07:00
2026-08-01 10:06:17 +08:00
2026-05-23 10:21:59 -07:00
2026-05-11 23:02:03 -07:00
2026-05-26 18:59:17 -07:00
2026-05-18 19:34:44 -07:00
2026-05-24 09:30:57 -07:00
2026-05-25 15:46:25 -07:00
2026-05-25 14:43:12 -07:00
2026-07-23 13:54:14 -07:00
2026-04-29 22:21:07 -07:00
2026-07-27 14:13:08 -07:00
2026-05-28 08:20:58 -07:00
2026-05-26 18:29:03 -07:00
2026-04-25 12:25:34 -07:00
2026-06-03 05:50:21 -07:00
2026-07-27 14:13:08 -07:00
2026-07-27 17:48:37 -07:00
2026-05-24 11:37:03 -07:00
2026-08-04 19:20:15 +08:00
2026-04-18 16:57:38 +08:00
2026-05-22 13:38:07 -07:00
2026-05-13 13:14:58 -04:00
2026-08-01 10:06:17 +08:00
2026-05-07 10:03:38 -07:00
2026-05-22 21:54:13 -07:00
2026-05-20 13:55:12 -07:00
2026-06-14 09:32:58 -07:00
2026-05-25 13:15:11 -07:00
2026-07-16 20:51:08 -07:00
2026-08-04 22:25:25 +08:00
2026-08-04 22:25:25 +08:00
2026-04-30 20:47:32 -07:00
2026-07-28 20:08:36 -07:00
2026-05-20 20:25:41 -07:00
2026-05-10 20:50:40 -07:00
2026-05-24 09:30:57 -07:00
2026-08-01 07:40:48 +08:00
2026-05-03 20:16:15 -07:00
2026-08-01 10:06:17 +08:00
2026-04-30 20:47:32 -07:00
2026-05-25 13:15:11 -07:00
2026-05-30 10:56:46 -07:00
2026-04-23 19:34:27 -07:00
2026-04-10 15:23:00 -10:00
2026-04-23 23:53:53 -07:00
2026-05-22 13:38:07 -07:00
2026-05-25 15:46:25 -07:00
2026-05-25 15:46:25 -07:00
2026-05-22 21:54:13 -07:00