Public case study

Morn

Work & Organization Control Plane

A domain-neutral control plane for governed work, durable execution and safe evolution.

Year
2026
Status
status.active
Role
System design, architecture and engineering
Category
Agent Runtime · Distributed Systems · Rust
Stack
  • Rust
  • axum
  • React / Vite
  • Tauri v2
  • SQLite
Public code
Public repository
Reality
Distributed runtime A Rust workspace with four product surfaces, a Tauri desktop shell and a scripted full verification run.

Status Public Rust workspace. The README reports v1.0.0-rc.1 with local GA complete; this site quotes that status and does not re-run the suite.

G = (V, E) · EXECUTION GRAPH AGENT MODEL MEMORY TOOL PROMPT CONNECTOR CALLS ROUTES READS ROUTES WRITES GOVERNED ACTION GATEWAY E0 – E3 EFFECT CLASSES · APPEND-ONLY LEDGER

What it is

Morn is a local-first AI desktop system experiment: it lets AI collaborate, plan and execute work on the user’s own machine.

It is a Rust workspace with an axum backend, a React / Vite frontend, a Tauri v2 desktop shell and a developer command-line tool.

Why it matters

Once software can act on its own, the interesting questions stop being about what it can do and start being about which effects are reversible, who approved them, and what still holds after a node dies mid-run.

Morn puts those questions inside the write path rather than in a log viewer added afterwards.

Current public status

Public Rust workspace. The repository README reports v1.0.0-rc.1 with local GA complete.

This site cites that state and does not re-run the test suite, so it claims no pass rate.

What is publicly available

  • The morn repository — Rust, Tauri v2 and React.
  • The full acceptance entry point, scripts/run_all.ps1: formatting, linting, Rust tests, frontend checks, desktop build and UI / E2E smoke.
  • Two external blockers stated in the README: a real harness smoke run needs real credentials, and a real data pilot needs a lawful dataset. Both are recorded as blocked rather than passed.

Notes

The behavioural claims on this page come from the public repository, and every figure is quoted from the README rather than produced here.

Implementation status

A Rust workspace with four product surfaces, a Tauri desktop shell and a scripted full verification run.

What exists today, and how you would check it. Nothing below is a rendered mockup of something that does not exist.

Public code
Public repository
States describe what a visitor can verify, not how finished something feels.
Component State Note
Semantic kernel Built Identity, workspace, policy, approval, an append-only ledger and versioned contracts in `morn-kernel`. The README states that providers and plugins cannot redefine these.
Operational world Built Objects, relations, events, state snapshots, state diffs and outcomes behind a governed action gateway with four effect classes (E0–E3).
Work and organisation layer Built Work packages, acceptance specs, durable runtimes, role slots, members and actors, with representation contracts kept as data.
Evolution layer Built Candidate / branch / evaluation / promotion with production separation, a solution compiler, certification and rollback points — `morn-evolution`, `morn-foundry`, `morn-assurance`.
Capability fabric Built Replaceable providers, runtimes and connectors behind stable contracts. Connectors may only write through governed tokens.
Two-node durable runtime Built Claim, checkpoint, lease, failover and dedupe across two nodes in `morn-node` and `morn-process`.
Domain SDK and pack lifecycle Built Install, enable, disable, upgrade and uninstall for domain packs and plugins, with preserved history and path / name safety checks.
Product surfaces Built Workbench, Studio, Console and Hub on one axum backend with a React / Vite frontend, plus a Tauri v2 desktop shell and a developer CLI.
Scripted full verification Built `scripts/run_all.ps1` covers fmt, clippy, Rust tests, frontend typecheck / lint / tests / build, the desktop build and UI + E2E smokes.
Test suite Built The README reports 218+ Rust tests with none ignored, including chaos, conformance, migration / security and end-to-end packages. This site does not re-run them, so no pass rate is claimed.
License Partial The README states "MIT OR Apache-2.0"; GitHub detects no LICENSE file, so the license status is unresolved — treated as unclear rather than settled.
Real DeepSeek harness smoke Planned Blocker B-001 in the README: a real smoke test needs an official distribution or real credentials. The Morn-side provider contract is reported to pass against fixtures. No fake success is reported.
BioLab real-data pilot Planned Blocker G4-B-002: a lawful real dataset is required. Core pipeline contracts are reported to pass with fixture-controlled records.
How to read these states 3
  • Built Implemented in code. Says nothing about how good it is.
  • Partial Present but incomplete, or opened only partially.
  • Planned Identified for future work. Nothing to inspect yet.
Repository

Workspace layout

Open source artifact
morn/
├── crates/                      22 crates
│   ├── morn-kernel              identity, workspace, policy, approval, ledger
│   ├── morn-world               objects, relations, events, state snapshots
│   ├── morn-work                work packages, acceptance specs, runtimes
│   ├── morn-organization        role slots, members
│   ├── morn-actor               actors and representation contracts
│   ├── morn-evolution           candidate / branch / evaluation / promotion
│   ├── morn-foundry             solution compiler, managed work, pilots
│   ├── morn-assurance           certification, rollback points
│   ├── morn-capability          replaceable providers behind contracts
│   ├── morn-harness             runtime harnesses
│   ├── morn-runtime             execution runtimes
│   ├── morn-integration         connectors writing through governed tokens
│   ├── morn-node                claim / checkpoint / lease / failover
│   ├── morn-process             process intelligence
│   ├── morn-domain-sdk          public SDK for domain packs
│   ├── morn-package             pack and plugin lifecycle
│   ├── morn-artifact            immutable, versioned artifacts
│   ├── morn-store               persistence
│   ├── morn-core-tests          shared core test fixtures
│   ├── morn-opint               operations intelligence
│   ├── morn-cli                 developer CLI
│   └── morn-app                 server binary (http://127.0.0.1:8090)
├── frontend/                    React + Vite + TypeScript (four surfaces)
├── src-tauri/                   Tauri v2 desktop shell
├── domain-packs/                biolab-reference (feature-gated)
├── scripts/                     run_all.ps1, domain boundary guard
├── docs/                        architecture, developer guide, deployment, security
├── reports/                     Goal 1–5 and v1 GA reports
└── .github/workflows/           CI: fmt / clippy / backend / frontend / E2E / desktop

Twenty-two crates, ordered kernel → world / work → capability → app. The domain pack is separate and feature-gated.

Source GitHub API — huangdi97/morn tree listing, read 2026-09-18.

Command / Output

Documented entry points

Open source artifact
cargo build --workspace --all-features
cargo run -p morn-app --bin server --all-features   # http://127.0.0.1:8090

cd frontend && npm install && npm run dev           # http://127.0.0.1:5173

cargo run -p morn-cli -- doctor
cargo run -p morn-cli -- status

# full verification: fmt / clippy / tests / frontend / Tauri / UI + E2E
powershell -ExecutionPolicy Bypass -File scripts/run_all.ps1

The quickstart is the contract: backend, frontend, CLI and the full verification script.

Source morn README.md — quoted verbatim.

Quoted

Stated invariants and blockers

Open source artifact
  • Core is domain-neutral: it starts and runs with zero domain packs.
  • Runtimes and providers cannot commit canonical world state directly.
  • Artifacts are immutable — edits create new versions with lineage.
  • Evolution never mutates production; promotion creates a rollback point.
  • E3 irreversible effects require approval; E2 requires a compensation plan.
  • Blocker B-001: real DeepSeek harness smoke needs real credentials.
  • Blocker G4-B-002: a real BioLab data pilot needs a lawful dataset.

Source morn README.md.