Lossless Changelog
component

MemoPop Native

lossless-group/memopop-aimain

2026-05-17 · 1 entry2026-05-03 · 1 entry2026-05-01 · 1 entry2026-04-27 · 3 entries2026-05-03 · 19 commits · 11,423 code · 384 context · 1,510 changelog
Jan 20252026Sept 2026
  • colour = whenJan 2025 → Sept 2026

128 commits · +33,360 lines

Code
23k69%
Context
6k19%
Changelog
4k12%

Open in Obsidian, Actually — Vault Detection and a Cleaner Deal Header

The 'Open in Obsidian' button was silently doing nothing. Turns out `open -a Obsidian /some/folder` is a no-op unless that folder *is* a vault — so we taught the app to walk up to the nearest `.obsidian/` and route through `obsidian://` URIs instead. While we were in there, the deal-workspace header that hosted that button got a long-overdue redesign.

Michael Staton
  • DealWorkspace
  • Obsidian
  • URI-Scheme
  • Tauri
  • Sidecar
  • Header-Layout
  • +2

The Crew Shows Up — Live Character Indicators on the Run Panel

Six steam-punk character portraits — Financial-Analyst, Researcher, Writer, Editor, Fact-Checker, Scorecard-Generator — now sit above the JobView's 3-column grid during a memo run. The character whose stage is active glows with a slow breathing border; the rest stay visible but quiet. A live caption under the active character names the work in progress, swapping as the underlying milestones advance. The cast is authored in a single human-editable markdown file (`src/lib/characters.md`) — frontmatter holds names, stage mappings, default captions, and forward-compat agent-precise captions for v2. Mike retunes the wording without touching code.

Michael Staton
  • JobView
  • Character-Cast
  • Agent-Personification
  • Svelte-5
  • Live-State
  • Markdown-Frontmatter
  • +2

Brand Setup Lands — Paste a URL, Get a Populated Config

First post-memo onboarding step. Click 'Make this look like your firm →' in the JobView's success banner (or 'Brand setup →' in Settings), paste the firm's website URL, watch Claude tool-use its way through the homepage and a couple of linked pages, then review every field on a confirmation form before anything saves to disk. ~15s wall time, ~$0.05–0.15 per fetch via Haiku 4.5. Brand managers stay happy because every Claude guess — colors, fonts, logos, taglines — is editable with live swatches and logo previews before save. Output merges into io/{firm}/configs/brand-{firm}-config.yaml, deep-merging with the firm-creation scaffold so company.conventional_name is never clobbered.

Michael Staton
  • Brand-Setup
  • Claude-Tool-Use
  • Anthropic-SDK
  • Multi-Step-Modal
  • Onboarding
  • Svelte-5
  • +5

memopop-native Bootstrapped — Tauri 2 + Svelte 5 Inside the Bun Workspace

Stood up apps/memopop-native — a Tauri 2 desktop shell wrapping the investment-memo-orchestrator's CLIs — inside the existing memopop-ai Bun workspace. Verified prerequisites (Xcode CLI, Rust, Bun), updated Rust to current stable, scaffolded via bun create tauri-app with TypeScript + Svelte, brought the frontend stack to current within two safe waves (minor + coupled-major), added the four Tauri 2 plugins we'll need (shell, dialog, store, fs). Window opens, IPC works, baseline is clean.

Michael Staton
  • Tauri
  • Tauri-2
  • Svelte-5
  • Bun
  • Bun-Workspaces
  • Vite-8
  • +4

Settings + Firm Picker — First End-to-End Through the Transport Layer

First real feature in memopop-native: a Settings screen that picks the orchestrator repo path and the active firm, persisted across launches. Beneath the small UI, this lands the architectural seam — a Transport interface, a LocalTransport implementation backed by a single Rust api_dispatch command, and the first route (GET /firms) wired end-to-end. Every future action and query rides on this same rail; the eventual swap to a hosted Python server is now ~1 day of frontend work, not a rewrite.

Michael Staton
  • Tauri
  • Svelte-5
  • Runes
  • Transport-Layer
  • LocalTransport
  • IPC
  • +4

Full Onboarding Journey Lands — Outline Gallery, Firm Creation, Deal Capture

Built out the full onboarding user journey end-to-end against the Onboarding spec. Home view stops being Settings — it's now an outline gallery (or, on first launch, a single Browse-for-orchestrator panel). New users see comprehensive sample outlines first (the value), and only get charged onboarding taxes when they click 'Try this on a company →'. Firm creation is a small modal that snake_cases the input, scaffolds io/{slug}/configs/brand-{slug}-config.yaml with company.conventional_name only, and idempotently appends /io/*/ to the orchestrator's .gitignore. Deal capture (URL, optional name, deck, mode) collects inputs and confirms — the actual memo-generation runner is the next spec. New backend routes: GET /outlines, GET /outlines/{id}, POST /actions/create-firm. Auto mode session, no testing run yet.

Michael Staton
  • Tauri
  • Svelte-5
  • Runes
  • SvelteKit
  • Onboarding
  • Outline-Gallery
  • +6