Transparent by design
The method,
not the mystique.
The public demo is small enough to audit and complete enough to prove the full retrieval path.
Architecture
One engine.
Two hard boundaries.
01 / BROWSER
Static Astro site
No account, cookie, or origin secret.
02 / EDGE
Cloudflare BFF
Validates, limits, strips, and measures.
03 / ORIGIN
Go + SQLite FTS5
Token-gated and read-only on Fly.
The browser can ask
A bounded query, one reviewed source filter, and a result limit from 1 to 10.
The browser cannot reach
The origin token, local roots, private corpora, arbitrary modes, or mutable operations.
Corpus v1
24 public pages.
Every input named.
The deployment accepts only the files in its signed manifest. A new content digest requires review and a fresh eval.
SQLite
8
Public domain documentation
FTS5, WAL, JSON, query planning
Go
8
CC BY 4.0 website content, unless noted otherwise
spec, memory model, modules, pipelines
PostgreSQL
8
PostgreSQL documentation license
indexes, MVCC, JSONB, WAL
The source list is versioned at eval/sample-corpus/sources.md. Production also records each retrieved content digest and the final index digest.
Frozen baseline
Claims with a replay button.
The public fixture contains 24 identifier-style and natural-language queries. It uses BM25 only. No reranker or model call can improve the score.
Hit@1
95.8%
23 of 24 queries put a correct page first.
Hit@5
100%
Every measured query found a correct page in five results.
MRR
0.979
Correct pages appear close to the top across the fixture.
p50
<1 ms
Measured engine time on the frozen local baseline.
This proves
The exact engine and corpus can retrieve expected public pages at the published floor.
This does not prove
Human adoption, production usage, revenue, or performance on a private corpus.
Privacy and limits
Safe by a small surface.
No visitor state
- No account or cookie.
- No browser bearer token.
- No raw query in application telemetry.
- No local or private corpus path.
Bounded requests
- Query
- 2–160 chars
- Results
- 1–10
- Origin timeout
- 4 s
- Response
- 64 KiB
- Document excerpt
- 32 KB
- Search rate
- 30 / min
- Mode
- fts5 only
Rate enforcement: Cloudflare uses the connecting address only to derive an ephemeral rate bucket. The Worker does not write the address or its derived value to logs or analytics.
Reproduce it
No special access required.
Build the same public corpus, index it, and run the fixture with the open CLI.
$ git clone https://github.com/nstranquist/docs-puller
$ cd docs-puller
$ go build -tags sqlite_fts5 -o bin/docs-puller .
$ corpus="$(mktemp -d)"
$ bin/docs-puller pull \
--from eval/sample-corpus/sources.md --out "$corpus"
$ bin/docs-puller reindex --out "$corpus"
$ bin/docs-puller eval \
--fixture eval/sample-corpus/fixture.yaml \
--out "$corpus" --json