Skip to content

fix: remove legacy compression.summary_* config and env var fallbacks - #8992

Merged
teknium1 merged 1 commit into
mainfrom
hermes/hermes-be71296f
Apr 13, 2026
Merged

fix: remove legacy compression.summary_* config and env var fallbacks#8992
teknium1 merged 1 commit into
mainfrom
hermes/hermes-be71296f

Conversation

@teknium1

Copy link
Copy Markdown
Contributor

Summary

Removes the backward-compat code paths that read compression provider/model settings from legacy config keys (compression.summary_model, summary_provider, summary_base_url) and env vars (AUXILIARY_*, CONTEXT_*). These caused silent failures when auto-detection resolved to incompatible backends (#8923).

What changed

Core fix (auxiliary_client.py):

  • Removed backward-compat block in _resolve_task_provider_model() that read from the legacy compression: section
  • Removed _get_auxiliary_provider() and _get_auxiliary_env_override() — the AUXILIARY_*/CONTEXT_* env var readers
  • Removed env var fallback chain for per-task overrides
  • Updated docstrings

Config cleanup:

  • Removed summary_model, summary_provider, summary_base_url from DEFAULT_CONFIG and cli.py defaults
  • Updated hermes config show to read from auxiliary.compression instead
  • Bumped config version to 17 with migration that moves non-empty legacy values to auxiliary.compression and strips old keys
  • Updated example config and openclaw migration script

run_agent.py:

  • Removed compression_summary_model read from compression config section
  • ContextCompressor now always gets summary_model_override=None (auto-detection)

Tests:

  • Removed TestGetAuxiliaryProvider class (tested deleted functions)
  • Removed env-var-based tests from TestTaskSpecificOverrides
  • Removed test_compression_summary_base_url_from_config (tested legacy path)
  • Updated config bridge tests and save_config_value test
  • Cleaned up env var cleanup fixtures

After this change

Compression model/provider is configured exclusively via:

auxiliary:
  compression:
    provider: openrouter  # or auto, nous, main
    model: google/gemini-3-flash-preview

The behavioral compression settings (enabled, threshold, target_ratio, protect_last_n) remain in the compression: section unchanged.

Test results

  • 278 passed, 9 pre-existing failures (same on main), 6 skipped
  • All directly affected tests pass

Closes #8923
Supersedes #8955

Remove the backward-compat code paths that read compression provider/model
settings from legacy config keys and env vars, which caused silent failures
when auto-detection resolved to incompatible backends.

What changed:
- Remove compression.summary_model, summary_provider, summary_base_url from
  DEFAULT_CONFIG and cli.py defaults
- Remove backward-compat block in _resolve_task_provider_model() that read
  from the legacy compression section
- Remove _get_auxiliary_provider() and _get_auxiliary_env_override() helper
  functions (AUXILIARY_*/CONTEXT_* env var readers)
- Remove env var fallback chain for per-task overrides
- Update hermes config show to read from auxiliary.compression
- Add config migration (v16→17) that moves non-empty legacy values to
  auxiliary.compression and strips the old keys
- Update example config and openclaw migration script
- Remove/update tests for deleted code paths

Compression model/provider is now configured exclusively via:
  auxiliary.compression.provider / auxiliary.compression.model

Closes #8923
@teknium1
teknium1 merged commit e3ffe5b into main Apr 13, 2026
4 of 6 checks passed
@teknium1
teknium1 deleted the hermes/hermes-be71296f branch April 13, 2026 11:59
aj-nt pushed a commit to aj-nt/hermes-agent that referenced this pull request May 1, 2026
…NousResearch#8992)

Remove the backward-compat code paths that read compression provider/model
settings from legacy config keys and env vars, which caused silent failures
when auto-detection resolved to incompatible backends.

What changed:
- Remove compression.summary_model, summary_provider, summary_base_url from
  DEFAULT_CONFIG and cli.py defaults
- Remove backward-compat block in _resolve_task_provider_model() that read
  from the legacy compression section
- Remove _get_auxiliary_provider() and _get_auxiliary_env_override() helper
  functions (AUXILIARY_*/CONTEXT_* env var readers)
- Remove env var fallback chain for per-task overrides
- Update hermes config show to read from auxiliary.compression
- Add config migration (v16→17) that moves non-empty legacy values to
  auxiliary.compression and strips the old keys
- Update example config and openclaw migration script
- Remove/update tests for deleted code paths

Compression model/provider is now configured exclusively via:
  auxiliary.compression.provider / auxiliary.compression.model

Closes NousResearch#8923
02356abc pushed a commit to 02356abc/hermes-agent that referenced this pull request May 14, 2026
…NousResearch#8992)

Remove the backward-compat code paths that read compression provider/model
settings from legacy config keys and env vars, which caused silent failures
when auto-detection resolved to incompatible backends.

What changed:
- Remove compression.summary_model, summary_provider, summary_base_url from
  DEFAULT_CONFIG and cli.py defaults
- Remove backward-compat block in _resolve_task_provider_model() that read
  from the legacy compression section
- Remove _get_auxiliary_provider() and _get_auxiliary_env_override() helper
  functions (AUXILIARY_*/CONTEXT_* env var readers)
- Remove env var fallback chain for per-task overrides
- Update hermes config show to read from auxiliary.compression
- Add config migration (v16→17) that moves non-empty legacy values to
  auxiliary.compression and strips the old keys
- Update example config and openclaw migration script
- Remove/update tests for deleted code paths

Compression model/provider is now configured exclusively via:
  auxiliary.compression.provider / auxiliary.compression.model

Closes NousResearch#8923
gweeteve pushed a commit to gweeteve/hermes-agent that referenced this pull request Jun 2, 2026
…NousResearch#8992)

Remove the backward-compat code paths that read compression provider/model
settings from legacy config keys and env vars, which caused silent failures
when auto-detection resolved to incompatible backends.

What changed:
- Remove compression.summary_model, summary_provider, summary_base_url from
  DEFAULT_CONFIG and cli.py defaults
- Remove backward-compat block in _resolve_task_provider_model() that read
  from the legacy compression section
- Remove _get_auxiliary_provider() and _get_auxiliary_env_override() helper
  functions (AUXILIARY_*/CONTEXT_* env var readers)
- Remove env var fallback chain for per-task overrides
- Update hermes config show to read from auxiliary.compression
- Add config migration (v16→17) that moves non-empty legacy values to
  auxiliary.compression and strips the old keys
- Update example config and openclaw migration script
- Remove/update tests for deleted code paths

Compression model/provider is now configured exclusively via:
  auxiliary.compression.provider / auxiliary.compression.model

Closes NousResearch#8923
waefrebeorn pushed a commit to waefrebeorn/slermes that referenced this pull request Jul 2, 2026
…NousResearch#8992)

Remove the backward-compat code paths that read compression provider/model
settings from legacy config keys and env vars, which caused silent failures
when auto-detection resolved to incompatible backends.

What changed:
- Remove compression.summary_model, summary_provider, summary_base_url from
  DEFAULT_CONFIG and cli.py defaults
- Remove backward-compat block in _resolve_task_provider_model() that read
  from the legacy compression section
- Remove _get_auxiliary_provider() and _get_auxiliary_env_override() helper
  functions (AUXILIARY_*/CONTEXT_* env var readers)
- Remove env var fallback chain for per-task overrides
- Update hermes config show to read from auxiliary.compression
- Add config migration (v16→17) that moves non-empty legacy values to
  auxiliary.compression and strips the old keys
- Update example config and openclaw migration script
- Remove/update tests for deleted code paths

Compression model/provider is now configured exclusively via:
  auxiliary.compression.provider / auxiliary.compression.model

Closes NousResearch#8923
prmartinow pushed a commit to prmartinow/hermes-agent that referenced this pull request Aug 26, 2026
…NousResearch#8992)

Remove the backward-compat code paths that read compression provider/model
settings from legacy config keys and env vars, which caused silent failures
when auto-detection resolved to incompatible backends.

What changed:
- Remove compression.summary_model, summary_provider, summary_base_url from
  DEFAULT_CONFIG and cli.py defaults
- Remove backward-compat block in _resolve_task_provider_model() that read
  from the legacy compression section
- Remove _get_auxiliary_provider() and _get_auxiliary_env_override() helper
  functions (AUXILIARY_*/CONTEXT_* env var readers)
- Remove env var fallback chain for per-task overrides
- Update hermes config show to read from auxiliary.compression
- Add config migration (v16→17) that moves non-empty legacy values to
  auxiliary.compression and strips the old keys
- Update example config and openclaw migration script
- Remove/update tests for deleted code paths

Compression model/provider is now configured exclusively via:
  auxiliary.compression.provider / auxiliary.compression.model

Closes NousResearch#8923
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.

Bug: Default compression config silently fails for non-OpenRouter setups

1 participant