Skip to content

v2.2.0

Latest

Choose a tag to compare

@github-actions github-actions released this 07 Sep 14:44
b19b209

2.2.0 (2026-09-07)

Features

  • beliefs: belief-aware serving lane with belief citations (#412) (5b754c6)
  • beliefs: read API behind BELIEFS_API_ENABLED (#406) (dc99017)
  • beliefs: semantic belief substrate + scene promotion (#405) (d76a9d6)
  • beliefs: wire BELIEFS_FACT_DAMPING — demote fact lines contradicted by current beliefs (#440) (ec5cb00)
  • compaction: per-tenant retention overrides + promotion corroboration floor + conflict guard (#377) (e62751a)
  • consent: media/biometric consent tier — read_media scope, pack modality consent, fail-closed media PII gate (#380) (09972b0)
  • deploy: enable answer conditioning in prod — broad-question coverage (#439) (9dc0e02)
  • deploy: enable literal-harvest and belief-transition flags in prod (#427) (376d50a)
  • deploy: enable memory-fitness fix-wave flags in prod (#420) (3420d00)
  • deploy: enable mention-path conflict formation + transition classifier in prod (#447) (e93e7ac)
  • deploy: enable state-verb harvest in prod; clarify scene-traces catalog default (#436) (b196826)
  • deploy: enable the s07/k07 root-cause wave in prod (#458) (032ecdc)
  • deploy: enable the temporal tiebreaker in prod (#466) (0f59f31)
  • deploy: full production enablement wave — every default-off feature ON (#414) (7d79f3c)
  • eval: code-memory battery — coding-agent corpus with pack vocab, transitions and serving checks (#441) (5476f77)
  • eval: domain-pack battery — install→vocab→trace chain with multi-domain tracing (#434) (c26b89c)
  • eval: first-person memory fitness harness (#411) (eb6dfe5)
  • eval: state-transition eval battery — mechanical mutable-world-state checks (#425) (2d23275)
  • eval: variation axis for the state-transitions battery — paraphrase and RU corpora (#463) (98416e0)
  • evidence: fragment retrieval lane + fragment citations (#404) (8bf86fd)
  • evidence: grounding status on claims — fail-closed capture, promotion + serving gates (#388) (c8d4e94)
  • evidence: metadata-only evidence asset ingest (#400) (b6bea93)
  • evidence: multimodal evidence substrate — assets, fragments, derived representations (0109) (#382) (7d346ac)
  • evidence: port multimodal contract + lifecycle hardening (evidence blob GC, strict pack validation) (#392) (dafa9da)
  • evidence: processing lifecycle — broker, idempotent runs, quarantine seams (#402) (8758e12)
  • evidence: single raw-read gateway — gate ladder, signed URLs, access audit (#408) (def7ee8)
  • evidence: split immutable assets from ownership grants (0122) (#401) (4a412c2)
  • extraction: deterministic literal-harvest lane (EXTRACTOR_LITERAL_HARVEST, default off) (#423) (ed676dc)
  • extraction: deterministic state-verb harvest lane (EXTRACTOR_STATE_VERB_HARVEST) (#429) (108e6f3)
  • extraction: language-agnostic transition classifier (module only, not wired) (#430) (416a1cc)
  • extractor: coding-domain verbs in the state-verb harvest lexicon (#437) (05da2dc)
  • extractor: wire the transition classifier behind EXTRACTOR_TRANSITION_CLASSIFIER (#446) (f12ffde)
  • facts: deterministic status landing for calendar-anchored artifact lifecycle claims (#464) (995468c)
  • facts: mention-path conflict formation — competing pairs for extracted contradictions (#444) (3e8622d)
  • facts: slot canonicalization — cross-predicate contradictions meet in one slot (#450) (036ddfc)
  • fovea: confidence-gated L3 escalation depth (adaptive, static fallback, default-off) (#331) (3d2384f)
  • fovea: evidence-capability verdict gate + outcome telemetry modality dimensions (0113) (#383) (dd7f243)
  • fovea: focus-signal capture + per-class calibration foundation (serving-neutral, default-off) (#329) (558a155)
  • fovea: L3 anchor independence — direct/segment/temporal aux anchor sources when fact anchors are empty (#373) (8a3771d)
  • fovea: L3 evidence citations — episode-level references for transcript-grounded claims (#376) (115422e)
  • fovea: lens-suppression governor — subtractive per-class lane suppression (adaptive, static fallback, default-off) (#334) (#334) (5ef09de)
  • fovea: pack attention hints as ordering-only anchor boost (#399) (88d05b5)
  • fovea: per-class calibrated abstention threshold (adaptive, static fallback, default-off) (#332) (49c50d9)
  • fovea: verifier answer-integrity arm — post-grounding plausibility gate + require-citations guard (both default-off) (#337) (a03f309)
  • fovea: verifier-controlled fragment zoom — one bounded re-verify step (#410) (965b009)
  • ingest: alias-aware entity resolution for code identifiers (#453) (1bd8b2e)
  • ingest: article-insensitive entity reuse — one referent, one entity (#454) (bd8ee7d)
  • ingest: confidence-gate the write-side language stamp (#460) (abda38e)
  • ingest: humanized predicate names in fact index text (#451) (1acce24)
  • mcp: fact read tools, tool-observation ref on ingest_document, full-capability connector shim (#393) (5d8a0ad)
  • mcp: tool observations — content-free evidence anchors for tool results (0111) (#385) (c9c4f39)
  • mri: measurement layer — MRI report + economics Pareto reporter (read-only, honest pending-eval) (#338) (831e6c1)
  • multilingual: confidence-aware language attribution + soft same-language boost (Tier 1, default-off) (#351) (f25f8d3)
  • multilingual: embeddingSpaceId + zero-downtime space migration protocol (Tier 2, default-off) (#352) (da3533a)
  • multilingual: hierarchical per-language calibration + answer-language guard (Tier 5, default-off) (#356) (89e52bb)
  • multilingual: language-agnostic lane classifier + locale-time decomposition + typed conflict detection (Tier 4, default-off) (#355) (c192467)
  • multilingual: reversible entity resolution + identifier policy + CJK segmentation (Tier 3, default-off) (#353) (2f397cb)
  • outcomes: transactional idempotent writes + decision-context telemetry (0119) (#391) (f1709d3)
  • packs: builtin memoryModel visibility — reader unions BUILTIN_PACKS declarations (#442) (59ee1ee)
  • packs: code_memory 0.4.0 — extractionProfile, ontology, memoryModel, eval fixtures (#443) (d9f9cdb)
  • packs: industry packs 0.2.0 — memoryModel, eval fixtures for all six domains (#452) (b0d1ec9)
  • packs: memoryModel manifest section — domain perception contract (#381) (b29eaec)
  • packs: scene and state-delta candidate projections (default-deny redaction) (#403) (983e40c)
  • provenance: PROVENANCE_EPISODE_NEIGHBOURS — sibling-turn widening of the one-hop provenance read (default off) (#416) (acf0a1e)
  • provenance: summary episode stamping + bounded recursive support-closure (Evidence plane) (#371) (1f60207)
  • provenance: typed support graph — memory_support edges + closure walk (#389) (af28fd9)
  • scenes: evidence links — reconstructed_from edges to fragments and assets (#407) (2a87276)
  • scenes: fingerprinted reconstruction versions + immutable enrichment (#386) (138c391)
  • scenes: LLM enrichment + fact backlink + version purge (Brain v2 PR2) (#374) (4e7ca32)
  • scenes: memory_episode shadow substrate — versioned scene segmentation over raw episodes (0106) (#370) (25806dd)
  • search: verified-use ranking/decay signals + tenant-aware decay resolution (#378) (92f123f)
  • strategy: tool-trajectory experience memory (bet #3, default-off) (#340) (f0476c8)
  • telemetry: append-only memory outcome events + write-path rollup (0107) (#372) (2261fcb)
  • tenancy: production tenant_registry backing knownCompanyIds (fan-out + platform-scope no longer empty in prod-JWKS) (R4) (#367) (2acec05)

Bug Fixes

  • answer-cache: additive-write freshness probe + hardening (scope-before-cap, new-entity TTL, language-agnostic enum) — audit F1 + R2 (#339) (15c21a1)
  • audit: atomic changefeed drain + deterministic event id + changefeedRow() in all consumers (R4) (#366) (55b9be0)
  • auth: deny cross-tenant admin ops without platform scope + gate (P0) (#348) (527720c)
  • beliefs: belief promotion misses state transitions — negation deltas + field fold (#135) (#426) (49f205e)
  • beliefs: belief-lane prompt variant must preserve abstention discipline (#413) (ae30a30)
  • beliefs: disambiguate the belief-lane date token from event-date stamps (BELIEFS_LANE_DATE_DISAMBIGUATION) (#415) (732efbc)
  • beliefs: supersede foldable-field orphan beliefs on promotion (#438) (c6bbdc4)
  • brain-landing: fail-closed end-user BFF exchange + pin userId to session (#342) (3cec8d9)
  • ci: keep ONNX models out of the in-process e2e worker (#379) (7882547)
  • ci: unblock build-test — 30-min timeout + modality-only memoryModel acceptance (#390) (8fdf449)
  • db: 0093 scope backfill dies on 3.2.4 planner leaking NONE rows through indexed WHERE (#422) (1ca859a)
  • db: harden DELETE-WHERE statements against the SurrealDB 3.2.4 compound-index planner no-op (#375) (57f4c86)
  • db: re-attach audit CHANGEFEED for 3.x-first tenants via DEFINE TABLE OVERWRITE (0105) (#368) (3268785)
  • deploy: AUTH_SERVICE_ISSUER must match the auth-service's real iss (auth-api host) (#421) (d37a762)
  • deploy: move enablement flags to env_file — run script blew the 21k expression limit (#418) (ccbc573)
  • deploy: route /registry to the backend — public pack catalog was a prod 404 (#433) (c61d427)
  • eval: k10 measures identity — predicate-agnostic markers + invariant slotting fewshot (#459) (40b45f7)
  • eval: memory-fitness runner must pass userId to timeline/competing reads (#419) (72dc4d4)
  • eval: s05 accepts third-person ownership phrasing (#432) (016ff42)
  • extraction: state_change binds to the state HOLDER, not the transitioned object (#431) (330dd6e)
  • extractor: deterministic flag-default harvest - k08 flag-transition was an LLM-redraw lottery (#461) (3b983b0)
  • extractor: rate-limit phrasing in literal harvest + ownership fewshot for code_memory (#445) (7120205)
  • extractor: run harvest lanes on no-entity and replay-skip turns (#449) (7e5e5bd)
  • facts: open the cosine gate for promoted single_active mention slots (#455) (ba169ba)
  • facts: per-user scope on timeline/competing reads + direct-fact conflict formation (#417) (1f99d16)
  • facts: temporal tiebreaker — updates supersede, contradictions compete (#465) (27e1fef)
  • fovea: route L3 through the answer-integrity gate (#341) (b45bd08)
  • gdpr: atomic entity erase via client transaction + idempotent requestId; correct the non-firing DB-fence claim (R4) (#357) (0dfaf78)
  • gdpr: cascade forget through source documents, chunks, candidates and indexer runs (#384) (bed07d7)
  • hardening: stable BFF error code, N/A community count, documented e2e forceExit (R3 P2) (#345) (345c1ab)
  • ingest: user-scoped mentions through the document route (#462) (eba257f)
  • mcp: gate MCP resources with the same ABAC/grant + error sanitization as tools (#336) (0d6a82b)
  • mri: honest cells — fail-closed recorder, windowed counters, evidence-gated premise, cache-hit accounting (R3 P1) (#346) (2b79399)
  • mri: honest cells — terminal-outcome proxy, upper-bound cost, pending latency, fail-closed recorder, exposed premise (#343) (88bb3cd)
  • privacy: mixed-user derived rows carry userIds and fail closed behind a fence (#387) (744dca4)
  • search: confidence-gate the hard lang filter (k07) + hermetic code-memory k10 corpus (#456) (e072a61)
  • seo: route catalogue equity to the parent, and unstick server.json version (#424) (f17f340)
  • stats: user-scope overview counts for userId-pinned callers (F3) (#335) (63de4f8)
  • strategy: active strategies immutable to trajectory capture — candidate revision + unverified evidence ref (R3 P1) (#349) (b5af977)