Boundary models¶
All library boundary models are strict, frozen Pydantic v2 models that forbid
extra fields. Money uses Decimal and requires an explicit uppercase
three-letter currency. It preserves three-decimal and other valid precisions;
the host validates the permitted minor units for its currency or payment rail.
models ¶
Experimental, framework-neutral action boundary models.
SafeReference
module-attribute
¶
SafeReference = Annotated[str, StringConstraints(min_length=1, max_length=255), AfterValidator(_validate_safe_reference)]
CurrencyCode
module-attribute
¶
ActionName
module-attribute
¶
ActionNamespace
module-attribute
¶
ActionNamespace = Annotated[str, StringConstraints(pattern='^[a-z][a-z0-9_]*(?:\\.[a-z][a-z0-9_]*)+$')]
Participant
module-attribute
¶
Participant = Annotated[RequestingPrincipal | ProposingAgent | ConfirmingAuthority | GovernedExecutor | AuthoritativeTarget | EvidenceConsumer, Field(discriminator='kind')]
ExperimentalModel ¶
Bases: BaseModel
Strict, immutable base for the experimental public contract.
model_config
class-attribute
instance-attribute
¶
Money ¶
Bases: ExperimentalModel
A monetary amount whose currency is explicit and precision is host-validated.
ActionType ¶
LifecycleStatus ¶
RequestingPrincipal ¶
Bases: ExperimentalModel
kind
class-attribute
instance-attribute
¶
ProposingAgent ¶
Bases: ExperimentalModel
ConfirmingAuthority ¶
Bases: ExperimentalModel
kind
class-attribute
instance-attribute
¶
GovernedExecutor ¶
Bases: ExperimentalModel
AuthoritativeTarget ¶
Bases: ExperimentalModel
kind
class-attribute
instance-attribute
¶
EvidenceConsumer ¶
Bases: ExperimentalModel