mirror of
https://github.com/garrytan/gstack.git
synced 2026-10-31 22:14:25 +01:00
Outside-review consent (codex_reviews) is enforced in gstack-codex-probe run-with-timeout, gstack-claude-code, gstack-outside-voice run and the autoplan runner (not_run / consent_missing, exit 3; #3102). Codex reasoning effort resolves GSTACK_CODEX_EFFORT, then codex_effort, then each gate's default inside run-with-timeout --effort (D1-A; #3098, closes #2934). README and telemetry privacy disclosures corrected (#1081, #1080, #1150). Co-authored-by: Lockyer <135391289+Lockyer228@users.noreply.github.com> Co-authored-by: Lubos Buracinsky <159481718+lubosxyz@users.noreply.github.com>
17 lines
808 B
TypeScript
Executable File
17 lines
808 B
TypeScript
Executable File
#!/usr/bin/env bun
|
|
// Claude-only outside-review runner. Prompts arrive on stdin, never argv.
|
|
// codex_reviews gates the send (lib/outside-consent.ts); --user-invoked marks
|
|
// a review the user asked for by name (/claude-code) and runs regardless.
|
|
import { claudeCodeMain } from '../lib/claude-code';
|
|
import { outsideConsent } from '../lib/outside-consent';
|
|
|
|
const argv = process.argv.slice(2);
|
|
const userInvoked = argv.includes('--user-invoked');
|
|
const consent = outsideConsent({ userInvoked });
|
|
if (!consent.allowed) {
|
|
process.stderr.write(consent.lines.join('\n') + '\n');
|
|
process.stdout.write(JSON.stringify({ status: 'not_run', reason: 'consent_missing', stderr: consent.lines.join('\n') }) + '\n');
|
|
process.exit(3);
|
|
}
|
|
process.exit(await claudeCodeMain(argv.filter(a => a !== '--user-invoked')));
|