* feat(config): make codex_reviews the master switch for all Codex review
Broaden the codex_reviews doc to describe it governing /review, /ship,
/document-release, plan reviews, and /autoplan. Reject invalid values on
set (preserving the existing value) so a typo can never silently flip
paid Codex calls on or off.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* feat(review): Codex review default-on across review/ship/plan/docs
Add a shared codexPreflight() helper (constants.ts) that, in one bash
block, reads codex_reviews, sources gstack-codex-probe, checks install +
auth, and echoes a single canonical mode (ready/not_installed/not_authed/
disabled). All Codex resolvers route through it.
- generateCodexPlanReview: opt-in question removed; the outside voice now
runs automatically (default-on), falling back to a Claude subagent when
Codex is missing/unauthed. Cross-model tension still gates on user
approval (sovereignty preserved).
- generateAdversarialStep: probe-based availability (install AND auth),
distinct not-installed vs not-authed guidance; 200-line structured-review
threshold unchanged.
- generateCodexDocReview (new, wired via CODEX_DOC_REVIEW): reviews the
release's docs against the shipped diff range, informational + an explicit
apply-fixes decision point, never auto-edits.
- autoplan Phase 0.5 now honors codex_reviews=disabled so the switch is
truly global.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* chore(docs): regenerate SKILL docs + refresh ship golden
Output of gen:skill-docs for the Codex-default-on resolver/template
changes. Refreshes the factory-ship golden fixture (codex-host output
unchanged — resolvers strip for the codex host).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* test(infra): widen size-budget guards for default-on Codex outside-voice
The codexPreflight() block + CODEX_MODE branch prose (replacing the
smaller opt-in question) grows plan-ceo/eng/devex-review and review by
5-7% over baseline. Each bump carries a comment justifying it as
intentional capability, not slop.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* test: guard Codex default-on + config reject-on-set
skill-validation: assert plan reviews no longer carry the opt-in question
and render the default-on outside-voice, document-release carries the doc
review, and the codex host strips all of it.
gstack-config: codex_reviews defaults to enabled, accepts enabled/disabled,
and rejects an invalid value while preserving the existing one.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* fix(test): align gstack-config tests with defaults-fallback behavior
Three tests (last touched v0.13.7.0) asserted get/list print empty for
unset keys, but gstack-config falls back to the documented defaults table
(get returns the default, list shows the active-values block). Update the
assertions to the real behavior and split out an unknown-key case that does
still return empty. Pre-existing red, unrelated to codex review.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* v1.57.10.0 feat: Codex review default-on across review/ship/plan/docs
Codex cross-model review now runs by default on /review, /ship, all four
plan reviews, /document-release, and /autoplan, governed by one master
switch (codex_reviews, default enabled). Plan-review outside voice is
default-on; /document-release gets a new Codex doc-vs-diff audit; every
call site detects install AND auth and falls back to a Claude subagent
with a clear reason. Disable everything with:
gstack-config set codex_reviews disabled
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>