Repository navigation
fix(long-term-memory): 1.4.8 — ignore invalid saved recall settings instead of breaking reads (#1246) - #1249
Conversation
…nstead of breaking reads (Pasta-Devs#1246) A persisted null recall weight or unknown recall style made every settings read and recall throw until settings.json was hand-edited. The settings schema now drops null/undefined weights and an unrecognized style so the resolved default applies, and the invalid value is no longer written back. Refs Pasta-Devs#1246
…mory)/invalid-settings-fallback
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
⛔ Files ignored due to path filters (3)
📒 Files selected for processing (11)
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughLong-Term Memory now removes invalid saved recall weights and unrecognized recall styles before strict settings validation, allowing defaults to apply. Regression tests cover loading, saving, and backup restore. Package and catalog metadata now reference version 1.4.8. ChangesLong-Term Memory settings fallback
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix · Severity of issue fixed: Medium Merge Risk: ⚪ Minimal · up to Invalid saved recall settings now fall back to defaults, and the checked-in release metadata matches the package artifact. No material merge risk remains based on the reviewed evidence; normal checks should still complete. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 3 files. (8 skipped: 8 unsupported.)
✨ Finishing Touches🧪 Generate unit tests (beta)
Warning Some tools did not complete. Review the errors below. 🔧 ESLint
packages/long-term-memory/src/engine/packages/shared/src/features/agents/long-term-memory/schema.tstypescript-eslint does not support TS 7.0. Oops! Something went wrong! :( ESLint: 10.11.0 Error: typescript-eslint does not support TS 7.0. scripts/build-feature-packages.mjsESLint skipped: the matched ESLint configuration already failed (config-incompatibility). tests/long-term-memory-storage.regression.tsESLint skipped: the matched ESLint configuration already failed (config-incompatibility). Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Pull request
Important
Contributions target
staging. OnlySpicyMarinaramay promote this repository'sstagingbranch tomain.Outside and first-time contributors also require an approving review from
SpicyMarinara.Linked issue
Closes #1246
Why this change
nullLong-Term Memory recall weight, or an unrecognized stored recall style, made every global settings read throw (ZodError: Expected number, received null). Because settings load on the recall path, one badsettings.jsonvalue broke settings, recall and search until the file was hand-edited.What changed
packages/long-term-memory1.4.8:ltmGlobalSettingsSchemanow dropsnull/undefinedrecall weights and deletes an unrecognizedlongTermMemoryRecallStylebefore merging resolved defaults. A present-but-undefinedstyle key no longer overwrites the default, and anullweight is no longer persisted.server.mjs,client.js,manifest.json, catalog lanes (catalog/,catalog/v2/,catalog/v3/) andartifacts/long-term-memory-1.4.8.zip; added the 1.4.8 CHANGELOG entry.Package and security impact
engine.min2.4.1 andengine.maxExclusiveunchangedsettings.json; invalid saved values now recover to defaults instead of throwing. Install/update/uninstall lifecycle unchanged.Validation
node scripts/validate-catalog.mjspasses locallygit diff --checkpasses locallyCONTRIBUTING.mdManual verification notes
test-ltm.sh storage|runtime|routes|routes-backup|conversation-summary-import|installation,npm run check,git diff --check,test-catalog-lanes.mjs,validate-package-locales.mjs,validate-catalog.mjs,catalog-release-notes.regression.mjs.Documentation impact
UI evidence (if applicable)
Summary by CodeRabbit