Model.runtime.routers and Model.runtime.execution_pools.
Router
A router describes how invocations entering through one request input are assigned into an execution pool.Which member of the target execution pool owns the semantic routing domain of this request invocation?The key is a list of field paths evaluated against the request input schema. Two invocations belong to the same routing domain exactly when their evaluated key tuples are equal.
Router without routing
A router that omitsrouting means: “invocations of this boundary execute within this pool,” with no member-affinity fact. This is the sole representation of unspecified member routing.
Router without routing
ExecutionPool
bounded concurrency
Pool identity
If two execution paths target the same pool, they share one logical runtime execution population. If they target different pools, they target distinct logical populations. This implies nothing about physical hosts, processes, deployments, or failure domains.member_concurrency
Unlike routing, member concurrency distinguishes genuinely unknown from explicitly unconstrained, so it keeps both negative states.
A pool carries no member count, CPU, memory, host count, or autoscaling rule. Numbers belong in the external simulation scenario.
MemberAssignment
consistent_hash
Equal routing domains are owned by the same execution-pool member during a stable ownership epoch. Different domains may share a member. Conseqa prescribes no hash function or discovery mechanism; the declaration specifies semantic behavior.round_robin
Each invocation goes to the next member in rotation, irrespective of routing domain. No correctness proof consumes it, but it is essential for external quantitative analysis: a skewed key distribution concentrates load under consistent hash while round_robin spreads it evenly and destroys locality.round_robin is also diagnostic. A serialization or ordering requirement over such a boundary is refused with a reason (rotation puts same-key invocations on different members) rather than for want of a declaration nobody has made. Routing absence yields no member affinity at all; round_robin says affinity is known not to exist.
Safe ownership transfer
Any member assignment used to establish keyed serialization must preserve exclusive ownership through reassignment. A conforming runtime must not permit the old and new owners of a domain to execute it in a manner that violates one-owner semantics.Full example
Router and pool example
What pools do NOT carry
- No cardinality or replica count
- No CPU, memory, or host counts
- No autoscaling rules or container counts