@kbediako/codex-orchestrator 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/README.md +43 -83
  2. package/dist/bin/codex-orchestrator.js +2 -0
  3. package/dist/orchestrator/src/cli/adapters/CommandBuilder.js +50 -0
  4. package/dist/orchestrator/src/cli/adapters/cloudFailureDiagnostics.js +117 -5
  5. package/dist/orchestrator/src/cli/coStatusAttachCliShell.js +2 -2
  6. package/dist/orchestrator/src/cli/coStatusCliShell.js +28 -6
  7. package/dist/orchestrator/src/cli/codexCliShell.js +48 -1
  8. package/dist/orchestrator/src/cli/codexDefaultsSetup.js +217 -26
  9. package/dist/orchestrator/src/cli/control/controlHostSupervision.js +28 -6
  10. package/dist/orchestrator/src/cli/control/controlRuntime.js +17 -6
  11. package/dist/orchestrator/src/cli/control/controlStatusDashboard.js +6 -1
  12. package/dist/orchestrator/src/cli/control/selectedRunProjection.js +49 -2
  13. package/dist/orchestrator/src/cli/doctor.js +142 -48
  14. package/dist/orchestrator/src/cli/init.js +94 -1
  15. package/dist/orchestrator/src/cli/providerLinearChildLaneRunner.js +64 -1
  16. package/dist/orchestrator/src/cli/providerLinearWorkerRunner.js +1165 -69
  17. package/dist/orchestrator/src/cli/rlm/alignment.js +3 -3
  18. package/dist/orchestrator/src/cli/services/commandRunner.js +31 -0
  19. package/dist/orchestrator/src/cli/utils/cloudPreflight.js +202 -6
  20. package/dist/orchestrator/src/cli/utils/codexFeatures.js +60 -0
  21. package/dist/orchestrator/src/manager.js +74 -4
  22. package/dist/scripts/lib/docs-catalog.js +35 -1
  23. package/docs/README.md +333 -0
  24. package/docs/book/README.md +19 -0
  25. package/docs/book/codex-cli-0124-adoption.md +68 -0
  26. package/docs/book/local-hook-impact.md +73 -0
  27. package/docs/book/operations.md +60 -0
  28. package/docs/book/public-posture.md +34 -0
  29. package/docs/book/setup.md +91 -0
  30. package/docs/book/skills.md +11 -0
  31. package/docs/guides/codex-version-policy.md +104 -0
  32. package/docs/public/downstream-setup.md +25 -18
  33. package/package.json +4 -1
  34. package/plugins/codex-orchestrator/.codex-plugin/plugin.json +1 -1
  35. package/plugins/codex-orchestrator/launcher.mjs +6 -4
  36. package/schemas/manifest.json +17 -0
  37. package/skills/README.md +26 -0
  38. package/skills/collab-subagents-first/SKILL.md +1 -1
  39. package/skills/delegation-usage/DELEGATION_GUIDE.md +12 -7
  40. package/skills/delegation-usage/SKILL.md +13 -8
  41. package/templates/codex/AGENTS.md +12 -10
