Table of Contents

Class IngestionOptions

Namespace
Qavren.Edge.Ingestion
Assembly
Qavren.Edge.Ingestion.dll

Everything AddIngestion is configured with. Every default here is stated in the plan's "Defaults that change behaviour" heading and asserted by OptionsDefaultsTests.

public sealed class IngestionOptions
Inheritance
IngestionOptions
Inherited Members

Remarks

The four FtsMerge* members spec 11 declares are ABSENT (plan adjustment 2): SP3's collection goes through SP2's own AddVectorCollectionMigration, which enters it in EdgeVectorCollectionRegistry, so SP2's bounded FTS5 merge already covers this sidecar and a second merge would be a duplicate. Event id 926 is a matching gap.

Properties

AbortAfterConsecutiveErrors

Consecutive document failures that abort the run with 6010.

ChunkerId

One of ChunkerIds. Auto by default.

Chunking

The unresolved chunk budget. Frozen by the order-400 startup task.

CollectionName

The collection, which is also the data table's name, verbatim.

ConfigureCollection

Shapes the collection exactly as SP2's AddVectorCollectionMigration does. MUST carry the same values passed to AddVectorStore, because SP2's store-level options are NOT reachable from DI. A mismatch is IngestionCollectionSchemaMismatch (6011) at startup.

ContinueOnDocumentError

Record a document failure and keep going.

DatabaseName

The sub-project 1 database name. Null is the unnamed database.

DeleteBatchSize

Keys per DeleteAsync (spec 9.5 step b).

DeleteMissingDocuments

Sweep state rows the run did not stamp. Only ever on a Completed run.

Dimensions

Null takes Dimensions.

DistanceFunction

The vector distance function. Cosine by default.

Extraction

Extractor-agnostic extraction knobs.

Extractors

Consumer extractors, ahead of the built-ins in registration order.

FullTextIndexed

Emit the FTS5 sidecar over text and heading_path.

FullTextRemoveDiacritics

The half of the FTS5 tokenizer decision EdgeVectorStoreCollectionOptions cannot carry: SP2 declares its RemoveDiacritics override internal, so nothing outside that assembly can set it (plan adjustment 4). 0 | 1 | 2; 2 matches SP2's default and 6011's remediation names this member.

IncludeCountsInDiagnostics

The five counting queries in Describe(). Off: Describe() is synchronous and runs on every diagnostics report. When off the keys are present with the value "(disabled)", never omitted, so nobody reads a missing key as zero.

MaxDocumentBytes

The source-byte ceiling. 32 MiB; over it is 6052, and the extractor is never reached.

Model

Supplies BOTH the collection's dimensions and the chunk budget. Never an ONNX type.

PauseBehavior

What a throttle pause means.

RepairOrdinals

Repair moved ordinals and offsets in place rather than re-embedding. On. Turning it off avoids the FTS5 _au trigger's per-row delete-plus-insert (spec 9.5).

RunHistoryLimit

Rows kept in <prefix>_run. Trimmed at the end of every run.

SkipUnchangedByTimestamp

OFF: correctness beats speed. Matching size and mtime is not evidence a file is unchanged — mtime-preserving copy tools, two-second filesystem granularity, restore-from-backup — and the hash gate is already one sequential 64 KiB-buffered read.

SleepGraceBudget

How long Sleeping waits for the runner's next committed checkpoint. Validated at or under 2 s, because SP1's platform bridges raise this on the callback thread against iOS's documented ~5 s window and Android's OnPause ANR path.

StateTablePrefix

Prefixes the three state tables. Quoted into an identifier position, so it is validated against ^[A-Za-z_][A-Za-z0-9_]*$ at registration and is 6005 otherwise.

StopGraceBudget

How long Stopping waits for the same checkpoint.

StoreName

The keyed vector store and embedding generator. Null is the unkeyed pair.

StrictRecipe

Throw IngestionRecipeChanged (6009) on the first drifted document instead of re-indexing. Off; the default logs event 915 once and re-indexes.

WriteBatchSize

Chunks per embed + upsert pair (spec 9.5 step a).