-
Notifications
You must be signed in to change notification settings - Fork 0
Verse Tier 1: SyncWorker scaffold (tokio task + ControlPanel supervision) #281
Copy link
Copy link
Open
Labels
architectureImported from backlog ticket stubsImported from backlog ticket stubslane:verse-local-syncVerso iroh bilateral sync (Tier 1 local P2P): SyncWorker, SyncLog, pairing, mDNSVerso iroh bilateral sync (Tier 1 local P2P): SyncWorker, SyncLog, pairing, mDNSstatus:queuedImported from backlog ticket stubsImported from backlog ticket stubstype:childMergeable child slice under a hub issueMergeable child slice under a hub issueverseImported from backlog ticket stubsImported from backlog ticket stubs
Metadata
Metadata
Assignees
Labels
architectureImported from backlog ticket stubsImported from backlog ticket stubslane:verse-local-syncVerso iroh bilateral sync (Tier 1 local P2P): SyncWorker, SyncLog, pairing, mDNSVerso iroh bilateral sync (Tier 1 local P2P): SyncWorker, SyncLog, pairing, mDNSstatus:queuedImported from backlog ticket stubsImported from backlog ticket stubstype:childMergeable child slice under a hub issueMergeable child slice under a hub issueverseImported from backlog ticket stubsImported from backlog ticket stubs
Goal
Implement the
SyncWorker— the supervised tokio task that manages peer connections, runs the accept loop, and feeds the intent pipeline.Scope
SyncWorkeras aControlPanel-supervised tokio task (matching the pattern of other supervised workers)Handshaking→Authenticated→Syncing→Idle→DisconnectedTrustedPeerlookup againstIdentityRegistryon connection; reject unknown peers with aWarndiagnosticSyncUnitbatches from peers, validate, enqueue toGraphIntentreducerbackon; diagnostics channelsync.worker.*(Info/Warn/Error)SyncStatevalue in shared state (peer count, last sync timestamp, error)Source Docs
design_docs/graphshell_docs/technical_architecture/VERSO_AS_PEER.mddesign_docs/graphshell_docs/implementation_strategy/2026-03-01_complete_feature_inventory.md(SyncWorker entry)Parent
Done Gate
SyncWorkerstarts withControlPaneland restarts on panicWarndiagnostic, does not crash workerSyncStatevisible in shared state (can be read by Sync Panel UI)sync.worker.started/sync.worker.peer_connecteddiagnostics emitted