diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index bf91b0c0b..bfee7fdf0 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -338,7 +338,7 @@ Templates contain the workflows, tips, and examples that require human judgment. | `{{DESIGN_METHODOLOGY}}` | `gen-skill-docs.ts` | Shared design audit methodology for /plan-design-review and /design-review | | `{{REVIEW_DASHBOARD}}` | `gen-skill-docs.ts` | Review Readiness Dashboard for /ship pre-flight | | `{{TEST_BOOTSTRAP}}` | `gen-skill-docs.ts` | Test framework detection, bootstrap, CI/CD setup for /qa, /ship, /design-review | -| `{{CODEX_PLAN_REVIEW}}` | `gen-skill-docs.ts` | Optional cross-model plan review (Codex or Claude subagent fallback) for /plan-ceo-review and /plan-eng-review | +| `{{CODEX_PLAN_REVIEW}}` | `resolvers/review.ts` | Optional outside plan review for /plan-ceo-review and /plan-eng-review: Claude Code on Codex, Codex on other supported harnesses, with the caller's native subagent fallback | | `{{DESIGN_SETUP}}` | `resolvers/design.ts` | Discovery pattern for `$D` design binary, mirrors `{{BROWSE_SETUP}}` | | `{{DESIGN_DETECTOR}}` | `resolvers/design.ts` | Probe block + sentinel reading for the user-installed impeccable engine (`bin/gstack-design-detect.ts`); `:phase0` renders design-review's mechanical scan, `:gate` design-html's bounded slop gate | | `{{DESIGN_MD_CHECK}}` | `resolvers/design.ts` | Open DESIGN.md format check through `bin/gstack-design-md.ts`, with the one-time conversion offer persisted in the file; `:calibrate` renders the tokens-as-calibration form for /design-review | diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 64851c6ee..50c854c7f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -438,7 +438,7 @@ Each host config (`hosts/*.ts`) controls: | Paths | `~/.claude/skills/gstack` vs `$GSTACK_ROOT` | | Tool names | "use the Bash tool" vs same (Factory rewrites to "run this command") | | Hook skills | `hooks:` frontmatter vs inline safety advisory prose | -| Suppressed sections | None vs Codex self-invocation sections stripped | +| Suppressed sections | GBrain blocks vs GBrain blocks and Review Army; Codex retains outside-review sections routed to Claude Code | | Model overlay | `claude` vs `gpt` (per-host `defaultModel`; `--model` or, at setup time, the Codex `config.toml` model overrides) | See `scripts/host-config.ts` for the full `HostConfig` interface. diff --git a/docs/ADDING_A_HOST.md b/docs/ADDING_A_HOST.md index d699816df..b9541fa08 100644 --- a/docs/ADDING_A_HOST.md +++ b/docs/ADDING_A_HOST.md @@ -64,7 +64,7 @@ That expands to the full `HostConfig` with these defaults: - `globalRoot` / `localSkillRoot`: `.myhost/skills/gstack`, `hostSubdir`: `.myhost` - `usesEnvVars: true` (false only for Claude, which uses literal `~` paths) - `frontmatter`: allowlist keeping `name` + `description`, no description limit -- `generation`: no metadata file, `skipSkills: ['codex']` (codex skill is Claude-only) +- `generation`: no metadata file, `skipSkills: []` (both outside-review skills are enabled; Claude and Codex explicitly omit their own wrapper) - `pathRewrites`: the standard trio derived from the resolved paths (`~/.claude/skills/gstack` → `~/{globalRoot}`, `.claude/skills/gstack` → `{localSkillRoot}`, `.claude/skills` → `{hostSubdir}/skills`) @@ -86,8 +86,9 @@ Override any field by passing it to `defineHost()`. Two path-rewrite options: The two are mutually exclusive (the factory throws if you pass both). Shared constants exported from `define-host.ts` for spread-composition: -`CROSS_MODEL_RESOLVERS` (the five Codex-invoking resolvers suppressed on -hosts that can't invoke other models), `GBRAIN_RESOLVERS` (the default +`CROSS_MODEL_RESOLVERS` (outside-provider review resolvers plus Review Army, +suppressed on hosts that opt out; Codex keeps outside reviews and suppresses +Review Army), `GBRAIN_RESOLVERS` (the default suppression pair), and `EXEC_STYLE_TOOL_REWRITES` (the OpenClaw-style lowercase-tool rewrites shared by openclaw and gbrain). @@ -142,7 +143,7 @@ bun test test/host-config.test.ts The parameterized smoke tests automatically pick up the new host. Zero test code to write. They verify: output exists, no path leakage, valid frontmatter, -freshness check passes, codex skill excluded. +freshness check passes, and outside-review skills match each host's exclusions. ### 6. Update README.md