Kairo-Jinkendo/backend/steering/methods/registrations/ap20_method_stubs.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

114 lines
4.0 KiB
Python

"""AP2.0a — remaining method stubs — AP2.4 steering elements."""
from __future__ import annotations
from steering.graph.profiles import FULFILLMENT, LIGHT, STRICT
from steering.methods.registrations._helpers import (
ELEM_NEXT,
SLICES_AGILE,
SLICES_MATURITY,
SLICES_OM_STANDARD,
SLICES_QUEUE,
SLICES_RECURRING,
register_stub_method,
)
def register() -> None:
register_stub_method(
key="maturity_progression",
label="Reifegrad-Entwicklung",
description="Stufen, Routinen, historische Entwicklung",
next_action_strategy_key="maturity_progression",
data_slices=SLICES_MATURITY,
compatible_archetype_keys=frozenset({"initiative.maturity_journey"}),
steering_elements=ELEM_NEXT
| frozenset({"maturity_stage", "recurring_rhythm"}),
graph_profile=FULFILLMENT,
)
register_stub_method(
key="sequential_dependency",
label="Sequenzielle Abhängigkeit",
description="Graph-Pfade, kritischer Pfad (read model)",
next_action_strategy_key="sequential_dependency",
data_slices=SLICES_OM_STANDARD,
compatible_archetype_keys="*",
steering_elements=ELEM_NEXT
| frozenset({"critical_path", "gate_fulfillment"}),
ui_features=frozenset({"criticalPathControl"}),
graph_profile=STRICT,
)
register_stub_method(
key="recurring_control",
label="Rhythmus-Steuerung",
description="Dauerprogramm, fällig/überfällig, Abweichungen",
next_action_strategy_key="recurring_control",
data_slices=SLICES_RECURRING,
compatible_archetype_keys=frozenset({"initiative.recurring_program"}),
steering_elements=ELEM_NEXT | frozenset({"recurring_rhythm"}),
graph_profile=FULFILLMENT,
)
register_stub_method(
key="queue_pull",
label="Inbox / Queue",
description="Pull oder Empfehlung aus Queue",
next_action_strategy_key="queue_pull",
data_slices=SLICES_QUEUE,
compatible_archetype_keys="*",
steering_elements=ELEM_NEXT | frozenset({"queue_inbox"}),
graph_profile=LIGHT,
)
register_stub_method(
key="agile_iteration",
label="Iterations-Zeitbox",
description="Sprint/work_cycle Profil auf Product/Programm",
next_action_strategy_key="agile_iteration",
data_slices=SLICES_AGILE,
compatible_archetype_keys="*",
steering_elements=ELEM_NEXT | frozenset({"work_cycle_scope"}),
ui_features=frozenset({"steeringSnapshotOnWorkSprint"}),
graph_profile=STRICT,
method_role="modifier",
composes_with=frozenset({"continuous_product", "program_delivery"}),
)
register_stub_method(
key="dispute_procedure",
label="Verfahren / Konflikt",
description="Reaktive Steuerung, Fristen, Entscheidungen",
next_action_strategy_key="default",
data_slices=frozenset(
{
"actions",
"blockers",
"evidence",
"decisions",
"reviews",
"steering_methods",
}
),
compatible_archetype_keys=frozenset({"initiative.dispute_case"}),
steering_elements=ELEM_NEXT | frozenset({"dispute_timeline"}),
graph_profile=LIGHT,
)
register_stub_method(
key="chapter_based_progression",
label="Kapitel-Entwicklung",
description="Inhaltliche Progression, Reviews",
next_action_strategy_key="default",
data_slices=frozenset(
{
"actions",
"roadmap",
"blockers",
"evidence",
"decisions",
"reviews",
"steering_methods",
}
),
compatible_archetype_keys=frozenset({"initiative.content_project"}),
steering_elements=ELEM_NEXT
| frozenset({"chapter_progression", "gate_fulfillment"}),
graph_profile=FULFILLMENT,
)