Celiq
v0.12Open app โ†—
Docs/Forge/Building the semantic layer (Build & Browse)

Building the semantic layer (Build & Browse)

Edit nodes and domains in the Forge CML editor with autosave, the health bar, and the Orion draft review flow, or read your model in Browse.

WeaverLuminaryUpdated June 2026 ยท 9 min read
โœฆ
In this section
Part of Celiq's semantic layer platform. Connect your warehouse, model your data once, query it everywhere.
๐Ÿ’ก
Tip
What it is โ€” The two day-to-day modes of the Forge IDE: Build (a CML editor for authoring nodes and domains, with autosave, a live health bar, and Code/Graph/Lineage views) and Browse (a read-only browser for reading the fields in your model).
When to use it โ€” Build mode when you are creating or changing the semantic layer; Browse mode when you just want to read what already exists.
Where to find it โ€” Open Forge from the top nav, pick a project, then use the mode switch in the navy Forge sub-nav bar to move between Build and Browse.
Who can use it โ€” Weavers and Luminaries can edit in Build. Anyone with Forge access can read in Browse; system and demo projects are read-only for everyone except the super admin.

Forge is where you model your warehouse data into a semantic layer that the rest of Celiq โ€” Discover, Mosaics, and Orion โ€” reads from. You write that model in CML, Celiq's YAML-based modeling language, split across two file types: nodes (one per table or SQL block, holding dimensions and metrics) and domains (which wire nodes together with reveals into a queryable surface).

This page covers the two modes you live in while modeling: Build for authoring and Browse for reading. It keeps CML syntax light โ€” for the full language, see the CML reference.

Overview

Building the semantic layer (Build & Browse) in Celiq
Building the semantic layer (Build & Browse) in Celiq
Build mode is a three-panel IDE. On the left is the file tree of nodes and domains. In the centre is the CML editor for the file you have open. On the right is the ForgeIntelPanel, a tabbed panel that surfaces semantic intelligence about the active domain. When a domain file is open, a health bar sits across the top, and a Code / Graph / Lineage toggle lets you switch the centre panel between the raw editor, a node graph, and a metric lineage view.

Every keystroke in the editor autosaves on a short debounce, so there is no separate "save draft" step โ€” your work is persisted as you type. A Check & Save gate gives you an explicit validation pass before you commit a domain change.

Browse mode is a read-only, two-panel view of the same model: nodes on the left, expandable into their dimensions and metrics; a detail panel on the right showing each field's CML snippet and metadata. When you find something you want to change, Edit in Build jumps you straight back into the editor for that node.

When to use it

You want toโ€ฆUse
Create a new node or domain, or change CMLBuild mode
Read which fields a node exposes, and how they are definedBrowse mode
Check the health of a domain before shippingBuild mode health bar + Check & Save
Review and publish nodes/domains Orion drafted for youBuild mode draft review banner
Hand a teammate a quick tour of the model without risk of editsBrowse mode (read-only)

Concepts

TermWhat it means
NodeA CML file describing one table (or SQL block) โ€” its dimensions (attributes) and metrics. Node files carry a node icon; SQL-backed nodes show an sql badge.
DomainA CML file that ties nodes together with reveals into a queryable surface. Domain files unlock the health bar and the Graph/Lineage views.
DimensionA descriptive field (string, date, timestamp) you slice by. In CML these live under attributes.
MetricAn aggregatable measure (e.g. a sum or count). In CML these live under metrics, with an intent and a physical column or locus.
AutosaveThe editor persists your content automatically 1500 ms after you stop typing; the status bar shows savingโ€ฆ then Saved.
DraftA node or domain whose CML contains a draft: true line โ€” typically created by Orion. Drafts surface a review banner until you Publish or Discard them.
Check & SaveThe validation gate for domain changes, opened from the toggle bar above the editor.

Getting started

Before you can edit, you need a Forge project backed by a warehouse connection, and at least one node or domain in it. To open the editor:

  1. Open Forge from the top navigation.
  2. Choose a project from the project switcher in the navy Forge sub-nav bar (or create one).
  3. Use the mode switch in that same bar to select Build or Browse.
๐Ÿ“
Note

System projects and the demo project are read-only. In Build mode you will see a Read-only badge (or a demo banner), and the editor will not accept changes. Connect your own warehouse in Forge settings to get an editable project.

Step-by-step

1

Open a file in Build mode

With Build selected, click a node or domain in the left file tree. The centre panel loads that file's CML into the editor, and the top bar shows a breadcrumb (nodes / <name> or domains / <name>) plus a green Valid badge or a red error count.

2

Edit the CML

Type directly in the editor. As you edit, the status bar at the bottom shows the line count, validation summary, cursor position (Ln, Col), and the active connection chip. There is no manual save needed โ€” but a Save button in the top bar lets you flush immediately if you prefer.

3

Let autosave persist your work

1500 ms after you stop typing, Forge saves the file. Watch the status bar flip from savingโ€ฆ to Saved. Each save also writes a version into history, which you can reopen with the โŸฒ History button (node files).

