Skip to content

refactor!: ship the v2 JSON document kernel#238

Merged
developer-1px merged 4 commits into
mainfrom
feat/stable-editing-protocol
Jul 26, 2026
Merged

refactor!: ship the v2 JSON document kernel#238
developer-1px merged 4 commits into
mainfrom
feat/stable-editing-protocol

Conversation

@developer-1px

@developer-1px developer-1px commented Jul 26, 2026

Copy link
Copy Markdown
Owner

Summary

  • Replace the unreleased 1.x graph with the provider-neutral @interactive-os/json-document@2.0.0-rc.0 kernel.
  • Publish one root entrypoint with exactly 8 runtime values, 12 public types, and the six-member JSONDocument: value, at, query, canPatch, commit, and subscribe.
  • Define immutable snapshots/publications, atomic RFC 6902 commits, pure patch application, and open Result contracts.
  • Move the unreleased 1.x session, React binding, extensions, labs, demos, tests, and research into archive/v1 without treating them as v2-compatible code.
  • Reduce the active workspace, generated catalog, public site, CI, and publish workflow to the Core package and its documentation.

Standards profile

The portable contract uses RFC 8259 JSON, RFC 6901 JSON Pointer, RFC 6902 JSON Patch, and RFC 9535 JSONPath vocabulary. Selection, history, clipboard, schemas, DOM lifecycle, frameworks, persistence, and collaboration remain host or adapter responsibilities.

Breaking change

Backward compatibility is intentionally not retained because the package has not had a formal release. Consumers should target the v2 root contract directly; /session and /react are removed.

Verification

  • Clean install: npm ci
  • Active Core suite: 185 passed, 4 skipped
  • Focused v2 conformance: 182 passed, 4 skipped
  • Site unit tests: 11/11
  • Site browser tests: 3/3
  • Archive isolation, layer boundary, TypeScript, docs/catalog, production site, HTTP smoke, package smoke, release, benchmark, and pack gates
  • Package: 80 files, 43.9 kB packed, 222.0 kB unpacked
  • Tarball SHA-256: cfc7403ccb8ec1646b24aa16eed6774e3c77f7fd10766034a0cb70559d919032

Companion

editable PR #144 consumes this exact tarball as the DOM and Input Events companion while keeping JSON state authoritative.

@developer-1px
developer-1px merged commit e0eadc2 into main Jul 26, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant