type whose payload is schema-validated at
write time, so consumers can rely on the shape instead of parsing prose. Every
tool takes room_id; ? marks optional arguments.
A
ContextEntry: { id, type, author, timestamp, summary, consuming_agents[], payload, version }.
Payload schemas by type
Thepayload must match its type or the write is rejected with the offending
field path. Extra fields are always allowed, so you can add detail without a
server change.
Each endpoint in an
api_contract is an object, not a string:
Notes
- Versioning:
write_contextstarts at1.0.update_contextkeeps the sameidandtypeand bumps the minor version (1.0→1.1). Use it when a contract evolves instead of writing a second entry; thenget_context_historyanddiff_contextshow what changed. - Notifications: if
consuming_agentsis non-empty,write_contextauto-posts acontext_availableevent andupdate_contextposts acontext_updatedevent, so consumers don’t poll. - Limits:
payload≤ 64 KB,summary≤ 4000 chars, ≤ 50 consuming agents.