Skip to content

Bug: update_memory_strategies fails when modifying certain strategy types #212

@jariy17

Description

@jariy17

Bug: update_memory_strategies fails when modifying certain strategy types

Summary

The update_memory_strategies method (and modify_strategy) fail when attempting to modify configurations for:

  1. CUSTOM strategies with SELF_MANAGED type - crashes with ValueError
  2. Built-in strategies (SEMANTIC, USER_PREFERENCE) - API rejects the request

Bug #1: Cannot modify CUSTOM strategies with SELF_MANAGED type

Problem: Calling update_memory_strategies or modify_strategy on a SELF_MANAGED strategy with configuration crashes with ValueError: 'SELF_MANAGED' is not a valid OverrideType

Reproduce:
from bedrock_agentcore.memory import MemoryClient

client = MemoryClient(region_name='us-west-2')

Assume you have a CUSTOM strategy with SELF_MANAGED configuration

client.modify_strategy(
memory_id='BasicTestMemory2-q8ughRAgdr',
strategy_id='self_managed_v4ze2-G2RJC0H1bA',
configuration={
'extraction': {
'historicalContextWindowSize': 10,
'triggerEveryNMessages': 5
}
}
)

Error:
ValueError: 'SELF_MANAGED' is not a valid OverrideType
File "bedrock_agentcore/memory/client.py", line 1945, in _wrap_configuration
override_enum = OverrideType(override_type)

Expected: Should successfully modify the SELF_MANAGED strategy configuration


Bug #2: Cannot modify extraction configs on built-in strategies

Problem: Calling update_memory_strategies or modify_strategy to update extraction configuration on built-in strategies (SEMANTIC, USER_PREFERENCE, SUMMARIZATION, EPISODIC) fails with API validation error

Reproduce:
from bedrock_agentcore.memory import MemoryClient

client = MemoryClient(region_name='us-west-2')

Try to modify extraction config on USER_PREFERENCE strategy

client.modify_strategy(
memory_id='BasicTestMemory2-q8ughRAgdr',
strategy_id='PreferenceLearner-ZBpZgK98UJ',
configuration={
'extraction': {
'historicalContextWindowSize': 15
}
}
)

Error:
botocore.exceptions.ParamValidationError: Parameter validation failed:
Unknown parameter in memoryStrategies.modifyMemoryStrategies[0].configuration.extraction:
"userPreferenceExtractionConfiguration", must be one of: customExtractionConfiguration

What works vs what doesn't (verified by testing):

  • ✅ Modifying description and namespaces on built-in strategies works
  • ❌ Modifying extraction or consolidation on built-in strategies fails
  • ✅ Modifying extraction or consolidation on CUSTOM strategies with override types works

Expected: Either should work, or should fail with a clear error message before calling the API


Impact

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions