# NousResearch/hermes-agent · Misclassified memory 400s trigger destructive context loop

## Open now

- Nothing open on GitHub.

Provider memory/resource 400 errors from local inference engines (oMLX/MLX) are incorrectly classified as context_overflow, causing harmful compress/reset loops. The fix reclassifies these as capacity/overloaded failures instead.

## TL;DR

- 5 member(s): 0 open issue(s), 2 closed issue(s), 0 open PR(s), 1 merged PR(s), 2 PR(s) closed without merging.
- A fix was merged to main in PR #106307. Verify it addresses your case.
- **Recommended:** read PR #106307 (and any competing PRs below) before filing. Confirm the merged change covers your symptom.

## Maintainer resolution verdict

- Internal-tracker verdict over this cluster's issue members: `partially_resolved` · deciding PR(s): `pr-106307`. This is distinct from the fix status above. Weigh it yourself.

## How this cluster was grouped

- Link evidence (`STRUCTURAL_PARTIAL`): some members are connected by structural evidence (shared changed files, or a closing/superseded reference); the rest are joined by an automated relevance judgement over their text.
- Members outside that structural core may belong to a different underlying problem.
- Pairwise link density `0.34`: the share of member pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. `1.00` means every pair is linked.

## Closed / duplicate issues

- #52261: \[Bug\]: Provider memory/resource 400s (oMLX/MLX, local inference) misclassified as \`context_overflow\` → destructive compress/reset loop
- #60383: \[Feature\]: Handle memory errors from oMLX inference engine as capacity failures

## Prior & competing PRs

- **#106307: fix(agent): local-inference memory-ceiling rejections back off instead of compressing history (#52261; salvage #105463, supersedes #52289)**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`; implication `superseded`
  - files: `agent/error_classifier.py`, `contributors/emails/[redacted:email]`, `tests/agent/test_error_classifier.py`
- **#52289: fix(agent): classify provider memory-ceiling 400s as overloaded, not context_overflow**. closed without merge
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `e669800e2a`, `#106307`, `#52261`
- **#105463: fix(agent): classify local-inference memory-ceiling rejections as overloaded, not context_overflow**. closed without merge
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `e669800e2a`, `#106307`, `#52289`

## Fix status

- Merged to main in PR #106307 (cited above). No release data is tracked. Verify downstream.
- Fix last verified (merged) `2026-09-09`.
- Subsystem: `agent`
