Files
defiQUG c052b07662
Some checks failed
Tests / test (3.10) (push) Has been cancelled
Tests / test (3.11) (push) Has been cancelled
Tests / test (3.12) (push) Has been cancelled
Tests / lint (push) Has been cancelled
Tests / docker (push) Has been cancelled
Initial commit: add .gitignore and README
2026-02-09 21:51:42 -08:00

42 lines
1.4 KiB
Python

"""Deterministic Decision Logic Tree schema: node, contract, families."""
from enum import Enum
from typing import Any
from pydantic import BaseModel, Field
class DLTFamily(str, Enum):
"""DLT families: intent, geometry, physics, process, machine."""
INT = "DLT-INT"
GEO = "DLT-GEO"
PHY = "DLT-PHY"
PROC = "DLT-PROC"
MACH = "DLT-MACH"
class DLTNode(BaseModel):
"""Single node in a DLT: deterministic, evidence-backed, fail-closed."""
node_id: str = Field(..., description="Unique node id within tree")
family: DLTFamily = Field(...)
condition: str = Field(..., description="Deterministic condition expression or ref")
evidence_ref: str | None = Field(default=None)
fail_closed: bool = Field(default=True, description="On failure, reject (fail closed)")
children: list[str] = Field(default_factory=list, description="Child node ids")
metadata: dict[str, Any] = Field(default_factory=dict)
class DLTContract(BaseModel):
"""Immutable, versioned DLT contract."""
contract_id: str = Field(..., description="Contract identifier")
version: int = Field(default=1)
family: DLTFamily = Field(...)
root_id: str = Field(..., description="Root node id")
nodes: dict[str, DLTNode] = Field(default_factory=dict)
metadata: dict[str, Any] = Field(default_factory=dict)
model_config = {"frozen": False}