extraction Run Schema
The constraints and indexes the run store and the lineage relation need.
Separate from lineageRecordSchema because that one is the projection and collector audit trail, which has its own labels and its own lifecycle. Both are ensured on startup by Drivine's schema manager.
Behind the same embabel.dice.extraction.runs.enabled flag as the two stores, and for the reason the flag exists: this catalog is the part that writes to the host's database. Turning the flag on ensures three uniqueness constraints — on ExtractionRun(contextId, runId), ExtractionRunInvocation(contextId, runId, invocationIndex, attempt) and ExtractionRunTerminalWrite(contextId, runId) — and five range indexes, four on ExtractionRun (contextId; contextId, rootRunId; contextId, parentRunId; contextId, startedAtEpochSecond) and one on ExtractionRunInvocation(contextId, runId). Leaving it off keeps every one of them out of the catalog the schema manager sees.