Skip to main content
Edge Sync in golain is the primary operator UI for SQLite replication governance when you prefer a terminal over raw HTTP.

Access

Navigate: Project menu → Edge Sync After deploying Omega via scaffold or the TUI wizard, refresh lineages here to claim schema reviews.
Global TUI keys: ↑/↓ navigate, Enter select, Esc back, / filter, r refresh, q quit.

Lineages list

Shows per (device, source_table):
  • Lineage ID
  • Status: active or paused
  • Device reference
  • Source table name
Paused lineages show review may be required in the list description. Select a row for lineage detail.

Lineage detail

Displays:
  • Ingestion status and pause reason hints
  • Materialization section — failure count, last error (circuit breaker)
  • Schema version history summary (device + registry)
  • Column bindings (when approved)
  • Replay intent status
  • Coalesced mirror info (when applicable)

Keybindings

x reset clears materialization circuit breaker — not volume backpressure pause. See backpressure.

Staged / written data view

Shared viewport for inspecting row payloads. Staged reads GET .../lineages/{id}/staged-rows. Shows both Pipeline A (telemetry) and Pipeline B (row batch) staged payloads with staging_reason. Written reads GET .../lineages/{id}/mirror-rows first. If the lineage is telemetry-backed, TUI falls back to QueryScript against the lineage’s edge_ts_* hypertable filtered by device — see querying data. The header shows source: mirror or queryscript.

Schema reviews list

Shows reviews with status:
  • queued — needs claim
  • in_review — operator working
  • approved / rejected / abandoned — terminal
Press f to cycle filter: All → Queued → In Review → Approved → Rejected → Abandoned. Select for review detail.

Schema review detail

What **a auto-approve does

  1. PATCHes project edge policy: schema_coalescing_mode=project, allow_auto_create_device_data_points=true
  2. Loads registry schema columns
  3. Builds column actions:
    • PK columns → mirror
    • Timestamp-like columns (ts, event_ts, …) → ignore
    • Other columns → auto_create_and_map
For production approvals with custom mappings, use the HTTP API with full column_actions. TUI a is a convenience for standard telemetry + state tables.
If approve returns 409, refresh (r) and retry — often an action_version conflict or missing policy route on older API builds.

Typical operator session

  1. Deploy Omega with golain scaffold or TUI wizard.
  2. Start Omega on the device; confirm device connected in console or golain devices get.
  3. r on Edge Sync menu — refresh lineages.
  4. Open Schema Reviews — press f until Queued, then claim newest.
  5. d — confirm staged JSON looks correct (telemetry and row batches both land here during review).
  6. Approve via API (or a for registry-backed auto-map).
  7. Return to Lineagesw — confirm relational rows or telemetry results from the lineage’s edge_ts_* table.
  8. golain events watch in separate terminal for materialization events.

Cloud state write-back

The TUI does not expose cloud → device state push yet. Use the HTTP API:
API reference — cloud state write-back

Not available in TUI yet

Use HTTP API instead:
  • Cloud state write-back (state_write downlink trigger)
  • Coalesced mirror consolidation
  • Registry review approve/reject with custom column actions (TUI a auto-maps from registry; use API for bespoke mappings)
Project edge policy PATCH is invoked automatically by TUI a but has no dedicated settings screen.

CLI alternatives

List lineages as JSON for scripts:
Edge Sync is TUI-first; governance mutations map 1:1 to API reference routes.