What your data becomes
For the buyer with data to bring in. This leg is what your data becomes: a file becomes factions (immutable, source-located regions of it); factions become cells (the current record of a subject, with keys decided at extraction); cells name entities (the people, components, and terms the project knows). A declared schema pins a category’s cells to its fields, so what arrives shaped stays queryable.
Five lanes, by where the data lives: files you hold, synced folders that stay current, links and conversations you can point at, schemas for data with a shape, and channels for the accounts it lives in. Every route draws the same meter as the workspace.
When a URL is ingested through web ingestion, the page's declared metadata (lang, title, description, robots, canonical, hreflang alternates, and every named meta tag) is preserved as inert text at the end of the stored page.
Coming to this leg
Specified and not serving. Each carries x-status: planned in the OpenAPI document, so a generated client skips it; none answers today.
| Route | Does | Lane |
|---|---|---|
| POST/v1/projects/{projectId}/conversations/import | Land one assistant conversation — vendor, title, messages — in the project, idempotently. | Links and conversations |
| GET/v1/projects/{projectId}/objects | Page the project's named-object records, optionally scoped to one schema. | Schemas |
| POST/v1/projects/{projectId}/objects | Create or update one record against a schema, validated on write. | Schemas |
| POST/v1/projects/{projectId}/channels/{channelId}/import | Pull one folder's files from the connected store into the project. | Channels |
| PUT/v1/projects/{projectId}/channels/{channelId}/watch | Keep a folder and the project aligned: new and revised files re-ingest, removed files are marked gone. | Channels |
| POST/v1/projects/{projectId}/copilot/positions | Record that Copilot filled a document range from a cell, so the range can be flagged when the cell changes. | Channels |
| GET/v1/projects/{projectId}/copilot/positions | List the recorded positions whose source cell has advanced since they were populated. | Channels |
The lanes
- Files: For bytes you hold — on disk, in your own bucket, or as a whole codebase. Two ways in: hand over signed URLs and the relay fetches them, or content-address locally and upload only the chunks the server is missing. Either way bytes never pass through the relay as request bodies, which is what makes a 2 GB file and a one-line edit to it cost about the same on the wire, and the file id stays stable across every later edit.
- Working directory: A folder on your machine becomes a project that stays current. The loop is four calls: ask what the key opens and what is never read, price the reading before it happens, compare against what the project already holds, then push only the files whose content actually moved. Content addressing is what makes the second run cost nothing — an unchanged file is never re-read and never re-sent. Credentials are refused by shape rather than by folder, so a key that lands in a synced directory is left on disk instead of being indexed.
- Links and conversations: For content you can point at rather than upload: a URL the relay pulls and ingests, and — specified — a conversation pushed live from inside ChatGPT or Claude, so the assistant a buyer already uses becomes a feeder of the memory rather than a rival to it.
- Schemas: For data that has a shape before it arrives. A record schema declares the typed records a project holds beside its files; a type's schema declares the fields every entity of that type is read into.
- Channels: For data that lives in an outside account: Gmail and Microsoft 365 mailboxes and calendars, LinkedIn, Google Drive and OneDrive / SharePoint, Microsoft Copilot, and the social surfaces. Connecting one is a consent step that happens in the provider's own browser flow; everything after it is API-reachable, and synced content becomes ordinary corpus. The routes at the top are the same for every provider; the sections below them are what only a file store or Copilot can do here. What a channel SENDS lives in the Execution leg's Outbound lane, where the approval gate is the story.