Repository navigation
fix(hermes): preserve native context compaction - #4711
ScriptedAlchemy wants to merge 2 commits into
Conversation
|
Replace the forwarding closure with functools.partial so host call configuration can override registration defaults without a TypeError. Keep the existing project, profile and per-call session routing. Exercise sequential registration, override, empty and explicit-None configuration through the registered handler and actual synthesis path. Replace a stale harness reference to the removed memory action constant with checks against the canonical exact-route catalog. Thirteen focused Python behavioral check groups pass with controlled catalog/transport fixtures. Rust rendering, daemon and stock-host integration remain unexecuted in this environment.
|
Review follow-up pushed in e6db015.
Validation: the baseline production closure fails the new regression with duplicate This is not a full generated-plugin/installer/daemon or stock-Hermes integration pass. Rust renderer and platform CI remain unexecuted locally because there is no Rust/Bazel toolchain. Keep the draft/CI requirements; no merge-readiness claim is made. |
TraceDecay installation selected
context.engine: tracedecay, but the installed engine always declined compression and returned the original transcript. Actual upstream Hermes selects that engine as its context compressor, so installing TraceDecay disabled automatic context-pressure compaction.This change leaves Hermes' native or explicitly configured context engine selected. Activation repairs the old TraceDecay engine selection, while preserving other context settings. The memory provider continues transcript ingestion, and the seven
lcm_*retrieval aliases register through the ordinary tool registry with the invoking session and project scope.The inactive compressor implementation and its unused state/configuration are removed. Installer lifecycle tests and the existing plugin/stock-host harnesses now check native compaction and the independent retrieval surface.
Validation
PluginManagerand context-engine selector at NousResearch/hermes-agent@4131fd9: the selected TraceDecay engine declined compression at 128,000 tokens.ContextCompressorresponds at its 96,000/128,000-token threshold; actual registry dispatch oflcm_greppreserves the caller's session identity.git diff --checkpasses.asupersyncdependency's code generation was killed at this container's 8 GiB memory limit, including with one worker and the repository's existingbounded-testprofile. A lower-memory Cargo check passed that dependency, then failed in unchangedtracedecay-graph-db: Cargo omits the repository's Grafeo Bazel patch, leaving four allocation-accounting methods unavailable. The host targets share this baseline dependency blocker; this PR stays draft untilcargo test -p tracedecay-agent-hosts agents::hermesandcargo test -p tracedecay --features test-helpers --test hermes_suitecan execute.Implemented and reviewed with GPT-6 Astra Pro in ChatGPT.