Commit¶
Commit is a deterministic, best-effort reduction engine over an immutable, content-addressed mutation DAG on a DSM model. For a single author it is lossless — every read returns exactly what you wrote. For concurrent authors it has no notion of conflict: overlapping intent is silently collapsed by structural rules — structurally sound, semantically untrusted.
Start here¶
Most of this chapter is reference you can skip. It turns on one question: can more than one author write to the database?
No — a single author (the common case). Read Commit Database, CommitStore and Commit Application Model; skip the rest, since every read returns exactly what you wrote.
Yes, or maybe later. Start with the Modes of Use diagnostic — it tells you which remaining pages apply, and how much. The choice is hard to reverse once a model is sealed, so read it before settling on single-stream.
Place in the ecosystem¶
Depends on — DSM (defines the shape of the data being committed) and the Viper C++ engine.
Consumed by — dsviper, dsviper-tools, dsviper-components, Commit Applications
Distribution — no standalone package. The engine ships inside Viper and reaches Python through dsviper on PyPI.
Where it sits in the value chain¶
Without the Commit Database, dsviper reads and writes against the plain
Database backend — flat key-value, no history. The Commit Database adds
versioning over the same backend: an immutable mutation DAG with
deterministic reduction between concurrent streams. A
CommitStore adds the navigation, dispatch, and
notifications on top. See Value Chains for the broader
picture.
Tools that ship with the DevKit¶
Several DevKit artefacts operate directly on the Commit Database:
cdbe.py — Commit Database Editor.
commit_database_server.py — network access +
commit_admin.py.dsm_util.py create_commit_database — create a
CommitDatabasefrom DSM.dsviper-components — Qt-side observers on the
CommitStorenotifier.
dbe.py is not in this list — it targets the non-versioned Database
backend.
Commit Applications¶
For Commit Applications built on the Commit Database (ge-py, ge-qml,
web-cdbe), see Commit Applications.
Topics¶
Status¶
Part of DevKit 1.2.x (LTS, feature-locked).