Skip to content

revert: remove CUSTOM strategy and semanticOverride support - #713

Merged
aidandaly24 merged 3 commits into
mainfrom
revert/custom-and-semantic-override
Mar 27, 2026
Merged

revert: remove CUSTOM strategy and semanticOverride support#713
aidandaly24 merged 3 commits into
mainfrom
revert/custom-and-semantic-override

Conversation

@aidandaly24

Copy link
Copy Markdown
Contributor

Description

Reverts two features that were prematurely merged:

  1. CUSTOM memory strategy (beac707 / feat(memory): add CUSTOM strategy type to agentcore-cli (#677) #694) — removes the CUSTOM strategy type from the schema, CLI wizards, templates, docs, and validation
  2. Semantic override (5e0f584 / feat: add semanticOverride support for SEMANTIC memory strategies #696) — removes semanticOverride field from MemoryStrategy, including schemas, types, exports, and cross-field validation

EPISODIC strategy support is intentionally preserved throughout.

What changed

  • MemoryStrategyTypeSchema enum: 5 → 4 values (removed CUSTOM)
  • Removed SemanticOverrideSchema, SemanticExtractionOverrideSchema, SemanticConsolidationOverrideSchema and all exports
  • Removed semanticOverride field from MemoryStrategySchema and .superRefine() cross-field validation
  • Removed custom option from create/add-agent wizards and CLI flags
  • Removed CUSTOM Handlebars blocks from Python session templates
  • Removed mapExistingMemoriesToProviders and memory deduplication logic
  • Updated docs (commands.md, configuration.md, memory.md)
  • Restored EPISODIC row in configuration.md (inadvertently removed by the CUSTOM revert)

Related Issue

Reverts #694, #696

Type of Change

  • Other (please describe): Revert of prematurely merged features

Testing

How have you tested the change?

  • I ran npm run test:unit and npm run test:integ
  • I ran npm run typecheck
  • I ran npm run lint
  • If I modified src/assets/, I ran npm run test:update-snapshots and committed the updated snapshots

Checklist

  • I have read the CONTRIBUTING document
  • I have added any necessary tests that prove my fix is effective or my feature works
  • I have updated the documentation accordingly
  • I have added an appropriate example to the documentation to outline the feature, or no new docs are needed
  • My changes generate no new warnings
  • Any dependent changes have been merged and published

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the
terms of your choice.

@github-actions

Copy link
Copy Markdown
Contributor

Package Tarball

aws-agentcore-0.3.0-preview.9.0.tgz

How to install

npm install https://github.com/aws/agentcore-cli/releases/download/pr-713-tarball/aws-agentcore-0.3.0-preview.9.0.tgz

@aidandaly24
aidandaly24force-pushed the revert/custom-and-semantic-override branch from 8327ac7 to 013467bCompareMarch 27, 2026 22:06
@github-actionsgithub-actionsBot added size/l PR size: L and removed size/l PR size: L labels Mar 27, 2026
jesseturner21
jesseturner21 previously approved these changes Mar 27, 2026
The revert of the CUSTOM strategy commit inadvertently removed the
EPISODIC row from the Memory Strategies table in configuration.md.
@github-actions

github-actionsBot commented Mar 27, 2026

Copy link
Copy Markdown
Contributor

Coverage Report

StatusCategoryPercentageCovered / Total
🔵Lines46%6552 / 14242
🔵Statements45.57%6962 / 15276
🔵Functions44.71%1176 / 2630
🔵Branches46.09%4331 / 9395
Generated in workflow #1479 for commit ae62347 by the Vitest Coverage Report Action

@aidandaly24
aidandaly24force-pushed the revert/custom-and-semantic-override branch from 013467b to ae62347CompareMarch 27, 2026 22:13
@github-actionsgithub-actionsBot added size/l PR size: L and removed size/l PR size: L labels Mar 27, 2026
@aidandaly24
aidandaly24 merged commit 6ff721e into mainMar 27, 2026
19 checks passed
@aidandaly24
aidandaly24 deleted the revert/custom-and-semantic-override branch March 27, 2026 22:19
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 18, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 19, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 20, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 21, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 21, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
jariy17 pushed a commit that referenced this pull request Aug 24, 2026
* feat(project): add `project add memory`
Registers a `memory` leaf under `project add`, following the same
SDK-union -> flat project-schema conversion pattern as `project add
harness`. A memory scaffolds no files, so the command only appends an
entry to `spec.memories` in agentcore.json; the L3 CDK turns that into
an `AWS::BedrockAgentCore::Memory` at deploy time.
Flags: --name, --event-expiry-duration, --strategies, --indexed-keys,
--stream-delivery-resources, --encryption-key-arn, --execution-role-arn,
--tags.
--strategies accepts two forms: a comma-separated list of strategy types
expanded with the CLI's default namespace templates, or a JSON
MemoryStrategyInput[] mirroring the CreateMemory API for strategies that
need explicit names, descriptions, or namespaces.
clientToken is excluded (it is CreateMemory idempotency and this command
makes no API call), and description is excluded until the L3 CDK schema
supports it.
* feat: add --description to 'project add memory'
Stores an optional memory description in agentcore.json, matching the
CreateMemory API's description field (max 4096 characters).
The generated CDK app pins @aws/agentcore-cdk 0.1.0-alpha.45, whose
MemorySchema is a non-strict z.object with no description field, so the key
is stripped at synth rather than rejected until
aws/agentcore-l3-cdk-constructs#325 ships and that pin is bumped. The flag
help text says so.
* feat: accept a CUSTOM memory strategy in 'project add memory'
The CDK's memory schema already models CUSTOM (@aws/agentcore-cdk
0.1.0-alpha.45 maps it to CFN customMemoryStrategy), so the CLI's four-type
enum was the outlier. A customMemoryStrategy in the --strategies JSON now
converts to { type: 'CUSTOM', name, description, namespaceTemplates }.
The shorthand form still takes managed types only: CUSTOM has no default
namespaces to expand. An extraction configuration or memoryRecordSchema is
rejected rather than dropped, since the CDK schema carries neither.
Also names the offending field in the memory validation error.
* revert: drop CUSTOM memory strategy from "project add memory"
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR #694 made --
and #713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is #241 ("select custom memory
strategy, note there is no option to add prompts"); #266 removed it as a P0 to
stop users picking an unsupported option, #694/#696 added it back with
semanticOverride, and #713 reverted both as premature. #676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at #676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
* refactor: drop the long-form help for --description
The one-line flag description is enough; the deploy-time caveat lives in the
PR discussion rather than in help output.
* docs: comment change
* fix: change function name and add comment for clarity
* test: add uncovered unsupported stream content type test
* style: make json example concrete, remove comments
* refactor(project): reuse shared spec validation for memory
* fix(project): validate memory JSON inputs
* fix(project): harden memory input validation
* test(project): colocate memory tests with the add/memory handler
Upstream moved the per-resource `project add` tests out of the monolithic
project.test.ts into colocated add/<resource>/index.test.ts suites (harness
in #2034, online-eval in #2048). Move the memory tests to match, with the
same locally-duplicated run/inProject helpers those suites use.
project.test.ts is now identical to upstream/refactor again, so this PR no
longer touches it. Also drops the DeserializationError, FsReadWriteJson and
ReadWriteJson imports, left dead there once the harness tests that used them
moved to add/harness/index.test.ts.
No test content changed: 187 project tests still pass, now across 10 files
instead of 9.
* refactor(project): match --strategies JSON to the agentcore.json schema
The --strategies flag re-declared its own strategy input schema, modelled
on the CreateMemory API's tagged union (semanticMemoryStrategy et al.) and
requiring a name. agentcore.json stores strategies flat with an optional
name, so the flag accepted a shape the project file never holds and
rejected one it does.
Parse the JSON form with MemoryStrategySchema itself, wrapped only for the
unsupported-field diagnostics, so the flag cannot drift from the schema.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/lPR size: L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@aidandaly24@jesseturner21
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
revert: remove CUSTOM strategy and semanticOverride support by aidandaly24 · Pull Request #713 · aws/agentcore-cli · GitHub
Skip to content

revert: remove CUSTOM strategy and semanticOverride support - #713

Merged
aidandaly24 merged 3 commits into
mainfrom
revert/custom-and-semantic-override
Mar 27, 2026
Merged

revert: remove CUSTOM strategy and semanticOverride support#713
aidandaly24 merged 3 commits into
mainfrom
revert/custom-and-semantic-override

Conversation

@aidandaly24

Copy link
Copy Markdown
Contributor

Description

Reverts two features that were prematurely merged:

  1. CUSTOM memory strategy (beac707 / feat(memory): add CUSTOM strategy type to agentcore-cli (#677) #694) — removes the CUSTOM strategy type from the schema, CLI wizards, templates, docs, and validation
  2. Semantic override (5e0f584 / feat: add semanticOverride support for SEMANTIC memory strategies #696) — removes semanticOverride field from MemoryStrategy, including schemas, types, exports, and cross-field validation

EPISODIC strategy support is intentionally preserved throughout.

What changed

  • MemoryStrategyTypeSchema enum: 5 → 4 values (removed CUSTOM)
  • Removed SemanticOverrideSchema, SemanticExtractionOverrideSchema, SemanticConsolidationOverrideSchema and all exports
  • Removed semanticOverride field from MemoryStrategySchema and .superRefine() cross-field validation
  • Removed custom option from create/add-agent wizards and CLI flags
  • Removed CUSTOM Handlebars blocks from Python session templates
  • Removed mapExistingMemoriesToProviders and memory deduplication logic
  • Updated docs (commands.md, configuration.md, memory.md)
  • Restored EPISODIC row in configuration.md (inadvertently removed by the CUSTOM revert)

Related Issue

Reverts #694, #696

Type of Change

  • Other (please describe): Revert of prematurely merged features

Testing

How have you tested the change?

  • I ran npm run test:unit and npm run test:integ
  • I ran npm run typecheck
  • I ran npm run lint
  • If I modified src/assets/, I ran npm run test:update-snapshots and committed the updated snapshots

Checklist

  • I have read the CONTRIBUTING document
  • I have added any necessary tests that prove my fix is effective or my feature works
  • I have updated the documentation accordingly
  • I have added an appropriate example to the documentation to outline the feature, or no new docs are needed
  • My changes generate no new warnings
  • Any dependent changes have been merged and published

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the
terms of your choice.

@github-actions

Copy link
Copy Markdown
Contributor

Package Tarball

aws-agentcore-0.3.0-preview.9.0.tgz

How to install

npm install https://github.com/aws/agentcore-cli/releases/download/pr-713-tarball/aws-agentcore-0.3.0-preview.9.0.tgz

@aidandaly24
aidandaly24force-pushed the revert/custom-and-semantic-override branch from 8327ac7 to 013467bCompareMarch 27, 2026 22:06
@github-actionsgithub-actionsBot added size/l PR size: L and removed size/l PR size: L labels Mar 27, 2026
jesseturner21
jesseturner21 previously approved these changes Mar 27, 2026
The revert of the CUSTOM strategy commit inadvertently removed the
EPISODIC row from the Memory Strategies table in configuration.md.
@github-actions

github-actionsBot commented Mar 27, 2026

Copy link
Copy Markdown
Contributor

Coverage Report

StatusCategoryPercentageCovered / Total
🔵Lines46%6552 / 14242
🔵Statements45.57%6962 / 15276
🔵Functions44.71%1176 / 2630
🔵Branches46.09%4331 / 9395
Generated in workflow #1479 for commit ae62347 by the Vitest Coverage Report Action

@aidandaly24
aidandaly24force-pushed the revert/custom-and-semantic-override branch from 013467b to ae62347CompareMarch 27, 2026 22:13
@github-actionsgithub-actionsBot added size/l PR size: L and removed size/l PR size: L labels Mar 27, 2026
@aidandaly24
aidandaly24 merged commit 6ff721e into mainMar 27, 2026
19 checks passed
@aidandaly24
aidandaly24 deleted the revert/custom-and-semantic-override branch March 27, 2026 22:19
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 18, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 19, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 20, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 21, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 21, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
jariy17 pushed a commit that referenced this pull request Aug 24, 2026
* feat(project): add `project add memory`
Registers a `memory` leaf under `project add`, following the same
SDK-union -> flat project-schema conversion pattern as `project add
harness`. A memory scaffolds no files, so the command only appends an
entry to `spec.memories` in agentcore.json; the L3 CDK turns that into
an `AWS::BedrockAgentCore::Memory` at deploy time.
Flags: --name, --event-expiry-duration, --strategies, --indexed-keys,
--stream-delivery-resources, --encryption-key-arn, --execution-role-arn,
--tags.
--strategies accepts two forms: a comma-separated list of strategy types
expanded with the CLI's default namespace templates, or a JSON
MemoryStrategyInput[] mirroring the CreateMemory API for strategies that
need explicit names, descriptions, or namespaces.
clientToken is excluded (it is CreateMemory idempotency and this command
makes no API call), and description is excluded until the L3 CDK schema
supports it.
* feat: add --description to 'project add memory'
Stores an optional memory description in agentcore.json, matching the
CreateMemory API's description field (max 4096 characters).
The generated CDK app pins @aws/agentcore-cdk 0.1.0-alpha.45, whose
MemorySchema is a non-strict z.object with no description field, so the key
is stripped at synth rather than rejected until
aws/agentcore-l3-cdk-constructs#325 ships and that pin is bumped. The flag
help text says so.
* feat: accept a CUSTOM memory strategy in 'project add memory'
The CDK's memory schema already models CUSTOM (@aws/agentcore-cdk
0.1.0-alpha.45 maps it to CFN customMemoryStrategy), so the CLI's four-type
enum was the outlier. A customMemoryStrategy in the --strategies JSON now
converts to { type: 'CUSTOM', name, description, namespaceTemplates }.
The shorthand form still takes managed types only: CUSTOM has no default
namespaces to expand. An extraction configuration or memoryRecordSchema is
rejected rather than dropped, since the CDK schema carries neither.
Also names the offending field in the memory validation error.
* revert: drop CUSTOM memory strategy from "project add memory"
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR #694 made --
and #713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is #241 ("select custom memory
strategy, note there is no option to add prompts"); #266 removed it as a P0 to
stop users picking an unsupported option, #694/#696 added it back with
semanticOverride, and #713 reverted both as premature. #676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at #676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
* refactor: drop the long-form help for --description
The one-line flag description is enough; the deploy-time caveat lives in the
PR discussion rather than in help output.
* docs: comment change
* fix: change function name and add comment for clarity
* test: add uncovered unsupported stream content type test
* style: make json example concrete, remove comments
* refactor(project): reuse shared spec validation for memory
* fix(project): validate memory JSON inputs
* fix(project): harden memory input validation
* test(project): colocate memory tests with the add/memory handler
Upstream moved the per-resource `project add` tests out of the monolithic
project.test.ts into colocated add/<resource>/index.test.ts suites (harness
in #2034, online-eval in #2048). Move the memory tests to match, with the
same locally-duplicated run/inProject helpers those suites use.
project.test.ts is now identical to upstream/refactor again, so this PR no
longer touches it. Also drops the DeserializationError, FsReadWriteJson and
ReadWriteJson imports, left dead there once the harness tests that used them
moved to add/harness/index.test.ts.
No test content changed: 187 project tests still pass, now across 10 files
instead of 9.
* refactor(project): match --strategies JSON to the agentcore.json schema
The --strategies flag re-declared its own strategy input schema, modelled
on the CreateMemory API's tagged union (semanticMemoryStrategy et al.) and
requiring a name. agentcore.json stores strategies flat with an optional
name, so the flag accepted a shape the project file never holds and
rejected one it does.
Parse the JSON form with MemoryStrategySchema itself, wrapped only for the
unsupported-field diagnostics, so the flag cannot drift from the schema.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/lPR size: L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@aidandaly24@jesseturner21
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' revert: remove CUSTOM strategy and semanticOverride support by aidandaly24 · Pull Request #713 · aws/agentcore-cli · GitHub
Skip to content

revert: remove CUSTOM strategy and semanticOverride support - #713

Merged
aidandaly24 merged 3 commits into
mainfrom
revert/custom-and-semantic-override
Mar 27, 2026
Merged

revert: remove CUSTOM strategy and semanticOverride support#713
aidandaly24 merged 3 commits into
mainfrom
revert/custom-and-semantic-override

Conversation

@aidandaly24

Copy link
Copy Markdown
Contributor

Description

Reverts two features that were prematurely merged:

  1. CUSTOM memory strategy (beac707 / feat(memory): add CUSTOM strategy type to agentcore-cli (#677) #694) — removes the CUSTOM strategy type from the schema, CLI wizards, templates, docs, and validation
  2. Semantic override (5e0f584 / feat: add semanticOverride support for SEMANTIC memory strategies #696) — removes semanticOverride field from MemoryStrategy, including schemas, types, exports, and cross-field validation

EPISODIC strategy support is intentionally preserved throughout.

What changed

  • MemoryStrategyTypeSchema enum: 5 → 4 values (removed CUSTOM)
  • Removed SemanticOverrideSchema, SemanticExtractionOverrideSchema, SemanticConsolidationOverrideSchema and all exports
  • Removed semanticOverride field from MemoryStrategySchema and .superRefine() cross-field validation
  • Removed custom option from create/add-agent wizards and CLI flags
  • Removed CUSTOM Handlebars blocks from Python session templates
  • Removed mapExistingMemoriesToProviders and memory deduplication logic
  • Updated docs (commands.md, configuration.md, memory.md)
  • Restored EPISODIC row in configuration.md (inadvertently removed by the CUSTOM revert)

Related Issue

Reverts #694, #696

Type of Change

  • Other (please describe): Revert of prematurely merged features

Testing

How have you tested the change?

  • I ran npm run test:unit and npm run test:integ
  • I ran npm run typecheck
  • I ran npm run lint
  • If I modified src/assets/, I ran npm run test:update-snapshots and committed the updated snapshots

Checklist

  • I have read the CONTRIBUTING document
  • I have added any necessary tests that prove my fix is effective or my feature works
  • I have updated the documentation accordingly
  • I have added an appropriate example to the documentation to outline the feature, or no new docs are needed
  • My changes generate no new warnings
  • Any dependent changes have been merged and published

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the
terms of your choice.

@github-actions

Copy link
Copy Markdown
Contributor

Package Tarball

aws-agentcore-0.3.0-preview.9.0.tgz

How to install

npm install https://github.com/aws/agentcore-cli/releases/download/pr-713-tarball/aws-agentcore-0.3.0-preview.9.0.tgz

@aidandaly24
aidandaly24force-pushed the revert/custom-and-semantic-override branch from 8327ac7 to 013467bCompareMarch 27, 2026 22:06
@github-actionsgithub-actionsBot added size/l PR size: L and removed size/l PR size: L labels Mar 27, 2026
jesseturner21
jesseturner21 previously approved these changes Mar 27, 2026
The revert of the CUSTOM strategy commit inadvertently removed the
EPISODIC row from the Memory Strategies table in configuration.md.
@github-actions

github-actionsBot commented Mar 27, 2026

Copy link
Copy Markdown
Contributor

Coverage Report

StatusCategoryPercentageCovered / Total
🔵Lines46%6552 / 14242
🔵Statements45.57%6962 / 15276
🔵Functions44.71%1176 / 2630
🔵Branches46.09%4331 / 9395
Generated in workflow #1479 for commit ae62347 by the Vitest Coverage Report Action

@aidandaly24
aidandaly24force-pushed the revert/custom-and-semantic-override branch from 013467b to ae62347CompareMarch 27, 2026 22:13
@github-actionsgithub-actionsBot added size/l PR size: L and removed size/l PR size: L labels Mar 27, 2026
@aidandaly24
aidandaly24 merged commit 6ff721e into mainMar 27, 2026
19 checks passed
@aidandaly24
aidandaly24 deleted the revert/custom-and-semantic-override branch March 27, 2026 22:19
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 18, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 19, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 20, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 21, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 21, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
jariy17 pushed a commit that referenced this pull request Aug 24, 2026
* feat(project): add `project add memory`
Registers a `memory` leaf under `project add`, following the same
SDK-union -> flat project-schema conversion pattern as `project add
harness`. A memory scaffolds no files, so the command only appends an
entry to `spec.memories` in agentcore.json; the L3 CDK turns that into
an `AWS::BedrockAgentCore::Memory` at deploy time.
Flags: --name, --event-expiry-duration, --strategies, --indexed-keys,
--stream-delivery-resources, --encryption-key-arn, --execution-role-arn,
--tags.
--strategies accepts two forms: a comma-separated list of strategy types
expanded with the CLI's default namespace templates, or a JSON
MemoryStrategyInput[] mirroring the CreateMemory API for strategies that
need explicit names, descriptions, or namespaces.
clientToken is excluded (it is CreateMemory idempotency and this command
makes no API call), and description is excluded until the L3 CDK schema
supports it.
* feat: add --description to 'project add memory'
Stores an optional memory description in agentcore.json, matching the
CreateMemory API's description field (max 4096 characters).
The generated CDK app pins @aws/agentcore-cdk 0.1.0-alpha.45, whose
MemorySchema is a non-strict z.object with no description field, so the key
is stripped at synth rather than rejected until
aws/agentcore-l3-cdk-constructs#325 ships and that pin is bumped. The flag
help text says so.
* feat: accept a CUSTOM memory strategy in 'project add memory'
The CDK's memory schema already models CUSTOM (@aws/agentcore-cdk
0.1.0-alpha.45 maps it to CFN customMemoryStrategy), so the CLI's four-type
enum was the outlier. A customMemoryStrategy in the --strategies JSON now
converts to { type: 'CUSTOM', name, description, namespaceTemplates }.
The shorthand form still takes managed types only: CUSTOM has no default
namespaces to expand. An extraction configuration or memoryRecordSchema is
rejected rather than dropped, since the CDK schema carries neither.
Also names the offending field in the memory validation error.
* revert: drop CUSTOM memory strategy from "project add memory"
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR #694 made --
and #713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is #241 ("select custom memory
strategy, note there is no option to add prompts"); #266 removed it as a P0 to
stop users picking an unsupported option, #694/#696 added it back with
semanticOverride, and #713 reverted both as premature. #676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at #676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
* refactor: drop the long-form help for --description
The one-line flag description is enough; the deploy-time caveat lives in the
PR discussion rather than in help output.
* docs: comment change
* fix: change function name and add comment for clarity
* test: add uncovered unsupported stream content type test
* style: make json example concrete, remove comments
* refactor(project): reuse shared spec validation for memory
* fix(project): validate memory JSON inputs
* fix(project): harden memory input validation
* test(project): colocate memory tests with the add/memory handler
Upstream moved the per-resource `project add` tests out of the monolithic
project.test.ts into colocated add/<resource>/index.test.ts suites (harness
in #2034, online-eval in #2048). Move the memory tests to match, with the
same locally-duplicated run/inProject helpers those suites use.
project.test.ts is now identical to upstream/refactor again, so this PR no
longer touches it. Also drops the DeserializationError, FsReadWriteJson and
ReadWriteJson imports, left dead there once the harness tests that used them
moved to add/harness/index.test.ts.
No test content changed: 187 project tests still pass, now across 10 files
instead of 9.
* refactor(project): match --strategies JSON to the agentcore.json schema
The --strategies flag re-declared its own strategy input schema, modelled
on the CreateMemory API's tagged union (semanticMemoryStrategy et al.) and
requiring a name. agentcore.json stores strategies flat with an optional
name, so the flag accepted a shape the project file never holds and
rejected one it does.
Parse the JSON form with MemoryStrategySchema itself, wrapped only for the
unsupported-field diagnostics, so the flag cannot drift from the schema.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/lPR size: L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@aidandaly24@jesseturner21
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' revert: remove CUSTOM strategy and semanticOverride support by aidandaly24 · Pull Request #713 · aws/agentcore-cli · GitHub
Skip to content

revert: remove CUSTOM strategy and semanticOverride support - #713

Merged
aidandaly24 merged 3 commits into
mainfrom
revert/custom-and-semantic-override
Mar 27, 2026
Merged

revert: remove CUSTOM strategy and semanticOverride support#713
aidandaly24 merged 3 commits into
mainfrom
revert/custom-and-semantic-override

Conversation

@aidandaly24

Copy link
Copy Markdown
Contributor

Description

Reverts two features that were prematurely merged:

  1. CUSTOM memory strategy (beac707 / feat(memory): add CUSTOM strategy type to agentcore-cli (#677) #694) — removes the CUSTOM strategy type from the schema, CLI wizards, templates, docs, and validation
  2. Semantic override (5e0f584 / feat: add semanticOverride support for SEMANTIC memory strategies #696) — removes semanticOverride field from MemoryStrategy, including schemas, types, exports, and cross-field validation

EPISODIC strategy support is intentionally preserved throughout.

What changed

  • MemoryStrategyTypeSchema enum: 5 → 4 values (removed CUSTOM)
  • Removed SemanticOverrideSchema, SemanticExtractionOverrideSchema, SemanticConsolidationOverrideSchema and all exports
  • Removed semanticOverride field from MemoryStrategySchema and .superRefine() cross-field validation
  • Removed custom option from create/add-agent wizards and CLI flags
  • Removed CUSTOM Handlebars blocks from Python session templates
  • Removed mapExistingMemoriesToProviders and memory deduplication logic
  • Updated docs (commands.md, configuration.md, memory.md)
  • Restored EPISODIC row in configuration.md (inadvertently removed by the CUSTOM revert)

Related Issue

Reverts #694, #696

Type of Change

  • Other (please describe): Revert of prematurely merged features

Testing

How have you tested the change?

  • I ran npm run test:unit and npm run test:integ
  • I ran npm run typecheck
  • I ran npm run lint
  • If I modified src/assets/, I ran npm run test:update-snapshots and committed the updated snapshots

Checklist

  • I have read the CONTRIBUTING document
  • I have added any necessary tests that prove my fix is effective or my feature works
  • I have updated the documentation accordingly
  • I have added an appropriate example to the documentation to outline the feature, or no new docs are needed
  • My changes generate no new warnings
  • Any dependent changes have been merged and published

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the
terms of your choice.

@github-actions

Copy link
Copy Markdown
Contributor

Package Tarball

aws-agentcore-0.3.0-preview.9.0.tgz

How to install

npm install https://github.com/aws/agentcore-cli/releases/download/pr-713-tarball/aws-agentcore-0.3.0-preview.9.0.tgz

@aidandaly24
aidandaly24force-pushed the revert/custom-and-semantic-override branch from 8327ac7 to 013467bCompareMarch 27, 2026 22:06
@github-actionsgithub-actionsBot added size/l PR size: L and removed size/l PR size: L labels Mar 27, 2026
jesseturner21
jesseturner21 previously approved these changes Mar 27, 2026
The revert of the CUSTOM strategy commit inadvertently removed the
EPISODIC row from the Memory Strategies table in configuration.md.
@github-actions

github-actionsBot commented Mar 27, 2026

Copy link
Copy Markdown
Contributor

Coverage Report

StatusCategoryPercentageCovered / Total
🔵Lines46%6552 / 14242
🔵Statements45.57%6962 / 15276
🔵Functions44.71%1176 / 2630
🔵Branches46.09%4331 / 9395
Generated in workflow #1479 for commit ae62347 by the Vitest Coverage Report Action

@aidandaly24
aidandaly24force-pushed the revert/custom-and-semantic-override branch from 013467b to ae62347CompareMarch 27, 2026 22:13
@github-actionsgithub-actionsBot added size/l PR size: L and removed size/l PR size: L labels Mar 27, 2026
@aidandaly24
aidandaly24 merged commit 6ff721e into mainMar 27, 2026
19 checks passed
@aidandaly24
aidandaly24 deleted the revert/custom-and-semantic-override branch March 27, 2026 22:19
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 18, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 19, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 20, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 21, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 21, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
jariy17 pushed a commit that referenced this pull request Aug 24, 2026
* feat(project): add `project add memory`
Registers a `memory` leaf under `project add`, following the same
SDK-union -> flat project-schema conversion pattern as `project add
harness`. A memory scaffolds no files, so the command only appends an
entry to `spec.memories` in agentcore.json; the L3 CDK turns that into
an `AWS::BedrockAgentCore::Memory` at deploy time.
Flags: --name, --event-expiry-duration, --strategies, --indexed-keys,
--stream-delivery-resources, --encryption-key-arn, --execution-role-arn,
--tags.
--strategies accepts two forms: a comma-separated list of strategy types
expanded with the CLI's default namespace templates, or a JSON
MemoryStrategyInput[] mirroring the CreateMemory API for strategies that
need explicit names, descriptions, or namespaces.
clientToken is excluded (it is CreateMemory idempotency and this command
makes no API call), and description is excluded until the L3 CDK schema
supports it.
* feat: add --description to 'project add memory'
Stores an optional memory description in agentcore.json, matching the
CreateMemory API's description field (max 4096 characters).
The generated CDK app pins @aws/agentcore-cdk 0.1.0-alpha.45, whose
MemorySchema is a non-strict z.object with no description field, so the key
is stripped at synth rather than rejected until
aws/agentcore-l3-cdk-constructs#325 ships and that pin is bumped. The flag
help text says so.
* feat: accept a CUSTOM memory strategy in 'project add memory'
The CDK's memory schema already models CUSTOM (@aws/agentcore-cdk
0.1.0-alpha.45 maps it to CFN customMemoryStrategy), so the CLI's four-type
enum was the outlier. A customMemoryStrategy in the --strategies JSON now
converts to { type: 'CUSTOM', name, description, namespaceTemplates }.
The shorthand form still takes managed types only: CUSTOM has no default
namespaces to expand. An extraction configuration or memoryRecordSchema is
rejected rather than dropped, since the CDK schema carries neither.
Also names the offending field in the memory validation error.
* revert: drop CUSTOM memory strategy from "project add memory"
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR #694 made --
and #713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is #241 ("select custom memory
strategy, note there is no option to add prompts"); #266 removed it as a P0 to
stop users picking an unsupported option, #694/#696 added it back with
semanticOverride, and #713 reverted both as premature. #676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at #676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
* refactor: drop the long-form help for --description
The one-line flag description is enough; the deploy-time caveat lives in the
PR discussion rather than in help output.
* docs: comment change
* fix: change function name and add comment for clarity
* test: add uncovered unsupported stream content type test
* style: make json example concrete, remove comments
* refactor(project): reuse shared spec validation for memory
* fix(project): validate memory JSON inputs
* fix(project): harden memory input validation
* test(project): colocate memory tests with the add/memory handler
Upstream moved the per-resource `project add` tests out of the monolithic
project.test.ts into colocated add/<resource>/index.test.ts suites (harness
in #2034, online-eval in #2048). Move the memory tests to match, with the
same locally-duplicated run/inProject helpers those suites use.
project.test.ts is now identical to upstream/refactor again, so this PR no
longer touches it. Also drops the DeserializationError, FsReadWriteJson and
ReadWriteJson imports, left dead there once the harness tests that used them
moved to add/harness/index.test.ts.
No test content changed: 187 project tests still pass, now across 10 files
instead of 9.
* refactor(project): match --strategies JSON to the agentcore.json schema
The --strategies flag re-declared its own strategy input schema, modelled
on the CreateMemory API's tagged union (semanticMemoryStrategy et al.) and
requiring a name. agentcore.json stores strategies flat with an optional
name, so the flag accepted a shape the project file never holds and
rejected one it does.
Parse the JSON form with MemoryStrategySchema itself, wrapped only for the
unsupported-field diagnostics, so the flag cannot drift from the schema.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/lPR size: L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@aidandaly24@jesseturner21
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' revert: remove CUSTOM strategy and semanticOverride support by aidandaly24 · Pull Request #713 · aws/agentcore-cli · GitHub
Skip to content

revert: remove CUSTOM strategy and semanticOverride support - #713

Merged
aidandaly24 merged 3 commits into
mainfrom
revert/custom-and-semantic-override
Mar 27, 2026
Merged

revert: remove CUSTOM strategy and semanticOverride support#713
aidandaly24 merged 3 commits into
mainfrom
revert/custom-and-semantic-override

Conversation

@aidandaly24

Copy link
Copy Markdown
Contributor

Description

Reverts two features that were prematurely merged:

  1. CUSTOM memory strategy (beac707 / feat(memory): add CUSTOM strategy type to agentcore-cli (#677) #694) — removes the CUSTOM strategy type from the schema, CLI wizards, templates, docs, and validation
  2. Semantic override (5e0f584 / feat: add semanticOverride support for SEMANTIC memory strategies #696) — removes semanticOverride field from MemoryStrategy, including schemas, types, exports, and cross-field validation

EPISODIC strategy support is intentionally preserved throughout.

What changed

  • MemoryStrategyTypeSchema enum: 5 → 4 values (removed CUSTOM)
  • Removed SemanticOverrideSchema, SemanticExtractionOverrideSchema, SemanticConsolidationOverrideSchema and all exports
  • Removed semanticOverride field from MemoryStrategySchema and .superRefine() cross-field validation
  • Removed custom option from create/add-agent wizards and CLI flags
  • Removed CUSTOM Handlebars blocks from Python session templates
  • Removed mapExistingMemoriesToProviders and memory deduplication logic
  • Updated docs (commands.md, configuration.md, memory.md)
  • Restored EPISODIC row in configuration.md (inadvertently removed by the CUSTOM revert)

Related Issue

Reverts #694, #696

Type of Change

  • Other (please describe): Revert of prematurely merged features

Testing

How have you tested the change?

  • I ran npm run test:unit and npm run test:integ
  • I ran npm run typecheck
  • I ran npm run lint
  • If I modified src/assets/, I ran npm run test:update-snapshots and committed the updated snapshots

Checklist

  • I have read the CONTRIBUTING document
  • I have added any necessary tests that prove my fix is effective or my feature works
  • I have updated the documentation accordingly
  • I have added an appropriate example to the documentation to outline the feature, or no new docs are needed
  • My changes generate no new warnings
  • Any dependent changes have been merged and published

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the
terms of your choice.

@github-actions

Copy link
Copy Markdown
Contributor

Package Tarball

aws-agentcore-0.3.0-preview.9.0.tgz

How to install

npm install https://github.com/aws/agentcore-cli/releases/download/pr-713-tarball/aws-agentcore-0.3.0-preview.9.0.tgz

@aidandaly24
aidandaly24force-pushed the revert/custom-and-semantic-override branch from 8327ac7 to 013467bCompareMarch 27, 2026 22:06
@github-actionsgithub-actionsBot added size/l PR size: L and removed size/l PR size: L labels Mar 27, 2026
jesseturner21
jesseturner21 previously approved these changes Mar 27, 2026
The revert of the CUSTOM strategy commit inadvertently removed the
EPISODIC row from the Memory Strategies table in configuration.md.
@github-actions

github-actionsBot commented Mar 27, 2026

Copy link
Copy Markdown
Contributor

Coverage Report

StatusCategoryPercentageCovered / Total
🔵Lines46%6552 / 14242
🔵Statements45.57%6962 / 15276
🔵Functions44.71%1176 / 2630
🔵Branches46.09%4331 / 9395
Generated in workflow #1479 for commit ae62347 by the Vitest Coverage Report Action

@aidandaly24
aidandaly24force-pushed the revert/custom-and-semantic-override branch from 013467b to ae62347CompareMarch 27, 2026 22:13
@github-actionsgithub-actionsBot added size/l PR size: L and removed size/l PR size: L labels Mar 27, 2026
@aidandaly24
aidandaly24 merged commit 6ff721e into mainMar 27, 2026
19 checks passed
@aidandaly24
aidandaly24 deleted the revert/custom-and-semantic-override branch March 27, 2026 22:19
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 18, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 19, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 20, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 21, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 21, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
jariy17 pushed a commit that referenced this pull request Aug 24, 2026
* feat(project): add `project add memory`
Registers a `memory` leaf under `project add`, following the same
SDK-union -> flat project-schema conversion pattern as `project add
harness`. A memory scaffolds no files, so the command only appends an
entry to `spec.memories` in agentcore.json; the L3 CDK turns that into
an `AWS::BedrockAgentCore::Memory` at deploy time.
Flags: --name, --event-expiry-duration, --strategies, --indexed-keys,
--stream-delivery-resources, --encryption-key-arn, --execution-role-arn,
--tags.
--strategies accepts two forms: a comma-separated list of strategy types
expanded with the CLI's default namespace templates, or a JSON
MemoryStrategyInput[] mirroring the CreateMemory API for strategies that
need explicit names, descriptions, or namespaces.
clientToken is excluded (it is CreateMemory idempotency and this command
makes no API call), and description is excluded until the L3 CDK schema
supports it.
* feat: add --description to 'project add memory'
Stores an optional memory description in agentcore.json, matching the
CreateMemory API's description field (max 4096 characters).
The generated CDK app pins @aws/agentcore-cdk 0.1.0-alpha.45, whose
MemorySchema is a non-strict z.object with no description field, so the key
is stripped at synth rather than rejected until
aws/agentcore-l3-cdk-constructs#325 ships and that pin is bumped. The flag
help text says so.
* feat: accept a CUSTOM memory strategy in 'project add memory'
The CDK's memory schema already models CUSTOM (@aws/agentcore-cdk
0.1.0-alpha.45 maps it to CFN customMemoryStrategy), so the CLI's four-type
enum was the outlier. A customMemoryStrategy in the --strategies JSON now
converts to { type: 'CUSTOM', name, description, namespaceTemplates }.
The shorthand form still takes managed types only: CUSTOM has no default
namespaces to expand. An extraction configuration or memoryRecordSchema is
rejected rather than dropped, since the CDK schema carries neither.
Also names the offending field in the memory validation error.
* revert: drop CUSTOM memory strategy from "project add memory"
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR #694 made --
and #713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is #241 ("select custom memory
strategy, note there is no option to add prompts"); #266 removed it as a P0 to
stop users picking an unsupported option, #694/#696 added it back with
semanticOverride, and #713 reverted both as premature. #676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at #676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
* refactor: drop the long-form help for --description
The one-line flag description is enough; the deploy-time caveat lives in the
PR discussion rather than in help output.
* docs: comment change
* fix: change function name and add comment for clarity
* test: add uncovered unsupported stream content type test
* style: make json example concrete, remove comments
* refactor(project): reuse shared spec validation for memory
* fix(project): validate memory JSON inputs
* fix(project): harden memory input validation
* test(project): colocate memory tests with the add/memory handler
Upstream moved the per-resource `project add` tests out of the monolithic
project.test.ts into colocated add/<resource>/index.test.ts suites (harness
in #2034, online-eval in #2048). Move the memory tests to match, with the
same locally-duplicated run/inProject helpers those suites use.
project.test.ts is now identical to upstream/refactor again, so this PR no
longer touches it. Also drops the DeserializationError, FsReadWriteJson and
ReadWriteJson imports, left dead there once the harness tests that used them
moved to add/harness/index.test.ts.
No test content changed: 187 project tests still pass, now across 10 files
instead of 9.
* refactor(project): match --strategies JSON to the agentcore.json schema
The --strategies flag re-declared its own strategy input schema, modelled
on the CreateMemory API's tagged union (semanticMemoryStrategy et al.) and
requiring a name. agentcore.json stores strategies flat with an optional
name, so the flag accepted a shape the project file never holds and
rejected one it does.
Parse the JSON form with MemoryStrategySchema itself, wrapped only for the
unsupported-field diagnostics, so the flag cannot drift from the schema.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/lPR size: L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@aidandaly24@jesseturner21
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' revert: remove CUSTOM strategy and semanticOverride support by aidandaly24 · Pull Request #713 · aws/agentcore-cli · GitHub
Skip to content

revert: remove CUSTOM strategy and semanticOverride support - #713

Merged
aidandaly24 merged 3 commits into
mainfrom
revert/custom-and-semantic-override
Mar 27, 2026
Merged

revert: remove CUSTOM strategy and semanticOverride support#713
aidandaly24 merged 3 commits into
mainfrom
revert/custom-and-semantic-override

Conversation

@aidandaly24

Copy link
Copy Markdown
Contributor

Description

Reverts two features that were prematurely merged:

  1. CUSTOM memory strategy (beac707 / feat(memory): add CUSTOM strategy type to agentcore-cli (#677) #694) — removes the CUSTOM strategy type from the schema, CLI wizards, templates, docs, and validation
  2. Semantic override (5e0f584 / feat: add semanticOverride support for SEMANTIC memory strategies #696) — removes semanticOverride field from MemoryStrategy, including schemas, types, exports, and cross-field validation

EPISODIC strategy support is intentionally preserved throughout.

What changed

  • MemoryStrategyTypeSchema enum: 5 → 4 values (removed CUSTOM)
  • Removed SemanticOverrideSchema, SemanticExtractionOverrideSchema, SemanticConsolidationOverrideSchema and all exports
  • Removed semanticOverride field from MemoryStrategySchema and .superRefine() cross-field validation
  • Removed custom option from create/add-agent wizards and CLI flags
  • Removed CUSTOM Handlebars blocks from Python session templates
  • Removed mapExistingMemoriesToProviders and memory deduplication logic
  • Updated docs (commands.md, configuration.md, memory.md)
  • Restored EPISODIC row in configuration.md (inadvertently removed by the CUSTOM revert)

Related Issue

Reverts #694, #696

Type of Change

  • Other (please describe): Revert of prematurely merged features

Testing

How have you tested the change?

  • I ran npm run test:unit and npm run test:integ
  • I ran npm run typecheck
  • I ran npm run lint
  • If I modified src/assets/, I ran npm run test:update-snapshots and committed the updated snapshots

Checklist

  • I have read the CONTRIBUTING document
  • I have added any necessary tests that prove my fix is effective or my feature works
  • I have updated the documentation accordingly
  • I have added an appropriate example to the documentation to outline the feature, or no new docs are needed
  • My changes generate no new warnings
  • Any dependent changes have been merged and published

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the
terms of your choice.

@github-actions

Copy link
Copy Markdown
Contributor

Package Tarball

aws-agentcore-0.3.0-preview.9.0.tgz

How to install

npm install https://github.com/aws/agentcore-cli/releases/download/pr-713-tarball/aws-agentcore-0.3.0-preview.9.0.tgz

@aidandaly24
aidandaly24force-pushed the revert/custom-and-semantic-override branch from 8327ac7 to 013467bCompareMarch 27, 2026 22:06
@github-actionsgithub-actionsBot added size/l PR size: L and removed size/l PR size: L labels Mar 27, 2026
jesseturner21
jesseturner21 previously approved these changes Mar 27, 2026
The revert of the CUSTOM strategy commit inadvertently removed the
EPISODIC row from the Memory Strategies table in configuration.md.
@github-actions

github-actionsBot commented Mar 27, 2026

Copy link
Copy Markdown
Contributor

Coverage Report

StatusCategoryPercentageCovered / Total
🔵Lines46%6552 / 14242
🔵Statements45.57%6962 / 15276
🔵Functions44.71%1176 / 2630
🔵Branches46.09%4331 / 9395
Generated in workflow #1479 for commit ae62347 by the Vitest Coverage Report Action

@aidandaly24
aidandaly24force-pushed the revert/custom-and-semantic-override branch from 013467b to ae62347CompareMarch 27, 2026 22:13
@github-actionsgithub-actionsBot added size/l PR size: L and removed size/l PR size: L labels Mar 27, 2026
@aidandaly24
aidandaly24 merged commit 6ff721e into mainMar 27, 2026
19 checks passed
@aidandaly24
aidandaly24 deleted the revert/custom-and-semantic-override branch March 27, 2026 22:19
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 18, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 19, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 20, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 21, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 21, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
jariy17 pushed a commit that referenced this pull request Aug 24, 2026
* feat(project): add `project add memory`
Registers a `memory` leaf under `project add`, following the same
SDK-union -> flat project-schema conversion pattern as `project add
harness`. A memory scaffolds no files, so the command only appends an
entry to `spec.memories` in agentcore.json; the L3 CDK turns that into
an `AWS::BedrockAgentCore::Memory` at deploy time.
Flags: --name, --event-expiry-duration, --strategies, --indexed-keys,
--stream-delivery-resources, --encryption-key-arn, --execution-role-arn,
--tags.
--strategies accepts two forms: a comma-separated list of strategy types
expanded with the CLI's default namespace templates, or a JSON
MemoryStrategyInput[] mirroring the CreateMemory API for strategies that
need explicit names, descriptions, or namespaces.
clientToken is excluded (it is CreateMemory idempotency and this command
makes no API call), and description is excluded until the L3 CDK schema
supports it.
* feat: add --description to 'project add memory'
Stores an optional memory description in agentcore.json, matching the
CreateMemory API's description field (max 4096 characters).
The generated CDK app pins @aws/agentcore-cdk 0.1.0-alpha.45, whose
MemorySchema is a non-strict z.object with no description field, so the key
is stripped at synth rather than rejected until
aws/agentcore-l3-cdk-constructs#325 ships and that pin is bumped. The flag
help text says so.
* feat: accept a CUSTOM memory strategy in 'project add memory'
The CDK's memory schema already models CUSTOM (@aws/agentcore-cdk
0.1.0-alpha.45 maps it to CFN customMemoryStrategy), so the CLI's four-type
enum was the outlier. A customMemoryStrategy in the --strategies JSON now
converts to { type: 'CUSTOM', name, description, namespaceTemplates }.
The shorthand form still takes managed types only: CUSTOM has no default
namespaces to expand. An extraction configuration or memoryRecordSchema is
rejected rather than dropped, since the CDK schema carries neither.
Also names the offending field in the memory validation error.
* revert: drop CUSTOM memory strategy from "project add memory"
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR #694 made --
and #713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is #241 ("select custom memory
strategy, note there is no option to add prompts"); #266 removed it as a P0 to
stop users picking an unsupported option, #694/#696 added it back with
semanticOverride, and #713 reverted both as premature. #676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at #676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
* refactor: drop the long-form help for --description
The one-line flag description is enough; the deploy-time caveat lives in the
PR discussion rather than in help output.
* docs: comment change
* fix: change function name and add comment for clarity
* test: add uncovered unsupported stream content type test
* style: make json example concrete, remove comments
* refactor(project): reuse shared spec validation for memory
* fix(project): validate memory JSON inputs
* fix(project): harden memory input validation
* test(project): colocate memory tests with the add/memory handler
Upstream moved the per-resource `project add` tests out of the monolithic
project.test.ts into colocated add/<resource>/index.test.ts suites (harness
in #2034, online-eval in #2048). Move the memory tests to match, with the
same locally-duplicated run/inProject helpers those suites use.
project.test.ts is now identical to upstream/refactor again, so this PR no
longer touches it. Also drops the DeserializationError, FsReadWriteJson and
ReadWriteJson imports, left dead there once the harness tests that used them
moved to add/harness/index.test.ts.
No test content changed: 187 project tests still pass, now across 10 files
instead of 9.
* refactor(project): match --strategies JSON to the agentcore.json schema
The --strategies flag re-declared its own strategy input schema, modelled
on the CreateMemory API's tagged union (semanticMemoryStrategy et al.) and
requiring a name. agentcore.json stores strategies flat with an optional
name, so the flag accepted a shape the project file never holds and
rejected one it does.
Parse the JSON form with MemoryStrategySchema itself, wrapped only for the
unsupported-field diagnostics, so the flag cannot drift from the schema.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/lPR size: L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@aidandaly24@jesseturner21
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' revert: remove CUSTOM strategy and semanticOverride support by aidandaly24 · Pull Request #713 · aws/agentcore-cli · GitHub
Skip to content

revert: remove CUSTOM strategy and semanticOverride support - #713

Merged
aidandaly24 merged 3 commits into
mainfrom
revert/custom-and-semantic-override
Mar 27, 2026
Merged

revert: remove CUSTOM strategy and semanticOverride support#713
aidandaly24 merged 3 commits into
mainfrom
revert/custom-and-semantic-override

Conversation

@aidandaly24

Copy link
Copy Markdown
Contributor

Description

Reverts two features that were prematurely merged:

  1. CUSTOM memory strategy (beac707 / feat(memory): add CUSTOM strategy type to agentcore-cli (#677) #694) — removes the CUSTOM strategy type from the schema, CLI wizards, templates, docs, and validation
  2. Semantic override (5e0f584 / feat: add semanticOverride support for SEMANTIC memory strategies #696) — removes semanticOverride field from MemoryStrategy, including schemas, types, exports, and cross-field validation

EPISODIC strategy support is intentionally preserved throughout.

What changed

  • MemoryStrategyTypeSchema enum: 5 → 4 values (removed CUSTOM)
  • Removed SemanticOverrideSchema, SemanticExtractionOverrideSchema, SemanticConsolidationOverrideSchema and all exports
  • Removed semanticOverride field from MemoryStrategySchema and .superRefine() cross-field validation
  • Removed custom option from create/add-agent wizards and CLI flags
  • Removed CUSTOM Handlebars blocks from Python session templates
  • Removed mapExistingMemoriesToProviders and memory deduplication logic
  • Updated docs (commands.md, configuration.md, memory.md)
  • Restored EPISODIC row in configuration.md (inadvertently removed by the CUSTOM revert)

Related Issue

Reverts #694, #696

Type of Change

  • Other (please describe): Revert of prematurely merged features

Testing

How have you tested the change?

  • I ran npm run test:unit and npm run test:integ
  • I ran npm run typecheck
  • I ran npm run lint
  • If I modified src/assets/, I ran npm run test:update-snapshots and committed the updated snapshots

Checklist

  • I have read the CONTRIBUTING document
  • I have added any necessary tests that prove my fix is effective or my feature works
  • I have updated the documentation accordingly
  • I have added an appropriate example to the documentation to outline the feature, or no new docs are needed
  • My changes generate no new warnings
  • Any dependent changes have been merged and published

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the
terms of your choice.

@github-actions

Copy link
Copy Markdown
Contributor

Package Tarball

aws-agentcore-0.3.0-preview.9.0.tgz

How to install

npm install https://github.com/aws/agentcore-cli/releases/download/pr-713-tarball/aws-agentcore-0.3.0-preview.9.0.tgz

@aidandaly24
aidandaly24force-pushed the revert/custom-and-semantic-override branch from 8327ac7 to 013467bCompareMarch 27, 2026 22:06
@github-actionsgithub-actionsBot added size/l PR size: L and removed size/l PR size: L labels Mar 27, 2026
jesseturner21
jesseturner21 previously approved these changes Mar 27, 2026
The revert of the CUSTOM strategy commit inadvertently removed the
EPISODIC row from the Memory Strategies table in configuration.md.
@github-actions

github-actionsBot commented Mar 27, 2026

Copy link
Copy Markdown
Contributor

Coverage Report

StatusCategoryPercentageCovered / Total
🔵Lines46%6552 / 14242
🔵Statements45.57%6962 / 15276
🔵Functions44.71%1176 / 2630
🔵Branches46.09%4331 / 9395
Generated in workflow #1479 for commit ae62347 by the Vitest Coverage Report Action

@aidandaly24
aidandaly24force-pushed the revert/custom-and-semantic-override branch from 013467b to ae62347CompareMarch 27, 2026 22:13
@github-actionsgithub-actionsBot added size/l PR size: L and removed size/l PR size: L labels Mar 27, 2026
@aidandaly24
aidandaly24 merged commit 6ff721e into mainMar 27, 2026
19 checks passed
@aidandaly24
aidandaly24 deleted the revert/custom-and-semantic-override branch March 27, 2026 22:19
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 18, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 19, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 20, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 21, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 21, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
jariy17 pushed a commit that referenced this pull request Aug 24, 2026
* feat(project): add `project add memory`
Registers a `memory` leaf under `project add`, following the same
SDK-union -> flat project-schema conversion pattern as `project add
harness`. A memory scaffolds no files, so the command only appends an
entry to `spec.memories` in agentcore.json; the L3 CDK turns that into
an `AWS::BedrockAgentCore::Memory` at deploy time.
Flags: --name, --event-expiry-duration, --strategies, --indexed-keys,
--stream-delivery-resources, --encryption-key-arn, --execution-role-arn,
--tags.
--strategies accepts two forms: a comma-separated list of strategy types
expanded with the CLI's default namespace templates, or a JSON
MemoryStrategyInput[] mirroring the CreateMemory API for strategies that
need explicit names, descriptions, or namespaces.
clientToken is excluded (it is CreateMemory idempotency and this command
makes no API call), and description is excluded until the L3 CDK schema
supports it.
* feat: add --description to 'project add memory'
Stores an optional memory description in agentcore.json, matching the
CreateMemory API's description field (max 4096 characters).
The generated CDK app pins @aws/agentcore-cdk 0.1.0-alpha.45, whose
MemorySchema is a non-strict z.object with no description field, so the key
is stripped at synth rather than rejected until
aws/agentcore-l3-cdk-constructs#325 ships and that pin is bumped. The flag
help text says so.
* feat: accept a CUSTOM memory strategy in 'project add memory'
The CDK's memory schema already models CUSTOM (@aws/agentcore-cdk
0.1.0-alpha.45 maps it to CFN customMemoryStrategy), so the CLI's four-type
enum was the outlier. A customMemoryStrategy in the --strategies JSON now
converts to { type: 'CUSTOM', name, description, namespaceTemplates }.
The shorthand form still takes managed types only: CUSTOM has no default
namespaces to expand. An extraction configuration or memoryRecordSchema is
rejected rather than dropped, since the CDK schema carries neither.
Also names the offending field in the memory validation error.
* revert: drop CUSTOM memory strategy from "project add memory"
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR #694 made --
and #713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is #241 ("select custom memory
strategy, note there is no option to add prompts"); #266 removed it as a P0 to
stop users picking an unsupported option, #694/#696 added it back with
semanticOverride, and #713 reverted both as premature. #676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at #676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
* refactor: drop the long-form help for --description
The one-line flag description is enough; the deploy-time caveat lives in the
PR discussion rather than in help output.
* docs: comment change
* fix: change function name and add comment for clarity
* test: add uncovered unsupported stream content type test
* style: make json example concrete, remove comments
* refactor(project): reuse shared spec validation for memory
* fix(project): validate memory JSON inputs
* fix(project): harden memory input validation
* test(project): colocate memory tests with the add/memory handler
Upstream moved the per-resource `project add` tests out of the monolithic
project.test.ts into colocated add/<resource>/index.test.ts suites (harness
in #2034, online-eval in #2048). Move the memory tests to match, with the
same locally-duplicated run/inProject helpers those suites use.
project.test.ts is now identical to upstream/refactor again, so this PR no
longer touches it. Also drops the DeserializationError, FsReadWriteJson and
ReadWriteJson imports, left dead there once the harness tests that used them
moved to add/harness/index.test.ts.
No test content changed: 187 project tests still pass, now across 10 files
instead of 9.
* refactor(project): match --strategies JSON to the agentcore.json schema
The --strategies flag re-declared its own strategy input schema, modelled
on the CreateMemory API's tagged union (semanticMemoryStrategy et al.) and
requiring a name. agentcore.json stores strategies flat with an optional
name, so the flag accepted a shape the project file never holds and
rejected one it does.
Parse the JSON form with MemoryStrategySchema itself, wrapped only for the
unsupported-field diagnostics, so the flag cannot drift from the schema.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/lPR size: L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@aidandaly24@jesseturner21
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); revert: remove CUSTOM strategy and semanticOverride support by aidandaly24 · Pull Request #713 · aws/agentcore-cli · GitHub
Skip to content

revert: remove CUSTOM strategy and semanticOverride support - #713

Merged
aidandaly24 merged 3 commits into
mainfrom
revert/custom-and-semantic-override
Mar 27, 2026
Merged

revert: remove CUSTOM strategy and semanticOverride support#713
aidandaly24 merged 3 commits into
mainfrom
revert/custom-and-semantic-override

Conversation

@aidandaly24

Copy link
Copy Markdown
Contributor

Description

Reverts two features that were prematurely merged:

  1. CUSTOM memory strategy (beac707 / feat(memory): add CUSTOM strategy type to agentcore-cli (#677) #694) — removes the CUSTOM strategy type from the schema, CLI wizards, templates, docs, and validation
  2. Semantic override (5e0f584 / feat: add semanticOverride support for SEMANTIC memory strategies #696) — removes semanticOverride field from MemoryStrategy, including schemas, types, exports, and cross-field validation

EPISODIC strategy support is intentionally preserved throughout.

What changed

  • MemoryStrategyTypeSchema enum: 5 → 4 values (removed CUSTOM)
  • Removed SemanticOverrideSchema, SemanticExtractionOverrideSchema, SemanticConsolidationOverrideSchema and all exports
  • Removed semanticOverride field from MemoryStrategySchema and .superRefine() cross-field validation
  • Removed custom option from create/add-agent wizards and CLI flags
  • Removed CUSTOM Handlebars blocks from Python session templates
  • Removed mapExistingMemoriesToProviders and memory deduplication logic
  • Updated docs (commands.md, configuration.md, memory.md)
  • Restored EPISODIC row in configuration.md (inadvertently removed by the CUSTOM revert)

Related Issue

Reverts #694, #696

Type of Change

  • Other (please describe): Revert of prematurely merged features

Testing

How have you tested the change?

  • I ran npm run test:unit and npm run test:integ
  • I ran npm run typecheck
  • I ran npm run lint
  • If I modified src/assets/, I ran npm run test:update-snapshots and committed the updated snapshots

Checklist

  • I have read the CONTRIBUTING document
  • I have added any necessary tests that prove my fix is effective or my feature works
  • I have updated the documentation accordingly
  • I have added an appropriate example to the documentation to outline the feature, or no new docs are needed
  • My changes generate no new warnings
  • Any dependent changes have been merged and published

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the
terms of your choice.

@github-actions

Copy link
Copy Markdown
Contributor

Package Tarball

aws-agentcore-0.3.0-preview.9.0.tgz

How to install

npm install https://github.com/aws/agentcore-cli/releases/download/pr-713-tarball/aws-agentcore-0.3.0-preview.9.0.tgz

@aidandaly24
aidandaly24force-pushed the revert/custom-and-semantic-override branch from 8327ac7 to 013467bCompareMarch 27, 2026 22:06
@github-actionsgithub-actionsBot added size/l PR size: L and removed size/l PR size: L labels Mar 27, 2026
jesseturner21
jesseturner21 previously approved these changes Mar 27, 2026
The revert of the CUSTOM strategy commit inadvertently removed the
EPISODIC row from the Memory Strategies table in configuration.md.
@github-actions

github-actionsBot commented Mar 27, 2026

Copy link
Copy Markdown
Contributor

Coverage Report

StatusCategoryPercentageCovered / Total
🔵Lines46%6552 / 14242
🔵Statements45.57%6962 / 15276
🔵Functions44.71%1176 / 2630
🔵Branches46.09%4331 / 9395
Generated in workflow #1479 for commit ae62347 by the Vitest Coverage Report Action

@aidandaly24
aidandaly24force-pushed the revert/custom-and-semantic-override branch from 013467b to ae62347CompareMarch 27, 2026 22:13
@github-actionsgithub-actionsBot added size/l PR size: L and removed size/l PR size: L labels Mar 27, 2026
@aidandaly24
aidandaly24 merged commit 6ff721e into mainMar 27, 2026
19 checks passed
@aidandaly24
aidandaly24 deleted the revert/custom-and-semantic-override branch March 27, 2026 22:19
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 18, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 19, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 20, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 21, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
notgitika added a commit to notgitika/agentcore-cli that referenced this pull request Aug 21, 2026
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR aws#694 made --
and aws#713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is aws#241 ("select custom memory
strategy, note there is no option to add prompts"); aws#266 removed it as a P0 to
stop users picking an unsupported option, aws#694/aws#696 added it back with
semanticOverride, and aws#713 reverted both as premature. aws#676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at aws#676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
jariy17 pushed a commit that referenced this pull request Aug 24, 2026
* feat(project): add `project add memory`
Registers a `memory` leaf under `project add`, following the same
SDK-union -> flat project-schema conversion pattern as `project add
harness`. A memory scaffolds no files, so the command only appends an
entry to `spec.memories` in agentcore.json; the L3 CDK turns that into
an `AWS::BedrockAgentCore::Memory` at deploy time.
Flags: --name, --event-expiry-duration, --strategies, --indexed-keys,
--stream-delivery-resources, --encryption-key-arn, --execution-role-arn,
--tags.
--strategies accepts two forms: a comma-separated list of strategy types
expanded with the CLI's default namespace templates, or a JSON
MemoryStrategyInput[] mirroring the CreateMemory API for strategies that
need explicit names, descriptions, or namespaces.
clientToken is excluded (it is CreateMemory idempotency and this command
makes no API call), and description is excluded until the L3 CDK schema
supports it.
* feat: add --description to 'project add memory'
Stores an optional memory description in agentcore.json, matching the
CreateMemory API's description field (max 4096 characters).
The generated CDK app pins @aws/agentcore-cdk 0.1.0-alpha.45, whose
MemorySchema is a non-strict z.object with no description field, so the key
is stripped at synth rather than rejected until
aws/agentcore-l3-cdk-constructs#325 ships and that pin is bumped. The flag
help text says so.
* feat: accept a CUSTOM memory strategy in 'project add memory'
The CDK's memory schema already models CUSTOM (@aws/agentcore-cdk
0.1.0-alpha.45 maps it to CFN customMemoryStrategy), so the CLI's four-type
enum was the outlier. A customMemoryStrategy in the --strategies JSON now
converts to { type: 'CUSTOM', name, description, namespaceTemplates }.
The shorthand form still takes managed types only: CUSTOM has no default
namespaces to expand. An extraction configuration or memoryRecordSchema is
rejected rather than dropped, since the CDK schema carries neither.
Also names the offending field in the memory validation error.
* revert: drop CUSTOM memory strategy from "project add memory"
Reverts 87be86e. I added CUSTOM because the CDK schema already had it in
MemoryStrategyTypeSchema, which turns out to be the argument PR #694 made --
and #713 reverted a day later.
The CLI has removed CUSTOM twice on purpose. Offering the type without
somewhere to put its extraction configuration is #241 ("select custom memory
strategy, note there is no option to add prompts"); #266 removed it as a P0 to
stop users picking an unsupported option, #694/#696 added it back with
semanticOverride, and #713 reverted both as premature. #676 tracks doing it
properly. The CDK keeping CUSTOM in its enum without a configuration field is
the same hole, not a licence.
So both forms are rejected again, now with an error that says why and points
at #676. The one thing kept from the reverted commit: memory validation errors
name the offending field, since issue.path was being dropped.
* refactor: drop the long-form help for --description
The one-line flag description is enough; the deploy-time caveat lives in the
PR discussion rather than in help output.
* docs: comment change
* fix: change function name and add comment for clarity
* test: add uncovered unsupported stream content type test
* style: make json example concrete, remove comments
* refactor(project): reuse shared spec validation for memory
* fix(project): validate memory JSON inputs
* fix(project): harden memory input validation
* test(project): colocate memory tests with the add/memory handler
Upstream moved the per-resource `project add` tests out of the monolithic
project.test.ts into colocated add/<resource>/index.test.ts suites (harness
in #2034, online-eval in #2048). Move the memory tests to match, with the
same locally-duplicated run/inProject helpers those suites use.
project.test.ts is now identical to upstream/refactor again, so this PR no
longer touches it. Also drops the DeserializationError, FsReadWriteJson and
ReadWriteJson imports, left dead there once the harness tests that used them
moved to add/harness/index.test.ts.
No test content changed: 187 project tests still pass, now across 10 files
instead of 9.
* refactor(project): match --strategies JSON to the agentcore.json schema
The --strategies flag re-declared its own strategy input schema, modelled
on the CreateMemory API's tagged union (semanticMemoryStrategy et al.) and
requiring a name. agentcore.json stores strategies flat with an optional
name, so the flag accepted a shape the project file never holds and
rejected one it does.
Parse the JSON form with MemoryStrategySchema itself, wrapped only for the
unsupported-field diagnostics, so the flag cannot drift from the schema.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/lPR size: L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@aidandaly24@jesseturner21