cc119d3751
- ProjectStateStore (§6.4, §24.2): monotone State-/Projekt-Revisionen, Snapshot nach Verbindung, Delta mit neu/geaendert/geloescht, Szenenabruf als Zielzustand (Uebergang macht der Renderer, §18.1), Projekt-/Livezustand strikt getrennt - GroupRouter (§6.3, §10.1): Ziele All/Node/Output/ServerGroup, Regeln selected/tag_query/all, Commit-Vorschau (§17.5) - ClockEstimator (§6.4): RTT-Min-Filter (<=2x Min gegen Jitter), Offset-/Drift-Schaetzung (Drift erst ab 1 s Fenster belastbar), Showzeit -> lokale Node-Zeit - ActivationCoordinator (§6.5): zeitgestempelte Preset-Aktivierung, 200 ms Vorlauf, Arm/Execute/Ack-Kette, FAILED bei fehlender Arm-Bestaetigung (kein stilles Ueberbruecken) - 35 neue Unit-Tests; Gesamtsuite 293 gruen, Ruff gruen
72 lines
1.6 KiB
Python
72 lines
1.6 KiB
Python
"""hms_cluster – Clusterprotokoll, Registry, Paarung, Discovery, Gruppen,
|
||
Clock-Sync, zeitgestempelte Aktivierung (§6.3–§6.5; ADR-0009/0010)."""
|
||
|
||
from hms_cluster.activation import (
|
||
ActivationCoordinator,
|
||
ArmState,
|
||
PlannedActivation,
|
||
)
|
||
from hms_cluster.clock import ClockEstimator, ClockSample, now_monotonic_ns
|
||
from hms_cluster.discovery import (
|
||
DISCOVERY_PROTOCOL_VERSION,
|
||
SERVICE_TYPE,
|
||
ManualNodeList,
|
||
ServiceInfo,
|
||
capability_digest,
|
||
)
|
||
from hms_cluster.groups import GroupRouter, GroupRule, ServerGroup, TargetKind
|
||
from hms_cluster.message import ClusterMessage, CommandStatus, CommandTracker
|
||
from hms_cluster.pairing import (
|
||
PairingPin,
|
||
PairingStore,
|
||
Scope,
|
||
generate_pin,
|
||
hash_token,
|
||
identity_fingerprint,
|
||
new_token,
|
||
pin_valid,
|
||
)
|
||
from hms_cluster.registry import (
|
||
DuplicateNodeError,
|
||
HealthThresholds,
|
||
NodeCategory,
|
||
NodeEntry,
|
||
NodeHealth,
|
||
NodeRegistry,
|
||
)
|
||
|
||
__all__ = [
|
||
"SERVICE_TYPE",
|
||
"DISCOVERY_PROTOCOL_VERSION",
|
||
"ServiceInfo",
|
||
"ManualNodeList",
|
||
"capability_digest",
|
||
"ClusterMessage",
|
||
"CommandStatus",
|
||
"CommandTracker",
|
||
"PairingPin",
|
||
"PairingStore",
|
||
"Scope",
|
||
"generate_pin",
|
||
"pin_valid",
|
||
"identity_fingerprint",
|
||
"new_token",
|
||
"hash_token",
|
||
"DuplicateNodeError",
|
||
"HealthThresholds",
|
||
"NodeCategory",
|
||
"NodeEntry",
|
||
"NodeHealth",
|
||
"NodeRegistry",
|
||
"GroupRouter",
|
||
"GroupRule",
|
||
"ServerGroup",
|
||
"TargetKind",
|
||
"ClockEstimator",
|
||
"ClockSample",
|
||
"now_monotonic_ns",
|
||
"ActivationCoordinator",
|
||
"ArmState",
|
||
"PlannedActivation",
|
||
]
|