Releases: ohdearquant/khive
Releases · ohdearquant/khive
Release list
v0.3.0
Added
- Email channel transport (ADR-056): SMTP/IMAP adapter, app-only OAuth2
(XOAUTH2) authentication, an outbound delivery loop withMessage-IDand
reply-to-actor routing, and an inbound round-trip (greeting, maintainer
match, reply correlation). - Session pack
khive-pack-session(ADR-080): OSS session storage with a live
daemon mirror of Claude Code sessions and Codex CLI transcript mirroring. - Brain router seam: feature-gated lattice-fann router (M1), a
brain.register_adapterintegrity verb,build_context_vectorreading live
posteriors, androuter_state/adapter_setsnapshot persistence. - ANN persistence (ADR-079): persist and warm-load v2 ANN segments so the
daemon warm window is bounded by load cost rather than a full rebuild; ANN
warming degrades to FTS-only instead of erroring. - Output-format axis (ADR-078):
OutputFormat(json/auto/table) with
shape-aware rendering, orthogonal to presentation mode. - Batch
create_manyfor bulk entity creation; optionalentity_typeon
neighborsand properties ontraverse; property/tag filters on note search. - Pack core-backend accessor (ADR-073) and a
SubstrateCoordinator
cross-backend link with federated search (ADR-029 Phase 2).
Changed
kkernel execnow defaults toVerbosepresentation per ADR-045 §2 (the
scripted / operator surface); the MCPrequesttool keeps theAgent
default.- Subhandler verbs are gated by wire origin rather than globally.
- Traverse performance: a recursive-CTE join-order fix yields a large speedup,
and graph-traversal queries are batched to remove N+1 lookups. - Namespace model (ADR-007 Rev 6): attribution-only namespaces, a per-actor
episodic memory carve-out, and namespace-blind by-ID storage. - Bumped
lattice-embedto 0.4.2 andlattice-fannto 0.4.2.
Fixed
knowledge:composereads resolved section posteriors; recall never
returns a silent empty result while the ANN index is warming; a poisoned
warming mutex is recovered instead of aborting the server.retrieval: property/tag predicates are pushed below result truncation.runtime: char-boundary-safe secret gate (no UTF-8/CJK panic); the
configured actor is threaded into the gate request.comm: actor-addressed delivery (ADR-057) fixes cross-actor messaging; an
anonymous inbox read leak is closed.mcp: the embedding-env warning fires only when a[[engines]]block
overrides theKHIVE_EMBEDDING_MODEL/KHIVE_ADDITIONAL_EMBEDDING_MODELS
pair, not when that pair is the applied fallback.- Storage hardening: WAL-checkpoint discipline, BM25 poisoned-lock recovery,
andexpires_athonored in recall withmemory.prune/memory.vacuum.
Docs
- Per-crate READMEs, a crate-README template, and a full configuration
reference. - Stale
kkernel callreferences replaced withkkernel exec. - New and updated ADRs: 067/068 (cloud topology), 069/072 (Subject model), 073,
074, 075, 076 (relation-set calculability), 078, 079, and 080.
What's Changed
- docs(adr): proposed ADRs 052/053/054 (ANN lifecycle, auth gate, scaling contract) by @ohdearquant in #99
- docs(adr): ADR-055 epistemic edge relations; amend ADR-002 (15->17) by @ohdearquant in #104
- feat(types): supports/refutes epistemic edge relations (ADR-055 phase 1) by @ohdearquant in #103
- feat(runtime): enforce supports/refutes endpoints (ADR-055 phase 2) by @ohdearquant in #105
- fix(memory): recall token-budget truncation signal + rank-order retain (#94) by @ohdearquant in #100
- fix(ci): lint-sql.sh skips build-artifact SQL under target dirs by @ohdearquant in #108
- docs(adr): ADR-052 Proposed -> Accepted by @ohdearquant in #107
- fix(memory): return id (not note_id) for note identity on the wire by @ohdearquant in #109
- docs(adr): amend 049/026/003 for single-binary kkernel topology (#12) by @ohdearquant in #110
- fix(daemon): surface error cause end-to-end + protocol version handshake by @ohdearquant in #106
- test(mcp): regression lock for #81 — backslash-escape content round-trips as valid JSON by @ohdearquant in #116
- test(smoke): e2e supports/refutes epistemic edges (ADR-055) by @ohdearquant in #111
- fix(knowledge): report real total_events in stats (#80) by @ohdearquant in #118
- refactor(hnsw): remove dead build_batch parallel-build path by @ohdearquant in #119
- refactor: unify divergent TraversalOptions structs (#58) by @ohdearquant in #120
- feat(vamana): add reverse-adjacency index for lifecycle repair by @ohdearquant in #122
- refactor(kg): proposal_id -> id result key (ADR-046 lifecycle) by @ohdearquant in #121
- feat(vamana): tombstone + Wolverine 2-hop repair (ADR-052 PR2/4) by @ohdearquant in #123
- feat(quant): port SQ8 codecs from khivedb-quant by @ohdearquant in #125
- docs(adr): ADR-056 channel transport layer by @ohdearquant in #117
- feat(runtime): multi-namespace read visibility (visible-set tokens) by @ohdearquant in #127
- fix(recall): multilingual dense routing for non-ASCII queries, split from CJK FTS bypass by @ohdearquant in #126
- test(smoke): vector round-trip + recall@1 product gate by @ohdearquant in #130
- fix(comm): sender-side outbound allowlist for cross-namespace delivery (deny-all default) by @ohdearquant in #129
- fix(khive-runtime): isolate fault-injection tests with unique namespaces by @ohdearquant in #132
- feat(pack-knowledge): inline re-embed on knowledge.edit (#11) by @ohdearquant in #131
- fix(khive-runtime): fan out entity/note embed to all registered models (#10) by @ohdearquant in #136
- feat(comm): actor-addressed delivery (ADR-057) — fixes lambda↔lambda messaging (#57) by @ohdearquant in #138
- perf(khive-vamana): asserting 1M scale-proof bench (schema v1.0) by @ohdearquant in #137
- docs: sync taxonomy counts + ADR status (M-17/18/19) by @ohdearquant in #142
- feat(vamana): add insert and consolidate (ADR-052 §2 PR3) by @ohdearquant in #124
- docs(AGENTS.md): fix 3 residual verb count errors by @ohdearquant in #144
- feat(vamana): add crash-safe v2 persistence (KHVVAMG2) by @ohdearquant in #145
- fix(khive-runtime): fail closed on DB-reader error in embedding backfill (M-07) by @ohdearquant in #146
- fix(storage): drop storage-layer + by-ID namespace enforcement (ADR-007 dumb storage) [PR-A1] by @ohdearquant in #148
- docs(ADR-058): brain posterior read-path design by @ohdearquant in #143
- test(comm): realign t7 to namespace-blind by-ID contract (#148) by @ohdearquant in #154
- test(contract): realign namespace_isolation to ADR-007 by-ID-blind (#148, t7 sibling) by @ohdearquant in #155
- fix(mcp): surface daemon error on connection-reset mid-dispatch (#91) by @ohdearquant in #149
- fix(runtime): collapse multi-record visible-set to shared local namespace (ADR-007 Rev 2 PR-B) by @ohdearquant in #159
- feat(runtime): pack-extensible by-ID resolution for get/delete (ADR-061, #158) by @ohdearquant in #161
- test(comm,knowledge): realign 24 tests to ADR-007 Rev 2 all-local model by @ohdearquant in #162
- fix(runtime): honor explicit namespace= at dispatch (ADR-007 Rev 2) by @ohdearquant in #163
- harden(query): make read-only invariant explicit + regression-tested (#16) by @ohdearquant in #152
- perf(khive-vamana): productize 1M scale-proof bench — reproducible, banked, CI-guarded by @ohdearquant in #153
- docs(adr): ratify ADR-007 Rev 3 — namespace attribution-only, all packs no-carry by @ohdearquant in #164
- feat(runtime,memory): ADR-007 Rev 4 — additive read visible-set + recall fanout by @ohdearquant in #165
- ci(perf): daemon-path pipeline + 1M synthetic ANN regression gates by @ohdearquant in #170
- feat(db,memory): ADR-062 FTS+ANN consolidation (schema V4) + namespace-agnostic memory fixes by @ohdearquant in #171
- perf(knowledge): O(N) keyset pagination for section reindex + unify embed batch by @ohdearquant in #173
...
v0.2.11
v0.2.11
Cross-platform compile fix.
Fixed
DaemonRequestFrameandcompute_config_idimports inkkernel/src/exec.rs
gated with#[cfg(unix)]to match their declaration inkhive-runtime—
fixes Windows build
Install
cargo install kkernelFull changelog: https://github.com/ohdearquant/khive/blob/main/CHANGELOG.md
v0.2.10
v0.2.10
Full crates.io publish — all 29 workspace crates now available at 0.2.10.
What's new since 0.2.8
- Write-time secret detection — credential plaintext hard-blocked from content-bearing verbs (#76, #83)
- Type-differentiated memory defaults — episodic salience 0.3/decay 0.02, semantic 0.5/0.005 (#84)
- Knowledge pack improvements —
include_sections,include_drafts, draft atom exclusion (#78, #89, #90) - Brain profile config — 3-tier feedback resolution: explicit → namespace-bound → global (#52)
- Embed-intent prefixes wired across all call sites for instruction-tuned models (#95)
- FTS coverage — reindex backfills pre-existing entities (#96) and notes (#88)
- Data-leak guard — vendored JSON/JSONL pre-commit + CI check (#61)
- khive-brain-core extracted as standalone crate (#17)
Fixed
- khive-merge compiles again (#21, #42)
kkernel execroutes through warm daemon (#63, #64)- Hard delete purges soft-deleted records (#82)
- serde boundaries reject non-finite/NaN (#49)
- gate-rego entrypoint validation (#43)
- Nondeterministic HashMap ordering (#45)
Install
cargo install kkernelFull changelog: https://github.com/ohdearquant/khive/blob/main/CHANGELOG.md
v0.2.9
khive v0.2.9
43 commits since v0.2.8: a security-hardening sweep, the recall-calibration FTS fixes.
Highlights
Recall quality (from the 15-iteration calibration loop)
- FTS coverage gap closed: reindex backfills pre-existing notes (#88) and entities (#96); canonical
entity_fts_documentconstructor shared by all entity FTS write paths - Embed-intent prefixes (
query:/passage:) wired across all call sites (#95) - Type-differentiated salience + decay defaults: episodic 0.3/0.02, semantic 0.5/0.005 (#84)
- FTS UPDATE triggers narrowed to indexed columns — stops WAL bloat from embedding updates (#19)
Security
- Write-time secret detection gate — credential plaintext hard-blocked from content-bearing verbs with masked reason (#83)
- serde boundaries reject NaN/non-finite/invalid values (#49); gate-rego fail-open fixes (#43, #66); git-URL redaction in clone errors (#40); brain section_signals validation + replay quarantine (#46); JSON/JSONL data-leak pre-commit + CI guard (#61)
Correctness
- Hard delete purges soft-deleted records (#82)
kkernel kg validateenforces closed-taxonomy checks (#41)- khive-merge compiles again, hardened (#42)
kkernel execroutes through the warm daemon (#64); daemon owns ANN hot state (#20)- Deterministic ordering fixes + startup robustness (#45)
Hygiene
- DDL in
.sqlfiles per ADR-015 (#51) · dep discipline (#53) · file-size splits (#56) · rustdoc pass (#55) · ADR freshness (#48)
Full list: CHANGELOG.md
Gates at release commit: cargo test --workspace · clippy -D warnings · fmt --check all RC=0 (local; Actions quota outage).
v0.2.8
khive v0.2.8
Fresh release on new repository. All 28 crates published to crates.io.
What's included
- 29 workspace crates — knowledge graph runtime, 7 packs (kg, gtd, memory, brain, comm, schedule, knowledge), query layer (GQL/SPARQL), retrieval stack (HNSW, BM25, Vamana, fusion), VCS, and MCP server
- khive-text (new) — text analysis crate with tokenizers, filters, and presets for CJK, standard, and KG-name splitting
- kkernel — composable kernel combining all packs
Crates
All crates at 0.2.8 on crates.io