Skip to content

feat(cli): add live provider management and safe editor apply - #6528

Merged
lidge-jun merged 38 commits into
devfrom
codex/cli-parity-providers
Oct 4, 2026
Merged

lidge-jun merged 38 commits into
devfrom
codex/cli-parity-providers

Conversation

@lidge-jun

@lidge-jun lidge-jun commented Oct 3, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Add explicit live provider add/remove/default operations, provider HTTP/Fast/context settings, and pacing rules/status commands. Local operations retain their default target; live writes use one selected management target and never fall back to local configuration.
  • Add non-secret provider snapshot/apply with bounded file/stdin input and the server's public-baseline conflict check. Removal requires explicit confirmation; batch replacement and single-provider deletion keep their distinct cleanup semantics.
  • Fix local provider add --sync --json to perform the requested sync and distinguish successful config injection from catalog convergence. Incomplete model synchronization preserves needsSync, safe structured evidence and a nonzero exit; unchanged current catalogs remain successful.
  • Manual stack layer 2, based on feat(cli): make existing management workflows discoverable #6526 (codex/cli-parity-foundation). This PR adds the provider-management task slice; subsequent layers cover models/routing and remaining GUI operations. See devlog/_plan/261003_cli_gui_parity/032_provider_verification.md.

Verification

