Commit Applications¶
The Commit Application Model is the architectural
pattern shared by every application built on the
Commit Engine. It defines how an application
composes a CommitStore, its domain state, dispatch surface, and
platform notifications. Two language profiles exist — a six-layer
C++ profile that uses generated function pools, and a five-layer
Python profile that does not need them.
The walkthroughs below are concrete instances of that single Model, on different presentation tiers. They are not products in their own right — read them as worked examples.
The Model¶
- Commit Application Model
The pattern itself. Application Context, four pillars, dispatch, notification contract, dual-layer contract, generic-versus-domain instances, lineage. Start here before reading the walkthroughs.
Walkthroughs¶
cdbe¶
The minimal, generic incarnation of the pattern — a PySide6 desktop
application that opens any commit database with no domain, no
Kibo output, no business logic. The central widget is itself a
generic component (DSDocumentsCommitStore) driven by runtime
introspection. cdbe is essentially dsviper-components wired up
into a Qt main window. Read this walkthrough first to see the
pattern stripped of its domain — the bare skeleton of the Application
Context.
Source repository — ships inside digital-substrate/dsviper-tools.
Walk-through — cdbe.py.
ge-py¶
Graph Editor — PySide6 desktop application demonstrating dsviper
end-to-end with a graph database visualization. Built on the Qt
Widgets infrastructure (dsviper-components).
Re-introduces the domain on top of the cdbe skeleton: a DSM model,
Kibo-generated typed accessors, business functions, and a Context
class that owns the domain state.
Source repository — digital-substrate/ge-py.
Walk-through — ge-py.
ge-qml¶
Graph Editor — QML port of ge-py, built on the Qt Quick
infrastructure (dsviper-components-qml). Same value chain, same
business logic, same CommitStore facade — the UI is QML driven by
Python QObject models registered as QML context properties.
Source repository — digital-substrate/ge-qml.
Walk-through — ge-qml.
web-cdbe¶
Flask web application — a generic Commit Database Editor. Pure HTML5, no JavaScript. Same model-agnostic posture as cdbe, ported to a server-rendered HTML/CSS surface.
Source repository — digital-substrate/web-cdbe.
Walk-through — web-cdbe.