Repository navigation
Conversation
Add a "Triplex and WorldVM" README section and docs page that position Triplex as a standalone database and as WorldVM's temporal fact store, and record the public Triplex surface WorldVM builds on. Replace the link to a private Runfold pull request with a description of Runfold's role as the engine behind WorldVM programs. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This branch has not been deployed
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.
Part of the WorldVM family rollout. Triplex keeps its name, the
@triplex-buildscope, and triplex.build. This PR states that Triplex is a standalone database and also WorldVM's temporal fact store, and it writes down the API boundary between the two. The diff only changes docs: no code, public API, or package changes.What changed
docs/worldvm.md(new), "Triplex and WorldVM", added to the sidebar under Project. It is also picked up byllms.txt. The page covers:_triplex/*and:triplex/*stay reserved; WorldVM needs become backend-neutral Triplex proposals.docs/datalog-performance.md: removed a link to a pull request in a private Runfold repository. The text now describes Runfold by its canonical role, the engine behind WorldVM programs, and links to the new page.docs/host-integration.md: therunfold_actor_duecleanup note is now general ("hosts that added an equivalent index, such as Runfold's…").The boundary table is based on the Triplex APIs that WorldVM's current prototype and Runfold actually import:
Triples.transact/entity/match/query/transactionByCommand/transactionsForEntity/currentPosition,ConfigStorecommit/resolveRef/snapshotById,Attribute/EntityType/GraphConstraint, transactionmetawithconfigSnapshotandenforce, andPgTriplesover a sharedSqlClient. It does not describe any surface they don't use or that doesn't exist.Checks:
pnpm format:check,pnpm lint,pnpm docs:check,pnpm docs:build(no dead links), andtsc -p tsconfig.alchemy.jsonall pass.Proposed structural moves (not made here)
@worldvm/triplexre-publish. The original note lists@worldvm/triplex. If that package ever exists, it should be a thin WorldVM integration package that depends on@triplex-build/triplex: layer wiring, plus mapping WorldVMEntity/Fact/Relationto Triplex assertions andrefvalues. It should not re-export Triplex under a second name. Sequence: build it inside the WorldVM monorepo → document it on worldvm.com → only then mention it here.Attribute,EntityType,GraphConstraint), and WorldVM's prototype uses it directly. The canon makes Open Ontology the world model ("What exists?"), so there are now two ontology DSLs. Proposal: Triplex's DSL becomes the low-level, storage-facing target that Open Ontology compiles to, and WorldVM programs against Open Ontology. Sequence:@triplex-build/triplex-host(private, experimental) covers tenant identity, authorization, lifecycle, and routing. That overlaps WorldVM's Actor, Capability, and runtime concerns. Proposal: keep it private until it is decided whether it stays a Triplex-only data-plane protocol (database identity, fencing, data API) or its authorization and lifecycle parts move into WorldVM. Nothing moves before that.Worldin@triplex-build/triplex/config. The export is undocumented; it holds the facts an evaluation reads plus its clock. It will be confused with WorldVM'sWorld. Proposal: before 1.0, rename it to something likeEvaluationWorld, keeping a deprecated alias for one minor release. No change here.@triplex-build/triplex-cloudflare, which Triplex labels experimental and private. The new page says WorldVM is only as durable as the backend it runs on. WorldVM's own status docs should say the same.Left as-is on purpose: the "Runfold call path" comment in
test/fixtures/numeric-index.ts(code, and still accurate), theStream.runFoldmatches (an Effect API, unrelated), and the published package READMEs (changing them needs a changeset and a release).Open questions for Ben
packages/core/README.md) carry the one-paragraph WorldVM note? That needs a patch changeset and goes out with the next release.@worldvm/triplexexist at all, or should WorldVM depend on@triplex-build/triplexdirectly (move 1)?triplex-host's authorization and lifecycle contracts (move 3)?World(move 4)?🤖 Generated with Claude Code
Open workspace in Conductor