Kairo-Jinkendo/backend/steering/methods/registrations/product_milestone_driven.py
Lars d3bf3c36e0
Some checks failed
Deploy Development / deploy (push) Successful in 46s
Test Suite / pytest-backend (push) Failing after 3m17s
Test Suite / k6 /api/health Baseline (push) Has been skipped
Test Suite / playwright-smoke (push) Has been skipped
Test Suite / lint-backend (push) Successful in 2s
Test Suite / compose-smoke (push) Has been skipped
AP2.4: Steuerungselement-Registry und Methoden-Vertrag.
MethodDefinition traegt steering_elements/ui_features/graph_profile; operating-context und FE-Registry ohne Archetyp-Ifs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-25 11:27:59 +02:00

50 lines
1.5 KiB
Python

"""Built-in method: product_milestone_driven — AP1.1 / AP2.4."""
from __future__ import annotations
from steering.graph.profiles import STRICT
from steering.methods.registrations._helpers import ELEM_NEXT, SLICES_PRODUCT
from steering.methods.registry import MethodDefinition, get_method, register_method
_PRODUCT_STEPS = (
"intake",
"method_selection",
"structure_setup",
"planning",
"action_selection",
"assignment",
"waiting",
"result_intake",
"validation",
"review",
"adaptation",
"closure",
)
def register() -> None:
if get_method("product_milestone_driven"):
return
register_method(
MethodDefinition(
key="product_milestone_driven",
version="0.1.0",
label="Produkt / Meilenstein",
description="Meilenstein-orientierte Steuerung für Produkt- und Projektentwicklung",
default_lifecycle_steps=_PRODUCT_STEPS,
next_action_strategy_key="product_milestone_driven",
data_slices=SLICES_PRODUCT,
compatible_archetype_keys=frozenset(
{
"initiative.product",
"initiative.generic",
"initiative.linear_project",
"initiative.program",
}
),
steering_elements=ELEM_NEXT
| frozenset({"gate_fulfillment", "work_cycle_scope"}),
graph_profile=STRICT,
)
)