Files
87d9525176 feat(resolver): opt-in semantic nearest-neighbour fallback (#34) (#140)
Closes #114, #115, #116, #117.

- Deterministic, offline, dependency-free char-ngram embedding backend + config
  section (semantic.enabled default false, min_similarity, backend).
- Committed embedding index (data/kb_embedding_index.json) mapping vectors to real
  KB entry ids only; built by scripts/build_embedding_index.py, loaded once/cached.
- Resolver falls back to the nearest entry on a deterministic miss when enabled,
  accepting >= min_similarity and emitting SC0020; NSFW-gated neighbours are
  skipped. Disabled => byte-identical to before.
- Guarantee tests: deterministic lookup always wins (exact hit never queries the
  index), fallback emits only KB tags (no invention), identical input => identical
  output. SC0020 registered.

Co-authored-by: kunail0804 <kunail0804@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 18:23:38 +02:00

12 lines
550 B
Plaintext

# Data shipped with the source distribution (in a ComfyUI install the whole
# repository is present on disk; this ensures sdists are complete too).
include LICENSE README.md CONTRIBUTING.md MASTER_SPEC.md CHANGELOG.md
recursive-include schemas *.schema.json
recursive-include knowledge_base *.json *.md
recursive-include prompts *.md
recursive-include config *.json
recursive-include examples *.json *.md
recursive-include docs *.md
# The embedding index is a runtime artifact for the optional semantic fallback.
include data/kb_embedding_index.json