2026-10-12 15:51:39 +02:00
|
|
|
# Searchi development
|
|
|
|
|
|
2026-10-12 17:26:14 +02:00
|
|
|
Read README.md, SKILLS.md, and docs/ROADMAP.md before starting or resuming work.
|
2026-10-12 17:32:56 +02:00
|
|
|
For UI, assets, or public-facing copy, also read docs/BRAND.md. Use lowercase
|
|
|
|
|
searchi and the approved brand assets and palette consistently.
|
2026-10-12 17:26:14 +02:00
|
|
|
Inspect Git status and preserve existing changes. Do not claim production
|
|
|
|
|
readiness without completed release gates and recorded evidence.
|
|
|
|
|
|
2026-10-12 15:51:39 +02:00
|
|
|
- All tests in the Windows VM must use CPU only. Never enable GPU providers here.
|
2026-10-12 17:26:14 +02:00
|
|
|
- Production uses available GPU/hardware acceleration with reliable CPU fallback;
|
|
|
|
|
the CPU-only rule is a VM testing constraint, not a product restriction.
|
2026-10-12 15:51:39 +02:00
|
|
|
- Keep the Rust engine independent of the desktop shell; CLI and UI share its API.
|
2026-10-12 19:16:23 +02:00
|
|
|
- Prefer established Rust crates and proven retrieval algorithms over custom
|
|
|
|
|
implementations. Keep platform adapters small, bound allocations and queues,
|
|
|
|
|
and measure performance before adding caches or changing ranking policies.
|
2026-10-12 15:51:39 +02:00
|
|
|
- Use bounded work, explicit errors, versioned storage, and offline defaults.
|
|
|
|
|
- Never substitute simulated embeddings for working semantic search.
|
2026-10-12 17:26:14 +02:00
|
|
|
- Production semantic search must use Google EmbeddingGemma 2 as in DigUp.
|
2026-10-12 21:22:11 +02:00
|
|
|
Code scope uses Google's CodeRetrieval query prefix; query-vector cache keys
|
|
|
|
|
must distinguish code and general search tasks. Preserve exact source bytes,
|
|
|
|
|
line locations and code filtering before all candidate limits. Re-run actual
|
|
|
|
|
CPU code fixtures after changes to tokenizer offsets or code extraction.
|
2026-10-12 17:26:14 +02:00
|
|
|
MiniLM proof artifacts are historical experiments, not an accepted backend.
|
|
|
|
|
- The desktop UI is the primary product, including local model setup and semantic
|
|
|
|
|
indexing/search. Keep a separate CLI-only build for headless Linux with no GUI dependencies.
|
|
|
|
|
- Desktop setup must work out of the box: ship the native worker, automatically
|
|
|
|
|
download/verify missing Google assets, reuse cached assets, and expose progress/retry in the UI.
|
2026-10-12 15:51:39 +02:00
|
|
|
- Add meaningful tests for retrieval, persistence, and filesystem lifecycle changes.
|
|
|
|
|
- Keep docs/ROADMAP.md current. Unexecuted platform checks remain unchecked.
|
2026-10-12 21:27:00 +02:00
|
|
|
- Gitea Actions are disabled for this repository at Karl's explicit request
|
|
|
|
|
(2026-10-12, repeated failure emails). Do not re-enable without his request.
|
|
|
|
|
Keep running appropriate local checks and recording actual platform evidence.
|
2026-10-12 15:51:39 +02:00
|
|
|
- Agents own assigned paths and must coordinate shared interface changes. Do not commit other agents' unfinished work.
|
2026-10-12 17:26:14 +02:00
|
|
|
- Prepare indexes and the real Google query session in the background. Retain
|
|
|
|
|
warmed readers and keep keyword search usable during setup. Measure startup,
|
|
|
|
|
actual first input, and warm p95 separately.
|
|
|
|
|
- UI should belong to each OS: native typography/chrome/dialogs, themes,
|
|
|
|
|
keyboard access, reduced motion and high contrast. Brief transitions must not
|
|
|
|
|
delay requests. Preserve selection/focus as progressive results arrive.
|
|
|
|
|
- Follow SKILLS.md for validation and handoffs. Leave actual checks, blockers,
|
|
|
|
|
and concrete next tasks. Keep unexecuted OS and GPU checks explicitly open.
|
|
|
|
|
- Use karl as Git author with no agent co-author trailers. Keep credentials,
|
|
|
|
|
model binaries, generated build assets, and local indexes out of Git.
|
2026-10-12 20:28:38 +02:00
|
|
|
- Treat local AI agents as supported search clients. MCP and CLI must call the
|
|
|
|
|
shared engine, preserve filters/source locations, and report semantic readiness.
|
|
|
|
|
MCP tools are read-only; no arbitrary file access or filesystem mutation.
|
|
|
|
|
- Optional summaries/Q&A use a user-configured OpenAI-compatible endpoint,
|
|
|
|
|
disabled by default. Never send file content during ordinary search. Require
|
|
|
|
|
an explicit action and show which excerpt goes to which endpoint. Keep keys
|
|
|
|
|
out of persisted plain settings, logs, traces, source control and MCP responses.
|
|
|
|
|
- Retrieved text and model output are untrusted content, never executable
|
|
|
|
|
instructions. Retain source citations and distinguish generated answers from
|
|
|
|
|
search evidence. External summaries do not replace local Google embeddings.
|