You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Canonical export format.causelog export <project> produces a
versioned snapshot (causelog-export v1) of any project — project, goals,
decisions with resolved status, experiments with raw events, notes, an
immutable revision history, and typed links.
Five output formats derived on demand from the snapshot, with the export
page at /projects/{id}/export (and /projects/{id}/export.{format}):
JSON — the reference format for backups and future import.
Markdown — a Git-friendly directory tree, one file per entity.
HTML — an offline-ready static site.
Archive — JSON + Markdown + HTML in one deterministic ZIP with a
manifest.
ODP — an Impress/LibreOffice- (and PowerPoint-) compatible slideshow
built from the project story: title, goal, and one slide per decision,
experiment, and lesson, plus a timeline.
Downloads are member-only and streamed as attachments; everything is
regenerated per request, so it is always current.
New crates/export crate holds the format model and pure renderers, keeping
the export format stable as the database evolves.
Story configuration
Single source of truth for the story. The project page, Markdown, HTML,
ODP, one-pager, and CLI all consume the same configured ProjectStory, so a
saved story configuration renders identically in every format.
Story editor shows/hides and reorders sections, decisions, experiments,
and lessons; sets a custom problem statement; and records a current-state
summary. Hiding a decision hides its experiments.
Export correctness & performance. A decision's chosen option is matched
by its ID (not its label), the parent/child relationship is enforced, and
collection is done with bulk project-level queries behind a single
consistent database snapshot instead of per-entity N+1 queries.
Hardened export boundary. Archive and presentation builders return Result instead of panicking; failures surface to the HTTP/CLI layer.
Packaging
Prebuilt Linux x86_64 binary is published with each release to GitHub
Releases, so you can download and run Causelog without installing Rust.