Source code for dxaws_accounts.planner

from __future__ import annotations

from typing import Any

from .providers.base import ProviderBase


[docs] def plan(*, provider: ProviderBase, desired: Any) -> Any: """Compute a plan to converge current state to desired state. Planners are responsible for *deciding what should change*. They must not perform side effects. Responsibilities: - read current state via the provider (read-only operations) - compare current state to desired state - produce a deterministic, explicit plan describing required actions The returned plan should be: - stable (same inputs -> same plan) - inspectable (easy to log or debug) - consumable by the executor This template implementation performs no diffing and returns the desired state directly as the plan. """ # Template default: identity plan (no diffing yet). return desired