What's new in Hindsight 0.8.3
Hindsight 0.8.3 builds on 0.8.2 with new ways to inspect and tune what gets remembered: preview fact extraction before you store anything, pull text out of documents with OCR, and get sharper retrieval for time-based and tag-based queries. It also adds operational gauges for monitoring async work and a retain data-integrity fix that affects large-document ingestion. Anyone ingesting large documents should upgrade.
- Dry-Run Fact Extraction: Preview the facts a piece of content would produce, without storing anything.
- Document OCR: Optional MarkItDown-based text extraction from documents.
- Sharper Retrieval: Better Chinese temporal queries, exact tag matching, and recency scoring.
- Operational Visibility: New gauges for async queues and consolidation backlog, plus parallel tenant migrations.
- Retain Data-Integrity Fix: Why you should upgrade.
Dry-Run Fact Extraction
A new dry-run extraction endpoint lets you see exactly which facts a piece of content would produce before committing it to a bank. Nothing is persisted — you get the extracted facts back as a preview, so you can tune prompts, missions, and inputs without writing throwaway memories or cleaning up afterward. Empty or whitespace-only inputs are rejected up front, and the same operation precheck that guards a real retain applies here too, so the preview reflects what a real call would do.
Document OCR
Hindsight 0.8.3 adds optional MarkItDown-based OCR, so text can be pulled out of documents during ingestion. When enabled, content that previously had to arrive as plain text can be extracted from richer document formats, broadening what you can retain into memory.
Sharper Retrieval
Three changes improve how memories are found and ranked:
- Better Chinese temporal queries. Time expressions in Chinese are parsed more accurately, so time-scoped searches return the right window.
- Exact tag matching.
tags_match=exactis now officially surfaced across the UI, docs, and client libraries, so you can require an exact tag set instead of a looser match. - Smarter recency scoring. Recency now falls back to an effective time (such as when an event was mentioned or when it ended) when a primary timestamp is missing, producing more sensible ranking of time-relevant results.
Operational Visibility
Self-managed deployments get more insight into background work:
- Async-operation and backlog gauges. New metrics expose the async-operation queue depth and consolidation backlog as gauges, and the async worker completion path is instrumented with operation metrics — making it easier to see whether memory processing is keeping up.
- Parallel tenant migrations. Schema migrations now run in parallel across tenants, cutting migration time on multi-tenant deployments.
- Gemini service tier. A new configuration option selects the Gemini service tier for tuning request handling.
- Leaner responses. API responses omit wire-safe null fields, reducing payload size.
Retain Data-Integrity Fix
The reason to upgrade: a fix to retain chunking ensures oversized documents no longer lose content when they're split into multiple sub-batches during ingestion. If you retain large documents, upgrade to 0.8.3 so nothing is dropped.
Other notable fixes in this release:
- LiteLLM timeout. A hung LiteLLM call can no longer block forever — completions are hard-capped with a timeout.
- Bank listing overlays. Bank-config disposition and mission overlays are now applied consistently when listing banks.
- Consolidation robustness. Consolidation handles a single-value
source_fact_idsfrom the LLM without failing. - Deferred quota retries. Provider quota-reset retries are deferred to avoid retry storms.
- Output sanitization. Malformed reasoning tags and unclosed blocks are stripped from non-structured output.
