Skip to content

Integrate xinference embeddings for semantic search and fix critical bugs#1

Merged
jjohare merged 6 commits intomainfrom
mega-sprint/2026-05-07
May 8, 2026
Merged

Integrate xinference embeddings for semantic search and fix critical bugs#1
jjohare merged 6 commits intomainfrom
mega-sprint/2026-05-07

Conversation

@jjohare
Copy link
Copy Markdown

@jjohare jjohare commented May 8, 2026

No description provided.

jjohare and others added 6 commits May 6, 2026 17:51
- ruvector-mcp.cjs v2.3.0: calls xinference /v1/embeddings (bge-small-en-v1.5,
  384-dim) for real semantic search via HNSW instead of the PG stub
  (generate_text_embedding returns zeros — model not compiled in)
- memSearch: generates query vector via xinference, uses <=> cosine distance
  against existing 2M+ embeddings in ruvector-postgres HNSW index
- memStore: generates embedding via xinference on insert
- ILIKE fallback: prominent WARN log + degraded flag in response so callers
  know semantic search is disabled
- Entrypoint: passes XINFERENCE_ENDPOINT and EMBEDDING_MODEL via .mcp.json env
- flake.nix: adds XINFERENCE_ENDPOINT and EMBEDDING_MODEL to compose env
- New test: tests/integration/test-mcp-infra.sh validates full stack
  (containers, PG, xinference, pg module, .mcp.json, end-to-end MCP)

Co-Authored-By: claude-flow <ruv@ruv.net>
…igration

Two CRITICAL bugs fixed in scripts/sovereign-bootstrap.py:

C2 (lines 81-130): BIP-340 x-only npub
- BEFORE: bech32-encoded the 64-byte uncompressed SEC1 pubkey as `npub`.
  NIP-19 npub MUST encode the 32-byte BIP-340 x-only form (per BIP-340 §3
  and NIP-19 spec). Standards-compliant decoders reject the 64-byte form.
- AFTER: new _x_only_pubkey_with_even_y helper applies BIP-340 lift_x
  parity (force even-y by negating private key when public.y is odd).
  npub bech32-encodes the 32-byte x-only buffer; nsec encodes the 32-byte
  scalar.
- IN-PLACE MIGRATION block: existing /var/lib/agentbox/identities/<id>.json
  files are detected (presence of 64-byte legacy npub); private_key_hex
  preserved; npub re-derived with corrected algorithm; pod filesystem
  symlink updated to point at the new pods/<correct_npub>/ path.

C3c (line 208): verificationMethod.type
- BEFORE: "SchnorrSecp256k1VerificationKey2022" (a non-existent W3C suite)
- AFTER: "SchnorrSecp256k1VerificationKey2019" (the registered cryptosuite)
- publicKeyHex source switched from x_only_pubkey_hex (correct) — already
  correct in the file; no functional change beyond the type string.

Cross-references: ADR-074 D1+D2 (canonical hex), ADR-074 D9 (kind-30033
service-list), Q1 §F3.1+F3.2+F3.3, Q3 §I12 federation key cardinality.

Co-Authored-By: claude-flow <ruv@ruv.net>
… suite)

management-api/middleware/linked-data/surfaces/s04-did.js — DID Document
emitter for the agentbox JS-side linked-data S4 surface (per ADR-012).

BEFORE (line 71): emitted "SchnorrSecp256k1VerificationKey2025" as
verificationMethod.type. This was a fourth distinct identifier appearing
in the DreamLab ecosystem (alongside the three C3 sites: forum 2019,
solid-pod-rs-nostr 2024, agentbox-bootstrap 2022). 2025 is a non-existent
W3C cryptosuite; any standards-compliant verifier rejects it.

AFTER: SchnorrSecp256k1VerificationKey2019 + SECP_CONTEXT
("https://w3id.org/security/suites/secp256k1-2019/v1") added to @context.

This unifies agentbox internally (Python sovereign-bootstrap and JS S4
surface now emit byte-equal DID Documents for the same agent) and aligns
with the ecosystem-wide canonical identifier per ADR-074 D2.

Cross-references: ADR-074 D2 canonical DID Document shape, Q1 §F3.8 (the
fourth-site discovery), qe-fleet/Q3 §E4 "fourth-type-string drift".

Co-Authored-By: claude-flow <ruv@ruv.net>
scripts/sync-fixtures.sh pulls master fixtures from VisionClaw monorepo's
docs/specs/fixtures/ + verifies SHA-256 checksums for ADR-082 D4a hard
gate enforcement.

Idempotent. --verify mode for CI gate. Falls back to
VISIONCLAW_FIXTURES_PATH env override for offline / dev environments.

Co-Authored-By: claude-flow <ruv@ruv.net>
Add Ecosystem section to README with Mermaid diagram and 5-substrate table.
Create docs/developer/ecosystem.md with federation sequence diagram. Index
ADR-014 and ADR-015 in docs hub. Fix 5 stale doc paths in CLAUDE.md.

Co-Authored-By: claude-flow <ruv@ruv.net>
@jjohare jjohare merged commit 4057401 into main May 8, 2026
1 of 8 checks 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