Models
smrititantra.models
Public value objects — the wire shapes shared by all three surfaces.
Everything here is a frozen pydantic model: library callers, the HTTP layer,
and the MCP tools all speak these exact shapes, so there is one place where a
field's meaning is defined. Refs are typed strings with a scheme prefix
(concept://, asset://, field://, exemplar://, content://,
artifact://, dataset://).
AgentProfile
Bases: _Frozen
A registered agent's scope bundle (see tenancy for resolution rules).
BindingOut
Bases: _Frozen
An executable realization: compose from these, never invent formulas.
CueIn
Bases: _Frozen
An explicit cue supplied by the caller (agent intent, session focus).
EpisodeDigest
Bases: _Frozen
What the agent sends at session end: the distillate, not the transcript.
EventNote
Bases: _Frozen
A temporal caveat intersecting the question's window.
ExecResult
Bases: _Frozen
Preview + a dataset reference. The full result never enters the memory.
GapCard
Bases: _Frozen
A question the memory wants relayed to a human (etiquette applies).
Pack
Bases: _Frozen
The grounding pack: everything needed to answer, in one handover.
PackItem
Bases: _Frozen
One grounding item. why explains the selection; reuse it as citations.
Principal
Bases: _Frozen
Who is asking. Resolved by the auth layer — never from request bodies.
Agent principals hydrate capabilities/clearance/scope/sources
from their registered profile; under on_behalf_of the effective rights
are the intersection of agent and user on every dimension (computed in the
tenancy layer, not here — this is a value object).
RouterDecision
Bases: _Frozen
Where one candidate memory actually landed — relay this honestly.
SessionCtx
Bases: _Frozen
Conversation continuity: thread the previous pack's context back in.