feat: highlight search matches and document the working UI
Core CI / core (ubuntu-latest) (push) Failing after 3m29s
Core CI / core (macos-latest) (push) Canceled after 0s
Core CI / core (windows-latest) (push) Canceled after 0s
Core CI / desktop (ubuntu-latest) (push) Successful in 7m23s
Core CI / desktop (macos-latest) (push) Canceled after 0s
Core CI / desktop (windows-latest) (push) Canceled after 0s
Core CI / core (ubuntu-latest) (push) Failing after 3m29s
Core CI / core (macos-latest) (push) Canceled after 0s
Core CI / core (windows-latest) (push) Canceled after 0s
Core CI / desktop (ubuntu-latest) (push) Successful in 7m23s
Core CI / desktop (macos-latest) (push) Canceled after 0s
Core CI / desktop (windows-latest) (push) Canceled after 0s
This commit is contained in:
1 parent
b8400c4fbf
commit
79553ce921
26 files changed
+4124
-50
No files matched your search
+17
-1
@@ -9,7 +9,7 @@ and `SEARCHI_FORCE_CPU=1`.
|
||||
|
||||
- Native desktop: **9/9 tests passed**, including structured trace/basic responses.
|
||||
Post-generation cached query warmup is implemented but its interactive first-query gate remains open.
|
||||
Frontend: **18/18 tests passed**, TypeScript/Vite production build and
|
||||
Frontend: **31/31 tests passed**, TypeScript/Vite production build and
|
||||
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
|
||||
@@ -75,6 +75,22 @@ 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.
|
||||
|
||||
## 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).
|
||||
|
||||
## Historical evidence
|
||||
|
||||
Initial engine/CLI checks covered retrieval, persistence, filesystem changes,
|
||||
|
||||
@@ -0,0 +1,450 @@
|
||||
{
|
||||
"kind": "browser-rendered-production-ui-real-cpu-engine",
|
||||
"source": {
|
||||
"base_commit": "b8400c4fbf4038820c383ed429207a3b339bf0a5",
|
||||
"working_tree_dirty": true
|
||||
},
|
||||
"viewport": {
|
||||
"width": 1440,
|
||||
"height": 1000
|
||||
},
|
||||
"runner": {
|
||||
"playwright": "1.64.0",
|
||||
"chromium": "156.0.8078.4"
|
||||
},
|
||||
"backend": {
|
||||
"mode": "readme-capture",
|
||||
"model": "google/embeddinggemma-2",
|
||||
"device": "cpu",
|
||||
"runtime": "b11461-no-logits-v1",
|
||||
"threads": 1,
|
||||
"dimensions": 768,
|
||||
"ready": true,
|
||||
"rust_build_profile": "debug"
|
||||
},
|
||||
"cpu_flags": [
|
||||
"--disable-gpu",
|
||||
"--disable-accelerated-video-decode",
|
||||
"--disable-webgl"
|
||||
],
|
||||
"native_window_chrome": false,
|
||||
"native_visual_qa_complete": false,
|
||||
"measured_queries": [
|
||||
{
|
||||
"query": "cancel the supplier partnership",
|
||||
"mode": "basic",
|
||||
"result_count": 7,
|
||||
"metrics": {
|
||||
"dropped_spans": 0,
|
||||
"result_count": 7,
|
||||
"total_ms": 84.7475,
|
||||
"trace": null
|
||||
},
|
||||
"first_filename": "Supplier Agreement.pdf",
|
||||
"first_source": {
|
||||
"kind": "page",
|
||||
"number": 2
|
||||
},
|
||||
"ui_checks": {
|
||||
"literal_query_marks": true,
|
||||
"actual_page_explanation": true,
|
||||
"why_disclosure_collapsed_by_default": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"query": "mountains reflected in calm water",
|
||||
"mode": "basic",
|
||||
"result_count": 7,
|
||||
"metrics": {
|
||||
"dropped_spans": 0,
|
||||
"result_count": 7,
|
||||
"total_ms": 83.50019999999999,
|
||||
"trace": null
|
||||
},
|
||||
"first_filename": "Mountain Lake.jpg",
|
||||
"first_source": {
|
||||
"kind": "image",
|
||||
"number": 0
|
||||
},
|
||||
"ui_checks": {
|
||||
"meaning_only_image_has_no_text_marks": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"query": "cancel the supplier partnership",
|
||||
"mode": "debug",
|
||||
"result_count": 7,
|
||||
"metrics": {
|
||||
"dropped_spans": 0,
|
||||
"result_count": 7,
|
||||
"total_ms": 81.5728,
|
||||
"trace": [
|
||||
{
|
||||
"counters": {},
|
||||
"duration_ms": 81.5544,
|
||||
"name": "hybrid.search",
|
||||
"parent": null,
|
||||
"start_ms": 0.0106
|
||||
},
|
||||
{
|
||||
"counters": {},
|
||||
"duration_ms": 1.5203,
|
||||
"name": "lexical.search",
|
||||
"parent": 0,
|
||||
"start_ms": 0.0281
|
||||
},
|
||||
{
|
||||
"counters": {
|
||||
"query_bytes": 31
|
||||
},
|
||||
"duration_ms": 0.0383,
|
||||
"name": "lexical.normalization",
|
||||
"parent": 1,
|
||||
"start_ms": 0.0386
|
||||
},
|
||||
{
|
||||
"counters": {
|
||||
"frequency_cache_hits": 29,
|
||||
"frequency_cache_misses": 0,
|
||||
"trigram_index": 1
|
||||
},
|
||||
"duration_ms": 0.1389,
|
||||
"name": "lexical.candidate_plan",
|
||||
"parent": 1,
|
||||
"start_ms": 0.0871
|
||||
},
|
||||
{
|
||||
"counters": {},
|
||||
"duration_ms": 0.1952,
|
||||
"name": "lexical.exact_filename",
|
||||
"parent": 1,
|
||||
"start_ms": 0.2358
|
||||
},
|
||||
{
|
||||
"counters": {
|
||||
"filters_active": 0,
|
||||
"rows": 0
|
||||
},
|
||||
"duration_ms": 0.16620000000000001,
|
||||
"name": "lexical.filtered_sql",
|
||||
"parent": 4,
|
||||
"start_ms": 0.254
|
||||
},
|
||||
{
|
||||
"counters": {},
|
||||
"duration_ms": 0.183,
|
||||
"name": "lexical.filename_substring",
|
||||
"parent": 1,
|
||||
"start_ms": 0.44539999999999996
|
||||
},
|
||||
{
|
||||
"counters": {
|
||||
"filters_active": 0,
|
||||
"rows": 0
|
||||
},
|
||||
"duration_ms": 0.15589999999999998,
|
||||
"name": "lexical.filtered_sql",
|
||||
"parent": 6,
|
||||
"start_ms": 0.4609
|
||||
},
|
||||
{
|
||||
"counters": {},
|
||||
"duration_ms": 0.1605,
|
||||
"name": "lexical.path_substring",
|
||||
"parent": 1,
|
||||
"start_ms": 0.642
|
||||
},
|
||||
{
|
||||
"counters": {
|
||||
"filters_active": 0,
|
||||
"rows": 0
|
||||
},
|
||||
"duration_ms": 0.1332,
|
||||
"name": "lexical.filtered_sql",
|
||||
"parent": 8,
|
||||
"start_ms": 0.6575
|
||||
},
|
||||
{
|
||||
"counters": {},
|
||||
"duration_ms": 0.1908,
|
||||
"name": "lexical.content",
|
||||
"parent": 1,
|
||||
"start_ms": 0.8159000000000001
|
||||
},
|
||||
{
|
||||
"counters": {
|
||||
"filters_active": 0,
|
||||
"rows": 0
|
||||
},
|
||||
"duration_ms": 0.1622,
|
||||
"name": "lexical.filtered_sql",
|
||||
"parent": 10,
|
||||
"start_ms": 0.8313
|
||||
},
|
||||
{
|
||||
"counters": {},
|
||||
"duration_ms": 0.21509999999999999,
|
||||
"name": "lexical.filename_terms",
|
||||
"parent": 1,
|
||||
"start_ms": 1.0205
|
||||
},
|
||||
{
|
||||
"counters": {
|
||||
"filters_active": 0,
|
||||
"rows": 0
|
||||
},
|
||||
"duration_ms": 0.1858,
|
||||
"name": "lexical.filtered_sql",
|
||||
"parent": 12,
|
||||
"start_ms": 1.0362
|
||||
},
|
||||
{
|
||||
"counters": {},
|
||||
"duration_ms": 0.27109999999999995,
|
||||
"name": "lexical.media_metadata",
|
||||
"parent": 1,
|
||||
"start_ms": 1.2537
|
||||
},
|
||||
{
|
||||
"counters": {
|
||||
"filters_active": 0,
|
||||
"rows": 0
|
||||
},
|
||||
"duration_ms": 0.2419,
|
||||
"name": "lexical.filtered_sql",
|
||||
"parent": 14,
|
||||
"start_ms": 1.2715999999999998
|
||||
},
|
||||
{
|
||||
"counters": {},
|
||||
"duration_ms": 0.0155,
|
||||
"name": "hybrid.identifier_priority",
|
||||
"parent": 0,
|
||||
"start_ms": 1.5598999999999998
|
||||
},
|
||||
{
|
||||
"counters": {
|
||||
"failed": 0,
|
||||
"request_encode_us": 20,
|
||||
"request_write_us": 54,
|
||||
"response_validate_us": 94,
|
||||
"worker_batch_prepare_us": 16,
|
||||
"worker_inference_us": 77535,
|
||||
"worker_pool_normalize_us": 18,
|
||||
"worker_token_count": 13,
|
||||
"worker_tokenization_us": 146,
|
||||
"worker_wait_and_response_decode_us": 78781
|
||||
},
|
||||
"duration_ms": 79.06530000000001,
|
||||
"name": "semantic.query_embedding",
|
||||
"parent": 0,
|
||||
"start_ms": 1.5843999999999998
|
||||
},
|
||||
{
|
||||
"counters": {
|
||||
"general_lane": 1
|
||||
},
|
||||
"duration_ms": 0.8277,
|
||||
"name": "semantic.routing",
|
||||
"parent": 0,
|
||||
"start_ms": 80.6811
|
||||
},
|
||||
{
|
||||
"counters": {
|
||||
"ann_passes": 1,
|
||||
"filesystem_checks": 2,
|
||||
"result_files": 7
|
||||
},
|
||||
"duration_ms": 0.7831,
|
||||
"name": "semantic.retrieval",
|
||||
"parent": 18,
|
||||
"start_ms": 80.71549999999999
|
||||
},
|
||||
{
|
||||
"counters": {},
|
||||
"duration_ms": 0.1451,
|
||||
"name": "semantic.generation_snapshot",
|
||||
"parent": 19,
|
||||
"start_ms": 80.73429999999999
|
||||
},
|
||||
{
|
||||
"counters": {
|
||||
"cache_hit": 1
|
||||
},
|
||||
"duration_ms": 0.017499999999999998,
|
||||
"name": "semantic.ann_load",
|
||||
"parent": 19,
|
||||
"start_ms": 80.89150000000001
|
||||
},
|
||||
{
|
||||
"counters": {},
|
||||
"duration_ms": 0.0108,
|
||||
"name": "semantic.filter_normalization",
|
||||
"parent": 19,
|
||||
"start_ms": 80.9172
|
||||
},
|
||||
{
|
||||
"counters": {
|
||||
"cache_hit": 1,
|
||||
"eligible_chunks": 8
|
||||
},
|
||||
"duration_ms": 0.0245,
|
||||
"name": "semantic.eligibility",
|
||||
"parent": 19,
|
||||
"start_ms": 80.93599999999999
|
||||
},
|
||||
{
|
||||
"counters": {
|
||||
"requested_chunks": 8
|
||||
},
|
||||
"duration_ms": 0.49450000000000005,
|
||||
"name": "semantic.ann_pass",
|
||||
"parent": 19,
|
||||
"start_ms": 80.9745
|
||||
},
|
||||
{
|
||||
"counters": {
|
||||
"returned_chunks": 8
|
||||
},
|
||||
"duration_ms": 0.036000000000000004,
|
||||
"name": "semantic.ann_search",
|
||||
"parent": 24,
|
||||
"start_ms": 80.9829
|
||||
},
|
||||
{
|
||||
"counters": {
|
||||
"filesystem_checks": 2,
|
||||
"unique_parents": 7
|
||||
},
|
||||
"duration_ms": 0.4331,
|
||||
"name": "semantic.parent_materialization",
|
||||
"parent": 24,
|
||||
"start_ms": 81.0271
|
||||
},
|
||||
{
|
||||
"counters": {
|
||||
"valid": 1
|
||||
},
|
||||
"duration_ms": 0.1684,
|
||||
"name": "semantic.parent_filesystem_validation",
|
||||
"parent": 26,
|
||||
"start_ms": 81.1383
|
||||
},
|
||||
{
|
||||
"counters": {
|
||||
"valid": 1
|
||||
},
|
||||
"duration_ms": 0.0964,
|
||||
"name": "semantic.parent_filesystem_validation",
|
||||
"parent": 26,
|
||||
"start_ms": 81.333
|
||||
},
|
||||
{
|
||||
"counters": {
|
||||
"lexical_files": 0,
|
||||
"semantic_files": 7
|
||||
},
|
||||
"duration_ms": 0.0385,
|
||||
"name": "hybrid.rank_fusion",
|
||||
"parent": 0,
|
||||
"start_ms": 81.5188
|
||||
}
|
||||
]
|
||||
},
|
||||
"first_filename": "Supplier Agreement.pdf",
|
||||
"first_source": {
|
||||
"kind": "page",
|
||||
"number": 2
|
||||
},
|
||||
"ui_checks": {
|
||||
"literal_query_marks": true,
|
||||
"actual_page_explanation": true,
|
||||
"why_disclosure_collapsed_by_default": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"screenshots": [
|
||||
{
|
||||
"file": "search-light.png",
|
||||
"sha256": "a8347729d7995d0354fd45c1d0762d3fe33adbf0dfcf9ac3387073e522710b15",
|
||||
"query": "cancel the supplier partnership",
|
||||
"mode": "basic",
|
||||
"result_count": 7,
|
||||
"selected_filename": "Supplier Agreement.pdf",
|
||||
"first_source_kind": "page",
|
||||
"first_source_number": 2,
|
||||
"theme": "light",
|
||||
"summary": "7 RESULTS · KEYWORD + MEANING · SEARCH 85 MS · SHOWN 543 MS",
|
||||
"state_assertions": {
|
||||
"semantic_ready": true,
|
||||
"hybrid_final": true,
|
||||
"image_visible": false,
|
||||
"actual_worker_inference": false,
|
||||
"literal_query_marks": true,
|
||||
"actual_page_explanation": true,
|
||||
"why_disclosure_collapsed_by_default": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"file": "search-dark.png",
|
||||
"sha256": "b8cf9505ada4afb439edd469d58868fff92dd99cf9b62b6d4a5127307c1e36a7",
|
||||
"query": "cancel the supplier partnership",
|
||||
"mode": "basic",
|
||||
"result_count": 7,
|
||||
"selected_filename": "Supplier Agreement.pdf",
|
||||
"first_source_kind": "page",
|
||||
"first_source_number": 2,
|
||||
"theme": "dark",
|
||||
"summary": "7 RESULTS · KEYWORD + MEANING · SEARCH 85 MS · SHOWN 543 MS",
|
||||
"state_assertions": {
|
||||
"semantic_ready": true,
|
||||
"hybrid_final": true,
|
||||
"image_visible": false,
|
||||
"actual_worker_inference": false,
|
||||
"literal_query_marks": true,
|
||||
"actual_page_explanation": true,
|
||||
"why_disclosure_collapsed_by_default": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"file": "media-search.png",
|
||||
"sha256": "db832104e3b2fc59bd07a4ea393d38d363c00385023e5f9e469726e076e9b9fe",
|
||||
"query": "mountains reflected in calm water",
|
||||
"mode": "basic",
|
||||
"result_count": 7,
|
||||
"selected_filename": "Mountain Lake.jpg",
|
||||
"first_source_kind": "image",
|
||||
"first_source_number": 0,
|
||||
"theme": "light",
|
||||
"summary": "7 RESULTS · KEYWORD + MEANING · SEARCH 84 MS · SHOWN 519 MS",
|
||||
"state_assertions": {
|
||||
"semantic_ready": true,
|
||||
"hybrid_final": true,
|
||||
"image_visible": true,
|
||||
"actual_worker_inference": false,
|
||||
"meaning_only_image_has_no_text_marks": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"file": "performance-details.png",
|
||||
"sha256": "149753ca90cda5d81254d43e15118b61325a61d7f0fb366b783d4e2dfac5d96d",
|
||||
"query": "cancel the supplier partnership",
|
||||
"mode": "debug",
|
||||
"result_count": 7,
|
||||
"selected_filename": "Supplier Agreement.pdf",
|
||||
"first_source_kind": "page",
|
||||
"first_source_number": 2,
|
||||
"theme": "light",
|
||||
"summary": "7 RESULTS · KEYWORD + MEANING · SEARCH 82 MS · SHOWN 514 MS",
|
||||
"state_assertions": {
|
||||
"semantic_ready": true,
|
||||
"hybrid_final": true,
|
||||
"image_visible": false,
|
||||
"actual_worker_inference": true,
|
||||
"literal_query_marks": true,
|
||||
"actual_page_explanation": true,
|
||||
"why_disclosure_collapsed_by_default": true
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 439 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 185 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 168 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 165 KiB |
Reference in new issue
Block a user