Repository navigation
Conversation
The tree said nothing about encryption at rest, claimed R2 and GCS support that CI never exercises, and did not say when an embedding provider is called. A new data-protection page covers encryption, transport, egress and erasure; the storage page names the conditional writes a store must enforce; the embeddings page says which operations reach a provider and that no setting turns providers off.
|
Recommendation: request changes. Do not merge until the three sentences below match the code. WhyAn outside review found four gaps in the deployment docs. This pull request adds one data-protection page and corrects the storage and embedding pages. Operators need those limits before they choose a store or turn embeddings on. WhatThe new page is the right owner for encryption, transit, egress, and erasure. The storage page correctly says OmniGraph refuses Three sentences still disagree with the code. Those three are blocking. Blocking
Optional
Tradeoff and liabilityThe new page adds no API, no state, and no second runtime authority. It removes the false claim that Cloudflare R2, Google Cloud Storage, and It also adds a second prose copy of the embedding model rule, and that copy is already wrong. Five more pages that restate the same rule will drift the same way. Keep one rule in The encryption paragraph adds liability if it ships as written. An operator can set ValidationReviewed commit Evidence is code inspection, the pinned Lance 13.0.0 sources, object_store 0.14.2, and the Lance object-store guide. I did not run a Rust test, RustFS, live S3, or an embedding HTTP call. I did not use CI on this commit as evidence. Local check, on this commit: This pull request does not change rows, errors, types, or storage behavior. A GQT regression test does not apply. Inline comments
Named CLI targets and unbound opens do not treat these variables the same way.
A server and a direct open use Please state both paths. Bucket default encryption still applies when these variables are unset. On a captured CLI target the variables are refused. On a server or a direct open they are sent.
The embedding provider receives the query text of a text Please name
The Schema annotation section below already states the rule: the active provider must resolve to the recorded model id. Delete this sentence, or make it match that rule. |
An outside review of the tree found four gaps that are documentation, not product: nothing about encryption at rest, R2 and GCS support claimed but never tested, and no statement of when an embedding provider is called or whether it can be switched off.
Changes
docs/user/operations/data-protection.md. OmniGraph does no client-side or field-level encryption. Encryption at rest comes from the store (S3 bucket default SSE-S3/SSE-KMS, Azure Storage default, an encrypted volume). The server speaks plain HTTP behind a TLS proxy. Text goes to the embedding provider only. Deletes and drops leave values in history untilcleanup. It is linked from the user index and deployment.md. deployment.md stays at the 350-line cap, so the page holds the content.gs://is refused and has no native GCS support. A store must enforceIf-None-Match: *andIf-Matchon PUT. CI testss3://against RustFS. R2 and GCS through its S3 API are not qualified.nearestquery andomnigraph embedcall a provider. A served graph withoutembedding_providerresolves the provider from the process environment, which defaults to OpenRouter. No setting turns providers off, andmockreturns vectors that are not comparable with real ones.Verified against code
CapturedStorageBinding::validate_environmentrefuses any recognized non-auth S3 option that is not in the captured map, and the capture never adds encryption keys.gs://is refused by the storage URI parser, and Lance is built withawsandazureonly.ConditionalPut=etag. The cluster's lock and control objects useIf-Match, and Lance commits use put-if-absent.engine/search.rs(query text) andomnigraph-cli/src/embed.rs.settings.rsleavesembedding: Nonewithout a profile, andEmbeddingResolverthen callsEmbeddingClient::from_env().Classification
Trivial fast-lane (doc corrections). No behavior change.
Testing
bash scripts/check-agents-md.sh,python3 scripts/check-docs.py,typos.