KCAE.CHANGE:4.2 - Construct a candidate generation without disturbing readers
For a repeated service, assign a generation identifier to a coherent source snapshot and the derived views prepared against it. A manifest identifies source membership, editions, extraction and representation configurations, and each view’s ready, unavailable or limited status. It need not duplicate the complete data, but it must resolve exact reads and state what a route can search.
Build new or changed units, remove deleted membership, update structural links and recompute context-dependent units. Reuse an embedding only when the required source/context and embedding-space conditions still hold. A change of model, preprocessing, vector dimension or comparison convention can require a new compatible index. Mixed spaces do not become comparable because their numeric dimensions happen to match.
Persist the candidate and test a newly loaded instance, not only the in-memory builder. Exercise build, save, close, load, query and source read. This catches missing files, omitted metadata and incompatible serialization. Validate required view membership, exact return addresses and representative changed cases before making the generation selectable. A failed optional view can leave a useful generation with fewer routes; a failed necessary source reader prevents that use.