Changelog
What shipped, when, and why
Entry-by-entry notes for @lossless-group/lfm, following the Lossless changelog conventions.
Milestone: flave has docs — getting started on Linux, Ubuntu, and Nix flakes
It worked on one NixOS laptop. Now there is a page that takes a collaborator from a clean Ubuntu install to the desktop app open on their screen, a direnv hook that makes the flake automatic, and docs rendered through LFM rather than around it.
The demo document got worse, so we made it the test
A demo that shows three features tells you three things work. The one that shipped yesterday had quietly shrunk to a welcome note — and building a real one immediately exposed four features the renderer had been silently dropping, including citations, which vanished entirely.
flave is a desktop app now, and the theme is a file you can open
It opens a folder. You see your files. You click themes/lossless.css, change a value, and the document you are reading restyles under your hands — then it is still there tomorrow, because it lives in the workspace and not inside any one document. Tauri on NixOS, in about an hour.
Twenty-nine green assertions and a stylesheet the browser threw away
A human said the warning callout wasn't there. It was — the markup was perfect and had been all along. What was missing was every CSS rule meant to style it, silently discarded by the browser because we wrote Svelte syntax in a plain stylesheet. Here is the bug, the second one hiding behind it, and the two gates that make neither of them possible again.
Milestone — a human opened flave and it worked
The first draft of the editor runs. Someone who is not the machine that wrote it opened the app, typed, and watched a document appear. That is the rung no test suite can climb, and it is the only one that decides whether any of the green checkmarks below it meant anything.
flave renders — the loop works, and the constraint we feared turned out to be the design we wanted
Type Lossless Flavored Markdown on the left, watch a styled document appear on the right, and invent brand-new syntax without touching a line of the renderer. That loop now runs. Getting there meant measuring what lfm actually emits instead of what we assumed — which killed one of our own assumptions, confirmed a decision we had already made for the wrong reason, and surfaced a real defect in lfm's browser story.
Press Room — the splash gets a face, and the hero argues the thesis instead of describing it
flave's GitHub Pages splash ships with a deliberately divergent identity: graphite ground, Space Grotesk over Instrument Sans, zero-radius ledger rows, registration-mark ornament, and a misregistered display type that reads as an almost-aligned print run. The palette is the product's thesis — the clearance ramp runs cool to hot as exposure increases — and the hero renders one real paragraph at four clearance levels so a reader understands the model before reading a word of prose.
Initializing — flave gets a repo, a master spec, and a thesis worth building
An all-day PM grilling session turned a loose idea — 'polyglot markdown, but it recreates Pages and Keynote' — into a 24,000-word master spec with 20 decisions resolved on the record. The thesis moved twice under questioning and landed somewhere better than it started: flave is a document that keeps its workings. This entry initializes the repo that will build it.