@@ -0,0 +1,34 @@
1
+ # Public Posture
2
+
3
+ ## Stable Compatibility Vs Local Posture
4
+
5
+ CO's current release-facing package/downstream-smoke compatibility target is Codex CLI `0.125.0`. Current `gpt-5.5` / `xhigh` local ChatGPT-auth/appserver posture and release-facing package Codex CLI pins are already adopted; cloud execution remains separately gated by the canonical version policy.
6
+
7
+ Newer stable and prerelease Codex CLI builds remain evidence-gated. The canonical policy is [docs/guides/codex-version-policy.md](../guides/codex-version-policy.md).
8
+
9
+ ## Current Model / Runtime Posture
10
+
11
+ - Current model posture: `gpt-5.5` / `xhigh` when available in ChatGPT-auth Codex sessions.
12
+ - Portable packaged/generated defaults keep `gpt-5.4` / `xhigh` as fallback values when `gpt-5.5`, API, or cloud portability is unavailable.
13
+ - Local `gpt-5.5` use is the current CO posture after live access smoke; legacy marker metadata is ignored for posture decisions.
14
+ - `explorer_fast` remains the explicit `gpt-5.3-codex-spark` exception for file/codebase search only.
15
+ - Local appserver remains the expected default runtime path.
16
+ - Provider workers keep the current `codex exec` / `codex exec resume` supervision seam until a separate governed lane promotes a replacement.
17
+
18
+ ## Evidence Gates
19
+
20
+ Local model-posture updates must record:
21
+
22
+ 1. Local appserver path success on the candidate Codex CLI and model posture.
23
+ 2. Delegated/review surface verification under the actual auth provider.
24
+ 3. `node scripts/runtime-mode-canary.mjs` success.
25
+ 4. No P0/P1 regression versus the current stable baseline.
26
+
27
+ Cloud execution or release-facing promotion additionally requires:
28
+
29
+ 1. Required cloud canary success with configured cloud env.
30
+ 2. Cloud fallback contract success.
31
+
32
+ ## Marketplace Split
33
+
34
+ Marketplace/plugin support is additive. npm remains the supported baseline install path. Release-facing smoke lanes can stay pinned to a marketplace-capable Codex CLI while newer candidates are audited separately for cloud/runtime posture.
@@ -0,0 +1,91 @@
1
+ # Setup
2
+
3
+ ## Baseline Install
4
+
5
+ CO is shipped as the scoped npm package `@kbediako/codex-orchestrator`.
6
+
7
+ ```bash
8
+ npm i -g @kbediako/codex-orchestrator
9
+ codex-orchestrator --version
10
+ ```
11
+
12
+ Node.js `>=20` is required. npm remains the supported baseline because it gives downstream operators the CLI directly without requiring Codex plugin support.
13
+
14
+ ## Machine Setup
15
+
16
+ ```bash
17
+ codex login
18
+ codex-orchestrator --version
19
+ ```
20
+
21
+ Use `codex login --device-auth` when browser auth is not practical.
22
+
23
+ Run repo-bound `codex-orchestrator setup --yes --repo /path/to/repo` after bootstrapping the downstream repository so delegation is registered with the repo root while bundled skills are installed and DevTools wiring is applied at the machine level.
24
+
25
+ ## Codex Marketplace / Plugin Install
26
+
27
+ Use this path only on Codex releases that expose the marketplace/plugin flow. The npm install remains the baseline CLI path.
28
+
29
+ Packaged npm source:
30
+
31
+ ```bash
32
+ # Codex 0.121.0 accepts either command.
33
+ codex marketplace add "$(npm root -g)/@kbediako/codex-orchestrator"
34
+
35
+ # Codex 0.122.0+ uses the plugin command.
36
+ codex plugin marketplace add "$(npm root -g)/@kbediako/codex-orchestrator"
37
+ ```
38
+
39
+ For a local checkout, pass the repository root instead of the npm install path. For a Git-backed source, pass `owner/repo[@ref]`, an HTTPS Git URL, or an SSH Git URL. Use `codex marketplace add ...` only on Codex `0.121.0`; use `codex plugin marketplace add ...` on `0.122.0+`.
40
+
41
+ On current Codex CLI `0.125.0`, refresh a Git-backed marketplace checkout with:
42
+
43
+ ```bash
44
+ codex plugin marketplace upgrade codex-orchestrator
45
+ ```
46
+
47
+ Then open `/plugins` in Codex, install `Codex Orchestrator`, and restart Codex if the plugin does not appear immediately.
48
+
49
+ The shipped marketplace files are:
50
+
51
+ - `.agents/plugins/marketplace.json`
52
+ - `plugins/codex-orchestrator/.codex-plugin/plugin.json`
53
+ - `plugins/codex-orchestrator/.mcp.json`
54
+ - `plugins/codex-orchestrator/launcher.mjs`
55
+
56
+ The plugin launcher reads the `codex-orchestrator` marketplace entry in `${CODEX_HOME:-~/.codex}/config.toml` and resolves the recorded source checkout before starting the packaged CO CLI with `node`. Local-directory sources run from the recorded path. Git-backed sources run from Codex's installed marketplace checkout under `${CODEX_HOME:-~/.codex}/.tmp/marketplaces/codex-orchestrator`.
57
+
58
+ Re-run the version-appropriate marketplace add command after moving a local-directory source, replacing it, or removing Codex's installed marketplace checkout.
59
+
60
+ CO-355 only rebaselines marketplace/downstream-smoke compatibility to Codex CLI `0.125.0`. Model/runtime posture remains governed by `docs/guides/codex-version-policy.md` and the CO-351/CO-352 validation lanes: use `gpt-5.5` / `xhigh` for validated local ChatGPT-auth/appserver access, and keep `gpt-5.4` / `xhigh` as the portable fallback when access, API/cloud portability, or downstream/no-network evidence is missing.
61
+
62
+ ## Rollback / Removal
63
+
64
+ - Uninstall `Codex Orchestrator` from the Codex plugin browser to remove the plugin.
65
+ - Set the plugin entry in `${CODEX_HOME:-~/.codex}/config.toml` to `enabled = false` to disable without uninstalling.
66
+ - On Codex CLI `0.125.0` or newer, remove the marketplace registration with `codex plugin marketplace remove codex-orchestrator`; on older support lanes or when that command is unavailable, remove the `[marketplaces.codex-orchestrator]` block from `${CODEX_HOME:-~/.codex}/config.toml` manually.
67
+ - Remove the standalone CLI with:
68
+ ```bash
69
+ npm uninstall -g @kbediako/codex-orchestrator
70
+ ```
71
+
72
+ ## Repository Bootstrap
73
+
74
+ ```bash
75
+ codex-orchestrator init codex --cwd /path/to/repo
76
+ cd /path/to/repo
77
+ codex-orchestrator setup --yes --repo /path/to/repo
78
+ codex-orchestrator doctor --format json
79
+ codex-orchestrator flow --task <task-id>
80
+ ```
81
+
82
+ `init codex` seeds:
83
+
84
+ - `AGENTS.md`
85
+ - `.codex/config.toml`
86
+ - `.codex/providers/README.md`
87
+ - `.codex/providers/provider.env.example`
88
+ - `.codex/providers/control.example.json`
89
+ - `codex.orchestrator.json`
90
+
91
+ Provider-specific setup continues in [docs/public/provider-onboarding.md](../public/provider-onboarding.md).
@@ -0,0 +1,11 @@
1
+ # Bundled Skills
2
+
3
+ Install bundled skills into `$CODEX_HOME/skills`:
4
+
5
+ ```bash
6
+ codex-orchestrator skills install
7
+ ```
8
+
9
+ The canonical shipped roster lives in [skills/README.md](../../skills/README.md). `docs:check` uses that file as the shipped-file parity surface so the GitHub front door can stay concise.
10
+
11
+ Prefer globally installed skills when present, fall back to bundled `skills/<name>/SKILL.md`, and refresh skills after upgrading the npm package when you need new workflow instructions.
@@ -0,0 +1,104 @@
1
+ # Codex Version Policy (CO)
2
+
3
+ ## Purpose
4
+ Define the current stable compatibility/adoption target for CO and keep newer CLI/model moves evidence-gated.
5
+
6
+ ## Current Posture
7
+ - Current CO-local ChatGPT-auth/appserver model posture is `gpt-5.5` / `xhigh` on Codex CLI `0.125.0` when live access smoke passes. CO-352 adopted that posture after local top-level, delegated, review-wrapper fallback, and runtime evidence passed.
8
+ - Current release-facing package/downstream-smoke compatibility target is Codex CLI `0.125.0`. CO-355 rebaselined marketplace/downstream-smoke compatibility to `0.125.0`, and current release-facing workflows (`core-lane`, `release`, and `pack-smoke-backstop`) already pin `@openai/codex@0.125.0`.
9
+ - Current cloud execution candidate remains Codex CLI `0.124.0`. The configured environment id failure remains a cloud-only blocker for `cloud-canary` promotion; it does not roll back the validated local ChatGPT-auth appserver/model posture or the separate `0.125.0` release-facing package/downstream-smoke pack-smoke contract.
10
+ - Latest app-server control-seam candidate audited by CO-351 is Codex CLI `0.125.0`; CO-351 approves explicit task-scoped control-host/proof use of the 0.125 app-server seam after local transport/schema/proxy/config/permission-profile/untrusted-config/resume-fork metadata/WebSocket checks passed. This is the accepted re-scoped adoption direction for those proven control/proof surfaces, not a blanket HOLD; it does not promote `0.125.0` as the provider runtime, provider supervision, cloud execution target, or `cloud-canary` target, and provider supervision remains gated on sticky environments, real turn-backed pagination, runtime-mode, and cloud evidence.
11
+ - Marketplace/downstream-smoke compatibility is separately rebaselined to Codex CLI `0.125.0` by CO-355 for the package-smoke contract only. Release-facing downstream-smoke workflows (`core-lane`, `release`, and `pack-smoke-backstop`) pin `@openai/codex@0.125.0` because `scripts/pack-smoke.mjs` now verifies current `codex plugin marketplace add`, `upgrade`, and `remove` support while preserving the older top-level `codex marketplace add` fallback for supported legacy pins. This is not a broad `0.125.0` active-posture, provider-runtime, provider-supervision, or `cloud-canary` promotion; those still require the runtime-mode and cloud evidence gates below.
12
+ - `cloud-canary` pins `@openai/codex@0.124.0` as the explicit cloud execution candidate.
13
+ - The current `0.125.0` local CLI/package posture keeps the previously recorded onboarding-sensitive help guarantees: `codex exec` accepts a prompt argument plus piped stdin (stdin appends as a `<stdin>` block), `codex login --device-auth` is available, and `codex review --help` exposes `[PROMPT]` alongside `--uncommitted` / `--base` / `--commit`.
14
+ - Current model posture is `gpt-5.5` / `xhigh` when available in ChatGPT-auth Codex sessions.
15
+ - Portable packaged/generated defaults still keep `gpt-5.4` / `xhigh` as fallback values when `gpt-5.5`, API/cloud portability, or downstream/no-network access is unavailable.
16
+ - CO-local `gpt-5.5` / `xhigh` configuration is the current ChatGPT-auth/appserver posture after live app-server/model smoke evidence; this is not a claim that every auth provider or cloud surface can select `gpt-5.5`.
17
+ - `codex-orchestrator doctor` treats `gpt-5.5` as non-drift when `codex debug models` verifies current model access. Additive defaults keep fresh implicit configs on portable fallback values; `--auth-scope chatgpt` writes current ChatGPT-auth/appserver defaults after live access smoke, and compatible prior `gpt-5.5` role files remain preserved without marker metadata.
18
+ - Keep `explorer_fast` as the only explicit `gpt-5.3-codex-spark` exception for file/codebase search only. CO-352 found `gpt-5.3-codex-spark` in the live `0.125.0` catalog but not in the bundled catalog, so no downstream/no-network role change is justified.
19
+ - For delegated/review surfaces, use `gpt-5.5` after local smoke or fresh provider-lane evidence validates that access; fall back to `gpt-5.4` only on concrete access failure.
20
+ - App-server `model/list` still reports `gpt-5.4` as `isDefault=true`; CO-341 has live app-server `model/list` plus `codex exec` evidence that explicit local `gpt-5.5` supports `xhigh`.
21
+ - The bundled debug model catalog may lag the live app-server catalog; use live app-server `model/list` and live exec evidence as the source of truth for model availability decisions.
22
+ - Residual plugin warnings seen during CO-341 came from local temporary plugin cache state, not CO-owned plugin manifests.
23
+ - CO-341 reran `node scripts/runtime-mode-canary.mjs` after `npm run build`; all scenario checks passed in `out/linear-4a684a5e-64b0-47fb-835a-d792eba29071/manual/runtime-mode-canary/post-build/runtime-mode-canary.log`, and both required cloud and fallback cloud contracts passed on the branch.
24
+ - Newer stable/prerelease Codex builds may run only in task-scoped lanes with captured evidence.
25
+ - Local appserver remains the expected default runtime path after the `CO-22` canary.
26
+ - Provider workers must keep `codex exec` / `codex exec resume` as the rollback supervision seam and must not adopt `0.125.0` app-server for provider runtime or local runtime operations until the required promotion gates pass. The proven `0.125.0` surfaces are limited to explicit control-host/proof use.
27
+ - Codex CLI `0.125.0` app-server Unix socket/proxy support is approved for guarded CO control proof usage. Local help and upstream tagged README document the `unix://` path, while hosted OpenAI app-server docs checked in CO-351 did not expose that wording; provider-supervision migration still requires configured-environment sticky proof, real turn-backed pagination proof, runtime-mode evidence, and cloud gate evidence.
28
+ - Treat `thread/shellCommand` as a sensitive unsandboxed surface; it is not part of the default provider-worker authority model.
29
+ - Manual Codex re-review requests are quota-aware: send at most one `@codex` ping per PR head SHA, then wait for a new head before re-requesting.
30
+ - Codex review quota exhaustion is an operational availability event, not an adoption/promotion signal; if it blocks review, use the merge-waiver path documented in `AGENTS.md` and `docs/AGENTS.md` (checks green, unresolved actionable threads = `0`, waiver evidence recorded).
31
+ - Do not newly promote, re-promote, or carry forward a newer cloud/release-facing Codex CLI target after baseline drift unless the candidate posture has recorded results for `node scripts/runtime-mode-canary.mjs`, `CODEX_CLOUD_ENV_ID=<env-id> CODEX_CLOUD_CANARY_REQUIRED=1 npm run ci:cloud-canary`, and the intentional fallback contract `CODEX_CLOUD_ENV_ID="" CODEX_CLOUD_CANARY_REQUIRED=1 CLOUD_CANARY_EXPECT_FALLBACK=1 npm run ci:cloud-canary`.
32
+
33
+ ## Candidate Audit Notes
34
+ - 2026-04-14: `CO-180` audited local `codex-cli 0.120.0` after baseline drift. The command-surface audit found no P0/P1 regression for `codex exec`, `codex exec resume`, `codex review`, or `codex login --device-auth`; raw logs are under `out/linear-acdc2c4c-b8b1-46e8-8e21-c9a9c014213d/manual/codex-0120-audit/` and `.runs/linear-acdc2c4c-b8b1-46e8-8e21-c9a9c014213d/manual/codex-0120-audit/`.
35
+ - 2026-04-14: the runtime-mode canary passed after building `dist`; the first canary attempt failed only because the package canary packs with `--ignore-scripts` and `dist/bin/codex-orchestrator.js` was absent before `npm run build`. Passing evidence is under `out/linear-acdc2c4c-b8b1-46e8-8e21-c9a9c014213d/manual/runtime-mode-canary-r2/`.
36
+ - 2026-04-14: promotion is held because the required cloud canary contract could not execute in this provider workspace without `CODEX_CLOUD_ENV_ID`. The cloud fallback run produced a successful local fallback manifest with `cloud_fallback.mode_used=mcp`, but the CI wrapper still exited failed under `CODEX_CLOUD_CANARY_REQUIRED=1` because the missing environment remains a required configuration blocker. Required/fallback logs are under `out/linear-acdc2c4c-b8b1-46e8-8e21-c9a9c014213d/manual/cloud-canary-required/` and `out/linear-acdc2c4c-b8b1-46e8-8e21-c9a9c014213d/manual/cloud-canary-fallback/`; fallback manifest: `.runs/linear-acdc2c4c-b8b1-46e8-8e21-c9a9c014213d/cli/2026-04-14T10-13-58-564Z-94eab37d/manifest.json`.
37
+ - 2026-04-14: `CO-183` expanded the candidate audit to official `rust-v0.119.0` and `rust-v0.120.0` release notes plus local help surfaces. The documented adoption target stayed at `0.118.0` because the required cloud canary had not passed or been explicitly waived. Evidence is under `out/linear-df69fabe-63c2-4b98-a226-9c37892b4f9d/manual/codex-0120-release-audit/`.
38
+ - 2026-04-14: `CO-183` classified the release-note deltas as follows: MCP resources/custom-server/file uploads/elicitations are adopt-as-compatible; MCP `outputSchema` is held for CO delegation tools because current outputs are pass-through control results with variable shapes and broad schemas would be false precision; `tool_search` ordering is no-op for CO wrappers; app-server and exec-server remote control stay behind the guarded resident-session authority seam; Realtime v2 / Agent Turn API is no-op for CO; scoped review prompt transport, runtime-mode canary, cloud-required canary, and cloud-fallback canary remain evidence gates recorded in the task packet.
39
+ - 2026-04-16: `CO-195` audited official `rust-v0.121.0`, OpenAI changelog, npm `@openai/codex latest=0.121.0`, and local `codex-cli 0.121.0` command surfaces. Local `codex exec`, `codex exec resume`, `codex review --help`, `codex login --device-auth`, `codex marketplace add --help`, app-server, MCP, and cloud help surfaces showed no P0/P1 regression. Runtime-mode canary passed 20/20. Promotion remains held because `CODEX_CLOUD_ENV_ID` is absent. The required cloud canary exited at preflight, and the fallback canary produced a successful local MCP fallback manifest while the required wrapper still exited failed under the missing-env configuration blocker. Evidence: `out/linear-4122489e-1a3b-43cf-a181-e98ada0a55e1/manual/codex-version-canary/compare/decision-go-no-go.md`, `out/linear-4122489e-1a3b-43cf-a181-e98ada0a55e1/manual/codex-0121-release-audit/`, `out/linear-4122489e-1a3b-43cf-a181-e98ada0a55e1/manual/runtime-mode-canary/`, `out/linear-4122489e-1a3b-43cf-a181-e98ada0a55e1/manual/cloud-canary-required/`, and `out/linear-4122489e-1a3b-43cf-a181-e98ada0a55e1/manual/cloud-canary-fallback/`.
40
+ - 2026-04-16: `CO-199` classifies `rust-v0.121.0` sandbox/security deltas without promoting `0.121.0`:
41
+ - Local-only: secure devcontainer posture, macOS private DNS, macOS Unix sockets, Windows elevated denial, WSL1 bubblewrap behavior, exec-server filesystem sandboxing, websocket token hash auth, `danger-full-access`, and `thread/shellCommand`.
42
+ - Cloud-only: remote exec environment policy.
43
+ - Not applicable to CO preflight: pinned inputs.
44
+ - MCP sandbox-state metadata: shared metadata only; it does not expand tool authority or replace cloud canary evidence.
45
+ - `doctor --cloud-preflight` now reports detectable local-only security advisories separately from cloud preflight blockers.
46
+ - 2026-04-21: `CO-269` audited official `rust-v0.122.0` release facts (`published_at=2026-04-20T18:38:40Z`), npm latest `@openai/codex@0.122.0` (`time.modified=2026-04-21T00:30:22.721Z`), and local `codex-cli 0.122.0` command/help surfaces (`timestamp=2026-04-21T01:50:53Z`). Local `codex exec`, `codex review --help`, `codex login --device-auth`, `codex app-server --help`, and `codex mcp --help` showed no P0/P1 regression. Evidence: `out/linear-a2949fd4-2319-4cd0-acd1-68e6404766f3/manual/codex-0122-release-audit/`, `out/linear-a2949fd4-2319-4cd0-acd1-68e6404766f3/manual/codex-0122-command-surface/`, and `out/linear-a2949fd4-2319-4cd0-acd1-68e6404766f3/manual/codex-version-canary/compare/decision-go-no-go.md`.
47
+ - 2026-04-21: `CO-269` runtime-mode evidence passes on the post-build sample (`ready_for_default_flip=true`, all four scenario checks passed 1/1). Required cloud evidence still blocks promotion: the required canary failed before task submission because the configured environment id was not found, and the fallback contract fell back to MCP for missing `CODEX_CLOUD_ENV_ID` but still terminated failed because the fallback rerun hit existing docs-freshness/spec-baseline debt before producing a clean success manifest. Evidence: `out/linear-a2949fd4-2319-4cd0-acd1-68e6404766f3/manual/runtime-mode-canary/post-build-sample/runtime-canary-summary.json`, `out/linear-a2949fd4-2319-4cd0-acd1-68e6404766f3/manual/cloud-canary-required/cloud-canary-required.log`, `out/linear-a2949fd4-2319-4cd0-acd1-68e6404766f3/manual/cloud-canary-fallback/cloud-canary-fallback.log`, `.runs/linear-a2949fd4-2319-4cd0-acd1-68e6404766f3-cloud-required/cli/2026-04-21T01-55-01-176Z-ec12a719/run-summary.json`, and `.runs/linear-a2949fd4-2319-4cd0-acd1-68e6404766f3-cloud-fallback/cli/2026-04-21T01-56-29-071Z-a7ced7cf/run-summary.json`.
48
+ - 2026-04-21: `CO-269` directly compared marketplace capability across the workflow-candidate versions. `npx --yes @openai/codex@0.121.0 marketplace --help` exposes `add`, while `npx --yes @openai/codex@0.122.0 marketplace --help` falls back to top-level Codex help and does not expose the old marketplace surface. At the time of that posture lane, `scripts/pack-smoke.mjs` still failed closed when `codex marketplace add` was unavailable, so downstream marketplace smoke workflows stayed pinned to `0.121.0` pending a follow-up command-surface rebaseline. Evidence: `out/linear-a2949fd4-2319-4cd0-acd1-68e6404766f3/manual/codex-0122-command-surface/marketplace-capability-compare.log`, `scripts/pack-smoke.mjs`, and `tests/pack-smoke.spec.ts`.
49
+ - 2026-04-21: `CO-269` classified `rust-v0.122.0` deltas for CO as follows:
50
+ - Adopt now: pin `cloud-canary` to explicit `@openai/codex@0.122.0` and document the workflow split so canary evidence no longer floats latest.
51
+ - Superseded by `CO-268`: release-facing downstream-smoke workflows no longer need to stay on `@openai/codex@0.121.0` because `pack:smoke` now intentionally uses the `0.122.0` `codex plugin marketplace add` contract with evidence.
52
+ - Hold: active-target promotion from `0.118.0` to `0.122.0` until the required cloud canary and fallback contract both complete with clean evidence in a configured environment.
53
+ - No-op for current CO posture: standalone installer changes, TUI `/side` conversations, plan-mode fresh-context start, plugin browsing/marketplace UX expansion, tool-search/image-generation defaults, and general docs/chore refactors because this lane found no CO-specific regression or required workflow change beyond the audited candidate pin policy.
54
+ - 2026-04-21: `CO-268` completed the marketplace follow-up by proving local `codex-cli 0.122.0` exposes `codex plugin marketplace add` and `codex plugin marketplace remove`, while `codex marketplace add --help` fails, then rebaselining public docs, launcher recovery guidance, pack-smoke detection/invocation, focused tests, and release-facing smoke workflow pins to `@openai/codex@0.122.0`. This does not promote the active CO compatibility target from `0.118.0`; it only updates the marketplace-dependent smoke contract and preserves the `CO-196` packaged marketplace architecture.
55
+ - 2026-04-23: `CO-322` audited official `rust-v0.123.0` release facts (`publishedAt=2026-04-23T01:26:06Z`) and npm latest `@openai/codex@0.123.0` (`time["0.123.0"]=2026-04-23T01:27:03.972Z`, `time.modified=2026-04-23T02:46:36.597Z`). Local command-surface checks using temporary `@openai/codex@0.123.0` execution found no P0/P1 drift for `codex exec`, `codex review --help`, `codex login --device-auth`, `codex mcp`, or `codex app-server`. Evidence: `out/linear-ed46eae2-f0f5-402f-9dc7-dd8dbc36e61f/manual/codex-0123-release-audit/`, `out/linear-ed46eae2-f0f5-402f-9dc7-dd8dbc36e61f/manual/command-surface-0123/help-surface.log`, and `out/linear-ed46eae2-f0f5-402f-9dc7-dd8dbc36e61f/manual/codex-version-canary/compare/decision-go-no-go.md`.
56
+ - 2026-04-23: `CO-322` runtime-mode evidence passes for the `0.123.0` candidate (`20/20`, `ready_for_default_flip=true`), but required cloud evidence still blocks promotion: the required canary failed before task submission because the configured environment id was not found. After replaying onto current main, the fallback canary passed the expected contract with `cloud_fallback.mode_requested=cloud`, `cloud_fallback.mode_used=mcp`, and only the expected `missing_environment` fallback issue; this validates fallback behavior but does not replace required cloud execution. Evidence: `out/linear-ed46eae2-f0f5-402f-9dc7-dd8dbc36e61f/manual/runtime-mode-canary-0123/runtime-canary-summary.json`, `.runs/linear-ed46eae2-f0f5-402f-9dc7-dd8dbc36e61f-cloud-required-0123-current/cli/2026-04-23T04-56-19-486Z-012f562d/manifest.json`, and `.runs/linear-ed46eae2-f0f5-402f-9dc7-dd8dbc36e61f-cloud-fallback-0123-current/cli/2026-04-23T04-56-47-062Z-7a811dfb/manifest.json`.
57
+ - 2026-04-23: `CO-322` directly compared the marketplace-sensitive surface across `0.122.0` and `0.123.0`. `npx --yes @openai/codex@0.123.0 marketplace --help` still falls back to top-level Codex help, but `npx --yes @openai/codex@0.123.0 plugin marketplace add --help` and `plugin marketplace remove --help` both expose the current plugin marketplace contract. Result: no marketplace-smoke regression versus the current `0.122.0` plugin-marketplace baseline, but no release-facing pin moves to `0.123.0` without clean cloud gates. Evidence: `out/linear-ed46eae2-f0f5-402f-9dc7-dd8dbc36e61f/manual/command-surface-0123/plugin-marketplace-0123.log`.
58
+ - 2026-04-23: `CO-322` classifies `rust-v0.123.0` deltas for CO as follows:
59
+ - Hold: do not promote the active target from `0.118.0` to `0.123.0` until required cloud and fallback cloud evidence both complete cleanly.
60
+ - Hold: keep `0.122.0` as the held release-planning candidate and keep `.github/workflows/cloud-canary.yml` pinned to explicit `@openai/codex@0.122.0` until a future `0.123.0` lane has clean cloud gates.
61
+ - Hold: release-facing downstream-smoke workflows remain on `@openai/codex@0.122.0` because current main already rebaselined smoke to `codex plugin marketplace add`, and 0.123.0 promotion is cloud-gate blocked rather than marketplace-surface blocked.
62
+ - No-op for current CO posture: Amazon Bedrock provider, `/mcp verbose`, broader `.mcp.json` plugin loading shapes, realtime handoff improvements, `remote_sandbox_config`, and refreshed model metadata because this lane found no CO-specific required workflow change without clean cloud-gate evidence.
63
+ - 2026-04-23: `CO-335` reran the `0.123.0` cloud gates after cloud env/auth rotation and supersedes the CO-322 cloud HOLD. Required cloud canary passed with `cloud_execution.status=ready`, environment `Kbediako/CO`, task `task_e_69e9ef5628408327b88b1fcd0ab14b24`, `poll_count=24`, and manifest `reference/linear-919ecdfa-9be9-4d93-995b-7f8e4a784e6f/cloud-gates/required-manifest.json`. Fallback cloud contract passed with `cloud_fallback.mode_requested=cloud`, `cloud_fallback.mode_used=mcp`, and issue `missing_environment` at `reference/linear-919ecdfa-9be9-4d93-995b-7f8e4a784e6f/cloud-gates/fallback-manifest.json`.
64
+ - 2026-04-23: `CO-335` promotion decision:
65
+ - Promote: active CO compatibility/adoption target moves from `0.118.0` to `0.123.0` because CO-322 found no P0/P1 local command, marketplace, or runtime-mode regression and CO-335 completed both cloud gates cleanly.
66
+ - Promote: release-facing downstream-smoke and `cloud-canary` workflows move to explicit `@openai/codex@0.123.0`.
67
+ - Release ship remains out of scope for CO-335; CO-316 may proceed with the cloud-gate blocker cleared, subject to its own release prerequisites.
68
+ - 2026-04-24: `CO-337` rechecked the marketplace command relocation truth that older notes had partially compressed. Local `codex-cli 0.123.0` still exposes `plugin` at top level, `codex plugin marketplace add --help` succeeds, and top-level `codex marketplace add --help` fails. Versioned repro confirms `0.121.0` accepts both add paths, while `0.122.0` and `0.123.0` require `codex plugin marketplace add`. This does not change the promoted `0.123.0` posture or workflow pins on current `main`; it corrects the command-surface wording used by `pack:smoke`, launcher/operator messages, and downstream setup docs.
69
+ - 2026-04-24: `CO-341` audited `rust-v0.124.0` / npm `@openai/codex@0.124.0` and aligns the repo CLI posture to `0.124.0` while keeping packaged/generated model defaults on `gpt-5.4` / `xhigh`. Local `codex-cli 0.124.0`, `codex exec`, `codex review --help`, and `codex login --help` keep the required prompt/device-auth surfaces. Live app-server `model/list` shows explicit local `gpt-5.5` supports `xhigh` while `gpt-5.4` remains the app-server catalog default; the bundled debug model catalog may lag. Residual plugin warnings are local temporary plugin cache warnings, not CO-owned plugin manifests. Runtime-mode canary, required cloud canary, fallback cloud contract, and pack-smoke evidence passed for the CO-341 branch. Evidence: `out/linear-4a684a5e-64b0-47fb-835a-d792eba29071/manual/local-probes/`, `out/linear-4a684a5e-64b0-47fb-835a-d792eba29071/manual/runtime-mode-canary/post-build/runtime-mode-canary.log`, `.runs/linear-4a684a5e-64b0-47fb-835a-d792eba29071/cli/2026-04-23T19-44-14-410Z-2e596753/manifest.json`, `.runs/linear-4a684a5e-64b0-47fb-835a-d792eba29071/cli/2026-04-23T19-49-46-024Z-0d81d04d/manifest.json`, and `tests/pack-smoke.spec.ts`.
70
+ - 2026-04-24: `CO-351` audited Codex CLI `0.125.0` app-server control-seam surfaces. Release facts were stable: local `/opt/homebrew/bin/codex --version` returned `codex-cli 0.125.0`, npm latest was `0.125.0`, and GitHub release `rust-v0.125.0` was published `2026-04-24T18:00:38Z`.
71
+ - 2026-04-24: `CO-351` generated app-server TypeScript and JSON Schema artifacts and ran a local Unix socket/proxy/WebSocket canary. Passing checks covered local `unix://` help, `app-server proxy --sock`, generated schema surfaces for thread start/resume/fork/turn pagination and permission profile fields, Unix socket creation, config/read under explicit untrusted project setup, `model/list` pagination, disabled permission-profile thread start, explicit untrusted project preservation, synthetic history injection, resume/fork metadata loading with `excludeTurns`, proxy auth status over `--sock`, and bursty WebSocket command output. Evidence: `out/linear-267f73e1-6347-496d-ad78-2f4177bfe450/manual/codex-0125-appserver-canary/runtime-canary-summary.json` and `docs/findings/linear-267f73e1-6347-496d-ad78-2f4177bfe450-codex-0125-appserver-control-seam.md`.
72
+ - 2026-04-24: `CO-351` approves the 0.125 app-server seam for explicit control-host/proof usage, not as a blanket provider-supervision replacement or provider-runtime promotion. Remaining constraints: `sticky-environment-explicit-id` failed closed with unknown environment id `co351-local-env`, and `thread/turns/list` only proved the response shape on a synthetic-history thread with `0` persisted turns. Provider workers must keep `codex exec` / `codex exec resume` as rollback supervision until a configured lane proves sticky environments and real turn-backed pagination cleanly and the normal promotion gates pass.
73
+ - 2026-04-24: `CO-352` audited `rust-v0.125.0` / npm `@openai/codex@0.125.0` model-catalog posture and adopts `gpt-5.5` / `xhigh` as the current CO-local ChatGPT-auth/appserver model posture. Local top-level and delegated `gpt-5.5` canaries passed, standalone review fallback passed, and runtime-mode canary passed `20/20`. Required cloud execution failed before task submission because the configured environment id was not found; the fallback contract passed with `missing_environment`. That exact failure blocks cloud execution and release-facing pin promotion, not local appserver posture. Live and bundled catalogs still disagree, so the prior portable model remains a fallback for unavailable surfaces. Evidence: `docs/findings/linear-f4469614-cfdf-49a6-a7ff-366f58229816-codex-0125-model-catalog-posture.md`, `out/linear-f4469614-cfdf-49a6-a7ff-366f58229816/manual/0.125-model-posture/`, `.runs/linear-f4469614-cfdf-49a6-a7ff-366f58229816-cloud-required/cli/2026-04-24T20-53-34-738Z-cf054a86/manifest.json`, and `.runs/linear-f4469614-cfdf-49a6-a7ff-366f58229816-cloud-fallback/cli/2026-04-24T20-54-06-599Z-bd863a12/manifest.json`.
74
+ - 2026-04-24: The `explorer_fast` file/codebase search only role stays unchanged; the `gpt-5.3-codex-spark` file/codebase search only role passed a live no-tool smoke, but live `codex debug models` and bundled `codex debug models --bundled` still diverge.
75
+ - 2026-04-24: `CO-355` rebaselined marketplace/downstream-smoke compatibility for Codex CLI `0.125.0` without promoting the broader active CO target, provider runtime, provider supervision, or cloud-canary target. Observed evidence: local `/opt/homebrew/bin/codex --version` reported `codex-cli 0.125.0`, npm `@openai/codex` latest/version returned `0.125.0`, `codex plugin marketplace add --help` accepted owner/repo, HTTP(S), SSH, and local marketplace roots, and `codex plugin marketplace upgrade --help` plus `remove --help` were available. Legacy `codex marketplace add --help` failed on `0.125.0`. After `scripts/pack-smoke.mjs` was updated to prefer `plugin marketplace add` with upgrade/remove help checks, preserve older top-level add fallback for supported legacy pins, and fail closed on incomplete current plugin help without a legacy path, an isolated npm-installed `@openai/codex@0.125.0` `npm run pack:smoke` canary passed. This supports moving only the release-facing downstream-smoke workflow pins from `@openai/codex@0.124.0` to `@openai/codex@0.125.0`; any broader `0.125.0` active-posture, provider-supervision, provider-runtime, or `cloud-canary` promotion remains pending until `node scripts/runtime-mode-canary.mjs`, `CODEX_CLOUD_ENV_ID=<env-id> CODEX_CLOUD_CANARY_REQUIRED=1 npm run ci:cloud-canary`, and the fallback cloud contract pass for that lane.
76
+
77
+ ## Required Evidence Gates
78
+ For any change to the current CO-local `gpt-5.5` / `xhigh` operator posture or portable `gpt-5.4` fallback defaults:
79
+ 1. Local appserver path passes on the candidate Codex CLI + model posture.
80
+ 2. Delegated/review surfaces are verified on the actual auth provider in use; for ChatGPT auth, require explicit local smoke before using `gpt-5.5`, otherwise fall back to the portable `gpt-5.4` defaults.
81
+ 3. Runtime-mode canary passes (`node scripts/runtime-mode-canary.mjs`).
82
+ 4. No P0/P1 regression versus the current stable baseline.
83
+
84
+ For any cloud execution or release-facing promotion of a newer Codex build in CO, also require:
85
+ 1. Cloud canary required contract passes (`CODEX_CLOUD_ENV_ID=<env-id> CODEX_CLOUD_CANARY_REQUIRED=1 npm run ci:cloud-canary`).
86
+ 2. Cloud fallback contract behavior remains correct (`CODEX_CLOUD_ENV_ID="" CODEX_CLOUD_CANARY_REQUIRED=1 CLOUD_CANARY_EXPECT_FALLBACK=1 npm run ci:cloud-canary`).
87
+
88
+ ## Cadence
89
+ - Re-verify the current posture when auth/provider behavior changes materially.
90
+ - Run canary on each newer stable/prerelease candidate considered for CO.
91
+ - Run weekly backstop canary while CO is actively adopting a non-baseline Codex build.
92
+
93
+ ## Rollback
94
+ - Failed gates hold or roll back only the surface they gate. Cloud gate failures block cloud execution and release-facing promotion; they do not roll back validated local appserver posture unless the evidence also shows a provider/model compatibility regression or P0/P1 signal.
95
+ - Record rollback decision in:
96
+ - `docs/TASKS.md`
97
+ - `tasks/index.json`
98
+ - task checklists under `tasks/` and `.agent/task/`
99
+
100
+ ## Evidence Paths
101
+ - Manifests: `.runs/<task-id>/cli/<run-id>/manifest.json`
102
+ - Logs/summaries: `out/<task-id>/manual/`
103
+ - Handover notes: `out/handovers/`
104
+ - Decision summary: `out/<task-id>/manual/codex-version-canary/compare/decision-go-no-go.md`
@@ -4,10 +4,13 @@ This guide is the downstream-safe setup path shipped in the npm package.
4
4
 
