You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Gate: debounced wakes go to every agent with one shared provenance, ignoring who each event was for #243
A debounced gate wake goes to every agent, and every agent gets the same provenance. Nobody checks which agent each event in the batch was for.
EventGate.deliverEvents computes one wakeProvenance(events) for the whole batch. It then calls requestInference for every name getAgentNames() returns. The framework wires that to all agents except the subconscious, conversation forks included. PendingEvent keeps no record of which agents an event was for, so the gate couldn't target even if it tried.
The direct (non-debounced) paths do filter:
Path
Who it wakes
Module events
Agents in response.requestInference, or every agent except forks and the subconscious; each must pass canBeTriggeredBy(source)
mcpl:push-event
event.targetAgents, else every agent except forks and the subconscious
mcpl:channel-incoming
event.targetAgents, else every agent except the subconscious; conversation routing and deliverTo send it to one fork
Targeted events lose their targeting when debounced. An event that names its agents (targetAgents) wakes exactly those agents on the direct path. Through the gate it wakes every agent. Since fix(gate): batched wakes route to their addressed message's channel #200, the non-target agents also inherit the batch's addressed route as their speech locus.
triggerSources is bypassed. A module event from a source an agent doesn't accept still wakes that agent if a debounce policy matched it.
One shared provenance. Each agent's wake gets the channel, author and route of the batch's newest addressed event, even when that event wasn't for that agent.
In a single-agent host (one resident plus its subconscious) none of this applies, since the broadcast reaches one agent. It matters once a framework hosts several agents.
Activity