fix(modes): only activate peripherals and show individual seat actions

This commit is contained in:
Miayui
2026-09-22 13:34:29 +08:00
parent 6b9ee0f349
commit 2b365b3922
21 changed files with 176 additions and 215 deletions
+2 -6
View File
@@ -695,9 +695,7 @@ def test_romantic_template_always_adds_authorized_decorative_lights() -> None:
)
assert _peripheral_refs(observed[0]) == [
"ir:flash-open-000000000001",
"ir:flash-red-0000000000002",
"ir:strip-open-000000000001",
"ir:strip-red-0000000000002",
"ir:ambient-open-0000000001",
]
assert "ir:flash-close-00000000003" not in _peripheral_refs(observed[0])
@@ -742,9 +740,7 @@ def test_romantic_cinema_template_keeps_native_base_and_adds_lights_without_mode
assert native_requests == template["plan"]["requests"]
assert _peripheral_refs(observed[0]) == [
"ir:flash-open-000000000001",
"ir:flash-red-0000000000002",
"ir:strip-open-000000000001",
"ir:strip-red-0000000000002",
"ir:ambient-open-0000000001",
]
@@ -1220,8 +1216,8 @@ def test_unknown_mode_uses_one_structured_turn_then_local_dry_run() -> None:
"required_refs": [],
"selection_goal": (
"Include as many semantically relevant scene-safe peripheral devices "
"as are useful; normally choose activation plus at most one stable "
"state action per device."
"as are useful; choose only one authorized power-on "
"action per device, without color or effect settings."
),
"required_reason": "No peripheral action is mandatory for this name.",
}