5
5
  ## Contract
6
6
 
7
- - Once per machine: install Codex CLI, authenticate, install bundled skills, and register delegation or DevTools wiring.
8
- - Once per repo: seed the CO templates, review the generated config, and start using task-scoped runs.
9
- - CO currently targets Codex CLI `0.123.0`; newer candidates stay evidence-gated in the version policy.
10
- - CO-196 posture lineage remains unchanged: npm is the supported baseline because it is the simplest supported CLI install path, and marketplace packaging is an additive registration path for newer Codex releases that expose `codex plugin marketplace add` and `codex plugin marketplace remove`.
7
+ - Once per machine: install Codex CLI and authenticate.
8
+ - Once per repo: seed the CO templates, run setup with the repo root so delegation is repo-scoped while bundled skills are installed and DevTools wiring is applied at the machine level, review the generated config, and start using task-scoped runs.
9
+ - CO-local ChatGPT-auth/appserver posture now uses `gpt-5.5` / `xhigh` on Codex CLI `0.125.0` when live access smoke passes; release-facing cloud/downstream pins remain evidence-gated in the version policy.
10
+ - Portable generated downstream defaults keep `gpt-5.4` / `xhigh` as a fallback when `gpt-5.5`, API/cloud portability, or downstream/no-network access is not proven.
11
+ - Local ChatGPT-auth `gpt-5.5` / `xhigh` is the preferred CO posture after `codex debug models` verifies current model access.
12
+ - `codex-orchestrator doctor` treats `gpt-5.5` as non-drift when `codex debug models` verifies current model access, and additive defaults keep fresh configs on portable fallback values unless `--auth-scope chatgpt` is explicitly requested after live access smoke; compatible prior `gpt-5.5` role files are preserved without requiring extra marker metadata.
13
+ - CO-196 posture lineage remains unchanged: npm is the supported baseline because it is the simplest supported CLI install path, and marketplace packaging is an additive registration path for newer Codex releases. `0.121.0` accepts both `codex marketplace add` and `codex plugin marketplace add`; `0.122.0+` require `codex plugin marketplace add`, and current `0.125.0` also exposes `codex plugin marketplace upgrade` / `remove`.
11
14
 
12
15
  ## Once per machine
13
16
 
@@ -21,21 +24,15 @@ This guide is the downstream-safe setup path shipped in the npm package.
21
24
  # If browser auth is unavailable:
22
25
  codex login --device-auth
23
26
  ```
24
- 3. Install bundled skills and register delegation or DevTools wiring:
25
- ```bash
26
- codex-orchestrator setup --yes
27
- ```
28
- 4. Check readiness:
29
- ```bash
30
- codex-orchestrator doctor --format json
31
- ```
32
-
33
27
  ## Codex plugin marketplace install
34
28
 
35
29
  Use this when you want Codex to discover and enable CO from the plugin browser, while keeping npm available as the baseline CLI install path.
36
30
 
37
- 1. Add the packaged marketplace root:
31
+ 1. Add the packaged marketplace root with the command that matches your Codex version:
38
32
  ```bash
33
+ # Codex 0.121.0: either command works
34
+ codex marketplace add "$(npm root -g)/@kbediako/codex-orchestrator"
35
+ # Codex 0.122.0+:
39
36
  codex plugin marketplace add "$(npm root -g)/@kbediako/codex-orchestrator"
40
37
  ```
41
38
  2. Open `/plugins` inside Codex.
@@ -50,9 +47,11 @@ The shipped marketplace files are:
50
47
  - `plugins/codex-orchestrator/launcher.mjs`
51
48
 
52
49
  - Launcher behaviour: The plugin entry points at `plugins/codex-orchestrator`, and its launcher reads the `codex-orchestrator` marketplace entry in `${CODEX_HOME:-~/.codex}/config.toml` to locate the recorded source checkout before it execs the packaged CO CLI there via `node`. Local-directory sources run from the recorded source path. Git-backed sources run from Codex's installed checkout under `${CODEX_HOME:-~/.codex}/.tmp/marketplaces/codex-orchestrator`, so the MCP registration path stays independent of a second `codex-orchestrator` path entry after install.
53
- - Local-directory add: Run `codex plugin marketplace add <repository-root>` against the repository root that contains those files instead of the npm install directory.
50
+ - Local-directory add: Run the version-appropriate add command against the repository root that contains those files instead of the npm install directory. `0.121.0` accepts either `codex marketplace add <repository-root>` or `codex plugin marketplace add <repository-root>`; `0.122.0+` require `codex plugin marketplace add <repository-root>`.
54
51
  - Git-backed add: Pass a Git identifier or URL such as `owner/repo[@ref]`, an HTTPS Git URL, or an SSH Git URL rather than a local path.
55
- - When to re-run add: Re-run `codex plugin marketplace add ...` if you move or replace a local-directory source, or if you remove Codex's installed marketplace checkout and want to restore the Git-backed install. `codex plugin marketplace add --help` currently documents local directories plus Git-backed sources such as `owner/repo[@ref]`, HTTPS Git URLs, and SSH Git URLs.
52
+ - When to re-run add: Re-run the same version-appropriate add command if you move or replace a local-directory source, or if you remove Codex's installed marketplace checkout and want to restore the Git-backed install. `0.121.0` documents the add flow under both marketplace paths; `0.122.0+` document local directories plus Git-backed sources under `codex plugin marketplace add --help`.
53
+ - Marketplace updates/removal: On current Codex CLI `0.125.0`, run `codex plugin marketplace upgrade codex-orchestrator` to refresh a Git-backed marketplace checkout when you want Codex to pull a newer source ref. Run `codex plugin marketplace remove codex-orchestrator` to remove the marketplace registration.
54
+ - Debug caveats: The bundled debug catalog can lag runtime posture briefly, and residual plugin warnings are local temporary plugin cache warnings rather than CO posture failures.
56
55
 
57
56
  ## Rollback and removal
58
57
 
@@ -62,6 +61,7 @@ The shipped marketplace files are:
62
61
  ```bash
