Skip to content

feat: add approved VikingDB knowledge service - #8

Merged
YangYuS8 merged 23 commits into
mainfrom
agent/vikingdb-approved-knowledge
Jul 16, 2026
Merged

feat: add approved VikingDB knowledge service#8
YangYuS8 merged 23 commits into
mainfrom
agent/vikingdb-approved-knowledge

Conversation

@YangYuS8

@YangYuS8 YangYuS8 commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

What changed

  • define a Provider-side approved-knowledge contract with explicit tenant, approval, source, version, effective-time, expiry, and score fields
  • use the official Eino VikingDB Retriever as a reference backend
  • push tenant and approval_status=approved filters into VikingDB
  • validate tenant, approval, freshness, provenance, score, and duplicates again after retrieval
  • add a service-level score floor that callers cannot lower
  • add a private loopback-first nivora-knowledge HTTP service with independent authentication
  • add a black-box nivora-knowledge-eval JSONL benchmark for expected/forbidden sources and latency
  • document the collection schema, publication workflow, revocation behavior, and Provider boundary
  • add a hardened systemd unit and environment template

Security boundary

Nivora Core does not receive VikingDB credentials. The product Provider resolves the tenant from trusted customer context and calls the private knowledge service. Malformed, stale, draft, expired, cross-tenant, low-confidence, or incomplete results fail closed.

Validation

The final read-only CI passes:

  • clean go mod tidy
  • gofmt
  • go vet ./...
  • go test -race ./...
  • go build -trimpath ./...

This validates Nivora, both evaluation CLIs, and the approved knowledge service binaries with the locked official VikingDB Retriever dependency.

@YangYuS8
YangYuS8 marked this pull request as ready for review July 16, 2026 11:02
@YangYuS8
YangYuS8 merged commit 89dfaa2 into main Jul 16, 2026
1 check passed
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