# Lineage Registration

Record source relationships among original files, parsed artifacts, and optional indexes so results can be traced to their source files.

This node registers existing files and indexes. It does not parse files, generate vectors, or copy data.

## Prepare source relationships

Bind upstream file and index information to these inputs.

| Input | Description |
| --- | --- |
| `source_file_ids` | Original Catalog file IDs; use `source_file_id` for one source |
| `parsed_file_id` | Existing parsed file, such as document JSONL or a visual manifest |
| `parsed_file_ids_by_source` | One-to-one source-to-artifact mapping when sources produce separate files; use instead of `parsed_file_id` |
| `derived_file_ids_by_source` | Derived images for each original, keeping images associated with the correct source |
| `indexed_image_file_ids` | Actual indexed images that the derivation mapping must cover |

Parsed artifact IDs must differ from original file IDs. Map each source to its artifact when files are generated separately. Use a single `parsed_file_id` only when several sources share that artifact.

## Register optional indexes and results

When registering a text vector table, also provide its matching embedding model. Image indexes need matching model, dimensions, preprocessing, and related settings inherited from Image Embedding.

Optional output files register further derived results. Register only files and indexes that already exist.

## Use the output

`source_asset_ids` contains source assets; `source_asset_id` identifies the first. `parsed_asset_id`, `vector_asset_id`, `image_vector_asset_id`, and `output_asset_id` identify their registered artifacts. Optional asset IDs are returned only when those artifacts are configured and registered.

## Example: register parsing and image-index relationships

Flow: Build Document Visual Manifest → Image Embedding → Lineage Registration.

Retain the manifest's per-source derivation mappings and supply the actual indexed image set. For multiple sources, check each original-to-manifest mapping rather than assigning all results to one source.

## Related pages

- [Variables and data flow](../../variables-and-data.md)
- [Run and debug](../../run-debug.md)
