You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 52c9cab
Browse filesBrowse the repository at this point in the historyBrowse files
docs(kernel): align data-engine contract page with the shipped engine seam (#7057) (#7173)
Three measured divergences on content/docs/kernel/contracts/data-engine.mdx,
all verified against origin/main rather than the issue's line anchors.
1. `EngineQueryOptions.cursor` and 2. query-level `distinct` were retired by
#4286 (ADR-0049 / ADR-0078) but were still listed as live members of the
interface. They are not merely absent from the schema: `retiredKey()`
tombstones REJECT them by name, so a reader copying this block wrote a query
the engine refuses. Both lines are removed from the code block and replaced
by a "Removed in protocol 17" subsection carrying each tombstone's own
migration prescription (keyset as a `where` predicate on the sort key;
`distinct(object, field)` / `groupBy` / `count_distinct`).
3. The `WriteObservabilityOptions` section stopped at #3407 and never learned
#5126's `strictReadonlyWrites` — absent from both prose and the code block —
so "The write still succeeds" read unconditionally where strict refuses the
write with ERR_READONLY_FIELD_REJECTED. The strip enumeration also still
named only the two author-declared strips, missing the runtime-owned strip
(#5503, the one that also runs on INSERT) and the primary-key strip (#6437),
even though #7125 had already repaired the `reason` enum in the code block.
The section is rewritten against packages/spec/src/contracts/data-engine.ts:
a strip table (strip / reason / verbs / writers it skips), the two options as
alternative outputs of one seam (`onFieldsDropped` does NOT fire on a refused
write), the INSERT rule and its two exempt writers, and the engine-seam vs
DataProtocol-ingress layering note (#3043; `preserveAudit` is UPDATE-only at
the ingress, #6640) — that layering verified in metadata-protocol's
`stripReadonlyForInsert`, not taken on trust. The in-process-only Callout now
covers the whole bag, since a client toggling write-refusal is the specific
thing #5126 ruled out.
Docs-only; no package behaviour changes.
Claude-Session: https://claude.ai/code/session_01KJATVrh6V2ysutYUJigh3B
Co-authored-by: Claude <noreply@anthropic.com>
0 commit comments