Add README — Crisis PoC + educational visualizer

Short framing: this repo is a proof-of-concept and educational
artifact for Mirco Richter's Crisis paper, comprising a Go PoC, a
Python recorder, and CrisisViz — a native macOS/SwiftUI curriculum
visualizer that walks the protocol end to end across ten chapters
in serial slow motion. Speed slider goes -16x to +16x with reverse
playback; narration is beat-bound to whichever moment the playhead
sits on.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
saymrwulf 2026-05-08 16:28:02 +02:00
parent 5b4fe4ebaa
commit fb9bc9c726

22
README.md Normal file
View file

@ -0,0 +1,22 @@
# crisis
A proof-of-concept and educational artifact for Mirco Richter's [_Crisis_ paper](Crisis.mirco-richter-2019.pdf) — a DAG-based BFT consensus protocol with a data-availability layer.
This repo contains:
- a small **Go PoC** of the protocol (`src/`, `tests/`),
- a **Python recorder** that exports a simulation run to JSON (`pyproject.toml`),
- **CrisisViz** — a native macOS / SwiftUI curriculum visualizer that walks the protocol end to end across ten chapters: cast intro, gossip mechanics, partition, round derivation, virtual voting, leader election, total order, the data-availability problem, erasure-coded recovery, and Byzantine fork detection.
Everything is in extreme slow motion and serialized for didactic clarity. A signed speed slider scrubs the chapter forward and backward at any rate from 16× to +16×; narration in the overlay is bound to whichever beat the playhead is on.
Build:
```sh
cd CrisisViz
swift build # dev binary
./bundle.sh # produce CrisisViz.app + open
swift run CrisisViz --testbed # PNG sweep + invariant + MP4 harness
```
The viewer is the master of time. Pull the slider.