Skip to content

Repository files navigation

Collaborative State Demos

Browser-only educational demonstrations for the coordinated collaborative- state Internet-Drafts. The public alpha contains four modules:

  • the deterministic JSON three-way merge playground at the existing root URL;
  • the Semantic Validators + AST state timeline at ?demo=semantic-ast; and
  • the TCT Draft-03 delivery-path simulator at ?demo=tct-delivery; and
  • the final guided reconciliation story at ?demo=guided-story.

Live demo: https://antunjurkovic-collab.github.io/collaborative-state-demos/

Milestone 1 is a deterministic JSON three-way merge playground. It executes the pinned libdualnative WASM reference engine locally in the browser and includes the 41 conformance vectors published in Appendix B of draft-jurkovikj-json-three-way-merge-00.

Selecting a published scenario executes it immediately. Editing Base, Source, or Target enables Run edited case; custom input is never auto-run on each keystroke.

Milestone 2 is a deterministic local simulation of representation ETags, Semantic-ETag, AST Core, AST Semantic, If-Match, If-Semantic-Match, 405, 412, 428, capability discovery, and atomic compare-and-commit. Scenario selection evaluates immediately. It never sends the displayed HTTP exchanges to a server.

Milestone 3 is a deterministic local simulation of TCT discovery, exact identity representations, M-Sitemap ETag hints, conditional reuse, content coding, and public delivery failures. It uses fixed cryptographically bound fixtures and accepts no URL or HTTP input.

Milestone 4 composes the four independent drafts in one fixed local story. It keeps the TCT M-URL separate from the AST State-Bearing Resource, shows one stale whole-resource write rejected with 412, retrieves current state, and then invokes the same pinned merge worker. A complete candidate must pass the fixed application gate and explicit simulation confirmation before one retry; a conflict stops with no partial result or client commit.

Boundaries

  • This site is educational and non-normative.
  • A displayed result is not a conformance certificate.
  • The WASM package is the libdualnative reference facade and parity evidence, not an independent implementation.
  • Inputs stay in browser memory. Milestone 1 has no backend, analytics, accounts, storage, or arbitrary network fetch.
  • Milestone 2 is explanatory simulation, not an origin-server implementation, live validator, or claim that a server conforms to either draft.
  • Milestone 3 is explanatory simulation, not a crawler, Deployment Doctor, hosted scanner, cache repair tool, or replacement for the standalone TCT validator.
  • Milestone 4 is an informative application composition, not a new profile or normative dependency among the drafts. Its fixed confirmation advances only the local story and never authorizes an external action.
  • Semantic-ETag is never presented as an HTTP cache validator, and ordinary ETags are never reinterpreted across resources.
  • The site does not change merge semantics or any submitted Internet-Draft.

Pinned inputs

Local development

Requirements: Node.js 22.12 or newer and npm 11 or newer.

npm run verify:engine
npm ci --ignore-scripts
npm test
npm run build
npm run dev

The repository vendors the exact GitHub release archive so installation and static builds do not substitute a registry package. verify:engine checks its byte length, the published sidecar, and the SHA-256 above before the engine is executed by any project script.

The production-browser checks use Playwright. Install Chromium once with npx playwright install chromium, then run npm run test:browser. On Windows, the installed Edge channel can be used without a browser download:

$env:PLAYWRIGHT_CHANNEL = "msedge"
npm run test:browser
Remove-Item Env:PLAYWRIGHT_CHANNEL

Project status

Milestone 1 publishes the deterministic merge playground as a static GitHub Pages site without changing its root URL. Milestone 2 adds Semantic Validators and AST under the query-addressable static route ?demo=semantic-ast. Milestone 3 adds TCT Draft-03 under ?demo=tct-delivery. Milestone 4 adds the final cross-draft story under ?demo=guided-story. All four modules run entirely in the browser from the same repository and deployment.

Milestone 4 is the final planned feature milestone. After publication, this repository enters maintenance mode for draft-revision alignment, correctness, security, accessibility, dependency/CI upkeep, and substantive reviewer feedback.

Every push to main is verified and deployed by the pinned Pages workflow. Only the generated dist/ directory is served; tests, source fixtures, and the vendored engine archive remain repository evidence rather than public web paths.

License

The demo source is available under the MIT License. The pinned libdualnative WASM release is also MIT-licensed; see THIRD_PARTY_NOTICES.md.

About

Browser-only interactive demos for deterministic collaborative-state Internet-Drafts.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages