Skip to content

refactor: use immutable history cache - #275

Merged
mikehostetler merged 2 commits into
mainfrom
agent/issue-252-immutable-history-cache
Jul 16, 2026
Merged

refactor: use immutable history cache#275
mikehostetler merged 2 commits into
mainfrom
agent/issue-252-immutable-history-cache

Conversation

@mikehostetler

Copy link
Copy Markdown
Contributor

Closes #252

Summary

  • replace the History ETS table, owner, and heir lifecycle with one immutable :persistent_term entry
  • publish cache replacements atomically behind the existing load lock while keeping reads process-free
  • add deterministic concurrent-load, reload, clear, missing, and corrupt bundle coverage
  • document the bounded cache identity and :persistent_term update tradeoff

Compatibility

  • preserves the public LLMDB.History APIs, return values, and history bundle format
  • requires no supervised cache process

Validation

  • mix test (858 tests, 41 doctests)
  • mix quality
  • focused history and tooling boundary tests

@mikehostetler
mikehostetler force-pushed the agent/issue-251-shared-history-diff-lineage branch from 5f8a093 to 2958730 Compare July 16, 2026 18:56
@mikehostetler
mikehostetler force-pushed the agent/issue-252-immutable-history-cache branch from 1bc0288 to 2596d77 Compare July 16, 2026 18:56
@mikehostetler
mikehostetler force-pushed the agent/issue-251-shared-history-diff-lineage branch from 2958730 to 71d8477 Compare July 16, 2026 19:26
Base automatically changed from agent/issue-251-shared-history-diff-lineage to main July 16, 2026 19:29
@mikehostetler
mikehostetler force-pushed the agent/issue-252-immutable-history-cache branch from 8eed275 to e199105 Compare July 16, 2026 19:29
@mikehostetler
mikehostetler merged commit 7166207 into main Jul 16, 2026
6 checks passed
@mikehostetler
mikehostetler deleted the agent/issue-252-immutable-history-cache branch July 16, 2026 19:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Replace History ETS ownership machinery with an immutable cache

1 participant