Define reproducible scenario-based sync verification - #1442
Closed
slashv wants to merge 13 commits into
Closed
Conversation
slashv
marked this pull request as ready for review
July 19, 2026 18:46
This was referenced Jul 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Review target
Please review RFC 0003: Scenario-Based Sync Verification.
Problem
Improving LiveStore stability requires reproducible, system-wide correctness evidence under sustained and adverse conditions. Existing focused verification remains necessary, but it does not provide one shared way to encode, stress, reproduce, verify, and visualize scenarios spanning multiple clients and sessions, real or shallow runtime and backend profiles, faults, and recovery.
The architecture needs to be agreed before implementation and then consolidated into the canonical intent hierarchy. This proposal remains in contributor documentation while it is reviewed; after acceptance, its durable contracts are intended to fold into
context/02-system/09-verification/06-scenarios/in a separate intent-layer PR before implementation begins.Solution
Add RFC 0003, Scenario-Based Sync Verification, defining:
LiveStoreSchema, infer event and Store types, reuse normal materializers, and expose optional named actions and normalized state inspectors;tests/scenarios/workspace boundary for the authoring model, runner, hosts, backend realizations, trace, oracles, artifacts, corpus, and visualizer, with no reverse dependency from product packages; andcontext/02-system/09-verification/06-scenarios/usingLS.SYS.VER.SCEN-*, including a node-owned acceptance decision and an initial umbrella delta for the absent subsystem.YAML and JSON are not primary authoring formats. JSON may encode the normalized AST in artifacts or across transports, while contributors and agents author typed scenario modules. Version one exercises the application’s actual SQLite materializers without making SQLite part of scenario-level sync semantics.
Remaining choices—such as the exact constructor ergonomics, fault-injection mechanisms, trace retention, adversarial inputs, failure minimization, and performance evidence—remain explicit design questions for the scenarios intent node.
This RFC changes no runtime behavior. Once accepted, the durable contracts, terminology, acceptance decision, and implementation delta will be folded into
context/; implementation will follow in separate PRs against those requirements.Visualisation mock-up
The mock-up below illustrates an initial direction for the eventual visualisation. It separates the current system state—covering the backend, Clients, Leader roles, Client sessions, and their sync status—from the scenario timeline that explains how the system reached that state. This is an exploratory visual aid rather than a committed interface design.
Validation
git diff --check upstream/main...HEADdt lint:full:fix,dt ts:check, ordt test:run. Neitherdevenvnordtis available in the current shell, and this is a documentation-only draft with no executable changes.Demo (optional)
Related issues