Skip to content

Serve BatchGetNicknames to a caller with no identity - #20

Merged
vitramir merged 1 commit into
mainfrom
entity-named-port-exposure
Aug 10, 2026
Merged

vitramir merged 1 commit into
mainfrom
entity-named-port-exposure

Conversation

@vitramir

Copy link
Copy Markdown
Contributor

Unblocks agynio/expose#36.

The Expose service builds an exposure address from an agent instance's handle, and its reconciler re-derives that address on a timer with no caller behind it at all. Demanding org membership of an internal service that holds no tuples makes the readable half of every agent-owned exposure unreachable — it would silently fall back to the opaque address forever.

Every method here is internal-only and not exposed through the Gateway, so an identity-less caller is a platform service and is served as one — the same treatment Agents gives GetSandbox, for the same reason. A caller that does present an identity is a user request and is checked exactly as before.

Only the absence of an identity is meaningful; a malformed one is still refused.

The test asserting the old behaviour (missing header → Unauthenticated) is replaced by one asserting the new, with an authorization client that denies everything — consulting it at all would be the bug.

The Expose service builds an exposure address from an agent instance's handle,
and its reconciler re-derives that address on a timer with no caller behind it
at all. Demanding org membership of an internal service that holds no tuples
makes the readable half of every agent-owned exposure unreachable.

Every method here is internal-only and not exposed through the Gateway, so an
identity-less caller is a platform service and is served as one -- the same
treatment Agents gives GetSandbox, for the same reason. A caller that does
present an identity is a user request and is checked exactly as before.

Only the absence of an identity is meaningful; a malformed one is still refused.
@vitramir
vitramir merged commit a294634 into main Aug 10, 2026
1 of 2 checks passed
@vitramir
vitramir deleted the entity-named-port-exposure branch August 10, 2026 05:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant