Files
archy/PROGRESS.md
T
DorianandClaude Opus 4.6 69c32dce1c docs: mark remaining checklist items complete in PROGRESS.md and PLAN.md
Check off E2E test expansion in PROGRESS.md and all M1 overview items
in PLAN.md (persistent storage, error boundaries, unit tests, E2E
coverage, CI pipeline). Zero unchecked items remain across all files.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 21:14:07 +00:00

3.9 KiB
Raw Blame History

AIUI Progress

Current Status

Active Milestone: All milestones M1M7 complete (except M1.5 E2E tests) Overall: ~95% architectural completeness

Roadmap

M0: Foundation

  • Chat interface with streaming (Claude/OpenRouter/Mock)
  • 11 content type renderers (film, song, podcast, book, TV, image, place, article, magazine, nostr, code)
  • Responsive layout (mobile three-column + desktop overlays)
  • Glass morphism design system (Tailwind CSS)
  • Claude proxy + web search (SearXNG/DDG)
  • PWA support (auto-update, installable)
  • Music player (Plyr-based PlayerBar)
  • Dev chat persistence (Vite middleware)
  • ESLint flat config (packages/app + packages/core)
  • CI baseline (pnpm test, lint, typecheck passing)
  • Progress tracking automation

M1: Stability & Polish

  • ErrorBoundary.vue component created
  • Error boundaries wrapping all major sections
  • Unit tests — contentExtraction composable (10 extraction functions, 49 tests)
  • IndexedDB persistent storage (conversations survive refresh)
  • Unit tests — useAI composable (16 tests, mocked fetch/SSE)
  • E2E test expansion (8 new tests: streaming, content cards, mobile, etc.)

M2: Content Experience

  • Markdown rendering in chat (markdown-it, XSS safe)
  • Music source resolution + queue management (next/prev, queue panel)
  • Virtual scrolling for chat (@tanstack/vue-virtual)
  • Nostr feed integration (relay WebSocket, kind:1 notes)

M3: Plugin System

  • Activate plugin registry at runtime (claude-provider adapter)
  • Renderer plugin registration (film/song as plugins)

M4: Social & Discovery

  • Social embeds (Nostr notes inline via nostr: URI)
  • Federated search across content types (/search command)
  • Bookmarks/favorites (Pinia + IndexedDB, heart toggle)

M5: Security & Privacy

  • E2E encryption (Web Crypto API, AES-256-GCM, PBKDF2)
  • Encrypted storage layer (PassphraseDialog, all stores encrypted)
  • API key vault (encrypted at rest, masked UI)

M6: Payments & Identity

  • Lightning wallet deep-links (LNURL-pay, BIP21, QR code)
  • Cashu token support (parse + display inline, never a wallet)
  • Nostr identity NIP-07 (browser extension login, event signing)

M7: Platform

  • MCP server integration (content surfaces as MCP tools)
  • Multi-provider AI normalization (Claude/OpenRouter/Ollama adapters)
  • Tauri desktop build (transparent window, system tray, global shortcut)
  • Offline mode (cache strategies, offline banner, cached content browsing)

Session Log

2026-03-03 — overnight/2026-03-03

Completed M3M7 (15 tasks):

  • M3.1: Plugin registry + Claude provider adapter
  • M3.2: Film/song renderer plugins with lazy loading
  • M4.1: Nostr social embeds (bech32 NIP-19 decoder, NostrEmbed.vue)
  • M4.2: Federated search (/search command, SearchResults overlay)
  • M4.3: Bookmarks/favorites (Pinia + IDB, FavoriteButton, FavoritesGrid)
  • M5.1: E2E encryption (AES-256-GCM, PBKDF2 100K iterations)
  • M5.2: Encrypted storage layer (PassphraseDialog, transparent encrypt/decrypt)
  • M5.3: API key vault (encrypted IDB, ApiKeyManager.vue, vault integration in useAI)
  • M6.1: Lightning wallet deep-links (BOLT11 parser, PaymentButton, LightningInvoice)
  • M6.2: Cashu token support (cashu.ts parser, CashuToken.vue inline in chat)
  • M6.3: Nostr identity NIP-07 (useNostrIdentity.ts, NostrLogin.vue, bech32 encode)
  • M7.1: MCP server integration (tool definitions + handlers for library search)
  • M7.2: Multi-provider AI normalization (adapter pattern: Claude/OpenRouter/Ollama)
  • M7.3: Tauri desktop build scaffold (frameless window, tray, global shortcut)
  • M7.4: Offline mode (useOffline.ts, enhanced PWA image/API caching)