Repository navigation
v0.11.1: Hermes live-compression compatibility patch #20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
eebfd9d
fix: support Hermes live-compression config and current route windows
AronAxe 58b6d6c
style: ruff format hermes live-compression tests
AronAxe 34987bc
chore: prepare approved v0.11.1 patch release metadata
AronAxe c6c62e4
release: prepare v0.11.1 Hermes compatibility patch
github-actions[bot] a0ac08e
chore: remove completed patch-release preparation workflow
AronAxe File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,36 @@ | ||
| # Live-compression adapter repair | ||
|
|
||
| The v0.11.0 adapter omitted the compatibility surface used by current Hermes | ||
| `_apply_live_compression_config`. That host function updates the selected | ||
| `context_compressor` even when it is a plugin ContextEngine, including calling | ||
| `_coerce_threshold_tokens_cap` and clearing lazy window/threshold caches. | ||
|
|
||
| This patch supplies positive-int/None cap normalization, lazy threshold and window | ||
| invalidation, current-route metadata resolution when an explicit pin is removed, | ||
| per-model threshold handling and isolated clone state. The current host request's | ||
| `budget_tokens` refreshes the engine's window without resetting response counters. | ||
| No hardcoded 272k or assumed replacement window is introduced. Host-side metadata | ||
| is reused; the underlying request tokenizer and reduction acceptance gate are not | ||
| relaxed. Internal service calls remain excluded. No generative compressor is built. | ||
|
|
||
| Nine offline regression tests passed against the installed Hermes checkout | ||
| `188a1a5efd098f067638032fea6e24c42d06178f` on Python 3.14. The tests call the real | ||
| live-config function with mocked model metadata and disposable stores. They do not | ||
| claim paid-provider validation or a reduction of an existing live session. | ||
|
|
||
| Release scope: v0.11.1 publishes PR #20's adapter and tests. Earlier incident | ||
| deployment notes are historical; a separately deployed adapter snapshot is not | ||
| proof that this exact release has loaded in a running process. Installation, | ||
| engine discovery and actual current-model request reduction remain separate | ||
| checks. This release performs no live installation or backend restart. | ||
|
|
||
| The observed host directory loader can expose a partially initialized cached module | ||
| to simultaneous discovery. This adapter patch does not modify that upstream loader | ||
| or claim to resolve its race. Deployment must use the host's managed plugin update | ||
| path and a controlled backend restart, then check loaded engine identity and actual | ||
| provider-request metrics. Do not kill unrelated relay/messaging/dashboard processes, | ||
| delete conversation/vault data, or claim a reset UI percentage proves reduction. | ||
|
|
||
| Unknown target tokenizers still cause ContextEngine/IR to pass through. This | ||
| patch does not supply new tokenizer mappings, guess a replacement model window, | ||
| or guarantee a reduction in a live session. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,57 @@ | ||
| # Token Terminator v0.11.1 — Hermes live-compression compatibility | ||
|
|
||
| A focused patch release of PR #20. The v0.11.0 ContextEngine, learned JEV policy, | ||
| Context IR, exact-evidence vault and Observatory remain in place. | ||
|
|
||
| ## Fixed | ||
|
|
||
| - Supply `_coerce_threshold_tokens_cap` for Hermes' live-compression configuration. | ||
| - Honor invalidated context-window and threshold caches, explicit pin removal, | ||
| current-route metadata and per-model threshold handling. | ||
| - Refresh the engine window from the host's current `select_context` budget | ||
| without resetting retry bindings or usage counters. | ||
| - Keep cloned engines' settings independent. No generative compressor, destructive | ||
| history truncation, new key or weakened tokenizer gate is introduced. | ||
| - Include nine real-Hermes regression cases and the formatting-only CI correction. | ||
|
|
||
| ## Upgrade | ||
|
|
||
| Use the Python environment actually loaded by your managed Hermes launcher: | ||
|
|
||
| ```bash | ||
| python -m pip install --upgrade 'git+https://github.com/AronAxe/Token-Terminator.git@v0.11.1' | ||
| python -m rtk_hermes_plus.cli install-context-engine | ||
| ``` | ||
|
|
||
| Keep your existing plugin/engine selection and JEV settings. Once idle, restart | ||
| only the relevant backend through its normal supervisor. Do not delete the | ||
| conversation history or evidence vault. Verify the imported package path, | ||
| loaded version and current-model request metrics, not only a UI percentage. | ||
|
|
||
| ## Validation and scope | ||
|
|
||
| The formatted PR candidate passed Python 3.10–3.13, Windows, packaging, Rust, | ||
| learned-policy, ContextEngine, dashboard and Context IR workflows before release | ||
| preparation. The learning artifact reported 611 passed and three skips; one | ||
| skip is the whole optional real-Hermes test module. Its nine cases were previously | ||
| run locally against installed Hermes `188a1a5` on Python 3.14, not counted as | ||
| executed in that learning job. Final release-head CI status is recorded on PR #20. | ||
| No paid inference or new performance/answer-quality claims accompany this patch. | ||
|
|
||
| **Not fixed by this patch:** unknown-model tokenizer support and the separate | ||
| host plugin-discovery race. Without an exact target tokenizer, ContextEngine/IR | ||
| still pass through. This is not a guarantee that an affected live session has | ||
| shrunk, and it does not merge the separate deployed-adapter branch. | ||
|
|
||
| README changes are limited to a compatibility note, current install/version | ||
| references and correcting the stale FAQ: explicitly selected TT can replace LCM | ||
| as Hermes' ContextEngine. Artwork and schematics are unchanged. | ||
|
|
||
| The Rust interoperability companion is version-aligned to 0.11.1 without a Rust | ||
| behavior change; it is not the Python runtime. GitHub assets include the wheel, | ||
| source distribution and SHA256SUMS. Existing releases remain unchanged. | ||
| Publication does not install, configure or restart your running agents. | ||
|
|
||
| [PR #20](https://github.com/AronAxe/Token-Terminator/pull/20) · | ||
| [Compatibility guide](https://github.com/AronAxe/Token-Terminator/blob/v0.11.1/docs/LIVE_COMPRESSION_COMPAT.md) · | ||
| [Migration](https://github.com/AronAxe/Token-Terminator/blob/v0.11.1/MIGRATION.md) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1 @@ | ||
| __version__ = "0.11.0" | ||
| __version__ = "0.11.1" |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Publishing this crate as 0.11.1 still uses
rust/README.mdas its package README, but that file identifies the crate as v0.11.0 and tells users to runcargo add token-terminator@0.11.0;docs/RUST_CRATE.mdlikewise contains only 0.11.0 commands and links. Consequently, the crates.io/docs guidance for the new release directs users back to the previous version instead of installing 0.11.1, so these bundled docs should be version-aligned with this bump.Useful? React with 👍 / 👎.