repair(compression): preserve plugin no-op session boundaries - #118
Open
Skywind5487 wants to merge 1 commit into
Open
repair(compression): preserve plugin no-op session boundaries#118Skywind5487 wants to merge 1 commit into
Skywind5487 wants to merge 1 commit into
Conversation
૮ >ﻌ< ა ci reviewran on c644089 — repair(compression): preserve plugin no-op boundaries
|
Port the explicit plugin no-op session-boundary guard onto current upstream lifecycle seams and add a regression for the residual case not covered by semantic equality: cleanup-changed active context reported as noop must be adopted without rotating the session. Prior art: NousResearch#58495. Equal-copy no-progress handling remains upstream-owned by NousResearch#67938.
Skywind5487
force-pushed
the
fork/compression-lifecycle
branch
from
August 17, 2026 04:41
79c2222 to
c644089
Compare
Skywind5487
marked this pull request as ready for review
August 17, 2026 04:48
This was referenced Aug 17, 2026
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Repairs the Phase-2
repair:compression-lifecycleunit from #112 on top of refreshed upstreammain(3b9a963b8e5cdb804a422755bed9a60fcd778273).This ports the reviewed host-side status contract from upstream PR NousResearch#58495 onto the current compression lifecycle seam rather than replaying the historical fork telemetry commit shape.
Current-upstream / prior-art classification
compressed == messages_before_compression), including equal newly allocated output and restoration of in-place mutations. That owns the equal-copy half of the historical fork behavior.last_compression_status == "noop"boundary skip (plus legacy_last_compression_statusfallback), but was later closed as “absorbed” by the semantic-equality guard.stephenschoettler/hermes-lcmcan reportlast_compression_status == "noop"after cleanup-only active-context changes. In those paths the returned context can differ from the input even though no compaction/session boundary occurred, so fix(agent): preserve memory-provider context during compression (salvage #64342) NousResearch/hermes-agent#67938’s equality guard is not sufficient by itself. The host must adopt the returned active context while skipping session rotation/rewrite.stephenschoettler/hermes-lcm#432is open/unmerged and only adds a setter for an earlier host-side status-reset experiment. fix(compression): skip session split on plugin no-op NousResearch/hermes-agent#58495 removed that reset after it crashed LCM's read-only property, so this repair does not depend on WhatsApp bridge uses Linux-onlyfusercommand for orphaned process cleanup NousResearch/hermes-agent#432.Behavior
noopreturns the engine output through the existing prompt/lock-safe no-boundary path before session rotation/rewrite.last_compression_statusis preferred; legacy_last_compression_statusremains a compatibility fallback.Regression coverage
The regression deliberately does not use an equal newly allocated copy, because NousResearch#67938 already makes that case pass without this repair. Instead it models the current residual contract:
last_compression_status = "noop"duringcompress();compressed != messages);Provenance / reconstruction shape
176646d2cd6c95fa49b9414f21ed9e781b0aaa84.c64408947215d3af31e40dc22745e7ebe2921dec) so the Phase-2 line does not inherit stale fix(compression): skip session split on plugin no-op NousResearch/hermes-agent#58495 branch topology or unrelated attribution churn. Prior-art credit is preserved here instead.Closes #112