moving
Some checks failed
Installer Smoke / installer-smoke (push) Has been cancelled

This commit is contained in:
Oleg Maslov
2026-09-02 10:10:29 +02:00
commit 0c3e2ead3b
3841 changed files with 970576 additions and 0 deletions

View File

@@ -0,0 +1,333 @@
# Handoff: Waggle — App + Landing Refactor (the "warm Hive" concept)
> A complete design concept for refactoring **Waggle OS** — the persistent-memory,
> local-first, model-agnostic AI workspace (monorepo: `marolinik/waggle-os`,
> memory substrate: `marolinik/hive-mind`). This package contains **22 interactive
> HTML design references** plus the design-system stylesheet, and the brief to
> recreate them in the real codebase.
---
## 1. Overview
Waggle is a workspace-native AI agent platform: persistent memory that compounds,
model-agnostic orchestration (Claude / GPT / Gemini / **local** models), a skills +
connectors marketplace, a multi-agent "waggle-dance" swarm, and an "AI-OS" launcher
that runs external coding agents (Claude Code, Cursor, Codex…) **inside a workspace's
shared memory**. It ships as a **Tauri desktop app for Windows + macOS**.
This concept is a top-to-bottom redesign addressing five problems found in the live
product:
1. **Overloaded navigation** — ~18 always-visible destinations across 5 zones.
2. **Engineer-first language** — "Spawn", "Waggle-Dance", "MCPs", "GEPA".
3. **Uniform 1013px density** — reads as a control panel, never premium.
4. **Five semantic colors firing at once** over glass + wallpaper + honeycomb.
5. **Hidden differentiators** — memory, overnight work, coordination buried in tallies.
The response is a **warmer "Hive" identity**, a **5-item spine + ⌘K command bar**
(progressive disclosure), **plain-language labels with the technical term as a
subtitle**, and **legible "hero moments"** for the differentiators.
**Target users:** knowledge workers / operators (non-technical first), without
removing any depth power users need.
---
## 2. About the design files (READ THIS FIRST)
The files in `design-files/` are **design references created in HTML** — interactive
prototypes that show intended **look, layout, copy, and behavior**. They are **not
production code to copy verbatim.**
**Your task:** recreate these designs inside the **existing Waggle codebase**
(`apps/web` is React + TypeScript + Vite + Tailwind + shadcn/ui + React Router;
`apps/www` is the Next.js marketing site), using its established components,
routing, state, and data layer. Where this concept introduces a new pattern (e.g.
the ⌘K palette, the warm token set), implement it in the codebase's idiom — don't
paste HTML/inline styles.
Two files are the entry points:
- **`Waggle Reimagined.html`** — the concept narrative + an index that embeds every
app screen in an iframe. Open it first; its top nav links to every section.
- **`Waggle Landing.html`** — the redesigned public marketing site (`apps/www`).
Everything shares **one stylesheet: `design-files/styles/waggle.css`** — the source
of truth for tokens (see §7).
---
## 3. Fidelity
**High-fidelity.** Final colors, typography, spacing, radii, shadows, motion, and
copy are all intentional and specified in §7 and the per-screen appendix (§10).
Recreate the UI pixel-faithfully using the codebase's existing libraries — map the
tokens in `waggle.css` onto the Tailwind theme / CSS variables, then build screens
with shadcn/ui primitives styled to match.
One caveat: the prototypes use vanilla JS for view-switching and the dark/light
toggle. That plumbing is **demonstration scaffolding** — replace it with real React
state, React Router routes, and the app's theme provider. The visuals, layout, and
interaction *design* are what to preserve.
---
## 4. Information architecture (the spine)
Collapse ~18 destinations into **5 everyday places**, with everything else reachable
from **⌘K**:
| Spine item | Plain label | Maps to existing routes / apps |
|-------------------|--------------------|--------------------------------|
| Home | Home | `/home` (HomeCockpit) |
| Chat | Chat | the agent runtime / chat |
| Memory | Memory | `/memory` + per-workspace Memory tab |
| Agents & tasks | Agents & tasks | `/agents` + `/automations` + `/approvals` |
| Library | Library | `/artifacts` + `/files` + `/skills` |
**⌘K command bar** holds the full depth, each entry **plain-language with the
technical term as a subtitle** (e.g. "Run a team of agents · waggle-dance · swarm";
"Connect a tool · MCP servers"; "Launch a coding agent · Claude Code · Cursor").
A **Pro mode** floats a "★ Pinned" group of power tools to the top of ⌘K.
Reference: `screens/ia.html` (working sidebar + ⌘K + Pro toggle).
---
## 5. The screens (what's in this bundle)
22 interactive references. Most use a top **segmented control** to switch
variations or sub-views — that chrome is prototype-only; ship the chosen variation
(noted per screen in §10) or wire the others as real routes/states.
| # | File | Screen(s) | Notes |
|---|------|-----------|-------|
| — | `Waggle Reimagined.html` | Concept index + narrative | embeds all app screens; coverage map at the end |
| — | `Waggle Landing.html` | Marketing site (`apps/www`) | hero, BYO-agent, proof (SOTA), self-evolve, personas, pricing, footer |
| 01 | `screens/home.html` | Home / Cockpit | **ship variation A (Editorial)**; B/C are alternates |
| 02 | `screens/chat.html` | Chat / agent runtime | **ship variation B (split work-canvas)** as default |
| 03 | `screens/workspace.html` | Single workspace | **ship variation A (Overview+tabs)**; Memory stays a tab |
| 04 | `screens/workspaces.html` | All-workspaces index | grid + table; storage badges; search/filter |
| 05 | `screens/ia.html` | Sidebar + ⌘K command bar | calm spine + Pro-pinned |
| 06 | `screens/launcher.html` | Launcher (AI-OS) | external agents share workspace memory |
| 07 | `screens/storage.html` | Storage & Files | virtual/local/team model + file browser |
| 08 | `screens/surfaces.html` | Power surfaces | Tools · Automations · Approvals · Vault · Usage |
| 09 | `screens/marketplace.html` | Marketplace | agent-searchable; **shared install state ("sync")**; inline-in-chat |
| 10 | `screens/onboarding.html` | First-run (6 steps) | includes the **required model gate** |
| 11 | `screens/settings.html` | Settings | progressive disclosure; **Models + failover pilot** |
| 12 | `screens/evolution.html` | Skill evolution + diffusion | the second moat |
| 13 | `screens/auth.html` | Auth (Clerk) | sign in/up, OTP verify, SSO |
| 14 | `screens/billing.html` | Billing (Stripe) | plans → checkout → success → manage |
| 15 | `screens/habit.html` | Engagement / habit loop | streak, compounding, variable reward, nudges |
| 16 | `screens/appsurfaces.html` | Agents · Room · Artifacts · Mission Control · Timeline · Profile | six routes, one rail |
| 17 | `screens/benchmark.html` | Benchmarks | capability matrix vs competitors + LoCoMo SOTA |
| 18 | `screens/platform.html` | Platform & roadmap | Tauri desktop, boot, 404, "coming next" |
Per-screen detail (layout, components, copy, interactions, ship-this-variation) is
in **§10**.
---
## 6. Global patterns (apply everywhere)
- **App chrome:** left **sidebar** (5 items + workspace switcher + user row), main
column with a **`.shead`** (title + subtitle + primary action) over a scrolling
body. Power surfaces and Settings use a **secondary left rail** inside the main column.
- **Density & scale:** body 16px / 1.55; never below 12px. Section labels are
11px mono, uppercase, `.12em` tracking, `--text-dim`, with a trailing hairline rule.
- **One accent:** honey (`--honey`) is used sparingly — primary buttons, active nav,
key numbers, focus. Semantics (work/intel/healthy/attention/risk) are **desaturated**
and only for status, never decoration.
- **Provenance everywhere:** any memory/fact/artifact shows a `⬡ source · when` line in
mono / `--intel`. This is a core trust pattern — keep it.
- **Cards:** `--surface` bg, `1px solid --line-soft`, radius `--r-lg` (18px),
hover → `--honey-line` border + `translateY(-2px)` + `--shadow`.
- **Buttons:** primary = honey bg / `#1a1407` text; ghost = `--surface` / `--line-strong`
border, hover honey border. Radius 913px. See §7.
- **Dark + light:** every screen supports both via `[data-theme]`. The toggle in the
prototypes writes `localStorage['waggle-concept-theme']`; replace with the app theme
provider. Both themes are warm (warm graphite ↔ warm paper) — see §7.
- **Motion:** entrances `cubic-bezier(.16,1,.3,1)` ~.7s, gated so content is visible
if JS/print/reduced-motion. Hover transitions .14.18s. A live "breathing" dot
(`@keyframes breathe`) marks active/live status. Honor `prefers-reduced-motion`.
- **Focus:** `2px solid --honey`, `2px` offset. Keep keyboard access on ⌘K, OTP, forms.
---
## 7. Design tokens (source of truth: `styles/waggle.css`)
Map these onto the codebase's Tailwind theme + CSS variables. **Dark is default;**
`[data-theme="light"]` overrides. All radii/type/shadow tokens are theme-independent.
### Colors — Dark (default)
```
--bg: #14110b (app background, warm near-black)
--bg-2: #1a160f (recessed panels, rails)
--surface: #1f1a12 (cards)
--surface-2: #272117 (hover / insets)
--surface-3: #322a1d (chips, icon tiles)
--line: #38301f (default border)
--line-soft: #2a2417 (subtle dividers)
--line-strong: #4a4030 (emphasized border / scrollbar)
--text: #f6f1e4 (primary)
--text-2: #c8bfa9 (secondary)
--text-muted: #948a73 (tertiary / body-muted)
--text-dim: #6b6250 (labels, meta)
```
### Colors — Light (`[data-theme="light"]`)
```
--bg:#f7f1e4 --bg-2:#f1e9d8 --surface:#fffdf8 --surface-2:#f6efe0 --surface-3:#efe6d2
--line:#e4d8be --line-soft:#ede3cd --line-strong:#d2c3a2
--text:#211b11 --text-2:#5a5140 --text-muted:#847a64 --text-dim:#a99e85
```
### Accent — Honey (the one accent)
```
Dark: --honey:#e9a52c --honey-bright:#f6c45a --honey-deep:#c07e16
Light: --honey:#b57d12 --honey-bright:#cf932a --honey-deep:#92620a
--honey-wash: rgba(honey, .10) (tinted fills)
--honey-line: rgba(honey, .28) (tinted borders)
--honey-glow: 0 0 0 1px rgba(honey,.25), 0 8px 30px -10px rgba(honey,.35)
On honey buttons, text/icon color is #1a1407.
```
### Semantics (desaturated; status only) — Dark / Light
```
--work #7aa6d6 / #3f72b0 (tasks, workspaces, blue)
--intel #b196dd / #7d57b8 (memory/intelligence, violet) — also provenance
--healthy #6cb78c / #3c8a5f (complete/healthy, sage)
--attention#e9a52c / #b57d12 (attention/automation = honey)
--risk #db8068 / #c0573c (risk/failure, terracotta)
Each has a matching *-wash at ~.12 alpha for tinted chips/fills.
```
### Typography
```
--sans: 'Hanken Grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif
--mono: 'JetBrains Mono', ui-monospace, monospace
--serif: var(--sans) ← display intentionally uses the SAME grotesk (no book-serif)
Display headlines: Hanken Grotesk 600, letter-spacing -0.02 to -0.03em.
- Hero (landing): clamp(40px, 5.6vw, 68px)
- Section H2: clamp(28px, 3.8vw, 44px)
- Screen H1: ~2428px / 650
Body: 1416px / 400550, line-height ~1.55.
Labels/meta: 1012px JetBrains Mono, uppercase, letter-spacing .10.14em.
Honey words in headlines are NOT italic — same weight, just --honey color.
```
### Radius / Shadow / Misc
```
--r-sm:8px --r:12px --r-lg:18px --r-xl:26px (pills/toggles: 999px)
--shadow-sm: 0 1px 2px rgba(0,0,0,.4)
--shadow: 0 4px 24px -8px rgba(0,0,0,.55), 0 1px 2px rgba(0,0,0,.4)
--shadow-lg: 0 24px 60px -20px rgba(0,0,0,.7), 0 2px 8px rgba(0,0,0,.4)
--shadow-pop:0 30px 80px -24px rgba(0,0,0,.8)
(light theme has softer brown-tinted equivalents — see waggle.css)
Hexagon motif: .hex { clip-path: polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); }
used for the brandmark, agent/workspace avatars, icon tiles.
Honeycomb texture: .comb (inline SVG bg at ~.05 opacity) — very subtle, decorative only.
Live dot: .dot-live → @keyframes breathe (2.4s).
```
---
## 8. Cross-cutting behaviors to implement
- **⌘K command palette** (`screens/ia.html`): global hotkey (⌘/Ctrl-K) toggles a
centered modal; fuzzy filter over grouped commands; arrow/Enter/Esc keyboard nav;
groups = Jump to / Do / Power tools; Pro mode prepends a "★ Pinned" group. Each
result = plain name + mono subtitle (technical term). Routes to real destinations.
- **Theme:** dark default; persist user choice; both themes are warm. Use the app
theme provider, not localStorage scaffolding.
- **Marketplace install = one shared state** (`screens/marketplace.html`): a single
install store drives the grid, the agent-suggestion picks, AND the inline-in-chat
card — installing anywhere reflects everywhere ("sync"). Type-aware one-click flows:
**skill** = instant Add; **connector** = "Connect" → auth → token to Vault;
**MCP** = "Enable" tools. Each fires a confirmation toast + updates an
"N in this workspace" bar.
- **Onboarding model gate** (`screens/onboarding.html`, step 3): the flow **cannot
reach "first task" without a working model** — either a validated provider API key
or a detected/running local model. This mirrors the hard requirement that Waggle
needs ≥1 working model. The same gate's permanent home is Settings → Models.
- **Model failover pilot** (`screens/settings.html`): Primary → **Fallback on
error** → **Budget/local model when daily budget hit**. Maps to the repo's
`defaultModel / fallbackModel / budgetModel` + `budgetThreshold / dailyBudget`.
- **Provenance** on every memory/artifact/fact (see §6).
- **Approvals**: agent actions that touch external systems gate on a risk-badged
approval card (inline in chat + an Approvals surface). "Always allow for this
workspace" is an option.
---
## 9. The marketing site (`Waggle Landing.html` → `apps/www`)
Full content rewrite + new identity. Sections in order: nav → hero ("Your AI
doesn't reset. Your work doesn't either.") → trust band → problem → 6 pillars →
how-it-works (3 steps) → **Bring-your-own-agent** band (launch Claude Code/Cursor/Codex
into shared memory) → **Proof** (LoCoMo SOTA: Waggle 87.66 vs Memori 81.95 /
LangMem 78.05 / Mem0 62.47; +5.71pp, p<10⁻⁵; 92.75% single-hop; 100% local) →
**Self-evolving** (skills improve 71→84→91% + diffuse across the hive) → personas
(13) → pricing (Solo $0 / Pro $19 / Teams $49-seat + KVARK sovereign) → final CTA →
footer. All copy is final; lift it verbatim. Reveal-on-scroll is JS-gated so content
is always visible without JS (keep that property for SEO/no-JS).
**Numbers come from the real benchmark docs / `hive-mind` repo. Keep them accurate;
if the public claim must stay conservative until the SOTA PR merges, gate the headline.**
---
## 10. Per-screen specifications
See **`SCREENS.md`** in this folder for the full per-screen breakdown (layout,
components, exact copy, interactions, and **which variation to ship**).
---
## 11. Assets
- **No raster assets / no external images.** All iconography is **inline SVG**
(1.71.8 stroke, round caps) — reuse the codebase's icon set (e.g. lucide) matched
to these shapes. The brandmark is the letter **W** in a `.hex` clip-path over a
honey gradient. The honeycomb texture is an inline SVG data-URI (`.comb` in
`waggle.css`).
- **Fonts:** Hanken Grotesk + JetBrains Mono (Google Fonts). Self-host in the Tauri
app for offline use.
- **Competitor / provider names** (Stripe, Clerk, Salesforce, Claude, GPT, etc.) are
shown as mono text/initials, not logos — swap in real logos per each brand's
guidelines if desired.
---
## 12. Tech mapping (existing monorepo)
```
apps/web React + TS + Vite + Tailwind + shadcn/ui + React Router → all app screens
apps/www Next.js marketing site → Waggle Landing.html
apps/browser-ext → roadmap (beta)
packages/* core / memory (hive-mind) / agent runtime / connectors / mcp
Desktop Tauri (Windows + macOS) → screens/platform.html
Auth Clerk → screens/auth.html
Billing Stripe → screens/billing.html
```
Recommended order: **(1)** tokens → Tailwind theme + theme provider; **(2)** app
shell (sidebar + ⌘K); **(3)** Home, Chat, Workspace; **(4)** Marketplace + install
store; **(5)** Settings (models/failover) + Onboarding gate; **(6)** the remaining
surfaces; **(7)** Auth + Billing; **(8)** `apps/www` landing. Ship dark first.
---
## 13. Files in this bundle
```
design_handoff_waggle_app/
├── README.md ← this file
├── SCREENS.md ← per-screen specifications
├── DESIGN_POV.md ← designer's strategic contributions (incl. the built Trust layer)
├── screenshots/ ← reference captures (1 per screen) + index
│ ├── README.md
│ └── 0019 *.png
└── design-files/
├── Waggle Reimagined.html ← concept index (open first)
├── Waggle Landing.html ← marketing site
├── styles/waggle.css ← design tokens (source of truth)
└── screens/*.html ← 19 app-screen references
```
Open `design-files/Waggle Reimagined.html` in a browser and use its top nav to walk
the whole concept; toggle dark/light with the ☾ button; try ⌘K inside the Navigation
section.