Skip to content

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.