mixle.causal moduleΒΆ

Canonical, dependency-free causal semantics for cross-project science contracts.

class AssumptionStatus(*values)[source]

Bases: StrEnum

class CausalAssumption(id: 'str', kind: 'str', statement: 'str', status: 'AssumptionStatus' = <AssumptionStatus.ASSERTED: 'asserted'>, testable: 'bool' = False, evidence_refs: 'tuple[str, ...]'=())[source]

Bases: object

Parameters:
  • id (str)

  • kind (str)

  • statement (str)

  • status (AssumptionStatus)

  • testable (bool)

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

exception CausalContractError[source]

Bases: ValueError

Raised when a causal record would overstate what is identified.

class CausalEvidenceKind(*values)[source]

Bases: StrEnum

class CounterfactualQuery(id: 'str', estimand_ref: 'str', intervention: 'InterventionSpec', evidence_kind: 'CausalEvidenceKind' = <CausalEvidenceKind.INTERVENTION: 'intervention'>)[source]

Bases: object

Parameters:
  • id (str)

  • estimand_ref (str)

  • intervention (InterventionSpec)

  • evidence_kind (CausalEvidenceKind)

class Estimand(id: 'str', treatment: 'str', outcome: 'str', target_population: 'str', contrast: 'str', time_horizon: 'str | None' = None, schema_version: 'str' = 'mixle.causal/v1')[source]

Bases: object

Parameters:
  • id (str)

  • treatment (str)

  • outcome (str)

  • target_population (str)

  • contrast (str)

  • time_horizon (str | None)

  • schema_version (str)

class IdentificationResult(estimand_ref: 'str', status: 'IdentificationStatus', assumptions: 'tuple[CausalAssumption, ...]', evidence_kind: 'CausalEvidenceKind', identifying_expression: 'str | None' = None, lower_bound: 'float | None' = None, upper_bound: 'float | None' = None, diagnostics: 'tuple[str, ...]' = (), schema_version: 'str' = 'mixle.causal/v1')[source]

Bases: object

Parameters:
  • estimand_ref (str)

  • status (IdentificationStatus)

  • assumptions (tuple[CausalAssumption, ...])

  • evidence_kind (CausalEvidenceKind)

  • identifying_expression (str | None)

  • lower_bound (float | None)

  • upper_bound (float | None)

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

  • schema_version (str)

class IdentificationStatus(*values)[source]

Bases: StrEnum

class InterventionSpec(id: 'str', treatment: 'str', value: 'float', minimum: 'float', maximum: 'float', authority_ref: 'str | None', safety_constraints: 'tuple[str, ...]' = ())[source]

Bases: object

Parameters: