feat(web): add IwoooS decision runway
This commit is contained in:
@@ -616,6 +616,7 @@ def validate(root: Path) -> None:
|
||||
"s2_149_iwooos_topology_node_drilldown",
|
||||
"s2_150_iwooos_topology_path_explorer",
|
||||
"s2_151_iwooos_topology_intelligence_deck",
|
||||
"s2_152_iwooos_decision_runway",
|
||||
]
|
||||
assert_equal(
|
||||
"progress_delta_ledger.delta_ids",
|
||||
@@ -1663,6 +1664,53 @@ def validate(root: Path) -> None:
|
||||
iwooos_projection["summary"]["topology_intelligence_runtime_gate_count"],
|
||||
0,
|
||||
)
|
||||
assert_true(
|
||||
"iwooos_projection.summary.decision_runway_first_layer",
|
||||
iwooos_projection["summary"]["decision_runway_first_layer"],
|
||||
)
|
||||
assert_equal(
|
||||
"iwooos_projection.summary.decision_runway_step_count",
|
||||
iwooos_projection["summary"]["decision_runway_step_count"],
|
||||
5,
|
||||
)
|
||||
assert_equal(
|
||||
"iwooos_projection.summary.decision_runway_default_step",
|
||||
iwooos_projection["summary"]["decision_runway_default_step"],
|
||||
"ownerEvidence",
|
||||
)
|
||||
assert_equal(
|
||||
"iwooos_projection.summary.decision_runway_dependency_count",
|
||||
iwooos_projection["summary"]["decision_runway_dependency_count"],
|
||||
6,
|
||||
)
|
||||
assert_equal(
|
||||
"iwooos_projection.summary.decision_runway_boundary_signal_count",
|
||||
iwooos_projection["summary"]["decision_runway_boundary_signal_count"],
|
||||
4,
|
||||
)
|
||||
assert_true(
|
||||
"iwooos_projection.summary.decision_runway_above_gate_radar",
|
||||
iwooos_projection["summary"]["decision_runway_above_gate_radar"],
|
||||
)
|
||||
assert_true(
|
||||
"iwooos_projection.summary.decision_runway_interactive_step_allowed",
|
||||
iwooos_projection["summary"]["decision_runway_interactive_step_allowed"],
|
||||
)
|
||||
assert_equal(
|
||||
"iwooos_projection.summary.decision_runway_runtime_gate_count",
|
||||
iwooos_projection["summary"]["decision_runway_runtime_gate_count"],
|
||||
0,
|
||||
)
|
||||
assert_equal(
|
||||
"iwooos_projection.summary.decision_runway_owner_response_received_count",
|
||||
iwooos_projection["summary"]["decision_runway_owner_response_received_count"],
|
||||
0,
|
||||
)
|
||||
assert_equal(
|
||||
"iwooos_projection.summary.decision_runway_owner_response_accepted_count",
|
||||
iwooos_projection["summary"]["decision_runway_owner_response_accepted_count"],
|
||||
0,
|
||||
)
|
||||
assert_true(
|
||||
"iwooos_projection.summary.gate_radar_first_layer",
|
||||
iwooos_projection["summary"]["gate_radar_first_layer"],
|
||||
@@ -12159,6 +12207,73 @@ def validate(root: Path) -> None:
|
||||
iwooos_projection_page,
|
||||
text,
|
||||
)
|
||||
for text in [
|
||||
'data-testid="iwooos-decision-runway-board"',
|
||||
'data-testid="iwooos-decision-runway-progress-rail"',
|
||||
'data-testid="iwooos-decision-runway-selector"',
|
||||
'data-testid="iwooos-decision-runway-active-panel"',
|
||||
'data-testid="iwooos-decision-runway-dependency-grid"',
|
||||
'data-testid="iwooos-decision-runway-boundary-strip"',
|
||||
'data-testid="iwooos-decision-runway-boundaries"',
|
||||
"IwoooSDecisionRunwayBoard",
|
||||
"IwoooSDecisionRunwayStepKey",
|
||||
"IwoooSDecisionRunwayStep",
|
||||
"IwoooSDecisionRunwayDependency",
|
||||
"IwoooSDecisionRunwayBoundarySignal",
|
||||
"iwooosDecisionRunwaySteps",
|
||||
"iwooosDecisionRunwayDependencies",
|
||||
"iwooosDecisionRunwayBoundarySignals",
|
||||
"iwooosDecisionRunwayBoundaries",
|
||||
"iwooos-decision-runway-grid",
|
||||
]:
|
||||
assert_text_contains(
|
||||
"iwooos_page.decision_runway",
|
||||
iwooos_projection_page,
|
||||
text,
|
||||
)
|
||||
assert_text_before(
|
||||
"iwooos_page.topology_atlas_before_decision_runway",
|
||||
iwooos_projection_page,
|
||||
"<IwoooSTopologyAtlasBoard />",
|
||||
"<IwoooSDecisionRunwayBoard />",
|
||||
)
|
||||
assert_text_before(
|
||||
"iwooos_page.decision_runway_before_gate_radar",
|
||||
iwooos_projection_page,
|
||||
"<IwoooSDecisionRunwayBoard />",
|
||||
"<IwoooSGateRadarBoard />",
|
||||
)
|
||||
assert_text_before(
|
||||
"iwooos_page.decision_runway_before_command_map",
|
||||
iwooos_projection_page,
|
||||
"<IwoooSDecisionRunwayBoard />",
|
||||
"<IwoooSCommandMapBoard />",
|
||||
)
|
||||
for text in [
|
||||
"iwooos_decision_runway_first_layer=true",
|
||||
"iwooos_decision_runway_step_count=5",
|
||||
"iwooos_decision_runway_default_step=ownerEvidence",
|
||||
"iwooos_decision_runway_dependency_count=6",
|
||||
"iwooos_decision_runway_boundary_signal_count=4",
|
||||
"iwooos_decision_runway_above_gate_radar=true",
|
||||
"iwooos_decision_runway_interactive_step_allowed=true",
|
||||
"iwooos_decision_runway_execution_action_buttons_allowed=false",
|
||||
"iwooos_decision_runway_runtime_gate_count=0",
|
||||
"iwooos_decision_runway_owner_response_received_count=0",
|
||||
"iwooos_decision_runway_owner_response_accepted_count=0",
|
||||
"iwooos_decision_runway_scan_authorized=false",
|
||||
"iwooos_decision_runway_host_change_authorized=false",
|
||||
"iwooos_decision_runway_source_control_mutation_authorized=false",
|
||||
"runtime_execution_authorized=false",
|
||||
"active_runtime_gate_count=0",
|
||||
"action_buttons_allowed=false",
|
||||
"not_authorization=true",
|
||||
]:
|
||||
assert_text_contains(
|
||||
"iwooos_page.decision_runway_boundary",
|
||||
iwooos_projection_page,
|
||||
text,
|
||||
)
|
||||
for text in [
|
||||
'data-testid="iwooos-gate-radar-board"',
|
||||
'data-testid="iwooos-gate-radar-canvas"',
|
||||
@@ -12761,6 +12876,133 @@ def validate(root: Path) -> None:
|
||||
f"iwooos_projection.topology_intelligence_deck.{insight_id}.not_authorization",
|
||||
item["not_authorization"],
|
||||
)
|
||||
expected_decision_runway_step_ids = [
|
||||
"ownerEvidence",
|
||||
"reviewerAcceptance",
|
||||
"hostWindow",
|
||||
"githubPrimary",
|
||||
"runtimeGate",
|
||||
]
|
||||
decision_runway_steps = iwooos_projection["decision_runway_steps"]
|
||||
assert_equal(
|
||||
"iwooos_projection.decision_runway_steps.ids",
|
||||
[item["step_id"] for item in decision_runway_steps],
|
||||
expected_decision_runway_step_ids,
|
||||
)
|
||||
assert_equal(
|
||||
"iwooos_projection.decision_runway_steps.display_order",
|
||||
[item["display_order"] for item in decision_runway_steps],
|
||||
list(range(1, len(expected_decision_runway_step_ids) + 1)),
|
||||
)
|
||||
assert_equal(
|
||||
"iwooos_projection.decision_runway_steps.progress",
|
||||
[item["progress"] for item in decision_runway_steps],
|
||||
[18, 12, 35, 22, 0],
|
||||
)
|
||||
for item in decision_runway_steps:
|
||||
step_id = item["step_id"]
|
||||
assert_equal(
|
||||
f"iwooos_projection.decision_runway_steps.{step_id}.display_mode",
|
||||
item["display_mode"],
|
||||
"first_screen_decision_runway",
|
||||
)
|
||||
assert_true(
|
||||
f"iwooos_projection.decision_runway_steps.{step_id}.interactive_step_allowed",
|
||||
item["interactive_step_allowed"],
|
||||
)
|
||||
assert_false(
|
||||
f"iwooos_projection.decision_runway_steps.{step_id}.execution_action_button_allowed",
|
||||
item["execution_action_button_allowed"],
|
||||
)
|
||||
assert_false(
|
||||
f"iwooos_projection.decision_runway_steps.{step_id}.scan_authorized",
|
||||
item["scan_authorized"],
|
||||
)
|
||||
assert_false(
|
||||
f"iwooos_projection.decision_runway_steps.{step_id}.host_change_authorized",
|
||||
item["host_change_authorized"],
|
||||
)
|
||||
assert_false(
|
||||
f"iwooos_projection.decision_runway_steps.{step_id}.source_control_mutation_authorized",
|
||||
item["source_control_mutation_authorized"],
|
||||
)
|
||||
assert_false(
|
||||
f"iwooos_projection.decision_runway_steps.{step_id}.runtime_gate_opened",
|
||||
item["runtime_gate_opened"],
|
||||
)
|
||||
assert_false(
|
||||
f"iwooos_projection.decision_runway_steps.{step_id}.runtime_execution_authorized",
|
||||
item["runtime_execution_authorized"],
|
||||
)
|
||||
assert_true(
|
||||
f"iwooos_projection.decision_runway_steps.{step_id}.not_authorization",
|
||||
item["not_authorization"],
|
||||
)
|
||||
expected_decision_runway_dependency_ids = [
|
||||
"iwooos",
|
||||
"awooop",
|
||||
"vibework",
|
||||
"kali",
|
||||
"devHosts",
|
||||
"monitoring",
|
||||
]
|
||||
decision_runway_dependencies = iwooos_projection["decision_runway_dependencies"]
|
||||
assert_equal(
|
||||
"iwooos_projection.decision_runway_dependencies.ids",
|
||||
[item["dependency_id"] for item in decision_runway_dependencies],
|
||||
expected_decision_runway_dependency_ids,
|
||||
)
|
||||
assert_equal(
|
||||
"iwooos_projection.decision_runway_dependencies.display_order",
|
||||
[item["display_order"] for item in decision_runway_dependencies],
|
||||
list(range(1, len(expected_decision_runway_dependency_ids) + 1)),
|
||||
)
|
||||
for item in decision_runway_dependencies:
|
||||
dependency_id = item["dependency_id"]
|
||||
assert_equal(
|
||||
f"iwooos_projection.decision_runway_dependencies.{dependency_id}.display_mode",
|
||||
item["display_mode"],
|
||||
"first_screen_decision_runway_dependency",
|
||||
)
|
||||
assert_false(
|
||||
f"iwooos_projection.decision_runway_dependencies.{dependency_id}.runtime_delta",
|
||||
item["runtime_delta"],
|
||||
)
|
||||
assert_true(
|
||||
f"iwooos_projection.decision_runway_dependencies.{dependency_id}.not_authorization",
|
||||
item["not_authorization"],
|
||||
)
|
||||
expected_decision_runway_boundary_signal_ids = [
|
||||
"scan",
|
||||
"hostChange",
|
||||
"sourceMutation",
|
||||
"runtimeExecution",
|
||||
]
|
||||
decision_runway_boundary_signals = iwooos_projection["decision_runway_boundary_signals"]
|
||||
assert_equal(
|
||||
"iwooos_projection.decision_runway_boundary_signals.ids",
|
||||
[item["signal_id"] for item in decision_runway_boundary_signals],
|
||||
expected_decision_runway_boundary_signal_ids,
|
||||
)
|
||||
assert_equal(
|
||||
"iwooos_projection.decision_runway_boundary_signals.display_order",
|
||||
[item["display_order"] for item in decision_runway_boundary_signals],
|
||||
list(range(1, len(expected_decision_runway_boundary_signal_ids) + 1)),
|
||||
)
|
||||
for item in decision_runway_boundary_signals:
|
||||
signal_id = item["signal_id"]
|
||||
assert_false(
|
||||
f"iwooos_projection.decision_runway_boundary_signals.{signal_id}.authorized",
|
||||
item["authorized"],
|
||||
)
|
||||
assert_false(
|
||||
f"iwooos_projection.decision_runway_boundary_signals.{signal_id}.runtime_gate_opened",
|
||||
item["runtime_gate_opened"],
|
||||
)
|
||||
assert_true(
|
||||
f"iwooos_projection.decision_runway_boundary_signals.{signal_id}.not_authorization",
|
||||
item["not_authorization"],
|
||||
)
|
||||
expected_gate_radar_lane_ids = [
|
||||
"visible",
|
||||
"blocker",
|
||||
@@ -13342,6 +13584,115 @@ def validate(root: Path) -> None:
|
||||
list(web_messages_en["iwooos"]["topologyAtlas"]["charts"][key].keys()),
|
||||
field,
|
||||
)
|
||||
assert_contains(
|
||||
"web_messages.zh-TW.iwooos.decisionRunway",
|
||||
list(web_messages_zh["iwooos"].keys()),
|
||||
"decisionRunway",
|
||||
)
|
||||
assert_contains(
|
||||
"web_messages.en.iwooos.decisionRunway",
|
||||
list(web_messages_en["iwooos"].keys()),
|
||||
"decisionRunway",
|
||||
)
|
||||
for key in [
|
||||
"eyebrow",
|
||||
"title",
|
||||
"subtitle",
|
||||
"railLabel",
|
||||
"selectorLabel",
|
||||
"fields",
|
||||
"boundarySignals",
|
||||
"steps",
|
||||
"dependencies",
|
||||
"boundaryTitle",
|
||||
"boundaryIntro",
|
||||
]:
|
||||
assert_contains(
|
||||
"web_messages.zh-TW.iwooos.decisionRunway.keys",
|
||||
list(web_messages_zh["iwooos"]["decisionRunway"].keys()),
|
||||
key,
|
||||
)
|
||||
assert_contains(
|
||||
"web_messages.en.iwooos.decisionRunway.keys",
|
||||
list(web_messages_en["iwooos"]["decisionRunway"].keys()),
|
||||
key,
|
||||
)
|
||||
for key in ["evidence", "next", "blocked"]:
|
||||
assert_contains(
|
||||
"web_messages.zh-TW.iwooos.decisionRunway.fields",
|
||||
list(web_messages_zh["iwooos"]["decisionRunway"]["fields"].keys()),
|
||||
key,
|
||||
)
|
||||
assert_contains(
|
||||
"web_messages.en.iwooos.decisionRunway.fields",
|
||||
list(web_messages_en["iwooos"]["decisionRunway"]["fields"].keys()),
|
||||
key,
|
||||
)
|
||||
for key in expected_decision_runway_boundary_signal_ids:
|
||||
assert_contains(
|
||||
"web_messages.zh-TW.iwooos.decisionRunway.boundarySignals",
|
||||
list(web_messages_zh["iwooos"]["decisionRunway"]["boundarySignals"].keys()),
|
||||
key,
|
||||
)
|
||||
assert_contains(
|
||||
"web_messages.en.iwooos.decisionRunway.boundarySignals",
|
||||
list(web_messages_en["iwooos"]["decisionRunway"]["boundarySignals"].keys()),
|
||||
key,
|
||||
)
|
||||
assert_contains(
|
||||
f"web_messages.zh-TW.iwooos.decisionRunway.boundarySignals.{key}",
|
||||
list(web_messages_zh["iwooos"]["decisionRunway"]["boundarySignals"][key].keys()),
|
||||
"label",
|
||||
)
|
||||
assert_contains(
|
||||
f"web_messages.en.iwooos.decisionRunway.boundarySignals.{key}",
|
||||
list(web_messages_en["iwooos"]["decisionRunway"]["boundarySignals"][key].keys()),
|
||||
"label",
|
||||
)
|
||||
for key in expected_decision_runway_step_ids:
|
||||
assert_contains(
|
||||
"web_messages.zh-TW.iwooos.decisionRunway.steps",
|
||||
list(web_messages_zh["iwooos"]["decisionRunway"]["steps"].keys()),
|
||||
key,
|
||||
)
|
||||
assert_contains(
|
||||
"web_messages.en.iwooos.decisionRunway.steps",
|
||||
list(web_messages_en["iwooos"]["decisionRunway"]["steps"].keys()),
|
||||
key,
|
||||
)
|
||||
for field in ["short", "title", "body", "evidence", "next", "blocked"]:
|
||||
assert_contains(
|
||||
f"web_messages.zh-TW.iwooos.decisionRunway.steps.{key}",
|
||||
list(web_messages_zh["iwooos"]["decisionRunway"]["steps"][key].keys()),
|
||||
field,
|
||||
)
|
||||
assert_contains(
|
||||
f"web_messages.en.iwooos.decisionRunway.steps.{key}",
|
||||
list(web_messages_en["iwooos"]["decisionRunway"]["steps"][key].keys()),
|
||||
field,
|
||||
)
|
||||
for key in expected_decision_runway_dependency_ids:
|
||||
assert_contains(
|
||||
"web_messages.zh-TW.iwooos.decisionRunway.dependencies",
|
||||
list(web_messages_zh["iwooos"]["decisionRunway"]["dependencies"].keys()),
|
||||
key,
|
||||
)
|
||||
assert_contains(
|
||||
"web_messages.en.iwooos.decisionRunway.dependencies",
|
||||
list(web_messages_en["iwooos"]["decisionRunway"]["dependencies"].keys()),
|
||||
key,
|
||||
)
|
||||
for field in ["title", "body"]:
|
||||
assert_contains(
|
||||
f"web_messages.zh-TW.iwooos.decisionRunway.dependencies.{key}",
|
||||
list(web_messages_zh["iwooos"]["decisionRunway"]["dependencies"][key].keys()),
|
||||
field,
|
||||
)
|
||||
assert_contains(
|
||||
f"web_messages.en.iwooos.decisionRunway.dependencies.{key}",
|
||||
list(web_messages_en["iwooos"]["decisionRunway"]["dependencies"][key].keys()),
|
||||
field,
|
||||
)
|
||||
assert_contains(
|
||||
"web_messages.zh-TW.iwooos.gateRadar",
|
||||
list(web_messages_zh["iwooos"].keys()),
|
||||
|
||||
Reference in New Issue
Block a user