Skip to content

Keeping authority stable while the model switches #4579

Description

@terryncew

Area

CLI

What are you trying to accomplish?

Nice proxy. The combos and failover setup is the cleanest way I've seen to stop caring which provider is actually doing the work.

I've been working on the other half of that problem: what happens to the user's permissions and acceptance rules when the worker changes. I have a live Claude→Codex example where neither provider owns those rules — the worker changed mid-job, the approved job didn't restart, and the replacement didn't inherit the previous provider's authority or private context. The rules live with the owner and get checked at the receiver, outside either provider.

Two places where that maps onto what opencodex already does. First, the executor/policy boundary — your docs already disable native exec paths because they bypass the client's approval/sandbox path, which is exactly where receiver-owned authorization would sit. Second, cross-model subagents: one model can hand work to another while keeping the native UI, but delegating work shouldn't automatically delegate authority. The child should only carry what the user explicitly granted.

You made the model replaceable; I've been working on making the model's authority replaceable-independent too. Those two pieces fit unusually well. Write-up here if you want to look: https://github.com/terryncew/openline-wallet/blob/main/APPROVED_JOB_LIVE_001.md

What prevents this today?

Permissions and acceptance rules are provider-owned today: when the worker changes mid-job, the authorization context follows the provider instead of the owner.

What should OpenCodex do?

Keep the authorization rules with the owner and check them at the receiver, independent of which provider executes the work — so delegating work to a child model does not automatically delegate authority.

Example usage or interface

A Claude→Codex handoff mid-job where the replacement worker does not inherit the previous provider's authority or private context, while the approved job does not restart. Write-up: https://github.com/terryncew/openline-wallet/blob/main/APPROVED_JOB_LIVE_001.md

Alternatives or workarounds

No response

Additional context

No response

Checks

  • I searched existing issues and documentation.
  • This request describes a concrete OpenCodex workflow rather than merely naming a desired technology.
  • I removed secrets and personal data.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    cliCLI, config inject, packaging flagsenhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions