11# DIZZY
22
3- ** DIZZY is a methodology for writing event-sourced software.**
3+ > ⚠️ ** Research code.**
4+ > DIZZY is a work in progress.
5+ > The Python (` python-uv ` ) path is the most complete;
6+ > the ` rust-cargo ` and ` typescript-npm ` runtimes are experimental.
47
5- ** HYPOTHESIS**
68A business Domain can be expressed a single artifact that is the litare design and source of implementation.
79Readable as prose, but precise enough to generate a checkable implementation against.
810As the entry point of change - the system stays tractable as the domain grows.
911
10- DIZZY defines a single feature-fule that declares every component of the domain:
12+ DIZZY defines a single feature-file that declares every component of the domain:
1113commands, procedures, events, policies, projections, models, queries and queriers.
1214
1315Code, typed contracts, deployment, stubs and tests are generated from the feature file as redistributable libraries in multiple languages.
@@ -16,14 +18,10 @@ The goal is **reproducible, redistributable and literate software**: features de
1618with no architecture or database baked in,
1719so the same definition can target different runtimes and deployments.
1820
19- > ⚠️ ** Research code.**
20- > DIZZY is a work in progress.
21- > The Python (` python-uv ` ) path is the most complete;
22- > the ` rust-cargo ` and ` typescript-npm ` runtimes are experimental.
2321
2422## Why DIZZY ?
2523
26- If the hypothesis holds - then programs built to service DIZZY features will serve all libraries implemented in DIZZY.
24+ The core hypothesis is that programs built to service DIZZY features will serve all libraries implemented in DIZZY.
2725
2826If and when built for DIZZY, each additional system applies to all DIZZY libraries.
2927
@@ -113,7 +111,7 @@ the implementation stubs in `lib/`) are never clobbered.
113111# 1. scaffold LinkML schemas + libconfig.yaml from the feat file
114112dizzy generate definitions guestbook.feat.yaml ./out
115113
116- # ✍️ fill in field-level detail in out/def/*.yaml
114+ # fill in field-level detail in out/def/*.yaml
117115# (attributes on commands/events, model classes, query input/output)
118116
119117# 2. compile schemas → the gen_def/gen_int type packages under lib/python-uv/
@@ -122,7 +120,7 @@ dizzy generate static guestbook.feat.yaml ./out
122120# 3. package each element into a redistributable per-runtime library
123121dizzy generate libraries guestbook.feat.yaml ./out
124122
125- # ✍️ implement the bodies in
123+ # implement the bodies in
126124# out/lib/python-uv/{procedure,policy,projection,query}/<name>/src/*.py
127125` ` `
128126
0 commit comments