Kairo-Jinkendo/backend/steering/graph/join_branch.py
Lars 364ad44759
Some checks failed
Test Suite / lint-backend (push) Waiting to run
Test Suite / compose-smoke (push) Waiting to run
Test Suite / k6 /api/health Baseline (push) Blocked by required conditions
Test Suite / playwright-smoke (push) Blocked by required conditions
Deploy Development / deploy (push) Successful in 46s
Test Suite / pytest-backend (push) Has been cancelled
AP1.15b: Designer UX mit Drag-Kanten, Gate anlegen und Info-Panel.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-11 09:26:16 +02:00

37 lines
1.2 KiB
Python

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