KG Studio
KG Studio is Fontana’s Knowledge Graph workspace UI: a VFS secondary sidebar for namespaces and source files, plus selection cards whose tabs host linked views with shared selection. Select a namespace, folder, or file in the sidebar to open its card. Select an entity, a document, or a chunk in any view, and every other open view focuses on it. Each overlay gets the visual idiom that actually fits it: trees, sequences, and similarity fields are different shapes of data and deserve different renderers.
Workspace chrome
Section titled “Workspace chrome”- Secondary sidebar: browse namespaces, folders, and files; create namespaces; upload, rename, move, and delete sources (same unified filesystem pattern as Skills). Queued, processing, and failed files show Q, amber spinner, or F markers on the Knowledge Graph title, namespace, folder, and file rows. A pinned Search row opens the Search workspace. The cog next to the Knowledge Graph title opens KG-level Config (
/kg?view=config), where you set the default extraction model that namespaces inherit. Your browser tab for this page isKnowledge Graph | Fontana AI. - Delete a namespace: from the namespace menu, choose Delete namespace. The namespace leaves the sidebar immediately. Fontana deletes every file inside it. You cannot recreate that name until cleanup finishes. The menu does not include a second folder Delete.
- Search: you type a query at the bottom of the page. A Scope line above the prompt shows the current sidebar selection (all namespaces, one namespace, or a folder). Four columns (Vector, Full-text, Related, Entities) fill independently.
- Selection cards: amber card with an actions menu, header, and content tabs. Namespace, folder, and file cards open Graphs, Editor, Status, and Config. Graphs hosts Structural Graph, Document Graph, Entities Graph, Ontology Graph, Entity types, and Document Similarity Graph. Editor hosts source, entity triples, and ontology editing. File cards also keep Document tree and Reader on the source workspace.
- Processing status: each card header shows current status (Queued, Processing, Processed, Failed, or Idle for files; rollups for folders and namespaces) plus readiness chevrons (PARSE → INDEX → EMBED → EXTRACT) derived from
kg_file_meta.fileStage.
Graphs tab
Section titled “Graphs tab”The Graphs rail is how you switch among Structural, Document, Entities, Ontology, Entity types, and Document Similarity overlays. Each overlay names a different question (folder tree, document links, entities, schema, instances of those types, file similarity). The canvases that used to compute layout in the browser are removed. kg-engine settles coordinates on Falkor after ingest on a throttled cycle (worker thread), so the engine health endpoint stays responsive during catch-up. The Graphs tab opens an auth-guarded Convex HTTP SSE stream, paints the Falkor coordinates already on disk, and stays open while you remain on the page. While the stream is opening you see Connecting, then Fetching nodes. After the first revision the stream watches for layout stamps and applies live updated / removed node and edge diffs in place. A corner chip counts nodes as they arrive. Nodes use the same kind glyphs as the rest of Flow: open book for the Knowledge Graph, closed book for a namespace, folder for a folder, file-type badge for a file, a sky triangle for an outline fragment, plus entity and schema stamps. Hover shows the kind (Namespace, File, Outline, and so on) plus the file basename and extension, not a storage id. Click a node to select it and open the selection card. Double-click a Knowledge Graph, namespace, folder, or file node to open that page; outline headings open the file. Entities stay selected only. Overlapping stamps and edges get brighter in dark mode and darker in light mode. You can pan until any node sits in the middle of the canvas. Zoom out stops at a padded fit of the tree; extra zoom-out ticks ease the view toward the graph center instead of sliding under the cursor. Document, Entities, Ontology, Entity types, and Document Similarity overlays use the same settle and serve path.
| View | Overlay | What it shows |
|---|---|---|
| Structural Graph | Structural (PageIndex) | Knowledge Graph hub, namespaces, folders, files, and PageIndex section outlines. Coordinates come from kg-engine, not from a browser force pass. |
| Document Graph | Domain projected onto files | The same file nodes, clustered by shared entities and cross-file typed relationships. |
| Domain Graph | Domain (semantic) | Entities and typed relationships, with evidence on a selected edge. |
| Ontology Graph | Schema | Allowed entity types and (source → relation → target) patterns. |
| Entity types | Schema plus instances | Each published entity type sits in its own cluster with every extracted entity of that type. |
| Document Similarity Graph | Vector (embedding) | Every file in the namespace, connected by whole-file embedding similarity. Closer, stronger edges mean more similar documents. |
Search
Section titled “Search”You open Search from the Knowledge Graph sidebar (/kg?view=search). Four columns fill independently: Vector similarity, full-text chunks, related graph-expand hits, and entity name or embedding matches. Each column has a short footer that explains how those results are fetched. You submit from the bottom prompt. A Scope line above that prompt shows the current selection: all namespaces, one namespace, or a folder. Changing the sidebar selection updates that scope.
Editor and operator views
Section titled “Editor and operator views”| View | Overlay | Idiom | What you see |
|---|---|---|---|
| Document tree | Structural (PageIndex) | Collapsible tree | On a selected file, the structure-lane outline: headings for documents, rows and columns for csv/tsv/xlsx, modules and classes for code. Click a node to see its covering chunks. |
| Reader | Lexical | Annotated document reader | Markdown rendering with chunk boundaries, mention highlights color-coded by extraction method, and next-chunk navigation. This is the click-through target for every path citation. |
| Ontology studio | Schema | Editor, Standards, Review | Entity and relationship forms. Standards mode: LinkML / SKOS / OWL import and LinkML / Fontana JSON / JSON-LD context export. Review mode: draft-versus-published diff, proposal inbox, evolution policy. |
| Status | All lanes | Operator dashboard | Structure, Vector, and Reasoning lane progress per namespace, failed jobs with error text, bulk reprocess, extraction model and ingest depth (Fast, Full, or Custom), per-file actions (reprocess, extract now, skip), and forecast-versus-actual cost. |
Query-scoped rendering, always
Section titled “Query-scoped rendering, always”Search and editor overlays stay query-scoped (a seed plus a bounded number of hops, top-K by degree or score). The Structural canvas reads coordinates that kg-engine already settled on Falkor. It does not dump a whole namespace through Convex or compute force in the browser.
Staying fast at scale
Section titled “Staying fast at scale”KG Studio keeps derived graph work on the engine:
- Layout in kg-engine: after ingest or VFS folder sync, a throttled cycle (not a quiet-period debounce) settles Structural force on Falkor and writes
layoutX/layoutY. Later ticks in the same window do not reset the wait; one follow-up runs after an in-flight settle. Force settle runs on a layout worker, not on the HTTP thread. NodeupdatedAtstays a data-change watermark. AGraphLayoutnode records when that overlay last settled. - Live Graphs SSE: the stream shows Falkor coords only (no inline settle). It stays open on the Graphs page and applies differential updates when throttle stamps finish.
- No Convex coordinates: Convex does not store or recompute layout. Your browser does not run Files-graph force or cache hashed map tiles.
- Graph version hashes:
kg-enginemaintains a lightweightgraphVersionHashper scope (namespace, folder, or document), bumped on any subgraph write. One cheap validation call tells the client whether a scope changed at all. - Editor and search stay live: Document tree, Reader, Ontology studio, Status, and Search continue to use S2S reads. Small view preferences live in
localStorage.
Operator controls (Status tab)
Section titled “Operator controls (Status tab)”Open Status for progress and failures. Open Config to set ingestion settings:
- Knowledge Graph Config: the cog next to the Knowledge Graph title. Set the default extraction model used when a namespace or folder inherits. Unset uses the enabled default approved model.
- Namespace Config: extraction model, Fast / Full / Custom ingest depth (toggle groups), ontology mining, evolution policy, embed profile, and budget. Info icons explain each control. Namespace inherit uses the Knowledge Graph default.
- Folder Config: open the folder card and edit lane and model overrides there. Clear the override to inherit the namespace again.
- Failures: the header N failed badge is files with failed processing status. Status Jobs by lane Error columns count jobs (one file can contribute several). File readiness Failed matches the file badge (failed status wins over a stale stage). Use Reprocess failed documents for a bounded bulk retry, or Reprocess / Extract now / Stop on the file card (and the overflow menu) anywhere in Studio.
- Ingest depth Full: when you set reasoning to auto (Full), EXTRACT jobs chain after vector (or after structure when vector is not auto), and Config save backfills extract for eligible files.
- Graphs layouts: kg-engine settles Structural coordinates on Falkor after ingest. The Graphs tab streams those coordinates over a live SSE connection and paints kind glyphs in WebGL. Document, Domain, Ontology, and Vector overlays follow the same settle-then-serve pattern.
- Home tiles: the Knowledge Graph home view summarizes queued, failed, and processed counts per namespace and opens Status in one click.