V4 lexical retrieval

Start with deterministic lexical retrieval, then decide what the application does with the hits. Selection, rewriting, and answering are host adapters. They are not exported by @knolo/core.

Question→Knolo query→Context patch→Answer model
Examplets
import { buildPack, mountPack, query } from '@knolo/core';

const docs = [
  { id: 'billing.refunds', namespace: 'support', heading: 'Refund policy',
    text: 'Refund requests must be submitted within 30 days.' },
  { id: 'billing.enterprise', namespace: 'support', heading: 'Enterprise billing',
    text: 'Enterprise invoices are issued on the first business day.' },
];

const bytes = await buildPack(docs, { semantic: { enabled: false } });
const pack = await mountPack({ src: bytes });
const hits = query(pack, 'How long do I have to request a refund?', {
  topK: 5, namespace: 'support',
});
console.log(hits);

Use this when the question is straightforward, the corpus is focused, top results are precise, and you want the smallest inference pipeline. For a local filesystem path in Node, import mountPack from @knolo/core/node. Use @knolo/core for bytes, URLs, browsers, Expo, React Native, and runtime-safe mounting.

V5 images are not mounted through this API. Use V5 EQL. KAR is a different question. See KAR.