claude-memory-layer 1.0.24 → 1.0.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/.claude/settings.local.json +15 -1
  2. package/dist/cli/index.js +152 -969
  3. package/dist/cli/index.js.map +4 -4
  4. package/dist/core/index.js +31 -66
  5. package/dist/core/index.js.map +3 -3
  6. package/dist/hooks/post-tool-use.js +181 -967
  7. package/dist/hooks/post-tool-use.js.map +4 -4
  8. package/dist/hooks/semantic-daemon.js +148 -965
  9. package/dist/hooks/semantic-daemon.js.map +4 -4
  10. package/dist/hooks/session-end.js +148 -965
  11. package/dist/hooks/session-end.js.map +4 -4
  12. package/dist/hooks/session-start.js +150 -965
  13. package/dist/hooks/session-start.js.map +4 -4
  14. package/dist/hooks/stop.js +156 -965
  15. package/dist/hooks/stop.js.map +4 -4
  16. package/dist/hooks/user-prompt-submit.js +150 -967
  17. package/dist/hooks/user-prompt-submit.js.map +4 -4
  18. package/dist/server/api/index.js +148 -965
  19. package/dist/server/api/index.js.map +4 -4
  20. package/dist/server/index.js +148 -965
  21. package/dist/server/index.js.map +4 -4
  22. package/dist/services/memory-service.js +148 -965
  23. package/dist/services/memory-service.js.map +4 -4
  24. package/memory/agent_response/uncategorized/2026-03-04.md +217 -1
  25. package/memory/session_summary/uncategorized/2026-03-04.md +20 -1
  26. package/memory/tool_observation/uncategorized/2026-03-04.md +237 -1
  27. package/memory/user_prompt/uncategorized/2026-03-04.md +185 -1
  28. package/package.json +1 -2
  29. package/specs/memory-utilization-improvements/context.md +145 -0
  30. package/specs/memory-utilization-improvements/plan.md +361 -0
  31. package/specs/memory-utilization-improvements/spec.md +308 -0
  32. package/specs/optional-duckdb/context.md +77 -0
  33. package/specs/optional-duckdb/plan.md +142 -0
  34. package/specs/optional-duckdb/spec.md +35 -0
  35. package/src/core/db-wrapper.ts +18 -73
  36. package/src/core/sqlite-event-store.ts +24 -0
  37. package/src/hooks/post-tool-use.ts +25 -0
  38. package/src/hooks/session-start.ts +4 -0
  39. package/src/hooks/stop.ts +14 -0
  40. package/src/services/memory-service.ts +62 -58
@@ -439,4 +439,188 @@ https://be2f-222-112-203-51.ngrok-free.app/api/stats?project=f4d5c120 이 프로
439
439
  ## 2026-03-04T10:22:49.182Z | 139c9f43-a92c-4568-ba40-f810ee2e2b20
440
440
  - type: user_prompt
441
441
  - session: 71462bbf-6d77-4cc7-b8d1-f126ac3dc034
442
- 장기적으로 개선 방향이 필요해. 사용자가 명시적으로 뭔가를 실행하지 않더라도, total events 가 쌓이면서 중간 중간에 vector embedding 추출이 자동으로 되게 하고 싶어
442
+ 장기적으로 개선 방향이 필요해. 사용자가 명시적으로 뭔가를 실행하지 않더라도, total events 가 쌓이면서 중간 중간에 vector embedding 추출이 자동으로 되게 하고 싶어
443
+ ## 2026-03-04T10:57:07.241Z | 29b315b9-fc70-488d-a8d1-b1274b71a079
444
+ - type: user_prompt
445
+ - session: e3c1fe2b-c018-4532-86d5-7cdd467408f0
446
+ npm install -g claude-memory-layer@1.0.24
447
+ npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
448
+ npm warn deprecated @npmcli/move-file@2.0.1: This functionality has been moved to @npmcli/fs
449
+ npm warn deprecated npmlog@5.0.1: This package is no longer supported.
450
+ npm warn deprecated npmlog@6.0.2: This package is no longer supported.
451
+ npm warn deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
452
+ npm warn deprecated glob@8.1.0: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
453
+ npm warn deprecated glob@7.2.3: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
454
+ npm warn deprecated prebuild-install@7.1.3: No longer maintained. Please contact the author of the relevant native addon; alternatives are available.
455
+ npm warn deprecated are-we-there-yet@2.0.0: This package is no longer supported.
456
+ npm warn deprecated are-we-there-yet@3.0.1: This package is no longer supported.
457
+ npm warn deprecated gauge@3.0.2: This package is no longer supported.
458
+ npm warn deprecated boolean@3.2.0: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
459
+ npm warn deprecated gauge@4.0.4: This package is no longer supported.
460
+ npm warn deprecated tar@6.2.1: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
461
+ npm warn deprecated node-domexception@1.0.0: Use your platform's native DOMException instead
462
+ npm error code 1
463
+ npm error path /Users/justin/.nvm/versions/node/v24.13.1/lib/node_modules/claude-memory-layer/node_modules/duckdb
464
+ npm error command failed
465
+ npm error command sh -c node-pre-gyp install --fallback-to-build
466
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb_node.o
467
+ npm error CXX(target) Release/obj.target/duckdb/src/database.o
468
+ npm error CXX(target) Release/obj.target/duckdb/src/data_chunk.o
469
+ npm error CXX(target) Release/obj.target/duckdb/src/connection.o
470
+ npm error CXX(target) Release/obj.target/duckdb/src/statement.o
471
+ npm error CXX(target) Release/obj.target/duckdb/src/utils.o
472
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/ub_src_catalog.o
473
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/ub_src_catalog_catalog_entry.o
474
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/ub_src_catalog_catalog_entry_dependency.o
475
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/ub_src_catalog_default.o
476
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/ub_src_common_adbc.o
477
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/ub_src_common_adbc_nanoarrow.o
478
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/ub_src_common.o
479
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/ub_src_common_arrow_appender.o
480
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/ub_src_common_arrow.o
481
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/ub_src_common_crypto.o
482
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/ub_src_common_enums.o
483
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/ub_src_common_exception.o
484
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/ub_src_common_operator.o
485
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/ub_src_common_progress_bar.o
486
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/ub_src_common_row_operations.o
487
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/ub_src_common_serializer.o
488
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/ub_src_common_sort.o
489
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/ub_src_common_types.o
490
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/ub_src_common_types_column.o
491
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/ub_src_common_types_row.o
492
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/ub_src_common_value_operations.o
493
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/src/common/vector_operations/boolean_operators.o
494
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/src/common/vector_operations/comparison_operators.o
495
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/src/common/vector_operations/generators.o
496
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/src/common/vector_operations/is_distinct_from.o
497
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/src/common/vector_operations/null_operations.o
498
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/src/common/vector_operations/numeric_inplace_operators.o
499
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/src/common/vector_operations/vector_cast.o
500
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/src/common/vector_operations/vector_copy.o
501
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/src/common/vector_operations/vector_hash.o
502
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/src/common/vector_operations/vector_storage.o
503
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/ub_src_core_functions_aggregate_algebraic.o
504
+ npm error CXX(target) Release/obj.target/duckdb/src/duckdb/ub_src_core_functions_aggregate_distributive.o
505
+ npm error Failed to execute '/Users/justin/.nvm/versions/node/v24.13.1/bin/node /Users/justin/.nvm/versions/node/v24.13.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/Users/justin/.nvm/versions/node/v24.13.1/lib/node_modules/claude-memory-layer/node_modules/duckdb/lib/binding/duckdb.node --module_name=duckdb --module_path=/Users/justin/.nvm/versions/node/v24.13.1/lib/node_modules/claude-memory-layer/node_modules/duckdb/lib/binding --napi_version=10 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v137' (1)
506
+ npm error node-pre-gyp info it worked if it ends with ok
507
+ npm error node-pre-gyp info using node-pre-gyp@1.0.11
508
+ npm error node-pre-gyp info using node@24.13.1 | darwin | arm64
509
+ npm error (node:80755) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
510
+ npm error (Use `node --trace-deprecation ...` to show where the warning was created)
511
+ npm error (node:80755) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities.
512
+ npm error node-pre-gyp info check checked for "/Users/justin/.nvm/versions/node/v24.13.1/lib/node_modules/claude-memory-layer/node_modules/duckdb/lib/binding/duckdb.node" (not found)
513
+ npm error node-pre-gyp http GET https://npm.duckdb.org/duckdb/duckdb-v0.10.2-node-v137-darwin-arm64.tar.gz
514
+ npm error node-pre-gyp ERR! install response status 404 Not Found on https://npm.duckdb.org/duckdb/duckdb-v0.10.2-node-v137-darwin-arm64.tar.gz
515
+ npm error node-pre-gyp WARN Pre-built binaries not installable for duckdb@0.10.2 and node@24.13.1 (node-v137 ABI, unknown) (falling back to source compile with node-gyp)
516
+ npm error node-pre-gyp WARN Hit error response status 404 Not Found on https://npm.duckdb.org/duckdb/duckdb-v0.10.2-node-v137-darwin-arm64.tar.gz
517
+ npm error gyp info it worked if it ends with ok
518
+ npm error gyp info using node-gyp@12.1.0
519
+ npm error gyp info using node@24.13.1 | darwin | arm64
520
+ npm error gyp info ok
521
+ npm error gyp info it worked if it ends with ok
522
+ npm error gyp info using node-gyp@12.1.0
523
+ npm error gyp info using node@24.13.1 | darwin | arm64
524
+ npm error (node:81050) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities.
525
+ npm error (Use `node --trace-deprecation ...` to show where the warning was created)
526
+ npm error gyp info find Python using Python version 3.9.6 found at "/Library/Developer/CommandLineTools/usr/bin/python3"
527
+ npm error gyp info spawn /Library/Developer/CommandLineTools/usr/bin/python3
528
+ npm error gyp info spawn args [
529
+ npm error gyp info spawn args '/Users/justin/.nvm/versions/node/v24.13.1/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
530
+ npm error gyp info spawn args 'binding.gyp',
531
+ npm error gyp info spawn args '-f',
532
+ npm error gyp info spawn args 'make',
533
+ npm error gyp info spawn args '-I',
534
+ npm error gyp info spawn args '/Users/justin/.nvm/versions/node/v24.13.1/lib/node_modules/claude-memory-layer/node_modules/duckdb/build/config.gypi',
535
+ npm error gyp info spawn args '-I',
536
+ npm error gyp info spawn args '/Users/justin/.nvm/versions/node/v24.13.1/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
537
+ npm error gyp info spawn args '-I',
538
+ npm error gyp info spawn args '/Users/justin/Library/Caches/node-gyp/24.13.1/include/node/common.gypi',
539
+ npm error gyp info spawn args '-Dlibrary=shared_library',
540
+ npm error gyp info spawn args '-Dvisibility=default',
541
+ npm error gyp info spawn args '-Dnode_root_dir=/Users/justin/Library/Caches/node-gyp/24.13.1',
542
+ npm error gyp info spawn args '-Dnode_gyp_dir=/Users/justin/.nvm/versions/node/v24.13.1/lib/node_modules/npm/node_modules/node-gyp',
543
+ npm error gyp info spawn args '-Dnode_lib_file=/Users/justin/Library/Caches/node-gyp/24.13.1/<(target_arch)/node.lib',
544
+ npm error gyp info spawn args '-Dmodule_root_dir=/Users/justin/.nvm/versions/node/v24.13.1/lib/node_modules/claude-memory-layer/node_modules/duckdb',
545
+ npm error gyp info spawn args '-Dnode_engine=v8',
546
+ npm error gyp info spawn args '--depth=.',
547
+ npm error gyp info spawn args '--no-parallel',
548
+ npm error gyp info spawn args '--generator-output',
549
+ npm error gyp info spawn args 'build',
550
+ npm error gyp info spawn args '-Goutput_dir=.'
551
+ npm error gyp info spawn args ]
552
+ npm error gyp info ok
553
+ npm error gyp info it worked if it ends with ok
554
+ npm error gyp info using node-gyp@12.1.0
555
+ npm error gyp info using node@24.13.1 | darwin | arm64
556
+ npm error gyp info spawn make
557
+ npm error gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
558
+ npm error In file included from ../src/duckdb/ub_src_core_functions_aggregate_distributive.cpp:3:
559
+ npm error ../src/duckdb/src/core_functions/aggregate/distributive/arg_min_max.cpp:167:20: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
560
+ npm error 167 | STATE::template ReadValue(finalize_data.result, state.arg, target);
561
+ npm error | ^
562
+ npm error ../src/duckdb/src/core_functions/aggregate/distributive/arg_min_max.cpp:249:20: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
563
+ npm error 249 | STATE::template AssignValue(target.value, source.value);
564
+ npm error | ^
565
+ npm error In file included from ../src/duckdb/ub_src_core_functions_aggregate_distributive.cpp:5:
566
+ npm error ../src/duckdb/src/core_functions/aggregate/distributive/bitagg.cpp:55:17: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
567
+ npm error 55 | OP::template Assign(state, input);
568
+ npm error | ^
569
+ npm error ../src/duckdb/src/core_functions/aggregate/distributive/bitagg.cpp:58:17: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
570
+ npm error 58 | OP::template Execute(state, input);
571
+ npm error | ^
572
+ npm error ../src/duckdb/src/core_functions/aggregate/distributive/bitagg.cpp:81:17: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
573
+ npm error 81 | OP::template Assign(target, source.value);
574
+ npm error | ^
575
+ npm error ../src/duckdb/src/core_functions/aggregate/distributive/bitagg.cpp:84:17: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
576
+ npm error 84 | OP::template Execute(target, source.value);
577
+ npm error | ^
578
+ npm error In file included from ../src/duckdb/ub_src_core_functions_aggregate_distributive.cpp:15:
579
+ npm error ../src/duckdb/src/core_functions/aggregate/distributive/minmax.cpp:490:18: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
580
+ npm error 490 | OP::template Execute(state, input, i, count);
581
+ npm error | ^
582
+ npm error ../src/duckdb/src/core_functions/aggregate/distributive/minmax.cpp:502:17: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
583
+ npm error 502 | OP::template Execute(target, *source.value, 0, 1);
584
+ npm error | ^
585
+ npm error 8 errors generated.
586
+ npm error make: *** [Release/obj.target/duckdb/src/duckdb/ub_src_core_functions_aggregate_distributive.o] Error 1
587
+ npm error gyp ERR! build error
588
+ npm error gyp ERR! stack Error: `make` failed with exit code: 2
589
+ npm error gyp ERR! stack at ChildProcess.<anonymous> (/Users/justin/.nvm/versions/node/v24.13.1/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:219:23)
590
+ npm error gyp ERR! System Darwin 25.2.0
591
+ npm error gyp ERR! command "/Users/justin/.nvm/versions/node/v24.13.1/bin/node" "/Users/justin/.nvm/versions/node/v24.13.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/Users/justin/.nvm/versions/node/v24.13.1/lib/node_modules/claude-memory-layer/node_modules/duckdb/lib/binding/duckdb.node" "--module_name=duckdb" "--module_path=/Users/justin/.nvm/versions/node/v24.13.1/lib/node_modules/claude-memory-layer/node_modules/duckdb/lib/binding" "--napi_version=10" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v137"
592
+ npm error gyp ERR! cwd /Users/justin/.nvm/versions/node/v24.13.1/lib/node_modules/claude-memory-layer/node_modules/duckdb
593
+ npm error gyp ERR! node -v v24.13.1
594
+ npm error gyp ERR! node-gyp -v v12.1.0
595
+ npm error gyp ERR! not ok
596
+ npm error node-pre-gyp ERR! build error
597
+ npm error node-pre-gyp ERR! stack Error: Failed to execute '/Users/justin/.nvm/versions/node/v24.13.1/bin/node /Users/justin/.nvm/versions/node/v24.13.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/Users/justin/.nvm/versions/node/v24.13.1/lib/node_modules/claude-memory-layer/node_modules/duckdb/lib/binding/duckdb.node --module_name=duckdb --module_path=/Users/justin/.nvm/versions/node/v24.13.1/lib/node_modules/claude-memory-layer/node_modules/duckdb/lib/binding --napi_version=10 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v137' (1)
598
+ npm error node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/Users/justin/.nvm/versions/node/v24.13.1/lib/node_modules/claude-memory-layer/node_modules/@mapbox/node-pre-gyp/lib/util/compile.js:89:23)
599
+ npm error node-pre-gyp ERR! stack at ChildProcess.emit (node:events:508:28)
600
+ npm error node-pre-gyp ERR! stack at maybeClose (node:internal/child_process:1101:16)
601
+ npm error node-pre-gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:305:5)
602
+ npm error node-pre-gyp ERR! System Darwin 25.2.0
603
+ npm error node-pre-gyp ERR! command "/Users/justin/.nvm/versions/node/v24.13.1/bin/node" "/Users/justin/.nvm/versions/node/v24.13.1/lib/node_modules/claude-memory-layer/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
604
+ npm error node-pre-gyp ERR! cwd /Users/justin/.nvm/versions/node/v24.13.1/lib/node_modules/claude-memory-layer/node_modules/duckdb
605
+ npm error node-pre-gyp ERR! node -v v24.13.1
606
+ npm error node-pre-gyp ERR! node-pre-gyp -v v1.0.11
607
+ npm error node-pre-gyp ERR! not ok
608
+ npm error A complete log of this run can be found in: /Users/justin/.npm/_logs/2026-03-04T10_53_21_351Z-debug-0.log 배포된 것을 다른 서버에서 설치해서 실행 했을때 위와 같은 에러가 나왔어
609
+ 어떻게 대응하면 좋을지 specs 폴더 아래에 기능 폴더를 만들고 spec.md, plan.md, context.md 를 만들어서 계획을 업데이트 해줘
610
+
611
+ ## 2026-03-04T10:59:50.819Z | ebe65907-70ed-4d31-9d78-632c39e6aefa
612
+ - type: user_prompt
613
+ - session: e3c1fe2b-c018-4532-86d5-7cdd467408f0
614
+ duckdb 를 꼭 쓸 필요가 있는거야? 그냥 기존 SQLite/LanceDB 로 다 되는건 아니야?
615
+ ## 2026-03-04T12:36:55.938Z | 3d84b13a-68ea-4b5c-9dad-dba054388715
616
+ - type: user_prompt
617
+ - session: 2fe5b2e5-83ea-4778-b09b-5264c550ea86
618
+ https://be2f-222-112-203-51.ngrok-free.app/ dashboard 결과를 보고 얼마나 잘 memory 결과가 도움이 되는지 보고, 그동안 기록을 보고 (project - f4d5c120 ) memory 가 더 잘 사용되기 위해서 어떤 부분을 개선하면 좋을지 잘 생각해서 개선안을 설계 해줘 specs 폴더 아래에 기능 폴더를 만들고 spec.md, plan.md, context.md 를 만들어서 계획을 업데이트 해줘
619
+ ## 2026-03-04T12:40:46.256Z | 51f66052-ec65-4868-9346-9ee094fb2433
620
+ - type: user_prompt
621
+ - session: 2fe5b2e5-83ea-4778-b09b-5264c550ea86
622
+ shopping-assistant 프로젝트 key : f4d5c120 에 대해서 분석한 결과로 다시 개선안 만들어줘
623
+ ## 2026-03-04T12:58:55.967Z | 583b611a-b131-438a-a6df-b5193882bb9d
624
+ - type: user_prompt
625
+ - session: 2fe5b2e5-83ea-4778-b09b-5264c550ea86
626
+ 방금 재시작 해서 한번 실행 해봤는데, 위 프로젝트에서 잘 적용 되었는지 확인해줘
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-memory-layer",
3
- "version": "1.0.24",
3
+ "version": "1.0.25",
4
4
  "description": "Claude Code plugin that learns from conversations to provide personalized assistance",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -41,7 +41,6 @@