Stack refresh onto dev (lane L1, 2026-10-04; re-refreshed 2026-10-05 onto dev df61d03ecc), head 697cc9ec332dd7f4ab5618ae045411a3a7cba630. Merged the refreshed parent (dev 584b92a53c). Reconciled with dev's catalog-owner safeguards (#6529 follow-ups 80940782c5, 3ee6137675): when the catalog owner refuses a refresh (foreign/unknown Codex home owner or unbacked routed removal) provider add --sync already exited 1 but dropped dev's recovery warning; commit 922485b4dc now projects only the owner's fixed, path-free guidance to human output and sync.warning in JSON (nine new refusal cases in tests/cli/cli-provider-sync-result.test.ts; provider sync/result/lifecycle and dev's codex sync, catalog-intent, routed-removal, home-owner and convergence test files passed). Local checks at this head: bun scripts/file-size-ratchet.ts (pass; test-layout fixture now well under the 2000-line threshold after #6583), tests/test-layout.test.ts + tests/test-layout-tooling.test.ts (pass), bun run typecheck (pass), bun run structure:check (pass); on the stack top additionally skill:surface:check, privacy:scan and the skill/capability/ratchet test files (all pass). The full local suite was intentionally not run per maintainer instruction; broad and platform coverage is left to exact-head hosted CI: Cross-platform CI run 37217207354 (success at this head). Earlier-head CI results below are historical. Later dev moves (#6576, #6578, #6405, #6486, #6512, #6572, #6585, #6586, #6564) were merged in the same way; test-layout fixture conflicts were resolved as key unions, and this layer now packs only its own new entries in scripts/test-layout/layout.json four per line (JSON content unchanged; the file stays clear of the 2000-line threshold for unbaselined files once the stack lands).

Current-head hosted CI passed at 991110ddafaf0c28aaa3d9ae420da123323c427d: run 37159734892, pull_request event, attempt 1; all four test shards and aggregate ci succeeded. This manual layer targets codex/cli-parity-foundation and contains its refreshed parent plus pinned dev 0818ea1812a028e1c14cd0b0511b44863407bc52. Earlier-head results below remain historical. Optional platform jobs skipped by scope are not claimed as executed. Correct remote and independent review findings were repaired and propagated upward; no PR was merged.

  • Independent plan, functional code and security code reviews passed after repairs. Focused tests exercise exact CLI requests, strict parsing, safe receipts, real isolated provider-editor CAS/persistence and real sync backend partial outcomes.

  • Actual CLI QA passed 17 scenarios against an injected management fixture with sockets forbidden and isolated application homes: snapshot/file/stdin apply, stale conflict, add/default/pacing/delete, confirmation and malformed-input refusals, stopped target and saved-but-pending output. Temporary homes were removed; user configuration and services were untouched.

  • Final source-bound gate at 604086504b5a84541e05679034f884717a944615: 797 tests passed, 0 failed across 26 files; typecheck, structure, generated skill, privacy and whitespace passed. Docs built 561 pages and checked 77,960 internal links. The final head also has the successful hosted CI noted in the follow-up below.

  • The full local suite was not repeated because of its resource cost across concurrent worktrees. Focused relevant parser, indirect source-oracle, real server/backend and structural tests were used; broad and platform coverage is left to exact-head hosted CI. No paid provider request, live credential, release or deployment was exercised.

  • Hosted-CI follow-up at 7209223a36: corrected the legacy help example list and provider PATCH test fixture after the first run failed; 115 focused tests and typecheck passed. Production behavior is unchanged by that follow-up; Fresh exact-head hosted CI passed all four test shards and the required checks. Skipped platform/path jobs were not executed and are not counted as passes.

Checklist

  • Scope stays focused and avoids unrelated cleanup.
  • Docs or release notes were updated when needed.
  • Security-sensitive changes were reviewed for secrets, auth, and unsafe defaults.

@coderabbitai

coderabbitai Bot commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Repository: lidge-jun/opencodex/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 05bf316a-83d8-41be-a728-a1c93b9c296d
📥 Commits

Reviewing files that changed from the base of the PR and between 5c645e3 and 637f26a.

📒 Files selected for processing (113)
  • devlog/_plan/261003_cli_gui_parity/000_plan.md
  • devlog/_plan/261003_cli_gui_parity/002_terminal_ux.md
  • devlog/_plan/261003_cli_gui_parity/003_verification_strategy.md
  • devlog/_plan/261003_cli_gui_parity/004_settings_coverage.md
  • devlog/_plan/261003_cli_gui_parity/005_operations_coverage.md
  • devlog/_plan/261003_cli_gui_parity/006_target_contracts.md
  • devlog/_plan/261003_cli_gui_parity/007_architecture_decisions.md
  • devlog/_plan/261003_cli_gui_parity/008_task_ledger.json
  • devlog/_plan/261003_cli_gui_parity/009_roadmap_lock.md
  • devlog/_plan/261003_cli_gui_parity/010_discovery_foundation.md
  • devlog/_plan/261003_cli_gui_parity/011_foundation_revalidation.md
  • devlog/_plan/261003_cli_gui_parity/012_foundation_verification.md
  • devlog/_plan/261003_cli_gui_parity/020_existing_workflow_discovery.md
  • devlog/_plan/261003_cli_gui_parity/021_discovery_revalidation.md
  • devlog/_plan/261003_cli_gui_parity/022_discovery_verification.md
  • devlog/_plan/261003_cli_gui_parity/030_provider_management.md
  • devlog/_plan/261003_cli_gui_parity/031_provider_revalidation.md
  • devlog/_plan/261003_cli_gui_parity/032_provider_verification.md
  • devlog/_plan/261003_cli_gui_parity/040_models_routing.md
  • devlog/_plan/261003_cli_gui_parity/050_accounts_runtime_settings.md
  • devlog/_plan/261003_cli_gui_parity/060_integrations_maintenance.md
  • devlog/_plan/261003_cli_gui_parity/070_observation_api_tools.md
  • devlog/_plan/261003_cli_gui_parity/080_acceptance_publication.md
  • docs-site/src/content/docs/fr/reference/cli/agents.md
  • docs-site/src/content/docs/fr/reference/cli/providers-accounts.md
  • docs-site/src/content/docs/ja/reference/cli/agents.md
  • docs-site/src/content/docs/ja/reference/cli/providers-accounts.md
  • docs-site/src/content/docs/ko/reference/cli/agents.md
  • docs-site/src/content/docs/ko/reference/cli/providers-accounts.md
  • docs-site/src/content/docs/reference/cli.md
  • docs-site/src/content/docs/reference/cli/agents.md
  • docs-site/src/content/docs/reference/cli/lifecycle.md
  • docs-site/src/content/docs/reference/cli/providers-accounts.md
  • docs-site/src/content/docs/ru/reference/cli/agents.md
  • docs-site/src/content/docs/ru/reference/cli/providers-accounts.md
  • docs-site/src/content/docs/tr/reference/cli/agents.md
  • docs-site/src/content/docs/tr/reference/cli/providers-accounts.md
  • docs-site/src/content/docs/zh-cn/reference/cli/agents.md
  • docs-site/src/content/docs/zh-cn/reference/cli/providers-accounts.md
  • docs-site/src/content/docs/zh-tw/reference/cli/agents.md
  • docs-site/src/content/docs/zh-tw/reference/cli/providers-accounts.md
  • scripts/generate-ocx-skill-surface.ts
  • scripts/test-layout/layout.json
  • skills/ocx/SKILL.md
  • skills/ocx/references/01_management_surface.md
  • skills/ocx/references/01_surface_access-remote.md
  • skills/ocx/references/01_surface_accounts.md
  • skills/ocx/references/01_surface_agents-routing.md
  • skills/ocx/references/01_surface_integrations.md
  • skills/ocx/references/01_surface_lab.md
  • skills/ocx/references/01_surface_lifecycle.md
  • skills/ocx/references/01_surface_observe-system.md
  • skills/ocx/references/01_surface_providers-models.md
  • skills/ocx/references/02_json_shapes.md
  • skills/ocx/references/03_recipes.md
  • skills/ocx/references/04_failure_semantics.md
  • skills/ocx/references/05_remote_hub.md
  • src/cli/capabilities-access-remote.ts
  • src/cli/capabilities-accounts.ts
  • src/cli/capabilities-agents-routing.ts
  • src/cli/capabilities-base.ts
  • src/cli/capabilities-command.ts
  • src/cli/capabilities-integrations.ts
  • src/cli/capabilities-lab.ts
  • src/cli/capabilities-observe-system.ts
  • src/cli/capabilities-provider-models.ts
  • src/cli/capabilities.ts
  • src/cli/capability-types.ts
  • src/cli/help-catalog.ts
  • src/cli/help-recovery.ts
  • src/cli/help.ts
  • src/cli/json-input.ts
  • src/cli/provider-batch.ts
  • src/cli/provider-lifecycle-runtime.ts
  • src/cli/provider-result.ts
  • src/cli/provider-runtime.ts
  • src/cli/provider-settings.ts
  • src/cli/provider.ts
  • src/cli/registry.ts
  • src/codex/sync.ts
  • src/server/management/route-registry.ts
  • structure/INDEX.md
  • structure/catalog.md
  • structure/cli-management.md
  • structure/config.md
  • structure/manifest.json
  • structure/ops/docs-and-release.md
  • structure/runtime.md
  • tests/ci-workflows/skill-ocx-generated.test.ts
  • tests/ci-workflows/skill-ocx-workflows.test.ts
  • tests/ci-workflows/skill-ocx.test.ts
  • tests/cli/cli-capabilities.test.ts
  • tests/cli/cli-capability-access-workflows.test.ts
  • tests/cli/cli-capability-account-workflows.test.ts
  • tests/cli/cli-capability-agent-workflows.test.ts
  • tests/cli/cli-capability-data.test.ts
  • tests/cli/cli-capability-integration-workflows.test.ts
  • tests/cli/cli-capability-lab-workflows.test.ts
  • tests/cli/cli-capability-operation-workflows.test.ts
  • tests/cli/cli-capability-provider-workflows.test.ts
  • tests/cli/cli-headless-parity.test.ts
  • tests/cli/cli-help-navigation.test.ts
  • tests/cli/cli-help-paths.test.ts
  • tests/cli/cli-help-recovery.test.ts
  • tests/cli/cli-json-input.test.ts
  • tests/cli/cli-provider-batch.test.ts
  • tests/cli/cli-provider-lifecycle-runtime.test.ts
  • tests/cli/cli-provider-result.test.ts
  • tests/cli/cli-provider-settings.test.ts
  • tests/cli/cli-provider-sync-result.test.ts
  • tests/cli/cli-provider.test.ts
  • tests/fixtures/test-layout-expected.json
  • tests/helpers/cli-capability-data.ts
 ____________________________________________
< Double tap everything. Kill the bugs dead. >
 --------------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

✅ Deterministic PR hygiene checks passed.

@github-actions github-actions Bot added the enhancement New feature or request label Oct 3, 2026
@lidge-jun
lidge-jun marked this pull request as ready for review October 3, 2026 18:02
@lidge-jun
lidge-jun requested a review from Ingwannu as a code owner October 3, 2026 18:02
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 3, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-03T18:09:17.619268Z 7209223 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7209223a36

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/cli/provider.ts
Dev now refuses catalog refreshes for a foreign or unknown Codex home owner and for unbacked routed removals, keeping the catalog unchanged and returning a recovery warning. provider add --sync already exited nonzero on the refused outcome but dropped the warning; it now forwards the owner's fixed, path-free guidance to human output and sync.warning in JSON.
…ation

Resolve test-layout registry conflict as a union: both sides only added entries.
…ation

Resolve test-layout registry conflict as a union: both sides only added entries.
…ation

Resolve test-layout registry conflict as a union: both sides only added entries.
Four entries per line for the entries this layer adds, leaving every pre-existing line untouched. scripts/test-layout/layout.json sits near the 2000-line unbaselined threshold once the whole stack lands.
…iders

Resolve test-layout registry conflict as a union: both sides only added entries.
Four entries per line for the entries this layer adds, leaving every pre-existing line untouched. scripts/test-layout/layout.json sits near the 2000-line unbaselined threshold once the whole stack lands.
…ation

Resolve test-layout registry conflict as a union: both sides only added entries.
…ation

Resolve shared-file conflicts: test-layout registries as key unions; structure/runtime.md ownership rows taken from whichever side changed each row.
…ation

Resolve shared-file conflicts: test-layout registries as key unions; structure/runtime.md ownership rows taken from whichever side changed each row.
Base automatically changed from codex/cli-parity-foundation to dev October 4, 2026 19:06
@lidge-jun

Copy link
Copy Markdown
Owner Author

Maintainer integration (lidge-jun, dev only) — 2026-10-04 landing train, lane L1 stack.

  • Head: 275dc63 — a tree-identical sync merge on top of 637f26a (merge commit of dev after the feat(cli): make existing management workflows discoverable #6526 squash / parent sync; git rev-parse <sha>^{tree} equal), so the CI evidence below covers the same content.
  • CI: Cross-platform CI run 37225570024 success at 637f26a.
  • Union: static check against current dev (clean merge, layout registries parse, structure-ssot and file-size ratchet pass).
  • Review: live provider management and safe editor apply; catalog-owner refusal warning carried (fixes provider add --sync returning before sync).
  • Landed with a merge commit (allowed by the dev ruleset) so the remaining stack stays conflict-free after the feat(cli): make existing management workflows discoverable #6526 squash.
  • Full local suite intentionally not run per maintainer instruction.
  • scripts/ci/assert-mergeable-review.sh --maintainer-integration: OK.

@lidge-jun
lidge-jun merged commit a8d8562 into dev Oct 4, 2026
27 checks passed
@lidge-jun
lidge-jun deleted the codex/cli-parity-providers branch October 4, 2026 19:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant