Contextfulv0.23.0

Docs / Specification

contract run · 30-run.md · 31-pipeline.md · 32-derive.md · guide · card

Runs, pipelines and derive — card

Generated by contextful-spec state from the contract’s files and spec/terms/run.toml; not authored.

Operations

OperationCoversClausesProved
journalThe journal records step values, returns those values on replay and deletes records after execution retirement.524
callback-guardA D1 callback guard under d1-guard: the rows it protects, the effect identity it records, its release after the holder stops, and what an operator sees of it.160
itemsThe engine executes isolated input items with independent completion receipts, bounded retries and leased entity keys.130
advanceThe engine commits source positions according to cursor kind and re-reads rows at each poll’s boundary.150
suspendThe engine suspends runs durably until an external callback resolves an awakeable or its deadline expires.130
retryThe runner classifies failures and schedules step retries through one retry layer.210
ownAn execution owner binds pending work to a scope, connector build and plan identity.400
cancelThe engine stops work at run or pipeline scope through a shared cancellation token and records the remaining durable state.170
recordThe store records run status, owner leases and execution history. History requests select a time window and row ceiling.280
projectThe runner publishes a best-effort live view of run progress to subscribers.160
sweepThe scheduler runs one store-driven job per origin across a declared span. Each origin reads data available at that origin under one frozen transaction-time bound.100
orchestrateEach deployment supplies a durable orchestrator implementing the execution interface. This section specifies provider steps and the engine behavior inside each step.80
declarePipeline declarations: fields, manifest loading, content hashes, table names and lifecycle commands.200
compileThe compiler converts a pipeline specification into a versioned plan with a shared schema.110
transformThe engine applies declared transforms in order to rewrite a batch in place.80
normalizeThe engine normalizes nested data, assigns identity columns and converts nesting to relational tables where the sink requires it.100
guard-secretsThe secret guard masks credential-shaped text in pulled batches, dead letters and registered body results before storage.100
landThe engine processes batches from pull to commit, records ingest counts and isolates decoder failures.570
exportAn export reads committed table rows and delivers them to an operator-declared target with at-least-once delivery.590
export-icebergAn Iceberg export publishes one audience’s admitted rows of one landed table as an Apache Iceberg table in a REST catalog, which a query engine reads without reaching the store.300
backfillThe scheduler loads history through chunk plans with fenced leases and supports rewinding a declared range.110
seedA seed source bulk-loads history below a declared ordering ceiling before live ingestion.130
modelThe engine builds model tables from SQL over store tables, validates contracts and tests, and records freshness and holds.340
publishPublished tables: contract identity, snapshot publication, build history, freshness and collection holds.170
selectThe derive source selects eligible parent rows each tick and limits each run’s work.300
bindEngine bindings select registered tasks, configure engine interfaces and constrain media access and returned values.230
execThe executor runs operator-declared argument arrays as local processes with pinned binaries, restricted environments and bounded runtime and output.190
fetchThe fetch driver follows third-party links with host and address checks, bounded redirects, document head scanning and image probes.110
emitDerive tasks emit content rows and completion markers with status, attempt counts, citation keys and provenance.220
parse-cuesThe caption parser reads SubRip and WebVTT through one grammar and groups cues into bounded passages.60
test-engineThe test-engine command builds one derive engine outside a pipeline and runs that engine against one file.10

Error cases

ErrorWhenClause
BlobMissingA journal row’s blob reference resolves to no stored blob.run.journal.missing-blob
CapabilityUnwiredA capability the running profile links no implementation for.run.journal.unwired-capability
JournalRedactionConflictWrite-path redaction declared over a source whose pulls are journaled.run.journal.redacting-source
StorageBindingUnavailableA D1 binding request received no HTTP answer within its attempts.run.journal.d1-transport
StorageCapabilityMissingA disposable execution profile lacks a required durable binding or adapter.run.journal.storage-incomplete
StorageCorpusUnavailableA storage preflight’s corpus request received no answer or a server error.run.journal.corpus-unavailable
StorageProfileUnsupportedThe storage profile or its encryption pairing is unsupported.run.journal.storage-unsupported
ExecutionSchemaIncompatibleThe durable execution schema differs from the executable’s supported schema.run.journal.execution-schema
ExecutionRecoveryMismatchA complete execution backup or its project recovery identity is missing.run.journal.execution-recovery
RunInputTruncatedA store-driven input statement the read face truncated at its row ceiling.run.journal.input-truncated
ExecutionGuardHeldReconciliation of a guard whose holder may still be running its callback.run.callback-guard.live-holder
ExecutionGuardEvidenceMismatchReconciliation evidence that carries no recorded key, or an idempotency key past its window.run.callback-guard.evidence
CursorFieldMismatchA stored position’s field differs from the declared incremental field.run.advance.field-rename
CursorPositionUnorderableA clock value with no ordering, or a position type changing mid-pass.run.advance.unorderable-position
AwakeableAlreadyResolvedA second resolution carrying a different payload.run.suspend.conflicting-resolution
AwakeableTimedOutA resolution past the suspension’s deadline.run.suspend.expired-token
AwakeableUnknownA resume token with no registry row.run.suspend.unknown-token
RunRetryTagUnretryableA retry_on naming a tag outside the two retryable ones.run.retry.unretryable-tag
StepFailedA step closed on a terminal failure, carrying its label and tag.run.retry.step-failed
ExecutionPinMismatchA connector identity, component world, plan hash, plan reference or host identity moved under a pending owner.run.own.pinned-plan-changed
ExecutionRewindNotPendingA rewind naming an execution no pending owner holds.run.own.rewind-not-pending
ExecutionRewindPlanCurrentAn unforced rewind of an owner no attempt has asked another plan reference of.run.own.rewind-plan-current
ExecutionRewindUnsafeA retirement of an owner a live attempt, a waiting attempt or a pending awakeable still holds.run.own.rewind-unsafe
RunStagedBytesExceededA run whose staged parts pass the per-run staged-bytes bound.run.own.staged-bytes
RunCheckpointIdTooLongA checkpointing run whose next commit’s run id passes the store’s run-id bound.run.own.checkpoint-id-length
CancelTargetNotInFlightA stop matching no pending, running or waiting run.run.cancel.not-in-flight
CancelUnauthorizedA credentialed stop whose grants cover no execute over the recorded pipeline.run.cancel.stop-unauthorized
SiteIdUnresolvedA site id with no declaration, two in one place, or an unset variable.run.record.site-id-unresolved
HistoryBoundSpellingA history window bound outside the two accepted spellings.run.record.bound-spelling
RunMetadataTooLargeA snapshot metadata write past its serialized bound.run.project.metadata-too-large
RunStreamUnauthorizedA run-stream request with no valid credential before the upgrade.run.project.unauthenticated-upgrade
RunSweepOriginAfterOpenA sweep whose last origin falls after the transaction-time bound every origin reads at.run.sweep.origin-after-open
PipelineManifestMissingA validation that read no manifest file.run.declare.manifest-missing
PipelineDuplicateIdOne pipeline id declared twice.run.declare.duplicate-id
PipelineSpecInvalidA manifest file the canonical type cannot deserialize.run.declare.spec-invalid
PipelineTableNameCollisionTwo tables whose destination names fold to one spelling.run.declare.table-name-collision
PipelineUnboundTableNameA destination table named in a spelling the fold does not produce.run.declare.unbound-table-name
PipelineReplaceUnsupportedThe replacing write mode beside a windowed or chunked load.run.declare.replace-unsupported
PipelineUnknownConfigKeyA source config key outside the set the source enumerates.run.declare.config-key
PipelineInlineStepBodyA plan step whose body is not a connector reference.run.compile.inline-step-body
PipelineUndeclaredControlFlowA data-dependent conditional or loop in a workflow body.run.compile.control-flow
PipelineNodeIdCollisionOne node id repeated in a plan.run.compile.node-id-collision
PipelineParallelUnjoinedA parallel node no join rejoins, or read around its join.run.compile.unjoined-parallel
PipelineTransformArityA chain operation emitting more rows than it consumed.run.transform.arity
PipelineTransformColumnMissingA chain operation naming a column the batch lacks.run.transform.column-missing
PipelineNormalizeModeUnknownA normalize mode outside native and relational.run.normalize.mode-unknown
PipelineListIndexMissingA relational child table without a list index.run.normalize.list-index-missing
PipelineUnknownDestinationA destination other than the local store.run.land.unknown-destination
PipelineTypeDeclaredLateA pull declaring a type for a column an earlier staged batch of its run carried undeclared.run.land.late-type
ReceiveBatchTooLargeA delivered body past its source’s max_batch_bytes.run.land.receive-batch-too-large
ReceiveBackpressureA delivered batch arriving while every queue slot of its pipeline is held.run.land.receive-backpressure
ReceiveWriteNotGrantedA delivered batch under a credential lacking write over one of its pipeline’s tables.run.land.receive-write-not-granted
ReceiveBatchKeyExpiredA batch under a key whose first attempt is older than its source’s key_retention_secs.run.land.receive-key-expired
ReceiveBatchKeyMissingA delivered batch naming no batch key.run.land.receive-key-missing
ReceivePipelineUnknownA delivery to a pipeline id no declaration names as a receive source.run.land.receive-pipeline-unknown
PipelineUnreadableInputInput a parser cannot read, named by path and position.run.land.unreadable-input
PipelinePartialParseA read covering part of a multi-part input.run.land.partial-parse
PipelineParseCrashedA non-zero exit or fatal signal from the decode process.run.land.parse-crashed
PipelineTableFailedOne table’s pull failing inside a fire.run.land.table-failed
ExportSignalUnknownAn export block naming a signal the built-in arm does not map.run.export.signal-unknown
ExportCommitSeqMissingA table holding rows no cursor passes, their _commit_seq null.run.export.commit-seq-missing
ExecutionWriterFencedAn exporter no longer owns its durable writer lease.run.export.writer-fenced
ExportDeliveryRefusedAn OTLP target answering other than 2xx, or unreachable.run.export.delivery-refused
ExportIdentityChangedA pending typed export under another read identity, or its target redirected under the same name.run.export.typed-identity-changed
ExportEventTooLargeOne typed event exceeding the delivery request ceiling.run.export.typed-event-too-large
PublicationHeaderTooLargeA coordinated group header leaving no room for one event under the typed request ceiling.run.export.group-request-bound
PublicationInputsBusyA coordinated export whose publication inputs a running unit or another export still holds past the wait bound.run.export.group-quiesce-wait
PublicationIncompatibleA coordinated publication, predecessor, membership or checkpoint differs from its durable binding.run.export.group-incompatible
PublicationStorageUnsupportedA storage profile lacks the coordinated publication outbox capability.run.export.group-storage
PublicationDeliveryBoundedA bounded coordinated delivery stopped before its next batch with its group still pending.run.export.group-within-exit
ExportStorageUndeclaredAn Iceberg table configuration naming a storage host its export block does not declare.run.export-iceberg.egress
ExportTypeUnsupportedAn Iceberg export column holding nanosecond timestamps under format version 2.run.export-iceberg.type-refused
ExportCommitConflictAn Iceberg snapshot commit still conflicting after its last attempt.run.export-iceberg.commit-retry
ExportSchemaChangedAn Iceberg export source whose columns no longer match the table’s current schema.run.export-iceberg.schema-changed
ExportNamespaceSharedTwo Iceberg exports sharing a namespace across credentials, a credential across namespaces, or one table.run.export-iceberg.namespace-shared
ExportQueryRefusedA Basin reader request the gateway answers from no engine: a named namespace, unknown template, bad table or shared-warehouse SQL.run.export-iceberg.query-refused
PipelineRewindWindowInvalidAn inverted, empty or scale-incomparable rewind window.run.backfill.rewind-invalid
PipelineSeedDeclarationMissingA seeded table lacking a key or an event-time ordering.run.seed.declaration-missing
PipelineSeedCeilingBreachedA seeded row stamped at or past the ceiling.run.seed.ceiling-breached
PipelineSeedCeilingUnevaluableA batch whose stamp cannot be compared with the ceiling.run.seed.ceiling-unevaluable
PipelineSeedSourceChangedA seed source whose fingerprint differs from the committed one.run.seed.source-changed
PipelineSeedCompactionMissingA seeded table no scheduled, enabled fold covers.run.seed.compaction-cadence
PipelineUnknownBlockA manifest top-level key outside the enumerated blocks.run.model.top-level-block
ModelInputRestrictedA build reading a table that declares a disclosure key.run.model.restricted-input
ModelContractUndeclaredA published model declaring no contract.run.model.contract-required
ModelTestFailedA model test returning a row.run.model.test-failed
ModelUndeclaredA build naming no declared model.run.model.unknown-model
ModelCycleModel statements returning to a model through other models.run.model.model-cycle
ModelBuildUnknownA hold naming a build no committed manifest records.run.model.hold-unknown-build
ModelBuildCollectedA hold naming a build whose parts a collection removed.run.model.hold-collected
PipelineContractMismatchA materialization failing its declared contract.run.publish.contract-mismatch
DeriveConfigKeyMissingA required derive config key absent or blank.run.select.required-key
DeriveNoStoreRootA derive source built without a store root or pipeline id.run.select.no-store-root
DeriveForeignOutputTableConfiguration overriding the build-owned anti-join output identity.run.select.foreign-output-table
DeriveUnitIncompleteA parent row without a key or media value.run.select.incomplete-unit
DeriveJournaledPullA derive pipeline configured to journal its pulls.run.select.journaled-pull
DeriveUnmeteredGrantA shared-quota grant on a derive task sending through no metered client.run.select.unmetered-grant
DeriveMeteredClientA derive task reaching the network outside the client the engine hands it.run.select.metered-client
DeriveParentsDivergeA derive pipeline whose derive parents lie on no one dependent run.run.select.parents-diverge
DeriveCycleDerive source-table or join dependencies returning to a pipeline.run.select.derive-cycle
DeriveAfterConflictA derive child whose explicit predecessor differs from its derive parent.run.select.derive-after-conflict
DeriveEngineUnboundA pipeline naming an engine the machine has not defined.run.bind.unbound-engine
DeriveCommandInManifestAn executable key on the request side of the binding split.run.bind.command-in-manifest
DeriveUnknownTaskA task naming neither a built-in nor a registered task.run.bind.unknown-task
DeriveTaskNameTakenA host task registered under a name already taken.run.bind.host-task
DeriveJoinRepeatedA host task whose joins name one table twice.run.bind.join-repeated
DeriveDriverMismatchA driver and task pairing the tier does not serve.run.bind.driver-mismatch
DeriveEndpointHostNotBareAn engine host carrying a path, query, port or scheme.run.bind.endpoint-host-bare
DeriveAttachUnboundCredential headers declared on a binding with no exec vendor host.run.bind.attach-unbound
DeriveRemoteUrlUnsupportedA remote address handed to an engine that declines them.run.bind.remote-url-unsupported
DeriveMediaUnreadableA media value neither an address nor a readable local file.run.bind.media-unreadable
DeriveMediaOutsideRootA local media path escaping the binding’s media root.run.bind.media-root
DeriveConfidenceOutOfRangeA confidence outside the normalized interval.run.bind.confidence-range
DeriveLinkEngineUnavailableA link engine returning the engine-unavailable variant.run.bind.engine-unavailable
DeriveAdvisoryZoneA row zone taken from the operator’s advisory key.run.bind.advisory-zone
DeriveLocalityWiderAn engine reaching wider than its source table’s zones.run.bind.locality-wider
DeriveShellCommandA step command given as a string, not an argument array.run.exec.shell-command
DeriveEnvNameInvalidAn environment allowlist name outside the permitted characters.run.exec.env-name
DeriveEnvCredentialAn exec step environment value embedding a credential reference.run.exec.env-credential
DeriveStepExitA chain step ending non-zero.run.exec.non-zero-exit
DeriveStepTimeoutA chain outrunning its deadline.run.exec.deadline-elapsed
DeriveOutputCapA step’s captured output crossing its bound.run.exec.output-cap
DeriveStepProducedNothingA preprocess step exiting zero without its output file.run.exec.silent-step
DeriveBinaryMissingA declared command that is not an executable file.run.exec.missing-binary
DeriveUnpinnedPathA path-form command with no content digest.run.exec.unpinned-path
DeriveDigestMismatchA pinned file whose bytes differ from its digest.run.exec.digest-mismatch
DeriveStepConditionUnknownA preprocess condition naming no known condition.run.exec.step-condition
DeriveSchemeUnsupportedA followed address with a scheme other than http or https.run.fetch.scheme
DeriveAddressLiteralA followed host written as an address literal.run.fetch.address-literal
DeriveFetchBindingKeyA process-spawning key on a fetch binding.run.fetch.binding-key
DeriveCharsetUnsupportedA document declaring a character set other than UTF-8.run.fetch.charset
DeriveBytesNotUtf8An undeclared document failing UTF-8 validation.run.fetch.not-utf8
DeriveFailureOffTablePer-unit failure state recorded outside the output table.run.emit.failure-off-table
DeriveUnitStatusUnknownA unit status outside the four.run.emit.unit-status
DeriveReservedDiscriminatorA derive table declaring the reserved genre column.run.emit.reserved-discriminator
DeriveSettledUnitRevivedA settled unit re-entering the outstanding set.run.emit.settled-revived
DeriveUnredactedErrorA last_error written without address redaction.run.emit.unredacted-error
DerivePrimaryKeyMissingA derive output table without the unit-and-sequence key.run.emit.primary-key
DeriveOutputTablesMismatchA host-task pipeline or unit reaching tables other than its task’s.run.emit.output-tables
DeriveCueOutOfOrderA caption block starting before the one already accepted.run.parse-cues.backward-cue
DeriveTestEngineUnsupportedThe single-file verb handed a fetch engine.run.test-engine.unsupported-driver

Bounds

BoundValueBasisClause
journal-inline-cutoff1 MiBchosenrun.journal.inline-cutoff
blob-sweep-grace1 hchosenrun.journal.blob-sweep
blob-sweep-interval24 hchosenrun.journal.blob-sweep
d1-request-timeout15 schosenrun.journal.d1-transport
d1-transport-attempts3 attemptschosenrun.journal.d1-transport
allowed-lateness-default0 schosenrun.advance.allowed-lateness
retry-base-delay100 mschosenrun.retry.default-policy
retry-default-attempts5 attemptschosenrun.retry.default-policy
retry-jitter-ceiling250 mschosenrun.retry.default-policy
retry-max-delay30 schosenrun.retry.default-policy
retry-single-attempt1 attemptschosenrun.retry.single-attempt
retry-after-ceiling300 schosenrun.retry.retry-after
staged-bytes-per-run1 GiBchosenrun.own.staged-bytes
checkpoint-bytes512 MiBchosenrun.own.checkpoint-commit
cancel-poll-interval500 mschosenrun.cancel.poll-interval
owner-lease-renewal10 schosenrun.record.owner-lease
owner-lease-ttl30 schosenrun.record.owner-lease
site-id-max-length64 charschosenrun.record.site-id-length
site-id-min-length1 charschosenrun.record.site-id-length
describe-history-ceiling500 rowschosenrun.record.describe-window
describe-history-default5 rowschosenrun.record.describe-window
export-history-ceiling5000 rowschosenrun.record.export-ceiling
export-history-default500 rowschosenrun.record.export-ceiling
run-error-cap2 KiBchosenrun.record.error-cap
projection-coalesce-window100 mschosenrun.project.coalescing
run-metadata-bytes16384 Bchosenrun.project.metadata-too-large
broadcast-ring-entries256 entrieschosenrun.project.broadcast-ring
channel-eviction-delay60 schosenrun.project.channel-eviction
plan-version-prefix16 charschosenrun.compile.plan-version
normalize-nesting-depth5 levelschosenrun.normalize.nesting-depth
llm-candidate-min-tail32 Bchosenrun.guard-secrets.llm-admission
receive-group-bytes64 MiBchosenrun.land.receive-group
receive-retry-after1 schosenrun.land.receive-retry-after
receive-push-wait30 schosenrun.land.receive-push-wait
parse-child-deadline60 schosenrun.land.parse-deadline
parse-child-memory512 MiBchosenrun.land.parse-memory
export-batch-rows500 rowschosenrun.export.batch-rows
typed-export-request-bytes65536 Bchosenrun.export.typed-byte-limit
publication-completions1 completionchosenrun.export.group-source-latest
publication-quiesce-wait300 schosenrun.export.group-quiesce-wait
d1-group-state-bytes8 MiBchosenrun.export.group-storage
d1-group-row-bytes64 KiBchosenrun.export.group-d1-spill
iceberg-data-file-bytes128 MiBchosenrun.export-iceberg.file-size
iceberg-part-bytes16 MiBchosenrun.export-iceberg.multipart
iceberg-row-group-bytes16 MiBchosenrun.export-iceberg.memory
iceberg-commit-attempts3 attemptschosenrun.export-iceberg.commit-retry
chunk-lease-renewal60 schosenrun.backfill.chunk-lease
chunk-lease-ttl300 schosenrun.backfill.chunk-lease
derive-rows-per-run25 rowschosenrun.select.rows-per-run
derive-attempts-per-unit3 attemptschosenrun.select.attempts-per-unit
derive-seconds-per-run300 schosenrun.select.seconds-per-run
derive-memory-scan-rows1000000 rowschosenrun.select.parent-scan
derive-upstream-excerpt4 KiBchosenrun.bind.upstream-excerpt
derive-chain-deadline1800 schosenrun.exec.chain-deadline
derive-captured-output8 MiBchosenrun.exec.captured-output
derive-audit-entries64 entrieschosenrun.exec.audit-entries
derive-step-error-excerpt4 KiBchosenrun.exec.step-error-excerpt
derive-engine-id-prefix12 charschosenrun.exec.engine-id
derive-redirect-chain5 hopschosenrun.fetch.redirect-chain
derive-document-prefix1 MiBchosenrun.fetch.document-prefix
derive-probe-prefix64 KiBchosenrun.fetch.probe-prefix
derive-hop-timeout20 schosenrun.fetch.hop-timeout
derive-retry-after-default60 schosenrun.fetch.retry-after-default
derive-empty-ceiling1 attemptschosenrun.emit.attempts
derive-passage-chars600 charschosenrun.parse-cues.passage-chars
derive-passage-span60 schosenrun.parse-cues.passage-span
derive-passage-bytes8 KiBchosenrun.parse-cues.passage-bytes
derive-passages-per-doc2000 rowschosenrun.parse-cues.passages-per-document

Types

Each struct or enum a {{type:<path>}} pointer names, with the keys serde reads and their doc comments.

contextful_cli::context::SessionBatch

The struct at crates/contextful-cli/src/context.rs, named by run.land.session-input.

KeyDoc
run_id
rows
now

contextful_core::export::Block

The struct at crates/contextful-core/src/export.rs, named by run.export.export-block, run.export.typed-block, run.export-iceberg.block.

KeyDoc
name
table
endpoint
signal
format
key
schedule
headers
credential
catalog
storage
warehouse
namespace
table_name
format_version
token

contextful_core::export::DeliveryProgress

The struct at crates/contextful-core/src/export.rs, named by run.export.status.

KeyDoc
pendingWhether a staged publication or group awaits acknowledgement.
pending_eventsStaged events no acknowledgement has passed.
acknowledged_sequenceThe sequence of the last acknowledged event, or null.
versionCommitted writes of the outbox: stages, acknowledgements and restores.
last_ack_atThe instant of the last acknowledgement, or null.

contextful_core::export::publication::PublicationDeclaration

The struct at crates/contextful-core/src/export/publication.rs, named by run.export.group-block.

KeyDoc
name
job
members

contextful_core::pipeline::declare::PipelineSpec

The struct at crates/contextful-core/src/pipeline/declare.rs, named by run.declare.pipeline-spec.

contextful_core::pipeline::declare::SourceBlock

The struct at crates/contextful-core/src/pipeline/declare.rs, named by run.declare.pipeline-spec.

KeyDoc
name
config

contextful_core::pipeline::model::BuildEntry

The struct at crates/contextful-core/src/pipeline/model.rs, named by run.publish.build-entry.

KeyDoc
build_id
started_at
completed_at
status
contract_version
schema_fingerprint
partitions_unfilled
disclosure_digest

contextful_core::pipeline::model::ContractColumn

The struct at crates/contextful-core/src/pipeline/model.rs, named by run.model.contract-block.

KeyDoc
name
type
nullable

contextful_core::pipeline::model::HoldRecord

The struct at crates/contextful-core/src/pipeline/model.rs, named by run.publish.hold.

KeyDoc
build_id
principal
placed_at
expires_at

contextful_core::pipeline::model::ModelSpec

The struct at crates/contextful-core/src/pipeline/model.rs, named by run.model.model-block.

KeyDoc
id
sql
sql_file
disclosure_opt_out
disclosure
materialized
unique_key
publish
contract
freshness
test

contextful_core::pipeline::model::PublishSection

The struct at crates/contextful-core/src/pipeline/model.rs, named by run.publish.manifest-section.

KeyDoc
contract_version
schema_fingerprint
build_id
build_started_at
last_built_at
watermark
max_lag
last_build_status
withheld_cells
disclosure_digest
partitions_failed
semantics_version
fingerprint_recipe

contextful_core::pipeline::transform::TransformOp

The enum at crates/contextful-core/src/pipeline/transform.rs, named by run.transform.chain.

contextful_core::run::advance::CursorKind