41
41
  "@huggingface/transformers": "^3.8.1",
42
42
  "better-sqlite3": "^12.6.2",
43
43
  "commander": "^12.0.0",
44
- "duckdb": "^0.10.0",
45
44
  "hono": "^4.0.0",
46
45
  "mongodb": "^6.14.0",
47
46
  "zod": "^3.22.0"
@@ -0,0 +1,145 @@
1
+ # Context: Memory Utilization Improvements
2
+
3
+ ## 분석 대상
4
+
5
+ - **프로젝트**: shopping_assistant
6
+ - **프로젝트 키**: f4d5c120
7
+ - **분석 일자**: 2026-03-04
8
+ - **데이터 기간**: 2026-02-25 ~ 2026-03-04
9
+
10
+ ---
11
+
12
+ ## 실제 측정 데이터
13
+
14
+ ### 전체 지표
15
+
16
+ | 지표 | 값 | 상태 |
17
+ |------|-----|------|
18
+ | 총 이벤트 수 | 1,587 | - |
19
+ | L0 이벤트 | **1,587 (100%)** | 🔴 심각 |
20
+ | L1+ 이벤트 | **0** | 🔴 심각 |
21
+ | 총 세션 수 | 40 (f4d5c120) / 55 (전체) | - |
22
+ | 벡터 수 | 1,586 | - |
23
+ | Retrieval Trace | **1건** | 🔴 심각 |
24
+ | 세션 요약 | **2건** | 🔴 심각 |
25
+ | 검색 후보 선택률 | 100% (5/5) | ⚠️ 경고 |
26
+
27
+ ### 이벤트 유형 분포
28
+
29
+ ```
30
+ Tool Observation: 1,475건 (92.9%) ← 노이즈 지배적
31
+ User Prompt: 94건 (5.9%)
32
+ Agent Response: 16건 (1.0%)
33
+ Session Summary: 2건 (0.1%)
34
+ ```
35
+
36
+ ### 활동 타임라인
37
+
38
+ - 2026-02-25: 521건 (피크)
39
+ - 2026-02-26: 478건 (피크)
40
+ - 2026-03-04: 40건 (당일)
41
+ - 7일 누적: 1,039건
42
+
43
+ ### 주요 세션 샘플
44
+
45
+ | 세션 ID | 이벤트 수 | 지속 시간 | 날짜 |
46
+ |---------|---------|---------|------|
47
+ | 5ef326be | 82 | 11분 | 02-25 |
48
+ | 790b37f6 | 53 | 2시간 | 02-25 |
49
+ | 7302c0af | 69 | - | 02-25 |
50
+ | 49653e19 | 31 | 24분 | 03-04 |
51
+
52
+ ---
53
+
54
+ ## 핵심 발견: 실제 증거
55
+
56
+ ### 발견 1: 검색은 실행되나 Trace가 기록되지 않음
57
+
58
+ User Prompt 이벤트의 metadata를 보면:
59
+
60
+ ```json
61
+ // Turn 1 (첫 번째 턴)
62
+ { "adherence": true, "reason": "first-turn" }
63
+
64
+ // Turn 3
65
+ { "adherence": false, "reason": "skip" }
66
+
67
+ // Turn 4
68
+ { "adherence": false, "reason": "skip" }
69
+
70
+ // Turn 5
71
+ { "adherence": true, "reason": "interval-based" }
72
+ ```
73
+
74
+ **결론**: `adherence: true`인 경우 검색이 실행됨 → 검색 자체는 작동함.
75
+ 그러나 DB에 기록된 retrieval trace는 단 1건.
76
+ **검색 실행 ≠ Trace 기록 성공** → trace INSERT가 실패하거나 비동기 타이밍 문제.
77
+
78
+ ### 발견 2: Embedding 모델 반복 오류
79
+
80
+ 세션 로그에서 확인된 오류들:
81
+
82
+ ```
83
+ "RotaryEmbedding node execution errors"
84
+ "Unknown model class 'eurobert'"
85
+ "8389 tokens exceeding limits"
86
+ "Processing embeddings... ONNX Runtime errors"
87
+ ```
88
+
89
+ 전체 이벤트 1,587건 중 벡터 1,586개 생성 → 거의 임베딩은 됨.
90
+ 하지만 모델 오류가 지속적으로 발생 중이며 사용자에게 오류가 노출되고 있음.
91
+
92
+ ### 발견 3: Cascade Failure 구조
93
+
94
+ ```
95
+ Trace 기록 실패
96
+
97
+ access_count 미증가
98
+
99
+ Graduation 미발생 (L0 고착)
100
+
101
+ 고품질 메모리 없음
102
+
103
+ 검색 품질 저하
104
+
105
+ Helpfulness 측정 불가
106
+
107
+ 개선 피드백 루프 단절
108
+ ```
109
+
110
+ ### 발견 4: Tool Observation 과잉 저장
111
+
112
+ 93%가 tool observation이며 내용은 주로:
113
+ - 일상적인 bash 명령 결과 (ls, grep 출력)
114
+ - 파일 읽기 내용 (반복적)
115
+ - Glob 검색 결과
116
+
117
+ 이 데이터들은 다음 세션에서 재사용 가치가 낮음.
118
+ 오히려 FTS5 검색 코퍼스를 비대화시켜 검색 노이즈 증가.
119
+
120
+ ### 발견 5: Stop Hook 미작동
121
+
122
+ 40 세션 중 세션 요약 2건 → 95%의 세션에서 Stop Hook이 발생하지 않음.
123
+ Session-start의 백필 메커니즘도 요약을 생성하지 못하고 있음.
124
+
125
+ ---
126
+
127
+ ## 시스템 환경
128
+
129
+ - **OS**: Linux 5.15 (Ubuntu)
130
+ - **런타임**: Node.js (TSX)
131
+ - **DB**: SQLite (better-sqlite3)
132
+ - **벡터 DB**: LanceDB
133
+ - **임베딩 모델**: jinaai/jina-embeddings-v5-text-nano-text-matching
134
+ - **대체 모델**: onnx-community/embeddinggemma-300m-ONNX
135
+ - **Heap**: 116MB / 135MB (86% 사용)
136
+
137
+ ---
138
+
139
+ ## 관련 기존 스펙
140
+
141
+ - `specs/20260207-dashboard-upgrade/` - 대시보드 개선
142
+ - `specs/vector-outbox-v2/` - 벡터 임베딩 파이프라인
143
+ - `specs/endless-mode/` - 세션 연속성
144
+ - `specs/entity-edge-model/` - 엔티티 추적
145
+ - `specs/selective-tool-observation/` - Tool observation 선택적 저장 (부분 설계됨)