Releases: LegionIO/lex-knowledge
Releases · LegionIO/lex-knowledge
Release list
v0.6.16
v0.6.15
Fixed
- Knowledge ingest now sends Apollo chunk provenance through
context:while retaining metadata compatibility, so source file, heading, section path, chunk index, and token count persist with document chunks. - Batch embedding now falls back to per-chunk
Legion::LLM.embedwhenembed_batchis unavailable. - Retired corpus files now emit explicit observation entries tagged
retiredinstead of using an Apollo-unknowndocument_retiredcontent type. - Retrieval and synthesis failures are logged through helper-based exception handling, and synthesis returns
nilinstead of presenting error strings as answers. - Monitor-only installs now enable the maintenance actor without requiring
corpus_path. - Quality reports count Apollo query access logs with the
queryaction recorded by lex-apollo.
v0.6.14
Changed
- Knowledge defaults are now declared directly in
Knowledge.default_settings, and helpers, runners, actors, and JSON sidecar persistence use Legion logging, settings, and JSON helpers end to end.
v0.6.10
Fixed
- Chunker
content_hashnow uses MD5 + whitespace normalization (matchingLegion::Extensions::Apollo::Helpers::Writeback.content_hash) instead of raw SHA-256. This keeps knowledge chunk deduplication aligned with Apollo writeback and avoids insert truncation on deployments whoseapollo_entries.content_hashcolumn is still fixed at 32 characters. upsert_chunk_with_embeddingnow requires an explicit{success: true}fromhandle_ingestbefore reporting:created/:updated. Failure hashes, missing success keys, and non-Hash returns are reported as:skippedwith a warn log instead of false-positive success counts.
v0.6.9
Fixed
Manifest.scanno longer crashes onErrno::EPERM/EACCESencountered during corpus walk (common on macOS for TCC-protected paths like~/Library/Accounts). Unreadable subdirs are pruned with a debug log; scan continues. ReplacedFind.findwith a recursive walker that rescues per-dir; also toleratesErrno::ELOOPandErrno::ENOENTfor files that disappear mid-scan.
Version note:
0.6.8is reserved for the companionfix/content-hash-md5-match-apollo-schemaPR (chunker SHA-256 → MD5 hash fix). Both branches target0.6.7as their merge base; this PR claims0.6.9to avoid intra-batch collision.
v0.6.7
Fixed
Runners::Query.retrieve_chunksnow extracts theentriesarray fromretrieve_relevant's Hash response instead of returning the Hash directly, preventingTypeError: no implicit conversion of Symbol into Integeronknowledge queryRunners::Maintenance.healthnow returns{ success: false, error: 'corpus_path is required' }when called withpath: niland no settings fallback, instead of raisingTypeError: no implicit conversion of nil into String; falls back toLegion::Settings.dig(:knowledge, :corpus_path)when available
v0.6.6
Fixed
chunk_exists?queries bycontent_hashcolumn directly instead of LIKE ontext[]tags column
v0.6.5
Fixed
chunk_exists?uses cross-DBSequel.likeinstead of PostgreSQL-onlypg_array_op
v0.6.4
Changed
- update to rubocop-legion 0.1.7, resolve all offenses
v0.6.3
Fixed
CorpusWatcherandMaintenanceRunneractors now overridetimeinstead ofevery_interval— theEveryactor base class usestimeforConcurrent::TimerTaskinterval, causing both actors to fire every 1 second instead of 300s/21600s