garrytan
9aba7d9bd7
INV-1: gate outcome contract for outside reviews
...
classifyOutsideReview() returns separate execution, findings and verdict
fields from text, stderr and exit status; reason codes, anchors and fix
actions live in lib/gate-outcomes.ts. validateOutsideReview() stays as the
text-only wrapper and the two-argument CLI keeps exit 0/1/2 for importers
and installed skills that predate a re-render. The --verdict form (implied
by --stderr/--exit) prints VERDICT/FINDINGS/REASON and exits 0/3/4/1; the
generated outside-voice caller moves to it and branches on each status
(unverified prints OUTSIDE_STATUS: unverified, never completed).
Adds docs/troubleshooting.md with one anchored section per reason code, the
anchor test, and the gate-tail lint (query scripts may not swallow failures,
gate calls may not end in || true, other best-effort tails say why).
2026-10-03 20:46:53 +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 20:46:53 +00: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-06-25 09:42:45 -07:00
2026-10-01 11:57:48 -07: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 01:19:03 -07: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 01:19:03 -07: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-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