Skip to content

Feat/tag match 47 - #95

Open
derrickCcc wants to merge 2 commits into
ob-labs:mainfrom
derrickCcc:feat/tag-match-47
Open

Feat/tag match 47#95
derrickCcc wants to merge 2 commits into
ob-labs:mainfrom
derrickCcc:feat/tag-match-47

Conversation

@derrickCcc

Copy link
Copy Markdown

Summary

Solution Description

Smart_Chen added 2 commits July 17, 2026 14:46
…b-labs#46)

Add a `doctor` subcommand that loads ContextSeekSettings, reports the
resolved storage/embedding/LLM configuration, and runs a lightweight
liveness check on each component:

- Storage: constructs the backend and calls initialize() to verify
  connectivity (supports memory, file, sqlite, seekdb, oceanbase)
- Embedding: builds the embedder via factory and probes with embedder("test")
- LLM: builds the LLM via factory and probes with llm.invoke([HumanMessage])

Output uses clear PASS/FAIL/SKIP/WARN lines with actionable hints pointing
at .env.example sections. Never prints secrets (api keys, passwords, tokens
are sanitised from error messages). Exits non-zero if any required component
fails; provider=none is treated as SKIP (not failure).

Includes 39 unit tests covering all backends, provider states, error
classifications, cross-dependency warnings, secret sanitisation, and
output format.

Closes ob-labs#46
…b-labs#47)

Add a  parameter to the retrieval
path so callers can choose between AND (all tags must match) and OR
(any tag suffices) semantics. Default is "all" for backward
compatibility.

Changes:
- orchestrator.py: branch _keep() on tag_match (issubset vs isdisjoint)
- client/contextseek.py: thread tag_match through retrieve(), with
  filters dict fallback support
- cli/main.py: add --tag-match flag (choices: all/any, default: all)
- mcp/server.py: expose tags + tag_match in contextseek_retrieve tool
- domain/tools.py: add tags + tag_match to _RETRIEVE_SPEC
- Tests: cover any/all/default semantics across unit + integration
- Docs: update API reference and CLI guide (en + zh)

Fixes ob-labs#47.
@derrickCcc

Copy link
Copy Markdown
Author

#47

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