2026-10-12 15:51:39 +02:00
|
|
|
|
# Validation evidence
|
|
|
|
|
|
|
2026-10-12 19:16:23 +02:00
|
|
|
|
Development host: Windows VM, x86_64 MSVC, stable Rust 1.99.0. All local
|
|
|
|
|
|
inference, FFmpeg decoding and WebView tests use CPU only. UI launches set
|
|
|
|
|
|
`WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS='--disable-gpu --disable-accelerated-video-decode'`
|
|
|
|
|
|
and `SEARCHI_FORCE_CPU=1`.
|
2026-10-12 15:51:39 +02:00
|
|
|
|
|
2026-10-12 17:32:56 +02:00
|
|
|
|
## Current integration checkpoint (2026-10-12)
|
|
|
|
|
|
|
2026-10-12 21:30:10 +02:00
|
|
|
|
Offline staging now verifies the native license and every bundled Google asset
|
|
|
|
|
|
before modifying resources. Two Python regressions verify missing-model rejection
|
|
|
|
|
|
and same-size corruption in the second model leaving the existing staged worker
|
|
|
|
|
|
untouched. Actual CPU worker staging passed. This preflight does not prove atomic
|
|
|
|
|
|
recovery from interruptions during the subsequent copies; that gate remains open.
|
|
|
|
|
|
|
2026-10-12 21:27:00 +02:00
|
|
|
|
Gitea Actions were disabled for **karl/searchi** at Karl's explicit request;
|
|
|
|
|
|
the API read-back confirmed `has_actions:false`. Fifteen old stuck runs and
|
|
|
|
|
|
the subsequent repair run were cancelled. Diagnosis found unavailable native
|
|
|
|
|
|
Windows/macOS runner labels and a document-pagination test assuming filesystem
|
|
|
|
|
|
traversal order. The test was corrected and its four local document tests plus
|
|
|
|
|
|
strict core Clippy passed. The Linux-only workflow repair was pushed, but its
|
|
|
|
|
|
verification run was cancelled when Karl requested disabling CI. It must not
|
|
|
|
|
|
be reported as a passing remote run. Local checks and remaining release gates
|
|
|
|
|
|
continue to apply; enabling Actions again requires Karl's explicit request.
|
|
|
|
|
|
|
2026-10-12 21:22:11 +02:00
|
|
|
|
- Native desktop: **15/15 tests passed**, including structured trace/basic responses
|
2026-10-12 20:28:38 +02:00
|
|
|
|
and four optional-answer source/consent/revision tests.
|
2026-10-12 19:16:23 +02:00
|
|
|
|
Post-generation cached query warmup is implemented but its interactive first-query gate remains open.
|
2026-10-12 21:22:11 +02:00
|
|
|
|
Frontend: **39/39 tests passed**, TypeScript/Vite production build and
|
2026-10-12 19:16:23 +02:00
|
|
|
|
formatting passed. Preview policy tests cover fractional timestamp seeking,
|
|
|
|
|
|
image labels, one active/latest pending request, stale replies and Escape.
|
|
|
|
|
|
- Semantic adapter: **8 default tests passed**; the explicit 48 MP resource test
|
|
|
|
|
|
remains opt-in. Strict targeted all-target Clippy and formatting passed.
|
|
|
|
|
|
Protocol bounds, invalid vectors, artifact size/checksum mismatch, old-worker
|
|
|
|
|
|
capability defaults and oversized JPEG rejection are covered.
|
|
|
|
|
|
- The CPU native helper rebuilt and staged successfully with genuine Google
|
|
|
|
|
|
MTMD image/audio support. Its handshake reports `media_supported:true`;
|
|
|
|
|
|
older text workers default false rather than claiming media readiness.
|
|
|
|
|
|
- Actual Google CPU media parity passed separately in **52.85 seconds**:
|
|
|
|
|
|
screenshot 280 cosine 0.99994194, photo 140: 0.99974583, frame 70: 0.99921928 and
|
|
|
|
|
|
speech: 0.99983318 against pinned MIT DigUp vectors. All exceed the 0.999 gate.
|
|
|
|
|
|
This verifies runtime parity, not broad retrieval quality.
|
|
|
|
|
|
- The release resource test encodes/decodes an actual 8000x6000 JPEG with EXIF
|
|
|
|
|
|
rotation and verifies region colors after scaled decoding/resizing. Decode
|
|
|
|
|
|
plus resize took 176–220 ms. A sampled whole-test peak was 146.86 MiB, including
|
|
|
|
|
|
source fixture generation; it is not decoder-only RSS or neural quality.
|
|
|
|
|
|
- The independent production media pipeline has run on 20 real assets/65 frozen
|
|
|
|
|
|
queries using actual Google inference, FFmpeg, metadata, persistence and HNSW.
|
|
|
|
|
|
It encoded 20/20 files with no failures in the recorded 30-second-window run.
|
|
|
|
|
|
Broad file recall is promising; precise speech timestamps, music confusion
|
|
|
|
|
|
and no-answer behavior remain failed quality gates. Preserve the earlier
|
|
|
|
|
|
direct harness failure separately. [Raw results and limitations](MEDIA-QUALITY.md).
|
|
|
|
|
|
- Actual document seed regression passed 24/24 semantic/hybrid queries. This is
|
|
|
|
|
|
a small synthetic regression, not a production relevance corpus.
|
|
|
|
|
|
- The explicit 100,000-vector release ANN diagnostic passed 98.5% recall@10,
|
|
|
|
|
|
HNSW p95 1.37 ms and warm service p95 6.40 ms with zero warm passage hashes.
|
|
|
|
|
|
Vectors are synthetic index benchmark data, never production embeddings.
|
|
|
|
|
|
- The fixed one-million-file first-input report records 40 inputs below 50 ms in
|
|
|
|
|
|
that run: [recorded benchmark](../crates/searchi-core/benchmarks/results/windows-cpu-full-candidate-first-final.json).
|
|
|
|
|
|
These measurements do not establish every query or concurrent-indexing goal.
|
2026-10-12 17:32:56 +02:00
|
|
|
|
|
2026-10-12 20:59:10 +02:00
|
|
|
|
The integrated CPU workspace checkpoint passed **78 default tests** (7 optional AI,
|
|
|
|
|
|
8 assets, 8 CLI/MCP, 24 core, 4 media, 8 semantic, 19 service), with **10 explicit
|
2026-10-12 20:28:38 +02:00
|
|
|
|
opt-in tests ignored**. Workspace and native all-target Clippy passed with
|
|
|
|
|
|
warnings denied. The later semantic CPU-restart counter change passed workspace
|
|
|
|
|
|
Clippy and the actual CPU query diagnostics test. Earlier aggregate counts are historical.
|
2026-10-12 17:44:56 +02:00
|
|
|
|
|
2026-10-12 19:16:23 +02:00
|
|
|
|
The updated pinned C++ helper compiled in an independent CPU build directory and
|
|
|
|
|
|
was staged for desktop resources without interrupting media evaluation. Actual
|
|
|
|
|
|
Google query diagnostics passed separately in 18.09 seconds including model
|
|
|
|
|
|
initialization and two queries: 13 tokens, tokenization 149 us, batch preparation
|
|
|
|
|
|
22 us, inference 112914 us, pooling/normalization 17 us. Rust worker wait/response
|
|
|
|
|
|
decode measured 113960 us. Debug/normal embedding cosine was 0.99999999. These
|
|
|
|
|
|
are one diagnostic sample under VM contention, not production latency evidence.
|
|
|
|
|
|
See [performance boundaries and raw overhead samples](PERFORMANCE.md).
|
2026-10-12 17:32:56 +02:00
|
|
|
|
|
2026-10-12 19:16:23 +02:00
|
|
|
|
## Native UI and platform limits
|
2026-10-12 17:32:56 +02:00
|
|
|
|
|
2026-10-12 19:16:23 +02:00
|
|
|
|
The branded launcher launched natively. Accessibility inspection showed real
|
|
|
|
|
|
controls and a warmed Google CPU worker. Native screenshots, input automation
|
|
|
|
|
|
and complete image/audio/video playback interactions remain blocked by Windows
|
|
|
|
|
|
access/capture errors recorded in [design QA](../design-qa.md). Passing pure
|
|
|
|
|
|
preview policy tests does not establish real WebView codec playback or visual
|
|
|
|
|
|
fidelity. Default-application opening is not exact timestamp navigation.
|
2026-10-12 15:51:39 +02:00
|
|
|
|
|
2026-10-12 19:16:23 +02:00
|
|
|
|
Windows x86-64 verified decoder provisioning/staging has executed. Manifest
|
|
|
|
|
|
entries for Linux and ARM64 are configuration, not evidence of native execution.
|
|
|
|
|
|
A vetted macOS decoder package remains missing. Linux/macOS worker/desktop
|
|
|
|
|
|
execution, production GPU parity/fallback, installer signing, upgrade/rollback,
|
|
|
|
|
|
licenses/source distribution, large libraries and calibrated absence handling
|
|
|
|
|
|
remain unexecuted release gates. FFmpeg subprocess memory is not sandbox-capped;
|
|
|
|
|
|
bounded outputs/timeouts are not an absolute RSS guarantee.
|
|
|
|
|
|
|
|
|
|
|
|
Gitea needs matching registered runners. GitHub workflows are supplied for
|
|
|
|
|
|
mirroring; they do not run merely because code is pushed to Gitea. The current
|
|
|
|
|
|
workflow checks do not automatically certify downloaded Google assets or the
|
|
|
|
|
|
separately built worker. CI configuration is not remote job evidence.
|
|
|
|
|
|
|
2026-10-12 19:57:34 +02:00
|
|
|
|
## README capture evidence (2026-10-12)
|
|
|
|
|
|
|
|
|
|
|
|
The README now includes four visually inspected browser captures of the
|
|
|
|
|
|
production frontend over a real, retained Google CPU engine: light/dark PDF
|
|
|
|
|
|
search, image search and granular performance details. The independent capture
|
|
|
|
|
|
backend passed three tests and strict Clippy. Live capture assertions verified
|
|
|
|
|
|
the first PDF result and page 2, its notice clause, loaded photo pixels, and
|
|
|
|
|
|
actual worker inference counters. All captures use an owned headless browser
|
|
|
|
|
|
with CPU flags and licensed/generated fixture content; no recorded responses
|
|
|
|
|
|
are replayed. These checks supplement native desktop QA, which remains open.
|
|
|
|
|
|
Literal highlights are checked in result snippets and the actual preview text.
|
|
|
|
|
|
The small match explanation is closed by default and can be opened to inspect
|
|
|
|
|
|
the real page location. Media placeholder text receives no invented word marks.
|
|
|
|
|
|
[Reproduction](../tools/desktop-capture/README.md),
|
|
|
|
|
|
[runtime/query/image evidence](screenshots/capture-manifest.json).
|
|
|
|
|
|
|
2026-10-12 20:28:38 +02:00
|
|
|
|
## Agent and optional-answer evidence (2026-10-12)
|
|
|
|
|
|
|
|
|
|
|
|
The official Rust MCP SDK serves three read-only stdio tools: search, stats and
|
|
|
|
|
|
opaque-handle source retrieval. Two actual executable tests verify initialization,
|
|
|
|
|
|
tool discovery, real SQLite results, structured output, invalid inputs, UNC/device
|
|
|
|
|
|
filter rejection before filesystem resolution, source modification/deletion and
|
|
|
|
|
|
reindex invalidation. One-operation admission, 64 KiB input frames and a 256-handle
|
|
|
|
|
|
cache bound the adapter. Its agent skill passed the Skill Creator validator.
|
|
|
|
|
|
|
|
|
|
|
|
A separate actual Google CPU MCP smoke check used the existing seven-file README
|
|
|
|
|
|
fixture index. Hybrid search selected Supplier Agreement.pdf, page 2, returned its
|
|
|
|
|
|
sixty-day notice passage through read_source, and selected Mountain Lake.jpg for
|
|
|
|
|
|
the image-description query. The observed warm document engine time was 69.80 ms
|
|
|
|
|
|
in one run; this small debug fixture is not a production benchmark or p95 claim.
|
|
|
|
|
|
|
|
|
|
|
|
Seven actual loopback HTTP tests verify the optional OpenAI-compatible adapter's
|
|
|
|
|
|
request path/messages, header-only authentication, pure offline validation,
|
|
|
|
|
|
input/response bounds, real timeout behavior, citation consistency and sanitized
|
|
|
|
|
|
errors. Replies are controlled HTTP fixtures; no hosted provider or live summary
|
|
|
|
|
|
model was invoked. Native tests verify that the shown excerpt equals the outgoing
|
|
|
|
|
|
text, filename/path/credential exclusion, disabled/unknown/stale-source rejection
|
|
|
|
|
|
and preparation revision handling. Frontend tests cover disabled defaults,
|
|
|
|
|
|
configuration validation, byte budgets and stale-answer state.
|
|
|
|
|
|
|
|
|
|
|
|
The desktop's optional answers are separate from search, disabled by default and
|
|
|
|
|
|
explicitly requested. Config and keys are session-only; model output is plain text
|
|
|
|
|
|
and labeled as a draft. Answers currently cover one reviewed document excerpt.
|
|
|
|
|
|
Native window interaction, live-provider compatibility/quality/latency, Linux/macOS
|
|
|
|
|
|
agent execution and release packaging remain open gates.
|
|
|
|
|
|
|
2026-10-12 19:16:23 +02:00
|
|
|
|
## Historical evidence
|
|
|
|
|
|
|
2026-10-12 21:22:11 +02:00
|
|
|
|
The source-code checkpoint uses the actual rebuilt/staged CPU Google worker:
|
|
|
|
|
|
9/9 frozen code queries rank their expected source file first (1/9 with lexical
|
|
|
|
|
|
retrieval alone), with exact MCP source excerpts and exclusion of a matching
|
|
|
|
|
|
ordinary document. This is a tiny synthetic regression, not a general code
|
|
|
|
|
|
benchmark. [Protocol and raw results](CODE-QUALITY.md).
|
|
|
|
|
|
Workspace checks passed 84 default tests; model/decoder/resource checks remain
|
|
|
|
|
|
opt-in. Separate actual CPU code tests verify task/debug vector behavior and
|
|
|
|
|
|
normalized-tokenizer source windows, including long Unicode code. The capture
|
|
|
|
|
|
backend's three tests, frontend build/format and strict Rust Clippy also pass.
|
|
|
|
|
|
Existing real Google text-reference and long-tail parity passed after the
|
|
|
|
|
|
tokenizer fix; regular document search retains its pinned reference behavior.
|
|
|
|
|
|
Native/GPU/platform and broad independent code-quality gates remain open.
|
|
|
|
|
|
|
2026-10-12 20:59:10 +02:00
|
|
|
|
The [EmbeddingGemma 2 audit](EMBEDDINGGEMMA2-AUDIT.md) records new CPU diagnostics:
|
|
|
|
|
|
24 uncached native queries per 1/2/4-thread setting, paired real MCP repeat/filter
|
|
|
|
|
|
measurements, 20 unchanged result-set comparisons, actual Release startup/first
|
|
|
|
|
|
query, and document single-versus-serial-batch parity. Six cache-control tests
|
|
|
|
|
|
verify eviction, fingerprint/trim behavior, failures, unchanged filtering/source
|
|
|
|
|
|
lifecycle and accurate hit traces. The frontend readiness regression retains an
|
|
|
|
|
|
old committed generation during rebuilds and blocks initial/activation states.
|
|
|
|
|
|
The four real-engine browser captures were regenerated and visually inspected;
|
|
|
|
|
|
the performance capture deliberately uses an unseen query and proves actual
|
|
|
|
|
|
worker inference rather than treating a cached vector as a new neural pass.
|
|
|
|
|
|
Native visual/paint and production media relevance gates remain open.
|
|
|
|
|
|
|
2026-10-12 19:16:23 +02:00
|
|
|
|
Initial engine/CLI checks covered retrieval, persistence, filesystem changes,
|
|
|
|
|
|
exclusions/filters, migration, concurrent readers, PDF pages, DOCX paragraphs,
|
|
|
|
|
|
corrupt replacement, encrypted PDF errors and bounded compressed input.
|
|
|
|
|
|
The first actual Google text adapter matched five pinned reference vectors
|
|
|
|
|
|
above 0.999, including multilingual queries and long-document window coverage.
|
|
|
|
|
|
|
|
|
|
|
|
The rejected MiniLM/ONNX experiment achieved 5/6 top-1 on its six-query fixture;
|
|
|
|
|
|
it is retained under the opt-in historical proof only and is not a production
|
|
|
|
|
|
fallback. [Historical experiment](../tools/semantic-proof/HISTORICAL.md).
|
|
|
|
|
|
Repository metadata/avatar updates were read back successfully. Historical
|
|
|
|
|
|
foundation/default test totals changed as implementation expanded and must not
|
|
|
|
|
|
be presented as the current aggregate.
|
|
|
|
|
|
|
|
|
|
|
|
Reproduction commands and exact interfaces are in [BUILDING.md](BUILDING.md),
|
|
|
|
|
|
[SEMANTIC.md](SEMANTIC.md), and [MEDIA-QUALITY.md](MEDIA-QUALITY.md).
|