Kairo-Jinkendo/backend/steering/graph/join_branch.py

37 lines
1.2 KiB
Python
Raw Normal View History

"""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