From 5229564ebb66debceb4464c667a3ebd9710880c3 Mon Sep 17 00:00:00 2001 From: Solaria Lumis Havens Date: Thu, 19 Feb 2026 18:06:21 +0000 Subject: [PATCH] fix: Reorder initialization - create transducers before SyncLayer SyncLayer needs master and emissary as positional arguments. Create them first, then pass to SyncLayer, then update their sync_layer reference. --- becomingone/api.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/becomingone/api.py b/becomingone/api.py index 24bfa42..e8a7c51 100644 --- a/becomingone/api.py +++ b/becomingone/api.py @@ -187,9 +187,6 @@ def init_engine( dampening=0.995, ) - # Create sync layer - sync_layer = SyncLayer(sync_config) - # Create witnessing layer witnessing_layer = WitnessingLayer( mode=WitnessingMode.HUMAN if witnessed_by_human else WitnessingMode.SELF, @@ -221,20 +218,31 @@ def init_engine( action_delay=0.0, ) + # Create master first (without sync_layer) master = MasterTransducer( config=master_config, - sync_layer=sync_layer, witnessing_layer=witnessing_layer, temporal_memory=temporal_memory, ) + # Create emissary first (without sync_layer) emissary = EmissaryTransducer( config=emissary_config, - sync_layer=sync_layer, witnessing_layer=witnessing_layer, temporal_memory=temporal_memory, ) + # Create sync layer (needs master and emissary) + sync_layer = SyncLayer( + master=master, + emissary=emissary, + config=sync_config, + ) + + # Now update the master and emissary with sync_layer + master.sync_layer = sync_layer + emissary.sync_layer = sync_layer + # Create main engine engine = KAIROSTemporalEngine( master=master,