Contextfulv0.23.0

Docs / Specification

Milestones

The order in which the corpus is built. A milestone names the operations it closes; contextful-spec state expands each to its clause set and reports the reach in status.md. An operation belongs to at most one milestone.

Each milestone’s Reach: line is its acceptance criterion, and its Acceptance: line names the test in crates/acceptance/ that drives that reach through a built binary. The acceptance test lands before the first clause of its milestone is pinned, ignored while the milestone is open; the milestone closes when the ignore comes off, the test passes, and every operation it names holds a performed clause.

A Depth: operation line specifies a milestone at operation level: its operations carry refusal and limit clauses, unsettled lines and diagrams, and no behavior clause. Removing the line when the milestone opens admits behavior clauses again.

Flowchart diagram Flowchart, top to bottom. 17 nodes, 17 edges. 0 Test-first gate → 1 Authority core [unlocks] 1 Authority core → 2 Store [unlocks]; → 5 Read face [unlocks]; → 14 Assurance [unlocks] 2 Store → 3 Run path [unlocks]; → 5 Read face [unlocks]; → 11 Derive [unlocks] 3 Run path → 4 Ingest [unlocks] 4 Ingest → 10 Cadence [unlocks]; → 15 Point-in-time evaluation [unlocks] 5 Read face → 6 Sync [unlocks]; → 7 Memory [unlocks]; → 8 Accountability [unlocks]; → 12 Operator console [unlocks] 7 Memory → 16 Memory graph walk [unlocks] 8 Accountability → 9 Visibility [unlocks] 9 Visibility → 13 Disclosure [unlocks] unlocks unlocks unlocks unlocks unlocks unlocks unlocks unlocks unlocks unlocks unlocks unlocks unlocks unlocks unlocks unlocks unlocks 0 Test-first gate 1 Authority core 2 Store 3 Run path 4 Ingest 5 Read face 6 Sync 7 Memory 8 Accountability 9 Visibility 10 Cadence 11 Derive 12 Operator console 13 Disclosure 14 Assurance 15 Point-in-time evaluation 16 Memory graph walk

0 — The test-first gate

Reach: A change altering source with no test failing against its base reds the gate before merge.

Acceptance: contextful_acceptance::m00::m00_test_first_gate

1 — The authority core

OperationsIntent
authority.identify, authority.profile, authority.grant, authority.attenuate, authority.issue, authority.verify, authority.revoke, authority.exchangeThe subject, delegation, admission, custody and revocation, with the proof package and differential harness beside them.
assurance.model, assurance.prove, assurance.audit-assumptions, assurance.recheck, assurance.scope-claim, assurance.differential-test—

Reach: An authority is admitted once, travels as a value, and is re-read at the effect about to act.

Acceptance: contextful_acceptance::m01::m01_authority_core

2 — The store

Reach: A table lands, a scan resolves its file list, and a reader opens the Parquet without the engine.

Acceptance: contextful_acceptance::m02::m02_store

3 — The run path

OperationsIntent
run.journal, run.items, run.advance, run.suspend, run.retry, run.own, run.cancel, run.record, run.projectJournal, isolated items, cursor, suspension, retry, cancellation and the run record; shared contracts, packaging and coordination.
topology.compose, topology.package, topology.coordinate—

Reach: A run crashes mid-step and resumes from its journal without re-issuing a recorded effect.

Acceptance: contextful_acceptance::m03::m03_run_path

4 — Ingest

OperationsIntent
run.declare, run.compile, run.transform, run.normalize, run.guard-secrets, run.land, run.export, run.backfill, run.seed, run.model, run.publishThe pipeline declaration and landing sequence, the connector world, and outbound credentials.
connector.*—

Reach: A declared pipeline pulls from a real source, lands rows under a cursor and never holds a credential in plaintext, and a model over those rows publishes a build a hold keeps.

Acceptance: contextful_acceptance::m04::m04_ingest

5 — The read face under enforcement

OperationsIntent
read.register, read.guard, read.respond, read.query, read.retrieve, read.rank, read.cache, read.resolve-pin, read.embedRegistration, the statement guard, retrieval and ranking, the tool surface; the enforcement layers as one reference monitor.
authority.redact, authority.compose, authority.filter-rows, authority.mask, authority.refuse, authority.bound-redistribution, authority.place, authority.resist—

Reach: An agent asks over MCP and receives ranked rows the caller’s authority admits.

Acceptance: contextful_acceptance::m05::m05_read_face

6 — Sync and replicas

Reach: Two nodes share one bucket and converge without a coordinator.

Acceptance: contextful_acceptance::m06::m06_sync

7 — Memory

Reach: A synthesized belief supersedes its predecessor on new evidence, and a reader sees which grant produced it.

Acceptance: contextful_acceptance::m07::m07_memory

8 — Accountability

Reach: An operator answers what a named person could have seen over a past window, from the store, in SQL.

Acceptance: contextful_acceptance::m08::m08_accountability

9 — Visibility

Reach: A revoked grant at the source stops answering within a declared bound.

Acceptance: contextful_acceptance::m09::m09_visibility

10 — Cadence and the operator plane

OperationsIntent
surface.arm, surface.reconcile, surface.fire, surface.dispatch, surface.edit, surface.apply, surface.reside, surface.register-storeSchedules, reconciliation, bounded dispatch, configuration apply, deploy targets and published hostnames.
topology.deploy, topology.publish-hostname, topology.bound-application—

Reach: Due work dispatches into a bounded pool, and a published hostname is probed for the posture it declares.

Acceptance: contextful_acceptance::m10::m10_cadence

11 — The derive tier

Reach: A pipeline reads the words inside a landed document and fills them into the parent row.

Acceptance: contextful_acceptance::m11::m11_derive

12 — The operator console

OperationsIntent
surface.open-console, surface.visualize, surface.package, surface.speak, surface.ground, surface.plan-turn, surface.set-vantage, surface.browse, surface.learn, surface.render, surface.brief, surface.publish-answerIndependently gated Query and Admin pages, governed answers, and visualized operator workflows.

Reach: An operator asks on Query and receives a sourced answer; Admin visualizes the store’s workflows and admits only operators with its page grant.

Acceptance: contextful_acceptance::m12::m12_console

13 — Disclosure

Reach: Two parties compare against a benchmark neither can invert.

Acceptance: contextful_acceptance::m13::m13_disclosure

14 — Assurance

Reach: The gate holds its resource budget, and the evaluation floors and every gate-tier target are measured on every change.

Acceptance: contextful_acceptance::m14::m14_assurance

15 — Point-in-time evaluation

OperationsIntent
store.available-timeThe declared availability instant, its resolution at landing, vintages, and the available_as_of bound.
read.as-of-joinThe point-in-time join matching each driving row to the right row available at its instant.
run.sweepWalk-forward origins under one frozen as_of, carried or fresh state, and writes stamped available at their origin.
read.horizonThe credential horizon every read inherits, the arguments it refuses, the stamps and statistics it withholds, and the builds and indexes it resolves.
store.snapshotThe captured document corpus a case pins, and the standing of a capture after the horizon.
assurance.backtestBounded cases routed to dated checkpoints, leakage stated against a reference, purged and embargoed splits, a trial ledger, planted leaks and a replayable trajectory.
assurance.forecastForecast cases frozen before resolution, settled through the label join, scored on tracks that never pool.

Reach: A source observation landed with its valid instant and later publication instant answers no available_as_of read between the two, and answers one after publication.

Acceptance: contextful_acceptance::m15::m15_point_in_time

16 — Memory graph walk

OperationsIntent
read.traverseA bounded walk over admitted memory edges from a seed entity, under the caller’s enforced session, the declared walkable relations and fixed hop, fan-out and frontier bounds.

Reach: An agent walks admitted edges from an entity and sees only what its credential can read.

Acceptance: contextful_acceptance::m16::m16_traverse

17 — Delegated bodies

OperationsIntent
surface.delegateA store-driven item’s body on deploy-bound code outside the binary: the binding, the envelope, signed answers, the call mode, and the outcome vocabulary.

Reach: A store-driven item runs its paid call on a loopback delegate, its answer lands as the item’s rows, and a resume after a restart sends no second request.

Acceptance: contextful_acceptance::m17::m17_delegated

18 — Provider orchestrators

OperationsIntent
run.orchestrateThe orchestrator role as a port: a provider’s workflow engine drives the engine one provider step per table pull or chunk, keeps every journal, retry, suspend and cancel clause inside the step, and runs no retry of its own.

Reach: A backfill chunk’s provider step crashed after half its pages resumes under an in-tree test filler and lands parts byte-identical to the engine runner’s.

Acceptance: contextful_acceptance::m18::m18_orchestrate

19 — Drive connections

Reach: A Picker-selected file creates one tenant-bound Drive pipeline, lands scoped rows, pauses without another fire, and deletes with its credential revoked.

Acceptance: contextful_acceptance::m19::m19_drive_connections

20 — Drive permission custody

Reach: A Drive permission withdrawal stops an enterprise reader within the declared visibility bound, while two connection refreshes resolve one versioned credential.

Acceptance: contextful_acceptance::m20::m20_drive_permissions

21 — Sheet rows

Reach: A selected workbook lands rows from two sheets with distinct keys, and removing a row lands its tombstone.

Acceptance: contextful_acceptance::m21::m21_sheet_rows

22 — Drive change cursor

OperationsIntent
connector.drive-changesFull-walk handoff, paged changes and safe cursor recovery.

Reach: A change during the initial walk lands once through the change cursor, and an invalid cursor triggers a complete selected reconciliation.

Acceptance: contextful_acceptance::m22::m22_drive_changes

23 — Workspace delegation

Reach: A delegated Workspace connection reads only as its admitted domain user and refuses a subject outside the approved domain before token minting.

Acceptance: contextful_acceptance::m23::m23_workspace_delegation

24 — Iceberg export

OperationsIntent
run.export-icebergOne audience’s admitted rows of a landed table, published as an Iceberg table a catalog query engine reads without reaching the store.

Reach: Two exports of one table commit an append and then an overwrite snapshot to a local Iceberg REST catalog, and a reader of the namespace sees the second export’s rows alone.

Acceptance: contextful_acceptance::m24::m24_iceberg_export

25 — Scoped callback guards

OperationsIntent
run.callback-guardA D1 callback guard bound to its own rows, its recorded effect identity, and release only over proven replay-safe effects or matching operator evidence.

Reach: A guard on one item blocks its owner, ancestors and entity lease while another job’s admission proceeds, and a dead holder’s replay-safe effect releases with its original key while mismatched evidence leaves the guard.

Acceptance: contextful_acceptance::m25::m25_callback_guards