Skip to content

fix(runtime): reject noisy ONNX sessions and quiet default diagnostics - #213

Merged
scbrown merged 2 commits into
mainfrom
gennaro/880-native-diagnostics-20261024
Oct 24, 2026
Merged

scbrown merged 2 commits into
mainfrom
gennaro/880-native-diagnostics-20261024

Conversation

@scbrown

@scbrown scbrown commented Oct 24, 2026 •

Copy link
Copy Markdown
Collaborator

Creating an ONNX session with some system runtimes emits hundreds of duplicate-schema errors despite returning success. Bobbin now validates native session creation in a bounded child process and rejects that runtime with one concise error. Compatible runtimes preserve semantic results; keyword search remains available. The check never downloads libraries or activates CUDA.

Default logging now uses WARN and honors RUST_LOG, so dependency INFO logs no longer print absolute index paths. Runtime discovery notices also omit filesystem paths.

Validation: compile check and executable build passed; six real CLI controls passed, including semantic search/context with a compatible runtime, rejection of the noisy runtime, keyword independence, and explicit logging overrides. HOME guard clean. Focused process controls cover successful-but-noisy children, failed children, diagnostic overflow and timeout/reaping. Hosted CI and independent review remain required. This draft changes source only; no release or installation.

Demo (readable transcript; candidate only, not installed): the same public Flask fixture returned the expected search/context with zero stderr using the compatible runtime. With the affected system runtime, the old installed 0.29.0 emitted 629 schema errors despite exit 0; this source candidate exits 1 with the complete diagnostic below. This is a behavior comparison across installed 0.29.0 and the proposed source, not a claim that the current PR base binary was rebuilt. The private before log contains absolute paths and is not published. The final shared-harness animation waits for the reviewed source landing.

Error: Failed to load embedding model

Caused by:
    ONNX runtime rejected: duplicate schema registration; use a compatible bundled runtime via ORT_DYLIB_PATH

Reproduce with a prepared local index: bobbin search --mode semantic --limit 2 "show the newest blog posts", selecting the affected or compatible runtime through ORT_DYLIB_PATH. BOBBIN_GPU=0 keeps this CPU-only.

@scbrown
scbrown marked this pull request as ready for review October 24, 2026 08:00
@scbrown
scbrown merged commit 145a272 into main Oct 24, 2026
7 checks passed
@scbrown
scbrown deleted the gennaro/880-native-diagnostics-20261024 branch October 24, 2026 09:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant