keep the operator list under one key and read it with one direct get
The agent read the operator-profiles bucket with a keys() listing, an ordered consumer whose grant (STREAM.INFO, CONSUMER.CREATE) and flow-control reply had never run against a permissioned queue. The controller now writes the whole list as one JSON array under one key, only when it changed, and the agent reads it with one DIRECT.GET the way agent_inference::read_own reads its key. The agent grant shrinks to that one subject.
This commit is contained in:
parent
6942f8fd27
commit
49015eb553
12 changed files with 254 additions and 201 deletions
|
|
@ -44,10 +44,10 @@ agent-schedules = ["async-nats/jetstream"]
|
|||
# `agent_inference::read_own`, for the agent harness, which reads its own
|
||||
# inference key the same way. Explicit for the same reason as `notices`.
|
||||
agent-inference = ["async-nats/jetstream"]
|
||||
# `operator_profiles::read_all`, for the agent harness, which lists every
|
||||
# operator's profile when it renders its system prompt: a `keys()` listing, so
|
||||
# the KV client rather than a bare direct get.
|
||||
operator-profiles = ["async-nats/kv"]
|
||||
# `operator_profiles::read`, for the agent harness, which reads the operator
|
||||
# list with one direct get when it renders its system prompt. Explicit for the
|
||||
# same reason as `notices`.
|
||||
operator-profiles = ["async-nats/jetstream"]
|
||||
# `ToSchema` on the review classifier's shared types, for swarm-controller,
|
||||
# whose HTTP API serves the same shapes the queue carries.
|
||||
schema = ["dep:utoipa"]
|
||||
|
|
|
|||
Loading…
Reference in a new issue