Commit Graph
2 Commits
Author SHA1 Message Date
Claude 711f32e86e Fix review findings: exact measurement surfaces, symmetric model matching, wrong-shape tags = unobservable
- Upstream layer (embedTexts/upsertPoints/searchPoints/ensureCollection) now
  RETURNS the exact URL it fetched as `surface`; app.js reports it verbatim so
  measurement_surface can never drift from the real call (encoded collection
  names, ?wait=true included).
- Embed-model presence matching is now symmetric on name:tag — base-name match
  when either side lacks a tag, exact tag match when both carry one.
- A 200 /api/tags response that parses but has no models array is now
  unobservable, never absent: only a readable models list may prove absence.
- Tests: tag matching both directions + tag mismatch + base-name mismatch,
  wrong-shape/non-JSON tags responses, and surface exactness asserted against
  the mocked fetch's actual URL (including URL-encoded collection names).

Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_012T1XF1ZyJL7KW8AVRUJjiD
2026-08-22 02:35:23 -04:00
Claude a707c05dcc Scaffold shre-embed: embedding + semantic search with three-valued health
Express (ESM, no build step) service wrapping Ollama embeddings and Qdrant:
- POST /v1/embed, /v1/index, /v1/search
- GET /health reports each dependency as ok | absent | unobservable with the
  exact measurement_surface URL and observed_at; overall ok only when all
  deps are ok, 503 degraded otherwise
- upstream failures on /v1/* return 502 marked unobservable — never an empty
  result set or indexed:0
- defaults PORT=5499, QDRANT_URL=127.0.0.1:6333, OLLAMA_URL=127.0.0.1:11436
  (11436 native Ollama; 11434 is the broken Colima forward on this Mac)
- node:test unit tests with injected fetch; run with zero live dependencies
- README documents endpoints and a reference launchd plist (not installed)

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-08-22 02:05:11 -04:00