DBL Main
DBL Main provides a deterministic projection of the dbl-core event stream V into a finite state model. It does not execute tasks.
Scope
- Pure state projection from V (append-only event stream).
- Deterministic status evaluation based only on event ordering and DECISION outcomes.
- No policy engine, no kernel runtime, no IO side effects. dbl-main exports projection primitives only.
Boundaries
- dbl-core defines event kinds and DECISION semantics; dbl-main only consumes events.
- dbl-main does not import dbl-policy or evaluate policy.
- dbl-main does not call dbl-gateway and performs no replay; it projects project_state(V) -> State only.
- dbl-policy contract:
dbl-policy/docs/dbl_policy_contract.md
Contract
- docs/dbl_main_contract.md
Validation against dbl-reference
See docs/validation_workflow.md.
Install
pip install dbl-main
Requires dbl-core>=0.3.0, Python 3.11+.
Usage
from dbl_core import DblEvent, DblEventKind, GateDecision
from dbl_main import Phase, RunnerStatus, project_state
v = [
DblEvent(DblEventKind.INTENT, correlation_id="c1", data={"psi": "x"}),
DblEvent(DblEventKind.DECISION, correlation_id="c1", data=GateDecision("ALLOW", "ok")),
DblEvent(DblEventKind.EXECUTION, correlation_id="c1", data={"trace": {}, "trace_digest": "..." }),
DblEvent(DblEventKind.PROOF, correlation_id="c1", data={"proof": "p1"}),
]
state = project_state(v)
assert state.phase in (Phase.EXECUTED, Phase.PROVEN)
assert state.runner_status == RunnerStatus.FINALIZED
License
MIT License. See LICENSE.
Metadata
Release files for dbl-main 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dbl_main-0.3.1.tar.gz | 5.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dbl_main-0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.4 kB
Release files / dbl_main-0.3.1.tar.gz
| Download URL | dbl_main-0.3.1.tar.gz |
|---|---|
| Size | 5.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
37a93989773512d56aebaa8f10573730504157181ed10d2fb52ee92e0c3eb49d
|
|
BLAKE2b-256 checksum How to use checksums |
8eedfaeab8312293441c72614f5e4d203b335a71144ea30d5ebdba6a01659624
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.8
|
Release files / dbl_main-0.3.1-py3-none-any.whl
| Download URL | dbl_main-0.3.1-py3-none-any.whl |
|---|---|
| Size | 4.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0bfbe9e421910767d1f64af57691b17133288f7bfcd1b357e773c32735bc380d
|
|
BLAKE2b-256 checksum How to use checksums |
215a314fad3c8a1e72004efc15806e86040bf9c598cd05eeba3096c035a74b93
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.8
|