wip(k1): checkpoint connection recovery rewrite
Capture the current unreleased K1 connection, recovery, lifecycle, viewer, and test work as a single known-bad baseline for subsequent fixes.
This commit is contained in:
@@ -104,8 +104,13 @@ def test_xgrids_frontend_uses_semantic_acquisition_actions_and_stable_identity()
|
||||
assert hook_source.index("xgridsK1Api.prepareAcquisition") < hook_source.index(
|
||||
"xgridsK1Api.startAcquisition"
|
||||
)
|
||||
assert "isSoftwareCommandedAcquisition(state)" in hook_source
|
||||
assert '? "graceful" : "capture-only"' in hook_source
|
||||
assert "isSoftwareCommandedAcquisition(currentState)" in hook_source
|
||||
assert hook_source.index("isSoftwareCommandedAcquisition(currentState)") < (
|
||||
hook_source.index('mode: "graceful"')
|
||||
)
|
||||
assert hook_source.index('mode: "graceful"') < hook_source.index(
|
||||
'mode: "capture-only"'
|
||||
)
|
||||
assert "state.device_ref" in runtime_source
|
||||
assert "instanceId: deviceRef.device_id" in runtime_source
|
||||
assert "acquisition?.acquisition_id" in runtime_source
|
||||
@@ -113,7 +118,7 @@ def test_xgrids_frontend_uses_semantic_acquisition_actions_and_stable_identity()
|
||||
assert 'id: "xgrids-k1-rerun-live"' not in runtime_source
|
||||
|
||||
|
||||
def test_xgrids_live_copy_exposes_one_response_gated_launch_intent() -> None:
|
||||
def test_xgrids_live_copy_exposes_response_gated_prepare_and_one_physical_start() -> None:
|
||||
repository_root = Path(__file__).resolve().parents[1]
|
||||
connection_source = (
|
||||
repository_root
|
||||
@@ -125,16 +130,26 @@ def test_xgrids_live_copy_exposes_one_response_gated_launch_intent() -> None:
|
||||
/ "K1AcquisitionPipeline.tsx"
|
||||
).read_text("utf-8")
|
||||
|
||||
assert "Запустить сканирование и локальный приём" in connection_source
|
||||
assert "Имя войдёт в единственный канонический START" in connection_source
|
||||
assert "этапы идут строго по записанному порядку и только после ответов K1" in (
|
||||
assert "Запустить приём" in connection_source
|
||||
assert "Запустить K1" not in connection_source
|
||||
assert "Одно нажатие выполняет каноническую подготовку и один START" in (
|
||||
connection_source
|
||||
)
|
||||
assert "Проверить условия и отправить START" not in connection_source
|
||||
assert "Физический START отправляется только после отдельного финального окна" not in (
|
||||
connection_source
|
||||
)
|
||||
assert "Имя войдёт в единственный канонический START" in connection_source
|
||||
assert "один START после подтверждённого READY" in connection_source
|
||||
assert "Автоматических повторов команд нет" in connection_source
|
||||
assert "Подключить управление K1" not in connection_source
|
||||
assert "Открыть рабочее пространство K1" not in connection_source
|
||||
assert "Сохранить проект и подготовить локальный приём" not in connection_source
|
||||
assert "Остановить локальный приём" in connection_source
|
||||
assert "Физическое состояние сканера остаётся неизвестным" in connection_source
|
||||
assert "Аварийно завершить локальный приём" in connection_source
|
||||
assert "Состояние сканирования остаётся неизвестным" in connection_source
|
||||
assert "Физическое состояние сканера остаётся неизвестным" not in (
|
||||
connection_source
|
||||
)
|
||||
|
||||
|
||||
def test_xgrids_start_uses_atomic_automatic_source_transition() -> None:
|
||||
|
||||
Reference in New Issue
Block a user