Commit c96bbeb
authored
docs: define vNext language-service contracts (#171)
Defines the accepted vNext capability charter and ADR 0001 before
runtime implementation. The decision establishes a shared
framework-independent language service, one disposable session per
document, atomic revision-guarded updates, original-document UTF-16
ranges, explicit request outcomes, scoped catalog epochs, provider
source forms, and a thin CodeMirror lifecycle adapter.\n\nThe contracts
were derived from the repository research and current marimo
integration, then iterated through three fresh-context design reviews
and two blocker-resolution loops. Local lint, typecheck, test integrity,
workflow validation, diff checks, and aggregate coverage pass.
<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Adds ADR 0001 and a capability charter defining the vNext SQL
language-service contracts. Establishes a framework-agnostic service
with per-document sessions, atomic revision-guarded updates,
original-document UTF-16 ranges, unified request outcomes, and a thin
`CodeMirror` adapter ahead of runtime work.
- **New Features**
- Shared `SqlLanguageService` and per-document `SqlDocumentSession` with
atomic text/context updates.
- Opaque session revisions; all results carry a revision and require a
currency check before apply.
- Standard UTF-16 half-open original-document ranges and validated
incremental changes.
- Unified request outcomes (ready, unavailable, cancelled, failed) with
clear cancellation and provider reports.
- Narrow async provider boundary (no editor/DOM), bounded sync budget,
worker-friendly guidance.
- Catalog epochs with scoped invalidation; template masking/mapping
preserving original offsets; thin `CodeMirror` adapter; walking-skeleton
scope (relation completion first).
<sup>Written for commit 66853b3.
Summary will update on new commits.</sup>
<a
href="https://cubic.dev/pr/marimo-team/codemirror-sql/pull/171?utm_source=github"
target="_blank" rel="noopener noreferrer"
data-no-image-dialog="true"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img
alt="Review in cubic"
src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a>
<!-- End of auto-generated description by cubic. -->1 parent a6f6c04 commit c96bbeb
2 files changed
Lines changed: 872 additions & 0 deletions
0 commit comments