markdown for prose, or sqlite for rows in a queryable table. You choose the format in the manifest you send when you create or update a context.
Markdown artifacts
markdown is the default. Curation writes one prose file per artifact, embedded for semantic retrieval, so it fits knowledge that reads as text: summaries, concepts, and per-document notes. A markdown artifact type needs a name, a kind, a scope, and a description that steers what curation extracts:
format defaults to markdown. See artifact kinds for the kinds a type can take.
SQLite artifacts
sqlite writes rows into the context’s structured database instead of prose, so the type becomes a table the query agent reads with SQL for exact counts, filters, and joins. Set format to sqlite and declare the table’s columns:
- Each column has a
name, atype(TEXT,INTEGER,REAL, orNUMERIC), and adescriptionthat steers what curation extracts into it. natural_keynames the columns that identify a row, so re-curating a source upserts its rows instead of duplicating them.
sqlite type answers questions prose can’t, like “how many meetings did each chair run this year?” or “who was present at a given meeting?” To answer across tables, define a second table that shares columns, so queries can join the two:
Set the formats through the API
Put your artifact types in a context’s manifest undercurate.artifacts.artifact_types, then curate. The walkthrough below seeds the Concept and Meeting Log types, and you add more the same way. These steps use the data-plane base URL and session token from Authentication.
Add at least one source to the context before you curate. See the quickstart for creating a context and adding sources.
1
Write the manifest to the context
Send the manifest when you create the context, or update an existing one with
PUT /contexts/{slug}. This example seeds both a markdown type and a SQLite table at creation:curl
2
Curate the context
Curation reads the sources and builds the artifacts your manifest defines. An empty body runs the first curate:After a later manifest change, pass
curl
{"force": true} to rebuild everything under the new manifest. Curation runs as a background task, so query the context once it finishes. See How curation works.3
Query across both formats
A query reads both formats: the prose The counts come from the
Concept artifacts semantically, and the Meeting Log table with SQL for exact answers.curl
Output
Meeting Log table, so they’re exact rather than estimated from prose.