Communication should be explicit
A model ecology needs communication, but not every model needs direct access to every other model. A typed event and knowledge bus creates stable contracts, replayable traces, and permission boundaries.
Event classes
| Event | Producer | Consumers | Retention |
|---|---|---|---|
request.received | Gateway | Router, audit | Short, minimized |
route.planned | Router | Runtime, telemetry | Operational |
model.completed | Runtime | Judge, trace | Operational |
evaluation.completed | Evaluator | Controller, registry | Long-term evidence |
candidate.created | Candidate factory | Registry, evaluator | Long-term lineage |
release.changed | Release controller | Runtime, audit, incident response | Long-term audit |
drift.detected | Monitoring | Experiment planner | Research evidence |
policy.blocked | Any policy gate | Audit, security | Security retention |
Knowledge objects
Knowledge objects are versioned artifacts such as retrieval corpora, embeddings, distilled datasets, taxonomies, calibration maps, or failure clusters. They have manifests, provenance, access rules, and expiration. A shared vector store without these properties can become an untracked cross-model memory channel.
Event envelope
event <- {
event_id: UUID_V7(),
event_type: "evaluation.completed",
occurred_at_utc: NOW_UTC(),
trace_id: trace_id,
producer_id: evaluator_service_id,
subject_id: candidate_artifact_id,
schema_version: "1.2",
data_classification: "internal",
payload_hash: HASH(payload),
payload: payload
}Delivery semantics
Choose at-least-once or exactly-once behavior consciously. Make consumers idempotent using event identifiers. Critical state transitions should not depend solely on a transient message; persist a decision record before publishing the event.
Avoiding conversational cascades
Free-form multi-agent debate can amplify errors, create hidden state, and make causality difficult to reconstruct. Prefer independent generation, typed intermediate artifacts, bounded rounds, and explicit aggregation. When conversational coordination is necessary, log every message and enforce a strict turn and token budget.
Security
Authenticate producers, authorize event types, validate schemas, limit payload size, and prevent untrusted output from changing routing or policy. Treat model-generated strings as data, not commands to downstream services.
Source reports used for this guide
These reports are preserved verbatim in the site archive. The guide above is an editorial synthesis and may narrow, qualify, or reorganize claims from the source material.