cadrumo.core.precondition_action_invariants module

Canonical factual evidence and outcome invariants for operator actions.

class PreconditionEvidence(**data)[source]

Bases: BaseModel

Immutable factual evidence for one evaluated precondition.

Parameters:

data (Any)

condition_id: NamespacedId
evidence_id: NamespacedId
provenance: ActionEvidenceProvenance
values: Mapping[str, str | int | bool | Decimal]
class PreconditionActionIdentity(**data)[source]

Bases: BaseModel

Stable action identity shared by application and wire projections.

Parameters:

data (Any)

action_id: NamespacedId
class PreconditionOutcomeInvariant(**data)[source]

Bases: BaseModel, Generic

Canonical consistency rules for an actionable or closed precondition outcome.

Parameters:
  • failed_condition_id (Annotated[str, StringConstraints(strip_whitespace=None, to_upper=None, to_lower=None, strict=None, min_length=3, max_length=160, pattern=^[a-z][a-z0-9_]*(?:\.[a-z][a-z0-9_]*)+$, ascii_only=None)])

  • evidence (tuple[EvidenceT, ...])

  • action (ActionT | None)

  • argument_bindings (tuple[ArgumentT, ...])

  • missing_argument_names (tuple[str, ...])

  • conditionality (ActionConditionality)

  • no_recovery_outcome (NoRecoveryOutcome | None)

failed_condition_id: NamespacedId
evidence: tuple[EvidenceT, ...]
action: ActionT | None
argument_bindings: tuple[ArgumentT, ...]
missing_argument_names: tuple[str, ...]
conditionality: ActionConditionality
no_recovery_outcome: NoRecoveryOutcome | None