GoalBuildStep

Source:

Local role: Recursive declarative node used to build goal hierarchies.

Big-picture role: Input specification for hierarchy builders that construct Goal trees without introducing domain-specific teleology.

Inheritance:

  • dataclass

Fields:

  • kind: str (final or intermediate)
  • actor_id: str
  • target_condition: dict
  • horizon: dict
  • priority: float
  • status: str
  • children: list[GoalBuildStep]
  • metadata: dict

Example:

from ometeotl_core.model.goals import GoalBuildStep

# Describe a two-level goal hierarchy declaratively before materializing it
root_step = GoalBuildStep(
    kind="final",
    actor_id="actor-1",
    target_condition={"arrived": True},
    horizon={"window": 10},
    priority=1.0,
    status="active",
    children=[
        GoalBuildStep(
            kind="intermediate",
            actor_id="actor-1",
            target_condition={"en_route": True},
            priority=0.8,
            status="active",
        ),
    ],
)

See also:

Ometeotl

A Python library to build complex multi-agent simulations, wargames, and AI-driven strategies