The enum at crates/contextful-core/src/run/advance.rs, named by run.advance.cursor-kind, run.advance.concurrency-by-kind, run.backfill.chunk-plan.

KeyDoc
monotonicA timestamp, autoincrement or watermark.
opaque-tokenA vendor continuation token.
snapshot-idA log sequence number or version id.

contextful_core::run::backfill::BackfillBlock

The struct at crates/contextful-core/src/run/backfill.rs, named by run.backfill.block.

KeyDoc
max_chunksThe bound on a plan’s chunk count.
chunk_sizeOne clock-ranged chunk’s width in cursor units.
start_fromThe floor of the planned range.

contextful_core::run::backfill::ChunkRow

The struct at crates/contextful-core/src/run/backfill.rs, named by run.backfill.chunk.

KeyDoc
pipeline_id
table
chunk
ordinalThe chunk’s place in its plan; a plan resumes at the lowest ordinal not done.
predicateThe half-open range of cursor positions the chunk pulls.
status
attemptsHow many times a worker claimed the chunk.
started_at
completed_at
cursor_committedWhether the chunk’s commit cached its position.
sequentialWhether the chunk waits on every earlier chunk of its plan (run.backfill.chunk-plan).
leaseThe last lease a worker took on the chunk; a done row keeps the committing one.

contextful_core::run::backfill::PipelinePhase

The enum at crates/contextful-core/src/run/backfill.rs, named by run.backfill.phase.

KeyDoc
planning
seeding
backfilling
streaming

contextful_core::run::derive::config::Binding

The struct at crates/contextful-core/src/run/derive/config.rs, named by run.bind.command-in-manifest, run.fetch.binding-key.

KeyDoc
driver
timeout_secs
max_output_bytes
zoneAdvisory: the adapter, not this key, writes a row’s zone.
media_rootThe directory local media resolves under, relative to the working directory.
preprocess
engine
envVariable name to value template, the only environment a step receives.
allow_hosts
allow_image_hosts
endpoint_host
attachHeader name to value template the exec proxy attaches to each request toward endpoint_host (connector.attach.exec-proxy-attach).
request_timeout_secs
max_document_bytes
max_probe_bytes

contextful_core::run::drive::ItemTerminal

The enum at crates/contextful-core/src/run/drive.rs, named by run.items.terminal-outcome.

KeyDoc
succeeded
failedA failure no retry changes.
exhaustedA retryable failure on the attempt that spent the item budget.

contextful_core::run::failure::FailureTag

The enum at crates/contextful-core/src/run/failure.rs, named by run.retry.failure-taxonomy.

KeyDoc
Transient
Permanent
SchemaIncompatible
AuthExpired
RateLimited
Config
Storage
UnknownConnector
SecretNotFound
Canceled

contextful_core::run::nodes::NodeKind

The enum at crates/contextful-core/src/run/nodes.rs, named by run.compile.plan-node.

KeyDoc
stepOne connector pull, recorded once, under an optional retry schedule.
sleepA durable wait, spelled as a span such as 30s or 5m.
awaitEventA suspension on an awakeable, with an optional time-to-live span.
branchAn arm chosen by a predecessor’s recorded output: the label-to-node-id map.
parallelFan-out bodies, each a node id run as one branch.
joinThe explicit join node rejoining one parallel node’s bodies.

contextful_core::run::ports::DeadLetter

The struct at crates/contextful-core/src/run/ports.rs, named by run.guard-secrets.dead-letter-reason, run.land.dead-letter, run.land.dead-letter-occupied.

KeyDoc
key
reason
sha256

contextful_core::run::project::Snapshot

The struct at crates/contextful-core/src/run/project.rs, named by run.project.wire-snapshot.

KeyDoc
run_id
workflow_id
status
steps
metadata
started_at
ended_at
error
version

contextful_core::run::project::StepStatus

The enum at crates/contextful-core/src/run/project.rs, named by run.project.step-view.

KeyDoc
pending
running
completed
failed
retrying

contextful_core::run::project::StepView

The struct at crates/contextful-core/src/run/project.rs, named by run.project.step-view.

KeyDoc
label
status
attempts
started_at
ended_at
output
failure

contextful_core::run::record::InputBounds

The struct at crates/contextful-core/src/run/record.rs, named by run.record.sweep-bounds.

KeyDoc
as_of
snapshots
rows
available_as_of
valid_as_of
sweep_id
origin

contextful_core::run::record::RunRow

The struct at crates/contextful-core/src/run/record.rs, named by run.record.columns, run.land.ingest-tally.