4

Validate against the warehouse (node files)

For a node file, click โฌก Test warehouse to confirm the column names in your CML actually exist in the live warehouse. A banner reports either โœ“ Warehouse validated with the column count, or โœ— Warehouse validation failed listing the missing columns. Use โœฆ Re-detect metrics to refresh metrics and types from the live schema.

5

Switch views for a domain file

With a domain open, use the Code / Graph / Lineage toggle (top right of the editor area) to switch the centre panel between the raw editor, the node Graph, and the metric Lineage view. The health bar above reflects the domain's semantic health.

6

Run Check & Save before shipping a domain

Click โœ“ Check & Save to open the validation gate. It runs the semantic checks and shows a verdict โ€” โœ“ checks passed, โš  passed w/ warnings, or โœ— 1 blocking. Resolve blockers, or save anyway when the warnings are acceptable.

7

Review Orion drafts

If Orion has created draft items, a yellow banner appears above the editor: "Orion created N draft items." Click Review drafts to open the Orion Draft Review modal, then act on each one (see Examples).

Examples

Reading a metric in Browse mode

Switch to Browse, expand a node in the left tree, and click a metric under its Metrics group. The detail panel shows the field name, a subtitle (<intent> metric ยท <node> node), a CML snippet, and four metadata cards. For a revenue metric you might see:

orders node โ€” metric snippet
metrics:

- name: total_revenue

intent: sum

column: order_amount

description: "Gross order revenue before refunds"

The 2ร—2 metadata cards for that metric show Intent (sum), Type (or inferred), Grain behavior (or default), and Physical column. When you want to change it, click Edit in Build โ€” Forge switches to Build mode and opens the orders node at that file.

Publishing an Orion draft

Orion marks generated items with a draft: true line in their CML:

customers node โ€” drafted by Orion
node: customers
draft: true
attributes:

- name: customer_id

type: string

column: id

In the Orion Draft Review modal each draft offers three actions:

  • Open โ€” load the file in the editor so you can inspect it.
  • Publish โ€” Forge fetches the file, strips the draft: line, and saves it back (the node/domain becomes a normal, published file).
  • Discard โ€” deletes the drafted node or domain entirely.

After you publish, the draft: true line is gone and the item no longer appears in the banner.

Best practices

  • Let autosave do its job. You do not need to hit Save after every line; wait for the Saved indicator. Use the explicit Save button only when you are about to navigate away immediately.
  • Test node columns against the warehouse with โฌก Test warehouse before wiring a node into a domain โ€” it catches typo'd column names early.
  • Run Check & Save before a domain goes live. Treat a blocked verdict as a stop sign; only Save anyway on warnings you understand.
  • Review Orion drafts promptly. Drafts are not yet part of your live model โ€” publish the good ones and discard the rest so the banner stays empty.
  • Browse first when onboarding. Send new analysts to Browse mode to learn the model without any risk of accidental edits.

Tips

๐Ÿ’ก
Tip

The bottom status bar is your at-a-glance dashboard while editing: line count, error/warning summary, save state, cursor position, domain structure counts (nodes ยท reveals), and the active connection. If something looks off, check it there before digging into the CML.

Common mistakes

โš ๏ธ
Warning
  • Expecting a draft to be live. A node or domain with draft: true is excluded from your published model until you Publish it in the Orion Draft Review modal. If a new field is not showing up downstream, check whether it is still a draft.
  • Editing a system or demo project. These are read-only. The editor shows a Read-only badge (or demo banner) and silently ignores changes โ€” switch to an editable project backed by your own warehouse.
  • Trying to validate a domain file against the warehouse. Test warehouse and Re-detect metrics are node-only actions; they do not appear on domain files.
  • Saving an empty file. A save with no content is rejected โ€” the file must contain CML.

Troubleshooting

SymptomCauseFix
Status bar shows a red โœ— N errors and a red badge in the top barThe CML has validation errorsOpen the ForgeIntelPanel on the right or click into the flagged line; fix the CML until the badge reads Valid.
Test warehouse banner: โœ— Warehouse validation failed with "Missing: โ€ฆ"Column names in the node CML do not exist in the live warehouseCorrect the column values to match real warehouse columns, or run โœฆ Re-detect metrics to pull current names.
Test warehouse banner: "Could not connect to warehouse for validation."The project's warehouse connection is unreachableCheck the connection in Forge settings; confirm the warehouse is up and credentials are valid.
Editor will not accept editsThe file is in a system/demo project (Read-only badge shown)Switch to an editable project, or sign in as the super admin for system files.
Saving a node returns "System nodes cannot be modified"You edited a node in a system project as a non-super-adminSystem nodes are protected; create an equivalent node in your own project instead.
Re-detect reports "Could not re-detect โ€” check the connection."The live schema lookup failed for that nodeVerify the node's table exists and the connection works, then retry.
Check & Save shows โœ— 1 blockingA semantic check (e.g. a fan-out risk) failedUse the gate's Fix path to resolve it, or Save anyway only if the warning is acceptable for your model.