Files
Michał Pierzchała 367e795ee7 fix(remote): let a plain-session client read its own failure record (#2382)
`GET /sessions/<session>/requests/<requestId>/diagnostics` applied the
`<tenant>:` prefix rule to every caller carrying a tenant, but
`scopeRequestSession` only writes that prefix under tenant isolation — which
the daemon forces exactly when the auth hook ATTESTS the tenant. A client
whose tenant is only declared (the `x-agent-device-tenant` header on a daemon
with no auth hook) therefore ran in a plain session such as `default` or
`cwd:<hash>:default` and was then refused 401 reading the record its own
failed command wrote, directly and through `agent-device proxy`.

The addressability rule now lives beside the naming rule in
`session-tenant-scope.ts`, which exists so the two cannot disagree.
`isTenantAddressableSessionName` takes the caller's session namespace and
applies the prefix rule only where the namespace is actually partitioned;
`resolveTrustedTenant` now reports whether the tenant was attested, and
`authorizeAuxiliaryHttpRequest` hands that namespace to the route.

The attested case is unchanged: an attested tenant is still refused any
session outside its own prefix, with the same typed UNAUTHORIZED error.
2026-09-07 18:26:16 +02:00
..