diff --git a/AGENTS.md b/AGENTS.md index 142c84d..2f2118c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,6 +1,8 @@ # Searchi development Read README.md, SKILLS.md, and docs/ROADMAP.md before starting or resuming work. +For UI, assets, or public-facing copy, also read docs/BRAND.md. Use lowercase +searchi and the approved brand assets and palette consistently. Inspect Git status and preserve existing changes. Do not claim production readiness without completed release gates and recorded evidence. diff --git a/README.md b/README.md index d52f6c7..6d78833 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ -# Searchi +# searchi + +**Find what matters. Locally.** Local desktop search for Windows, macOS and Linux. Under active development; production readiness is tracked in [the roadmap](docs/ROADMAP.md). @@ -70,6 +72,7 @@ cargo run -p searchi-cli -- --help Desktop development instructions live in `apps/desktop/README.md`. Agent constraints and workflows live in [AGENTS.md](AGENTS.md) and [SKILLS.md](SKILLS.md). Use Node.js 24+ for frontend state tests. +The approved visual identity and desktop direction live in [the brand guide](docs/BRAND.md). For a headless build, run `cargo build --release --locked -p searchi-cli`. No Node, Tauri, or WebView is needed. Semantic commands additionally need the diff --git a/assets/brand/README.md b/assets/brand/README.md new file mode 100644 index 0000000..c3594a8 --- /dev/null +++ b/assets/brand/README.md @@ -0,0 +1,21 @@ +# Brand assets + +The reference board was supplied by Karl. The PNG masters were prepared with +image generation from that board; they preserve its recognizable S/search motif. +They are raster assets, not exact vector reconstructions. Review at small sizes +before a production release; precise flat-color vector masters remain a polish task. + +- `searchi-symbol.png`: blue symbol with transparency, used in the app header. +- `searchi-app.png`: square blue background and white search motif for app/avatar. +- `reference-board.jpg`: approved supplied brand reference. + +Generate platform icons from the same master using the official Tauri CLI: + +```sh +cd apps/desktop +npm run tauri -- icon ../../assets/brand/searchi-app.png +``` + +Desktop icon paths are configured in src-tauri/tauri.conf.json. Generated mobile +variants are not evidence of mobile product support. The app's public symbol is +a copy of the master; keep both synchronized when replacing the mark. diff --git a/assets/brand/reference-board.jpg b/assets/brand/reference-board.jpg new file mode 100644 index 0000000..b92382c Binary files /dev/null and b/assets/brand/reference-board.jpg differ diff --git a/assets/brand/searchi-app.png b/assets/brand/searchi-app.png new file mode 100644 index 0000000..71daa48 Binary files /dev/null and b/assets/brand/searchi-app.png differ diff --git a/assets/brand/searchi-symbol.png b/assets/brand/searchi-symbol.png new file mode 100644 index 0000000..a92cf40 Binary files /dev/null and b/assets/brand/searchi-symbol.png differ diff --git a/docs/BRAND.md b/docs/BRAND.md new file mode 100644 index 0000000..47633cf --- /dev/null +++ b/docs/BRAND.md @@ -0,0 +1,45 @@ +# searchi identity + +Approved direction, 2026-10-12: lowercase **searchi**. Positioning: a fast, +private, cross-platform desktop search application. Tagline: +**Find what matters. Locally.** + +| Token | Value | Use | +| --- | --- | --- | +| Brand blue | `#2563FF` | Mark, focus, primary action, selection accents | +| Dark | `#0B0F14` | Dark base and dark wordmark | +| Light | `#F8FAFC` | Light base and reversed wordmark | +| Typography | Inter / Geist | Locally bundled UI font; system fallback | +| Style | Flat, geometric, minimal | Restrained surfaces and clear hierarchy | + +The S-shaped search symbol is the recognizable identity. Reuse the master assets +from assets/brand rather than approximating the mark with text or a search glyph. +Use a symbol-only icon at small sizes; pair it with the lowercase wordmark when +space permits. Keep clear space, preserve proportions, and avoid decorative +gradients, shadows inside the mark, or stretching. OS icon masks and window +materials may add platform-specific presentation around the flat identity. + +## Desktop direction + +The user selected the first search-and-preview concept and requested a mix with +Raycast: compact, keyboard-first search with a grouped result list on the left +and a readable passage preview on the right. Search is dominant; settings, +filters, and model details use progressive disclosure. Use native window chrome, +dialogs, theme behavior, and platform shortcut labels. + +Apply brief selection/preview transitions without delaying retrieval or input. +Respect reduced motion and forced colors. Preserve focus, selection, and scroll +when semantic results arrive. Preview only real extracted content and supported +locations; do not fabricate document pages, confidence percentages, or metadata. + +## Distribution and copy + +Use the same master icon for Tauri app icons and repository avatar. The wordmark +and symbol can also be reused on a future website; no website publication is +authorized by adding these assets. CLI output remains readable plain text with +the lowercase searchi name, without mandatory color or ASCII logo art. + +The brand board's example `searchi winter.pdf` is illustrative. Documentation +must show the actual supported CLI syntax. Model downloads require networking; +file extraction, inference, and search remain local. Never turn visual marketing +copy into unsupported performance or production-readiness claims. diff --git a/docs/VALIDATION.md b/docs/VALIDATION.md index 3d46fd5..741880a 100644 --- a/docs/VALIDATION.md +++ b/docs/VALIDATION.md @@ -3,6 +3,26 @@ Development host: Windows VM, x86_64 MSVC, Rust stable 1.99.0. All local tests run on CPU; no GPU provider is configured. +## Current integration checkpoint (2026-10-12) + +- `cargo test --workspace --locked`: 39 default tests passed. Four asset-dependent + or explicit benchmark tests remain opt-in; a default pass does not run them. +- Native desktop tests: 7 passed with SEARCHI_FORCE_CPU=1 and WebView2 GPU disabled. +- Frontend: 7 async-state tests passed, Prettier passed, TypeScript/Vite build passed. +- Genuine Google CPU reference/window test passed separately: five DigUp reference + vectors had cosine similarity above 0.999; actual multilingual retrieval and + tokenizer tail-window coverage passed. MiniLM evidence below is historical. +- Repository description/topics were read back after update; the branded avatar + upload returned HTTP 204 and the repository API returned its avatar URL. +- New desktop styling is in progress. `design-qa.md` records the visual gate as + blocked because browser bootstrap and native screen capture are unavailable. + No visual match or complete UI interaction verification is claimed. + +The active parallel development branches of work may add tests or change counts +after this checkpoint. Run the documented checks again after integration. + +## Historical foundation evidence + Initial foundation checks (2026-10-12): - `cargo test --workspace`: CLI parser/executable checks and engine retrieval, lifecycle, exclusions, filters, migration and concurrent-reader checks passed.