Skip to content

maintenance: evaluate fastembed transitive advisory warnings #21

Description

@totocaster

Affected components

  • Semantic embedding pipeline in crates/arrowhead-core and crates/arrowhead-daemon
  • Workspace dependency fastembed = =5.2.0 in Cargo.toml
  • Transitives reported by cargo audit: paste 1.0.15 and number_prefix 0.4.0

Risk

cargo audit reports unmaintained transitive crates through the pinned fastembed stack. The pin exists because newer fastembed releases previously pulled image/zune-jpeg combinations that failed stable CI.

Impact

Semantic search ships by default, so dependency health in the embedding stack matters. A broad fastembed upgrade could affect model download behavior, runtime memory, vector dimensions, sqlite-vec compatibility, and CI stability.

Proposed fix

Re-evaluate the current latest fastembed release under Rust 1.88, test CI build stability, and either upgrade the pin or document/allowlist the warnings with a clear expiration plan. Consider whether feature selection can avoid unneeded image-related dependencies.

Suggested tests

  • cargo fmt --all
  • cargo check --all-targets
  • cargo clippy --all-targets -- -D warnings
  • cargo test --all-targets -- --nocapture
  • Embedding bootstrap/backfill tests with downloads disabled or controlled
  • Smoke semantic/hybrid search against tests/fixtures/test-vault using a temp index
  • cargo audit documents only accepted residual warnings

Why not implemented automatically

This touches the always-on semantic pipeline and a deliberately pinned dependency. It needs a dedicated compatibility pass rather than an opportunistic maintenance update.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions