symfonic.platform.transport_scope_refusal¶
transport_scope_refusal ¶
Bind a router's memory_identity and answer its version refusal (CORE-171).
The transport cannot see which identity a host's Agent composes: an adopter
composer may keep kinds (v1) or convert to positional v0 from the very same
typed scope. memory_identity is that declaration. Bound per request here,
it lets wire.record_scope address the declared row and lets
wire.memory_scope refuse, before any store call, a v0-only route whose
declared identity is v1. That refusal is mapped to 501 once, here, so a route
added later cannot forget to. A declaration the request cannot use -- it
raises, returns no MemoryScope, or roots one at another tenant -- is a
server misconfiguration: 500 with wire.MEMORY_IDENTITY_REFUSAL as the
detail, before any store call. Undeclared routers keep positional v0.
Every route create_kernel_agent_router mounts is added to the router this
class is bound to; it includes no sub-router, whose routes would keep their
own class. test_core171_http_record_bridge pins both.
refusing_route_class ¶
An APIRoute binding memory_identity; a version refusal is 501.