63
62
  codex plugin marketplace remove codex-orchestrator
64
63
  ```
64
+ Use this command on Codex CLI `0.125.0` or newer. On older support lanes, or if the remove command is unavailable, remove the `[marketplaces.codex-orchestrator]` block from `${CODEX_HOME:-~/.codex}/config.toml` manually.
65
65
  - Remove the npm install when you no longer want the standalone CLI or when you no longer need it as the marketplace source:
66
66
  ```bash
67
67
  npm uninstall -g @kbediako/codex-orchestrator
@@ -72,15 +72,21 @@ The shipped marketplace files are:
72
72
  1. Seed the repo:
73
73
  ```bash
74
74
  codex-orchestrator init codex --cwd /path/to/repo
75
+ cd /path/to/repo
76
+ codex-orchestrator setup --yes --repo "$(pwd)"
77
+ ```
78
+ 2. Check readiness:
79
+ ```bash
80
+ codex-orchestrator doctor --format json
75
81
  ```
76
- 2. Review the generated files:
82
+ 3. Review the generated files:
77
83
  - `AGENTS.md`
78
84
  - `.codex/config.toml`
79
85
  - `.codex/providers/README.md`
80
86
  - `.codex/providers/provider.env.example`
81
87
  - `.codex/providers/control.example.json`
82
88
  - `codex.orchestrator.json`
83
- 3. Start with a task-scoped flow:
89
+ 4. Start with a task-scoped flow:
84
90
  ```bash
85
91
  codex-orchestrator flow --task <task-id>
86
92
  ```
@@ -96,6 +102,7 @@ The shipped marketplace files are:
96
102
  Use these before asking a reviewer to trust a new repo:
97
103
 
98
104
  ```bash
105
+ cd /path/to/repo
99
106
  codex-orchestrator doctor --format json
100
107
  codex-orchestrator flow --task <task-id>
101
108
  NOTES="Goal: ... | Summary: ... | Risks: ..." codex-orchestrator review --task <task-id>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kbediako/codex-orchestrator",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -30,6 +30,9 @@
30
30
  "templates/**",
31
31
  "skills/**",
32
32
  "codex.orchestrator.json",
33
+ "docs/README.md",
34
+ "docs/book/**",
35
+ "docs/guides/codex-version-policy.md",
33
36
  "docs/public/downstream-setup.md",
34
37
  "docs/public/provider-onboarding.md",
35
38
  "README.md",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codex-orchestrator",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Codex Orchestrator plugin metadata for the packaged CO runtime.",
5
5
  "author": {
6
6
  "name": "Kbediako",
@@ -9,6 +9,8 @@ import process from 'node:process';
9
9
  const FORWARDABLE_SIGNALS = ['SIGINT', 'SIGTERM', 'SIGHUP'];
10
10
  const MARKETPLACE_NAME = 'codex-orchestrator';
11
11
  const MARKETPLACE_SECTION = `[marketplaces.${MARKETPLACE_NAME}]`;
12
+ const MARKETPLACE_ADD_HELP =
13
+ 'Re-run codex marketplace add for Codex 0.121.0, or codex plugin marketplace add for Codex 0.122.0+.';
12
14
  const MARKETPLACE_SECTION_PATTERN = new RegExp(
13
15
  `^marketplaces\\s*\\.\\s*(?:"${escapeRegExp(MARKETPLACE_NAME)}"|'${escapeRegExp(MARKETPLACE_NAME)}'|${escapeRegExp(MARKETPLACE_NAME)})$`,
14
16
  'u'
@@ -19,7 +21,7 @@ function main() {
19
21
  const entrypoint = join(sourceRoot, 'bin', 'codex-orchestrator.js');
20
22
  if (!existsSync(entrypoint)) {
21
23
  throw new Error(
22
- `Codex Orchestrator marketplace source is missing ${entrypoint}. Keep the marketplace source installed or re-run codex plugin marketplace add.`
24
+ `Codex Orchestrator marketplace source is missing ${entrypoint}. Keep the marketplace source installed. ${MARKETPLACE_ADD_HELP}`
23
25
  );
24
26
  }
25
27
 
@@ -59,7 +61,7 @@ function main() {
59
61
  function resolveMarketplaceSourceRoot() {
60
62
  const { codexHome, configPath } = resolveCodexPaths();
61
63
  if (!existsSync(configPath)) {
62
- throw new Error(`Unable to locate Codex config at ${configPath}. Re-run codex plugin marketplace add for Codex Orchestrator.`);
64
+ throw new Error(`Unable to locate Codex config at ${configPath}. ${MARKETPLACE_ADD_HELP}`);
63
65
  }
64
66
 
65
67
  const raw = readFileSync(configPath, 'utf8');
@@ -68,7 +70,7 @@ function resolveMarketplaceSourceRoot() {
68
70
  const sourceType = marketplaceConfig?.sourceType;
69
71
  if (!source) {
70
72
  throw new Error(
71
- `Codex config at ${configPath} is missing ${MARKETPLACE_SECTION}. Re-run codex plugin marketplace add for Codex Orchestrator.`
73
+ `Codex config at ${configPath} is missing ${MARKETPLACE_SECTION}. ${MARKETPLACE_ADD_HELP}`
72
74
  );
73
75
  }
74
76
  if (sourceType === 'local') {
@@ -98,7 +100,7 @@ function resolveInstalledMarketplaceSourceRoot(codexHome, source) {
98
100
  return installedMarketplaceRoot;
99
101
  }
100
102
  throw new Error(
101
- `Codex marketplace source resolved to ${JSON.stringify(source)}, but ${installedMarketplaceRoot} is unavailable. Re-run codex plugin marketplace add for Codex Orchestrator.`
103
+ `Codex marketplace source resolved to ${JSON.stringify(source)}, but ${installedMarketplaceRoot} is unavailable. ${MARKETPLACE_ADD_HELP}`
102
104
  );
103
105
  }
104
106
 
@@ -70,6 +70,12 @@
70
70
  "provider_launch_source": { "type": ["string", "null"] },
71
71
  "provider_control_host_task_id": { "type": ["string", "null"] },
72
72
  "provider_control_host_run_id": { "type": ["string", "null"] },
73
+ "provider_linear_worker_tokens": {
74
+ "anyOf": [
75
+ { "type": "null" },
76
+ { "$ref": "#/definitions/providerLinearWorkerTokenUsage" }
77
+ ]
78
+ },
73
79
  "summary": { "type": ["string", "null"] },
74
80
  "metrics_recorded": { "type": "boolean" },
75
81
  "resume_token": { "type": "string", "minLength": 1 },
@@ -1569,6 +1575,17 @@
1569
1575
  "notes": { "type": "array", "items": { "type": "string" } }
1570
1576
  }
1571
1577
  },
1578
+ "providerLinearWorkerTokenUsage": {
1579
+ "type": "object",
1580
+ "required": ["input_tokens", "output_tokens", "total_tokens"],
1581
+ "additionalProperties": false,
1582
+ "properties": {
1583
+ "input_tokens": { "type": ["integer", "null"], "minimum": 0 },
1584
+ "output_tokens": { "type": ["integer", "null"], "minimum": 0 },
1585
+ "total_tokens": { "type": ["integer", "null"], "minimum": 0 },
1586
+ "reasoning_output_tokens": { "type": ["integer", "null"], "minimum": 0 }
1587
+ }
1588
+ },
1572
1589
  "designMetrics": {
1573
1590
  "type": "object",
1574
1591
  "additionalProperties": false,
@@ -0,0 +1,26 @@
1
+ # Bundled Skills
2
+
3
+ Install bundled skills into `$CODEX_HOME/skills`:
4
+
5
+ ```bash
6
+ codex-orchestrator skills install
7
+ ```
8
+
9
+ Bundled skills:
10
+ - `agent-first-adoption-steering`
11
+ - `chrome-devtools`
12
+ - `codex-orchestrator`
13
+ - `collab-deliberation`
14
+ - `collab-evals`
15
+ - `collab-subagents-first`
16
+ - `delegate-early`
17
+ - `delegation-usage`
18
+ - `docs-first`
19
+ - `elegance-review`
20
+ - `land`
21
+ - `linear`
22
+ - `long-poll-wait`
23
+ - `release`
24
+ - `standalone-review`
25
+
26
+ Prefer globally installed skills when present, fall back to bundled `skills/<name>/SKILL.md`, and refresh skills after upgrading the npm package when you need new workflow instructions.
@@ -175,7 +175,7 @@ Do not treat wrapper handoff-only output as a completed review.
175
175
  - Rebuild managed CLI only (optional): `codex-orchestrator codex setup --source <codex-repo> --yes --force`.
176
176
  - Managed routing is explicit opt-in: `export CODEX_CLI_USE_MANAGED=1` (stock/global `codex` remains default otherwise).
177
177
  - If local codex is materially behind upstream, sync before diagnosing collab behavior differences.
178
- - In Codex CLI `0.123.0`, built-in `explorer` inherits top-level model defaults unless you attach a role `config_file`; reserve spark for optional `[agents.explorer_fast]` file/codebase search only.
178
+ - In Codex CLI `0.124.0`, built-in `explorer` inherits top-level model defaults unless you attach a role `config_file`; reserve spark for optional `[agents.explorer_fast]` file/codebase search only, and use `gpt-5.5` only in validated ChatGPT-auth lanes.
179
179
  - For cloud-heavy streams, treat fallback as a safety net only; set `CODEX_ORCHESTRATOR_CLOUD_FALLBACK=deny` in fail-fast lanes.
180
180
  - If compatibility remains unstable, continue with non-collab execution path and document the degraded mode.
181
181
 
@@ -133,11 +133,13 @@ If you need delegation to respect a repo’s `.codex/orchestrator.toml` (e.g., s
133
133
 
134
134
  ## Version guard (JSONL handshake)
135
135
 
136
- Delegation MCP expects JSONL. Keep `codex-orchestrator` aligned with the current CO compatibility or adoption target (`codex-cli 0.123.0`) unless a task-scoped canary is explicitly evaluating something newer.
136
+ Delegation MCP expects JSONL. Keep `codex-orchestrator` aligned with the current CO compatibility or adoption target (`codex-cli 0.125.0` for local ChatGPT-auth/appserver posture) unless a task-scoped canary is explicitly evaluating something newer.
137
137
 
138
- Current `0.123.0` posture also confirms that:
138
+ Current `0.125.0` CO-local posture also confirms that:
139
139
  - `codex exec` accepts a prompt argument plus piped stdin, with stdin appended as a `<stdin>` block.
140
140
  - `codex login --device-auth` is available for non-browser sign-in fallback.
141
+ - App-server model/list evidence under ChatGPT auth can vary by account; keep `gpt-5.4` only as the fallback packaged default because it may still appear as the app-server `isDefault`.
142
+ - The bundled debug catalog can lag runtime posture briefly, and residual plugin warnings are local temporary plugin cache warnings rather than CO posture failures.
141
143
 
142
144
  - Check: `codex-orchestrator --version`
143
145
  - Update global: `npm i -g @kbediako/codex-orchestrator@latest`
@@ -155,18 +157,21 @@ Current `0.123.0` posture also confirms that:
155
157
  - `spawn_agent` omission defaults to `default`; require explicit `agent_type` for every spawn.
156
158
  - For symbolic collab runs, include a first-line role tag in spawned prompts: `[agent_type:<role>]`.
157
159
  - Multi-turn subagent loops are supported (`spawn_agent` -> `send_input` -> `wait`/`resume_agent` -> `close_agent`).
158
- - In Codex CLI `0.123.0`, built-in `explorer` continues to inherit top-level defaults unless overridden in `~/.codex/config.toml`.
159
- - Recommended baseline:
160
+ - In Codex CLI `0.125.0`, built-in `explorer` continues to inherit top-level defaults unless overridden in `~/.codex/config.toml`.
161
+ - Current model posture is `gpt-5.5` / `xhigh` when available in ChatGPT-auth Codex sessions.
162
+ - Portable generated config keeps `gpt-5.4` / `xhigh` as fallback values.
163
+ - Recommended packaged baseline:
160
164
  - `model = "gpt-5.4"`
161
165
  - `review_model = "gpt-5.4"`
162
166
  - `model_reasoning_effort = "xhigh"`
163
- - `[agents] max_threads = 12` is the seeded baseline; keep explicit `max_depth = 4` only when your local Codex parser accepts it, and treat `max_spawn_depth` as a legacy local override rather than current baseline guidance
167
+ - For normal `features.multi_agent=true` and older Codex behavior, `[agents] max_threads = 12` is the seeded baseline. For Codex CLI `0.125+` with `features.multi_agent_v2=true`, do not write or recommend `agents.max_threads`; upstream rejects the key, so doctor/default setup must omit it. Keep explicit `max_depth = 4` only when your local Codex parser accepts it, and treat `max_spawn_depth` as a legacy local override rather than current baseline guidance
164
168
  - Leave `[agents.explorer]` undefined unless you intentionally want to override built-in explorer behavior.
165
169
  - Add optional `[agents.explorer_fast]` for `gpt-5.3-codex-spark` (file/codebase search only).
166
170
  - Add optional `[agents.awaiter]` override for `gpt-5.4` + `high` while preserving awaiter instructions.
167
171
  - Add `[agents.worker_complex]` for high-risk edits (`gpt-5.4`, `xhigh`).
168
- - Keep delegated subagent and review surfaces on `gpt-5.4` under ChatGPT auth unless a fresh provider lane explicitly validates `gpt-5.4-codex`.
169
- - Fallback posture is contingency-only: `8/2` (constrained/high-risk), legacy `6/1/1` break-glass when an older parser/runtime still consumes spawn-depth caps.
172
+ - Use `gpt-5.5` for delegated/review surfaces after access smoke validates the local posture; otherwise use the portable `gpt-5.4` fallback defaults.
173
+ - Caveat: app-server `isDefault` may still report `gpt-5.4` even when newer local models are available.
174
+ - Fallback posture is contingency-only and applies only to v1/older configs that still accept thread/depth caps: `8/2` (constrained/high-risk), legacy `6/1/1` break-glass when an older parser/runtime still consumes spawn-depth caps.
170
175
  - If native `codex` startup fails with `invalid type: integer ... expected struct AgentRoleToml` under `[agents]`, remove only the live `max_depth` and `max_spawn_depth` keys from `~/.codex/config.toml` and leave the role subtables unchanged.
171
176
 
172
177
  ## Common failures
@@ -105,8 +105,10 @@ For runner + delegation coordination (short `--task` flow), see `docs/delegation
105
105
 
106
106
  ### 0a) Version guard (JSONL handshake)
107
107
 
108
- - Delegation MCP uses JSONL; keep `codex-orchestrator` aligned with the current CO compatibility or adoption target (`codex-cli 0.123.0`).
109
- - Current `0.123.0` posture confirms two onboarding-relevant behaviors: `codex exec` accepts a prompt argument plus piped stdin, and `codex login --device-auth` is available for non-browser sign-in fallback.
108
+ - Delegation MCP uses JSONL; keep `codex-orchestrator` aligned with the current CO compatibility or adoption target (`codex-cli 0.125.0` for local ChatGPT-auth/appserver posture).
109
+ - Current `0.125.0` CO-local posture keeps the onboarding-relevant behaviors from `0.124.0`: `codex exec` accepts a prompt argument plus piped stdin, and `codex login --device-auth` is available for non-browser sign-in fallback.
110
+ - App-server model/list evidence under ChatGPT auth can vary by account; keep `gpt-5.4` only as the fallback packaged default because it may still appear as the app-server `isDefault`.
111
+ - The bundled debug catalog can lag runtime posture briefly, and residual plugin warnings are local temporary plugin cache warnings rather than CO posture failures.
110
112
  - Check installed version: `codex-orchestrator --version`
111
113
  - Preferred update path: `npm i -g @kbediako/codex-orchestrator@latest`
112
114
  - Deterministic pin path (for reproducible environments): `npx -y @kbediako/codex-orchestrator@<version> delegate-server`
@@ -123,19 +125,22 @@ For runner + delegation coordination (short `--task` flow), see `docs/delegation
123
125
  - `spawn_agent` omission defaults to `default`; require explicit `agent_type` for every spawn.
124
126
  - For symbolic collab runs, include a first-line role tag in spawned prompts: `[agent_type:<role>]`.
125
127
  - Multi-turn subagent loops are supported (`spawn_agent` -> `send_input` -> `wait`/`resume_agent` -> `close_agent`).
126
- - In Codex CLI `0.123.0`, built-in `explorer` continues to inherit top-level model defaults unless a role `config_file` overrides it.
127
- - Recommended baseline in `~/.codex/config.toml`:
128
+ - In Codex CLI `0.125.0`, built-in `explorer` continues to inherit top-level model defaults unless a role `config_file` overrides it.
129
+ - Current model posture is `gpt-5.5` / `xhigh` when available in ChatGPT-auth Codex sessions.
130
+ - Portable generated config keeps `gpt-5.4` / `xhigh` as fallback values.
131
+ - Recommended packaged baseline in `~/.codex/config.toml`:
128
132
  - `model = "gpt-5.4"`
129
133
  - `review_model = "gpt-5.4"`
130
134
  - `model_reasoning_effort = "xhigh"`
131
- - `[agents] max_threads = 12` is the seeded baseline; keep explicit `max_depth = 4` only when your local Codex parser accepts it, and treat `max_spawn_depth` as a legacy local override rather than current baseline guidance
135
+ - For normal `features.multi_agent=true` and older Codex behavior, `[agents] max_threads = 12` is the seeded baseline. For Codex CLI `0.125+` with `features.multi_agent_v2=true`, do not write or recommend `agents.max_threads`; upstream rejects the key, so doctor/default setup must omit it. Keep explicit `max_depth = 4` only when your local Codex parser accepts it, and treat `max_spawn_depth` as a legacy local override rather than current baseline guidance
132
136
  - Leave `[agents.explorer]` undefined unless you intentionally want to override built-in explorer behavior
133
137
  - Optional `[agents.explorer_fast]` -> `~/.codex/agents/explorer-fast.toml` (`gpt-5.3-codex-spark`, file/codebase search only)
134
138
  - Optional `[agents.awaiter]` override -> `~/.codex/agents/awaiter-high.toml` when you want awaiter at `gpt-5.4` + `high` while preserving awaiter instructions
135
139
  - `[agents.worker_complex]` -> `~/.codex/agents/worker-complex.toml` (`gpt-5.4`, `xhigh`)
136
- - Keep delegated subagent and review surfaces on `gpt-5.4` under ChatGPT auth unless a fresh provider lane explicitly validates `gpt-5.4-codex`.
137
- - Fallback posture is contingency-only: `8/2` for constrained/high-risk lanes, legacy `6/1/1` as break-glass when an older parser/runtime still consumes spawn-depth caps.
138
- - Downstream users should converge on this baseline via `codex-orchestrator init codex`.
140
+ - Use `gpt-5.5` for delegated/review surfaces when access smoke validates current ChatGPT-auth/appserver availability; otherwise use the portable `gpt-5.4` fallback defaults.
141
+ - Caveat: app-server `isDefault` may still report `gpt-5.4` even when newer local models are available.
142
+ - Fallback posture is contingency-only and applies only to v1/older configs that still accept thread/depth caps: `8/2` for constrained/high-risk lanes, legacy `6/1/1` as break-glass when an older parser/runtime still consumes spawn-depth caps.
143
+ - Downstream users should converge on this baseline via `codex-orchestrator init codex`; when `features.multi_agent_v2=true`, init/default setup must omit `agents.max_threads`.
139
144
  - If native `codex` startup fails with `invalid type: integer ... expected struct AgentRoleToml` under `[agents]`, remove only the live `max_depth` and `max_spawn_depth` keys from `~/.codex/config.toml` and leave the role subtables unchanged.
140
145
 
141
146
  ### 0b) Background terminal bootstrap (required when MCP is disabled)