Стабилизация переключения Bridge и Quick Connect

Безопасно восстанавливает управляющее подключение и локальные checkpoint без повторных команд сканеру.

Добавляет PCAP/Bridge guardrails и регрессионные проверки одношагового переподключения.

Известный дефект: после второго подключения интерфейс не присоединяется к новой генерации preview правой камеры. В живой Quick Connect-сессии STOP был принят, но READY не подтвердился до таймаута; автоматический повтор STOP запрещён.
This commit is contained in:
DCCONSTRUCTIONS
2026-08-23 00:15:28 +03:00
parent 1001a31638
commit 0752e5c6bf
12 changed files with 3481 additions and 234 deletions
@@ -3045,16 +3045,25 @@ def _require_prepared_resolved_start_standby(
raise ActiveAcquisitionRecoveryCheckpointTransitionError(
"resolved START origin does not bind the exact prepared acquisition"
)
if (
cessation_status_proof.binding.runtime_instance_id
recovery_binding = cessation_status_proof.binding
same_runtime = (
recovery_binding.runtime_instance_id
== checkpoint.prepared_binding.runtime_instance_id
or cessation_status_proof.binding.control_session_id
)
if (
recovery_binding.control_session_id
== checkpoint.prepared_binding.control_session_id
or cessation_status_proof.evidence_session_id
== checkpoint.original_evidence_session_id
or (
same_runtime
and recovery_binding.producer_generation
<= checkpoint.prepared_binding.producer_generation
)
):
raise ActiveAcquisitionRecoveryCheckpointTransitionError(
"restart standby settlement requires new runtime, control and evidence sessions"
"standby settlement requires a new control/evidence boundary; "
"same-runtime recovery also requires a newer producer generation"
)
exact_terminal_lineage = bool(
cessation_physical_proof.operation_id
@@ -3474,7 +3483,7 @@ def _require_active_reconciled_standby_shape(
or (
same_runtime
and recovery_binding.producer_generation
== failed_binding.producer_generation
<= failed_binding.producer_generation
)
):
raise ActiveAcquisitionRecoveryCheckpointTransitionError(
File diff suppressed because it is too large Load Diff