Skip to content

[Agent Reliability] Scope binding before evidence promotion #14

Description

@fscfede-beep

Scope binding before evidence promotion

Independent agent-reliability note for discussion and review.

Failure mode

An agent can observe a real entity and still be wrong if it promotes that entity before proving it belongs to the exact scope the user asked about.

Evidence therefore needs both:

  • entity provenance — did I really observe this object?
  • scope provenance — did I prove this object belongs to the current task?

Authentic evidence without scope provenance can contaminate canonical state.

Fail-closed invariant

DISCOVERED
-> QUARANTINED
-> SCOPE_BOUND
-> IDENTIFIED
-> PRIMARY_EVIDENCE
-> DIRECT_BINDING
-> VERIFIED

There is no direct DISCOVERED -> TARGET transition. If scope is unresolved: SCOPE_UNRESOLVED / NO_RESULT.

Current public implementation

Canonical repository: RUMBO-IA/Rumbo.

The generic guard and Codex-oriented refinements are on public main through merged PRs including:

Current merged code:
https://github.com/RUMBO-IA/Rumbo/tree/main/research/agent-reliability/scope-binding

Historical PRs #15, #24 and #27 are closed without merge and are not current implementation authority.

Current research candidate

Draft PR #34 adds permission-authority provenance:
#34

It requires both:

authority.permission_source
== permissionEvidence.source

and:

authority.permission_profile_id
== permissionEvidence.activePermissionProfile.id

before effective writable roots can satisfy required write scope.

Fresh exact-head receipt for #34:

  • base eee8cd79148430bbac57148152e691ec8f87aa2a;
  • head 3db8cf123a428a5e93345c2db9ddac02e619cfe0;
  • Scope Binding Reference run 33924090723: SUCCESS;
  • regression suite: 44/44 PASS;
  • Public privacy gate 33924090724: SUCCESS;
  • Vercel: SUCCESS;
  • research: bind write permission evidence to trusted source #34 remains DRAFT / NOT MERGED.

OpenAI / Codex relevance

Related open bug:
openai/codex#24224

Our contributions there are acceptance/diagnostic models only; they do not claim an identical root cause or a Codex fix.

Current model:

trusted project/workspace authority
+ selected environment evidence
+ fresh runtime/connection evidence
+ trusted permission-source evidence
+ server-resolved active permission profile
+ effective writable roots
-> executable/write authority

Key separations:

  • selection is not connection;
  • runtimeWorkspaceRoots are not write permissions;
  • a non-empty source label is not trusted authority;
  • observed state must not define or expand its own authority.

The current Codex app-server protocol exposes useful seams for this model: Thread.environments reports selected environments independently of connection status, while environment connection/status and permission-profile surfaces provide separate runtime/authority evidence.

Retraction and freshness

If a candidate is proven out of scope: redact the receipt that introduced it, reset the target to UNRESOLVED, close downstream gates, preserve negative memory, and require new independent scope evidence before reuse.

A control-plane online or selected-environment signal also does not prove executable availability; fresh runtime evidence is required.

Boundary

This is an independent reliability reference. It is not OpenAI endorsement, an upstream merge, a proven Codex root cause, or proof that a separate private product-specific guard is deployed.

Evidence authenticity is necessary but not sufficient. Scope provenance and authority provenance must be explicit before promotion.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions