When a device sends SQLite data from a new or changed table schema, Golain queues a schema review. Until you approve, rows are staged — not queryable as product data.Documentation Index
Fetch the complete documentation index at: https://docs.ilyama.golain.io/llms.txt
Use this file to discover all available pages before exploring further.
When a review appears
Typical triggers:- First batch from a new
source_tableon a device (default policy →ambiguous) - Schema hash change after migration (added column, type change, PK change)
- Breaking classification
Prerequisites
- Permission
PROJECT_CAN_MANAGE_DEVICESon the project - platform-tui logged in with project context, or API bearer token
- Device lineages visible under Edge Sync
Workflow overview
Step 1 — Find the review
platform-tui:- Launch
platform-tuiwith project context set. - Project menu → Edge Sync → Schema Reviews.
- Look for status
queuedorin_review.
review_id, linked lineage_id, and source_table.
Step 2 — Inspect staged data
Before approving, verify payload shape: TUI: From review detail pressd (staged rows for linked lineage).
API:
Step 3 — Claim the review
Movesqueued → in_review. Prevents another operator from conflicting edits.
TUI: Review detail → press c.
API:
action_version — required for approve/reject.
Step 4 — Decide column actions
For each source column, choose an action:| Column type | Recommended action |
|---|---|
| Primary key | mirror |
| Business data you need in SQL queries | mirror |
| Metric sample → existing datapoint | map with device_data_point_id |
| Internal / redundant | ignore |
| Unsure | defer (keeps lineage paused) |
Step 5 — Approve
API (recommended for production):a — dev shortcut mirrors only the value column. Do not use in production for multi-column tables; use API with full column_actions.
What happens on approve
- Mirror table DDL created in Timescale (
edge_mirror_{device8}_{table}). - Column bindings persisted.
- Replay intent inserted — staged rows drain.
- Lineage set
active(if no deferred required columns). - Event:
integration.edge_schema_review.approved.v1.
Step 6 — Verify materialization
TUI: Lineage detail →w (written / mirror rows).
API:
Rejecting a review
Use when schema is wrong or device sent garbage data: TUI:x on review detail.
API:
paused. Staged rows remain until operator deletes lineage or schema fixed on device.
Registry reviews (coalesced fleets)
Whenschema_coalescing_mode is project or fleet, first device may create a registry review instead of device-local only.
Use registry routes:
Tips
- Approve in staging before promoting device fleet-wide.
- Document
column_actionsin your runbook per firmware version. - Use
Idempotency-Keyon every mutation — safe to retry on network blips. - Watch event stream during approve for materialization failures.