Skip to content

zeph-skills: broken intra-doc links to Self::Qdrant when qdrant feature is disabled #6533

Description

@bug-ops

Description

crates/zeph-skills/src/matcher.rs has doc comments on SkillMatcherBackend methods that reference [Self::Qdrant] unconditionally, but the Qdrant variant itself is behind #[cfg(feature = "qdrant")] (matcher.rs:570-571). When the crate is documented without the qdrant feature enabled, rustdoc's intra-doc link resolver cannot find Self::Qdrant and the link is broken.

Discovered while working on #6481 (unrelated zeph-skills embedding refactor): confirmed via git stash that the failure reproduces identically on an unmodified main checkout, so it predates and is unrelated to that change.

Note: the project's own CI-matching rustdoc gate (.claude/rules/branching.md, feature set desktop,ide,server,chat,pdf,scheduler) does not include the qdrant feature, so this does not currently fail local pre-commit checks or (presumably) CI's rustdoc job — it only surfaces when documenting with --all-features/full or another feature superset that omits qdrant. Worth confirming whether any CI job actually builds docs with qdrant disabled; if not, this bug is currently invisible to the standard gate.

Reproduction Steps

  1. From repo root: RUSTDOCFLAGS="--deny rustdoc::broken_intra_doc_links" cargo doc --no-deps -p zeph-skills --features full (or any feature superset that does not enable qdrant, or a build with default features only)
  2. Observe rustdoc error(s) for broken intra-doc links to Self::Qdrant

Expected Behavior

Doc comments referencing Self::Qdrant should resolve correctly regardless of whether the qdrant feature is enabled, or should be written so they don't produce a broken-link error when the variant doesn't exist in the current feature set (e.g. via #[cfg_attr(docsrs, doc(cfg(feature = "qdrant")))] plus feature-gating the reference itself, or rephrasing to avoid an intra-doc link when unavailable).

Actual Behavior

cargo doc with --deny rustdoc::broken_intra_doc_links fails on crates/zeph-skills/src/matcher.rs:578 and :609 (both reference [Self::Qdrant]) when the qdrant feature is not enabled.

Environment

  • Version: main, confirmed 2026-07-20
  • Component: crates/zeph-skills/src/matcher.rs

Logs / Evidence

See PR #6532 description for the discovery context (developer's handoff during #6481 implementation).

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Research — medium-high complexitydocsDocumentation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions