Skip to content

Commit c96bbeb

Browse files
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

File tree

0 commit comments

Comments
 (0)