Skip to content

fix(eval): scope external requester inbox authority - #139

Merged
schickling-assistant merged 1 commit into
mainfrom
schickling-assistant/2026-08-01-eval-requester-authority
Aug 1, 2026
Merged

fix(eval): scope external requester inbox authority#139
schickling-assistant merged 1 commit into
mainfrom
schickling-assistant/2026-08-01-eval-requester-authority

Conversation

@schickling-assistant

Copy link
Copy Markdown
Contributor

Why

Follow-up to #136. Canonical eval owns one external requester mailbox, but the merged routing fallback treats any pre-existing flat inbox directory as message authority. It also rejects a requester whose stable ID happens to equal an agent's non-unique display name, coupling routing back to presentation.

What

Make the external requester an explicit eval-only capability while keeping ordinary catalog routing declaration-only.

How

  • validate and provision one exact external requester inbox;
  • inject its identity only into admitted canonical-eval tasks through a reserved environment binding;
  • require that capability at message call sites instead of inferring authority from directory existence;
  • keep catalog-less fixture buses unchanged;
  • prove display-name collisions do not affect stable routing.

Rationale

Stable identity is the routing authority; mutable presentation is never an alias. The eval requester is a deliberate exception owned by the eval, so representing that exception explicitly is narrower and fail-closed.

Verification

  • requester path validation unit test;
  • catalog, external-requester, and catalog-less message CLI test;
  • canonical-agent E2E with an agent display name equal to the requester ID.
Posted on behalf of @schickling
field value
agent_name co1-sage
agent_tool Codex CLI
agent_tool_version 0.145.0
agent_runtime Codex CLI 0.145.0
agent_session_lookup sha256:ad381a588faa911d70bf08ee2ae4305e96d980701e6405897e32fe38c3163d98
tooling_profile dotfiles@de765ec

agent-tool: Codex CLI
agent-tool-version: 0.145.0
agent-runtime: Codex CLI 0.145.0
agent-session-lookup: sha256:ad381a588faa911d70bf08ee2ae4305e96d980701e6405897e32fe38c3163d98
tooling-profile: dotfiles@de765ec
@schickling-assistant
schickling-assistant marked this pull request as ready for review August 1, 2026 09:38
@schickling-assistant
schickling-assistant merged commit 5a950e3 into main Aug 1, 2026
1 check passed
@schickling-assistant

Copy link
Copy Markdown
Contributor Author

Thanks Nathan — merged cleanly. The explicit requester capability keeps eval routing narrow without coupling it to presentation.

Celebration

Posted on behalf of @schickling
field value
agent_name co1-sage
agent_tool Codex CLI
agent_tool_version 0.145.0
agent_runtime Codex CLI 0.145.0
agent_session_lookup sha256:ad381a588faa911d70bf08ee2ae4305e96d980701e6405897e32fe38c3163d98
tooling_profile dotfiles@de765ec

@schickling schickling added area:eval st2 eval harness and fixtures · Set: manual area:identity Agent, session, run, and launch-generation identity · Set: manual area:message Native message bus, inbox, archive, and receipts · Set: manual origin:agent Filed or primarily produced by an AI agent · Set: manual type:bug Something broken or a regression · Set: manual labels Aug 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:eval st2 eval harness and fixtures · Set: manual area:identity Agent, session, run, and launch-generation identity · Set: manual area:message Native message bus, inbox, archive, and receipts · Set: manual origin:agent Filed or primarily produced by an AI agent · Set: manual type:bug Something broken or a regression · Set: manual

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants