#

#

#

  • Inline markdown editor — auto-format as you type with full TipTap WYSIWYG (phase-gated). Edit notes inline on both web and mobile. PR [#127]
  • Auto-commit split proposals — when split confidence is high enough, the worker files notes directly instead of queuing for manual review. PR [#128]
  • Media kind normalization — mobile capture recents and related-note glyphs now use the unified mediaKind field. PR [#129]
  • Supabase JWKS verification — ES256/RS256 tokens verified via JWKS, fixing a real alg-confusion vulnerability. PR [#126]
  • Real fingerprint CI gate — EAS updates/builds now gated on actual native fingerprint, not path heuristics. PR [#125]

#

  • Fly.io entrypoint resolution — pinned rootDir in tsconfig so Docker build resolves correctly. PR [#124]
  • Mobile Stack component — no longer clones style onto Fragment children (removes spurious error). PR [#120]
  • Folder delete now refreshes counts and active folder state. PR [#122]
  • Wall inline markdown review fixes — cleanups from the markdown editor code review. PR [#127]

#

#

  • Calm note card — redesigned Wall cards with reduced chrome: actions moved to long-press menu and swipe (P0). PR [#106]
  • Note detail view — tap a card to open a full reading view at wall/[id] (P1). PR [#107]
  • Density toggle — switch between List and Gallery (masonry) views (P2). PR [#108]
  • Swipe actions — swipe Wall cards for quick actions. PR [#115]
  • MCP server — stdio MCP server for notes access with Claude Code. PRs [#104], [#114], [#116], [#118]
  • MCP packaging — setup script, CLI auth, portable test script. PRs [#114], [#116], [#118]

#

  • Mobile inbox layout — correct flex sizing in Inbox list and Wall folder bar. PR [#119]
  • Digest card spacing on mobile. PR [#121]
  • Stack component Fragment cloning — React 19 compatibility. PR [#120]

#

#

  • MCP server skeleton — initial apps/mcp workspace with stdio transport. PR [#104]
  • Semantic note search endpointGET /content/search for pgvector-powered search. PR [#103]
  • Manual QA suite — comprehensive test plan across all application surfaces. PR [#102]

#

#

  • Structured AI understanding pass — per-capture analysis consolidated into one pass (summary, tags, entities, sentiment). PR [#105]
  • Entity extraction — people, organizations, projects extracted from capture content.

#

  • Chat errors now surface correctly when rejected before streaming starts. PR [#99]
  • Wall drag-to-file restored — CSS multicol interference fixed. PR [#84]
  • Voice transcription no longer stuck on "Transcribing…" for mobile. PR [#81]
  • "Signing in…" loop on web — IAM submit state decoupled from session restore. PR [#88]

#

#

  • Edit notes — title/body editing on both web and mobile. PR [#76]
  • Copy note to clipboard — available on all platforms. PR [#75]
  • Archive notes — web and mobile archive with undo. PR [#77]
  • Bulk note actions — select multiple notes to move, copy, or delete. PR [#78]
  • Voice capture — record, transcribe, edit on web and mobile. PR [#87]
  • Mobile billing endpoints — read-only plans, subscription, status. PR [#79]
  • Feedback accessibility — account-menu and Settings entry points. PR [#80]

#

  • Voice capture is now free (no Pro gate) — it's the wedge, not the lock. PR [#86]
  • Folder counts refresh correctly on folder delete. PR [#84]

#

#

  • Mobile Phase 1 — capture ack, full-composer path, transcription state. PR [#45]
  • Related suggestions — inline "Related" on Wall cards. PR [#52]
  • Digest card — briefing/digest on the mobile Wall. PR [#53]
  • Mobile motion — spring entrance on glass overlays and capture ack. PRs [#54], [#55]
  • RAG wiring — retrieval pipeline connected for mobile (inert on OpenAI quota). PR [#49]
  • Pro-gate on Ask — graceful upgrade prompt. PR [#48]
  • Voice capture ungate — capture is free for all users. PR [#47]

#

#

  • Growth engine M4 — value-based bidding (LTV proxy) and multi-touch attribution. PRs [#32], [#33]
  • Growth engine M3 — ROAS join, admin Growth panel, daily spend ingestion. PRs [#28], [#30]
  • Growth engine M2 — conversion suppression and consent. PRs [#20]-[#26]
  • Growth engine M1 — attribution capture, pipeline, audience sync. PRs [#15]-[#17]

#

#

  • AI-powered folders — directory suggestions with format prompts. PR [#34]
  • Folder follow-ups — drag-drop, realtime AI, counts, graph edges. PR [#36]
  • Notifications — "Update available" OTA refresh banner on mobile. PR [#37]
  • Admin dashboard — waitlist, signups, subscriptions, feedback, sessions. PR [#13]
  • Configuration reference and architecture docs. PRs [#38], [#19]

#

#

  • Postgres graph store — Neo4j→Postgres cutover complete. 48 files removed.
  • Mobile brand unification — green primary across the app. PR [#6]
  • Design tokens — single source of truth for brand colors, spacing, typography.

#

#

  • Knowledge graph infrastructure (Postgres + pgvector)
  • AI chat with multi-agent runtime (LangChain/LangGraph)
  • Task extraction from wall content
  • Real-time messaging channels and threads
  • Project management with tasks, comments, and files
  • Supabase auth with JWT
  • Mobile app (Expo/React Native)
  • Event system (Postgres outbox + Redis streams)

#

#

  • Initial release — auth module restructured into IAM domain. First PR [#1].
  • Monorepo scaffold (Turborepo + Yarn workspaces)
  • NestJS API with Supabase backend
  • Next.js web app foundation
  • Wall (notes feed) with text and voice capture