fabrica

hanna/fabrica

docs: mark the project MVP-complete in CLAUDE.md

356185e · hanna committed on 2026-07-25

All 18 phases are implemented and nix flake check is green; update the
stale greenfield status.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed by hannaSSH key fingerprint: SHA256:4g9cWhkAAw8gwqhJUcVbSnGEvdGwklW+1Aa/fMUu59k
1 files changed · +10 −6UnifiedSplit
CLAUDE.md +10 −6
@@ -2,12 +2,16 @@
22
33 This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
44
5-## Project status: greenfield
6-
7-The repository currently contains **only `spec.md`** — a 1166-line implementation contract. No
8-code, flake, crates, or `Cargo.toml` exist yet. `spec.md` is the source of truth: read it before
9-doing anything. Where it says **MUST**, treat it as a hard requirement; **SHOULD** deviations
10-must be logged in `docs/decisions.md` (once that file exists).
5+## Project status: MVP complete
6+
7+All 18 implementation phases are done and `nix flake check` is green. The workspace,
8+flake, and every crate exist and are tested; the binary serves the web UI + HTTPS/SSH
9+git transport + JSON API. `spec.md` remains the source of truth for behaviour — read it
10+before changing anything. Where it says **MUST**, treat it as a hard requirement;
11+**SHOULD** deviations are logged in `docs/decisions.md` (read it — it records every
12+deviation, e.g. rpgp-not-sequoia, native-tls-not-rustls, russh's aws-lc-rs licenses, and
13+the `tokio` opt-level=0 workaround for a nightly ICE). Known gaps are noted there too;
14+the deferred **CI** (HCL + Docker via bollard) has not been started.
1115
1216 `fabrica` is a self-hosted git server: a single Rust binary that serves repos over HTTPS (read)
1317 and SSH (read + write) with a fast, themeable, htmx-driven web UI. Private by default, no sign-up.