Skip to content

v1.8.0: Memory Eternal

Choose a tag to compare

@senjinthedragon senjinthedragon released this 02 Jul 11:27
· 11 commits to main since this release

Smart Memory learns when to let go. Perspectives & Secrets entries now retire automatically when the scene contradicts them - a [suspects] entry becomes [knows] when the fact is confirmed, a [hiding] entry is cleared when the secret comes out. No accumulation of stale beliefs over a long chat.

Arc resolution now does the full job: resolving an arc generates an arc summary on the spot (previously it only moved the arc to Resolved with nothing to show canon). On Profile B, canon regenerates automatically from it.

Cloud API users get two quality-of-life improvements: OpenAI Compatible source now routes cloud providers through ST's server proxy (no more local CORS workarounds), and retries automatically on 429s and transient errors. A new Injection refresh period setting keeps injected memory blocks stable between extraction passes so prompt caching actually has something to cache.

What's new

  • Epistemic entry supersession - [retire] lines in extraction remove contradicted or resolved knowledge entries without a separate model call
  • Arc resolution now generates an arc summary (required for canon); Profile B auto-regenerates canon on close
  • Configurable injection refresh period for cloud API prompt cache stability
  • OpenAI Compatible source routed through ST proxy for cloud providers, plus retry on 5xx, network errors, and HTTP 429
  • Expanded scene break heuristic patterns (wake/return/arrival/time transitions)
  • Configurable Memory LLM generation budget slider; Unlimited (-1) option
  • Continuity repair note now visible in panel with Cancel button; toast on queue
  • Per-tier injection budget sliders raised to 4000 tokens
  • Auto-tune and unified injection promoted from Developer to Configuration

Bug fixes

  • Retired memories were being permanently deleted by injection telemetry pass
  • Epistemic deduplication silently fell back to Jaccard even with embeddings configured
  • Chat-switch data corruption in 4 async write paths (session consolidation, scene processing, state card extraction, profile generation)
  • Compaction was replacing a comprehensive summary with a worse one when re-run on an already-current chat
  • Triggered memories bypassed the witnessed-by filter on the secondary slot
  • State ledger entity names displayed lowercased instead of original case
  • Continuity checker was missing the user's active persona in established facts
  • Auto-continuity results were invisible (badge updated, panel never populated)
  • Activity loader toasts cross-dismissed each other via queue position
  • Model test output could inject arbitrary HTML via </textarea> escape
  • Abort controller was cleared by concurrent requests, making them unabortable
  • Extraction cutoff snapshotted after model calls (late messages were skipped)
  • Cross-registry entity merge lost memory refs in one direction
  • Catch-up failures aborted the entire run; cutoff not advanced per chunk