"""Join- und Branch-Topologie — Reservierung für AP1.15c+. Heute blockiert `roadmap_engine.compute_initiative_graph_state` nur über `requires` und `blocks`. `parallel_group` und `optional_branch` sind im Schema vorhanden, werden aber noch nicht für blocked/ready ausgewertet. Erweiterungspunkt: neue Auswertung hier kapseln, Engine ruft dann `apply_topology_to_blocked_map(...)` auf — ohne Router- oder UI-Sonderlogik. Siehe ADP_Roadmap_Graph_and_Gate_Checklist_v0.1.md § Join/Branch deferred. """ from __future__ import annotations from typing import Any # Im Schema/API vorhanden; Engine-Logik folgt in AP1.15c DEFERRED_TOPOLOGY_EDGE_KINDS = frozenset({"parallel_group", "optional_branch"}) # Designer AP1.15c; OR-Pfade nur nach validiertem Use Case + PO-Freigabe PLANNED_TOPOLOGY_PACKAGES = ("AP1.15c",) def apply_deferred_topology( *, dependencies: list[dict[str, Any]], item_by_id: dict[str, dict[str, Any]], blocked_by_map: dict[str, list[str]], ) -> dict[str, list[str]]: """ Erweitert blocked_by_map um parallel_group / optional_branch (AP1.15c). Aktuell: No-Op — gibt blocked_by_map unverändert zurück. """ _ = (dependencies, item_by_id) return blocked_by_map