CultLib/samples/eve-two-runtime
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Libby 286a9af389
Some checks failed
CultMesh QUIC native / Build win32-x64 (pull_request) Has been skipped
CultMesh QUIC native / Build linux-x64 (pull_request) Has been skipped
CultMesh QUIC native / Release native binaries (pull_request) Has been skipped
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Failing after 5m49s
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (pull_request) Successful in 36s
npm: scope cultnet-ts, cultmesh-ts and cultmesh-browser under @gamecult
Unscoped npm names are unclaimed and open to dependency confusion; cultcache-ts was
already @gamecult/cultcache-ts. package.json names, intra-repo dependencies, package-lock,
import specifiers (src, tests, samples, docs/start, first-call docs test), the workspace
list in run-typescript-workspaces, the verify-eve module map and package READMEs now use
the scoped names. Directory names, workspace paths in CI and release tag prefixes are
unchanged. Historical cut docs and past CHANGELOG entries keep the old names.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 16:25:10 +00:00
..
README.md Make Eve onboarding one coherent game 2026-08-18 06:05:15 +02:00
sample.mjs npm: scope cultnet-ts, cultmesh-ts and cultmesh-browser under @gamecult 2026-11-07 16:25:10 +00:00

Eve Two-Consumer Counter

This is the smallest executable package-consumer checkpoint for CultMesh plus Eve. It intentionally has one owner for each decision:

  • the provider node owns the counter document and command transaction;
  • Eve owns the validated surface and command-receipt contracts;
  • CultMesh owns typed observation and the operation boundary;
  • the DOM lowerer owns HTML only;
  • the headless observer owns no state.

Run it from the CultLib repository:

pwsh -File ./scripts/verify-eve-getting-started.ps1

That command continues into the real Chromium/C# network checkpoint after this artifact layer passes. Run verify-eve-two-runtime-sample.ps1 directly only to diagnose clean package consumption in isolation.

From clean CultLib and Eve checkouts, the verifier installs missing build dependencies, builds package artifacts, installs them into a new empty temporary consumer, and runs sample.mjs. Success proves:

  1. no source-tree import is required by the consumer;
  2. the provider surface and receipt pass Eve's generated runtime validators;
  3. a DOM click executes one idempotent provider operation;
  4. the DOM binding and a separate headless observer converge on the same count;
  5. the canonical receipt and state survive reopening the .cc store.

This artifact checkpoint is deliberately not the network proof. The DOM lowerer is hosted by jsdom in Node and both consumers share one local CultMesh node. The same wrapper continues into a separate real Chromium/C# process chronology with Odin discovery, route replacement, and persistent provider state. Keeping those evidence layers separate prevents a fast package test from impersonating the network.