Files
FusionAGI/fusionagi/schemas/world_model.py

30 lines
955 B
Python
Raw Normal View History

"""World model schemas: state transitions, rollouts, uncertainty for AGI."""
from datetime import datetime, timezone
from typing import Any
from pydantic import BaseModel, Field
def _utc_now() -> datetime:
return datetime.now(timezone.utc)
class StateTransition(BaseModel):
"""Causal transition: action -> resulting state."""
from_state: dict[str, Any] = Field(default_factory=dict)
action: str = Field(default="")
action_args: dict[str, Any] = Field(default_factory=dict)
to_state: dict[str, Any] = Field(default_factory=dict)
confidence: float = Field(default=1.0, ge=0.0, le=1.0)
class UncertaintyInfo(BaseModel):
"""Explicit uncertainty: confidence, risk, expected value."""
confidence: float = Field(default=1.0, ge=0.0, le=1.0)
risk_level: str = Field(default="low", description="e.g. low, medium, high")
expected_value: float | None = Field(default=None)
rationale: str = Field(default="")