Skip to content

Expose a minimal transport-independent Rust search feature - #150

Merged
konard merged 6 commits into
mainfrom
issue-148-ecaba4af8e3f
Aug 3, 2026
Merged

konard merged 6 commits into
mainfrom
issue-148-ecaba4af8e3f

Conversation

@konard

@konard konard commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

Summary

Fixes #148.

  • adds a minimal search feature for provider URL construction, response parsing, and caller-owned transport
  • moves the CLI, server, reqwest client, and browser stack behind the default runtime feature so existing consumers retain current behavior
  • keeps search_with_transport runtime-independent and gates only the reqwest convenience implementation behind runtime
  • adds CI coverage that rejects browser-commander, reqwest, Tokio, Axum, and openssl-sys from the minimal normal dependency graph
  • adds a JavaScript parity regression for the same transport-independent URL/parser boundary
  • documents the downstream Cargo configuration

Root cause and reproduction

Every Rust dependency and module was unconditional. As a result, even consumers that only called the pure search URL/parser API selected the complete service and browser graph, including native TLS and openssl-sys.

Before the fix, the new dependency-boundary check against --no-default-features --features search reported:

Minimal Rust search feature selected forbidden packages: axum, browser-commander, openssl-sys, reqwest, tokio

The feature-only smoke test now compiles the public URL/parser API and search_with_transport with a caller-owned transport. The dependency check inspects normal Cargo edges, matching what downstream applications compile while excluding test-only dependencies.

Validation

  • cargo test --all-features (273 passed)
  • cargo test --no-default-features --features search --test search_feature (1 passed)
  • cargo test --no-default-features
  • cargo check --all-targets --all-features
  • cargo clippy --all-targets --all-features -- -D warnings
  • cargo fmt --all -- --check
  • node scripts/rust-check-search-feature.mjs
  • node scripts/check-js-rust-parity.mjs
  • npm test -- --runInBand tests/unit/search.test.js (21 passed)
  • npm run check
  • cargo package --list
  • fresh lockfile resolution followed by all-target checks and the complete Rust test suite (273 passed)
  • git diff --check

Screenshots

Not applicable; this is a Rust feature/dependency boundary change with no visual UI impact.

Adding .gitkeep for PR creation (default mode).
This file will be removed when the task is complete.

Issue: #148
@konard konard self-assigned this Aug 3, 2026
@konard konard changed the title [WIP] Feature-gate pure search adapters from browser and server dependencies Expose a minimal transport-independent Rust search feature Aug 3, 2026
@konard
konard marked this pull request as ready for review August 3, 2026 10:45
@konard

konard commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator Author

Working session summary

Implemented and finalized PR #150.

  • Added minimal Rust search feature without browser, reqwest, Tokio, Axum, or OpenSSL dependencies.
  • Preserved existing behavior behind the default runtime feature.
  • Added Rust dependency-boundary and smoke tests plus JavaScript parity coverage.
  • Updated documentation and CI enforcement.
  • Rust suite: 273 tests passed.
  • All current-SHA GitHub workflows pass.
  • PR is ready, mergeable, synchronized with main, and the working tree is clean.

Final commit: 4922a6a66932d0a7bc385ee32b00d29cb2038135.

💰 Cost estimation:

  • Model: GPT-5.6 Sol
  • Provider: OpenAI
  • Public pricing estimate: $28.160223

📊 Context and tokens usage:

  • 522.4K / 200K (261%) input tokens, 53.5K / 128K (42%) output tokens

Total: (522.4K + 20.5M cached) input tokens, 53.5K output tokens, $28.160223 cost


This summary was automatically extracted from the AI working session output.

@konard

konard commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator Author

🤖 Solution Draft Log

This log file contains the complete execution trace of the AI solution draft process.

💰 Cost estimation:

  • Model: GPT-5.6 Sol
  • Provider: OpenAI
  • Public pricing estimate: $28.160223

📊 Context and tokens usage:

  • 522.4K / 200K (261%) input tokens, 53.5K / 128K (42%) output tokens

Total: (522.4K + 20.5M cached) input tokens, 53.5K output tokens, $28.160223 cost

🤖 Models used:

  • Tool: OpenAI Codex
  • Requested: gpt-5.6-sol
  • Thinking level: medium (~15999 tokens)
  • Model: GPT 5.6 Sol (gpt-5.6-sol)

📎 Log file uploaded as Gist (6461KB)


Now working session is ended, feel free to review and add any feedback on the solution draft.

@konard
konard merged commit 8fad563 into main Aug 3, 2026
18 checks passed
@konard

konard commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator Author

🎉 Auto-merged

This pull request has been automatically merged by hive-mind.

  • All CI checks have passed

Auto-merged by hive-mind with --auto-merge flag

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.

Feature-gate pure search adapters from browser and server dependencies

1 participant