KeyDoc
run_id
pipeline_id
table
site_id
status
owner
started_at
ended_at
rowsRows and bytes measured at the destination (run.record.skipped-count).
bytes
batchesBatches the run landed.
skippedInputs the run’s pulls declared skipped, summed (run.record.skipped-count).
fetchedRows the run’s pulls carried into the transform chain, summed (run.land.ingest-tally).
keptRows the transform chain kept for staging, summed; fetched - kept is the rows its filter operations dropped (run.land.ingest-tally).
declinedWhat the run’s directory walks declined, tallied by extension and summed over its pulls (connector.source.declined-tally).
auditCaptured output the run’s pulls recorded, in pull order (run.exec.audit-entries).
error_kind
error_message
connector_id
connector_version
connector_hash
trace_id
phase
pipeline_phaseThe pipeline phase the run ran under; a seed chunk’s run records seeding, its only attribution beside the load id (run.seed.one-land-path). Absent for every other run.
execution_idThe execution whose journal this attempt resolves against (run.own.execution-id-keys-the-journal).
plan_refImmutable plan identity admitted at this attempt’s open, retained after retirement.
stop
host_scopeThe host scope an execution opened under; None for a table or chunk run, whose pipeline and table name its scope (run.own.host-scope).
inputA store-driven run’s input (run.record.sweep-bounds); None for every other run.
failed_branchesEach fan-out branch that failed into a join declaring allow_partial, with its label and failure tag (run.journal.fan-out-join).
credential_providersEach logical name the run hydrated, mapped to the adapter that answered it, names only; a row recorded without the field decodes as empty (connector.record.provider-attribution).
bound_hitsEvery declared resource bound a connector struck, in the order struck, a hit a later attempt recovered from included; a row recorded without the list decodes as empty (run.retry.bound-hit-recorded).
next_attempt_atA waiting attempt’s next-attempt instant (run.retry.waiting-state); absent on every other row.
unpushedA run committed on a disposable disk whose run manifest no committed push has carried (store.drain.mark); absent on every other row.

contextful_core::run::record::RunStatus

The enum at crates/contextful-core/src/run/record.rs, named by run.cancel.not-in-flight, run.record.status-set.

KeyDoc
pending
running
waiting
success
partial_failure
failed
canceled

contextful_core::run::sweep::Sweep

The struct at crates/contextful-core/src/run/sweep.rs, named by run.sweep.origins.

KeyDoc
start
end
stepA <n><unit> interval in the schedule grammar’s units.
state

contextful_core::store::declare::TableDecl

The struct at crates/contextful-core/src/store/declare.rs, named by store.declare.table-block, store.declare.erasure-metadata, run.model.restricted-input, run.publish.disclosure-digest.

KeyDoc
name
primary_key
order_by
write_mode
replicate
subject_id
erasure_key
referenced_by
on_erase
class
policy
redaction
visibility
valid_time
available_timeThe availability instant an available_as_of read compares (store.available-time.declaration).
snapshotA snapshot corpus’s capture columns (store.snapshot.capture).
cluster_by
partition_by
bloom_filterColumns whose Parquet parts carry a bloom filter (store.index.kinds).
retain_runs
fold_max_unfolded_runsThe unfolded run count that fires the table’s pass in place of 50 (store.fold.declared-trigger); zero refuses the block.
fold_max_unfolded_bytesThe part bytes, summed over the unfolded runs’ manifests, that fire the table’s pass (store.fold.declared-bytes); zero refuses the block.
allowed_latenessThe window a monotonic poll of this table re-reads behind its stored position, spelled as a span (run.advance.allowed-lateness).
retain_rows
retain_versionsA derive output table keeping each task version’s rows current under that version (run.emit.version-retained).
columnsColumn types every landing reads (store.declare.table-block), spelled as [ColumnType::parse] reads them; an unreadable spelling refuses the block.
indexesSidecar declarations (store.index.declaration).
agent_description
agent_hint
column_hintsHints for named columns in a table description (read.register.describe-payload).
example_queries
content_hash_columnThe column carrying each row’s content hash, the row key a ranked read keeps one row per (read.retrieve.row-key-dedup).
result_cacheThe time to live of a cached read result touching the table, which opts the table into the result cache (read.cache.cache-is-opt-in), spelled as retain_runs.
privateA table whose rows never enter the result cache (read.cache.cache-is-opt-in).
retrieveWhat a ranked read scores the table’s rows on (read.retrieve.scored-text).

contextful_core::surface::delegate::Answer

The enum at crates/contextful-core/src/surface/delegate.rs, named by run.items.delegated-item, surface.delegate.outcome.

KeyDoc
okRows per declared output table; they land as the item’s rows.
deferPark the item until retry_at, spending no attempt (surface.delegate.defer-parks).
transientSpend one failed attempt.
permanentWrite a terminal receipt.

Decisions

SectionCited by
A-run#awakeable-resumes-credentialedrun.suspend.awakeable, run.suspend.resume-route, run.suspend.resume-authenticates
A-run#backfill-commits-checkpointsconnector.source.http-watermark-walk, connector.source.page-cap
A-run#batch-key-answersrun.land.receive-batch-key, run.land.receive-key-expired
A-run#blob-put-may
A-run#bound-hit-ridesrun.retry.bound-hit-is-transient, run.retry.bound-hit-recorded
A-run#build-stale-landingsrun.publish.staleness, run.publish.staleness-omitted-check, run.publish.staleness-model-input, run.publish.staleness-collected-run
A-run#chained-derive-pipelinesrun.select.derive-order, run.select.parent-outcome, run.select.join-order, run.select.derive-cycle, run.select.derive-after-conflict
A-run#coordinated-exports-activaterun.export.group-block, run.export.group-source, run.export.group-delivery, run.export.group-identity, run.export.group-activation, run.export.group-checkpoint, run.export.group-rebuild, run.export.group-incompatible
A-run#d1-coordinated-groupsrun.export.group-storage, run.export.group-d1-state, run.export.group-d1-lease, run.export.group-d1-recovery
A-run#d1-execution-staterun.journal.d1-profile, run.callback-guard.scope, run.callback-guard.acquire, run.callback-guard.identity, run.callback-guard.release, run.callback-guard.replay, run.callback-guard.manual, run.callback-guard.class, run.export.d1-state
A-run#decoder-child-ownsrun.land.parse-deadline, run.land.parse-memory
A-run#derivation-key-decidesrun.select.required-key, run.select.foreign-output-table, run.select.unit-parents, run.select.join-key, run.select.key-change, run.emit.settled-revived, run.emit.derivation-key, run.emit.stale-supersedes, run.emit.marker-row
A-run#derive-engine-machinerun.bind.unbound-engine, run.bind.command-in-manifest, run.bind.unknown-task, run.bind.host-task, run.bind.driver-mismatch, run.bind.endpoint-host-bare, run.bind.remote-url-unsupported, run.bind.media-unreadable, run.bind.confidence-range, run.bind.advisory-zone, run.exec.shell-command, run.exec.env-name, run.exec.non-zero-exit, run.exec.deadline-elapsed, run.exec.output-cap, run.exec.silent-step, run.exec.no-shell
A-run#derive-work-setrun.select.anti-join, run.select.parent-scan, run.emit.failure-off-table, run.emit.unit-status, run.emit.reserved-discriminator, run.emit.host-rows, run.emit.output-tables, run.emit.marker-last
A-run#derived-unit-followsrun.emit.stale-supersedes, run.emit.local-content-key
A-run#disposable-execution-staterun.export.remote-state, run.export.writer-fenced
A-run#external-signals-singlerun.suspend.conflicting-resolution, run.suspend.expired-token, run.cancel.not-in-flight, run.cancel.distinct-terminal-status
A-run#host-opens-executionrun.journal.substrate-port, run.own.host-scope
A-run#host-registered-deriverun.own.host-scope, run.own.unclosed-execution, run.own.body-implementation, run.own.body-dependencies, run.own.rewind, run.own.rewind-unsafe, run.own.apply-retires-superseded, run.own.apply-retire-refused, run.own.checkpoint-commit, run.own.checkpoint-frontier, run.own.checkpoint-resume, run.own.checkpoint-scope, run.emit.task-version, run.emit.version-retained
A-run#iceberg-audiencerun.export-iceberg.audience, run.export-iceberg.namespace-shared, run.export-iceberg.caller-sql, run.export-iceberg.query-refused
A-run#iceberg-overwrite-commitrun.export-iceberg.create, run.export-iceberg.overwrite, run.export-iceberg.commit-retry
A-run#incremental-position-boundstore.lease.cursor-kind, store.merge.cursor-recency, run.advance.field-rename, run.advance.walk-position, run.advance.unorderable-position, run.seed.declaration-missing, run.seed.ceiling-breached, run.seed.ceiling-unevaluable, run.seed.source-changed
A-run#meter-reservation-holdsconnector.meter.acquire-call
A-run#minor-contract-bumprun.model.contract-major, run.model.contract-minor
A-run#model-declared-sqlrun.model.model-block, run.model.build-id, run.publish.hold
A-run#nested-arrow-canonicalrun.normalize.mode-unknown, run.normalize.list-index-missing
A-run#observed-batch-fixesrun.land.typed-pull, run.land.irreconcilable-schema
A-run#orchestrator-role-portrun.orchestrate.role, run.orchestrate.provider-step, run.orchestrate.semantics
A-run#passage-s-modalitystore.reserve.modality, run.emit.output-modality
A-run#plan-compiled-contenttopology.compose.script-runtime, run.compile.authoring-surface, run.compile.inline-step-body, run.compile.control-flow, run.compile.node-id-collision, run.transform.arity, run.select.no-store-root
A-run#received-batches-spooledrun.land.receive-spool, run.land.receive-group
A-run#registered-bodies-pinrun.own.body-implementation, run.own.body-dependencies
A-run#run-record-foldsrun.record.reserved-table, run.record.record-folds
A-run#run-substrate-storagerun.journal.blob-write, run.journal.substrate-port, run.journal.storage-ports, run.journal.postgres-stores, run.journal.container-profile, run.journal.d1-profile, run.journal.d1-blob, run.journal.d1-guard, run.journal.d1-recovery, run.journal.d1-backup, run.journal.storage-incomplete, run.journal.execution-recovery, run.journal.current-owner, run.journal.durable-dispatch
A-run#secret-guard-hasrun.guard-secrets.matchers, run.guard-secrets.llm-candidate, run.guard-secrets.llm-admission, run.guard-secrets.mask-only
A-run#selection-stays-boundedrun.select.unit-parents, run.select.dry-run
A-run#superseded-owner-retiresrun.own.apply-retires-superseded, run.own.apply-retire-refused
A-run#sweep-freezes-transactionrun.sweep.frozen-as-of, run.sweep.carried-state, run.sweep.fresh-state
A-run#table-commit-ownsrun.record.schema-diff-home, run.record.schema-diff-shape
A-run#terminal-item-srun.items.outcome-record, run.items.terminal-outcome, run.items.served-key
A-run#unclosed-execution-recoversrun.cancel.engine-keeper, run.cancel.abandoned-work