memorytrace 0.3.1__tar.gz → 0.4.0__tar.gz

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 (265) hide show
  1. memorytrace-0.4.0/.agents/skills/deploy/SKILL.md +97 -0
  2. memorytrace-0.4.0/.agents/skills/review/SKILL.md +84 -0
  3. memorytrace-0.4.0/.agents/skills/sprint/SKILL.md +69 -0
  4. memorytrace-0.4.0/.claude/skills/deploy/SKILL.md +97 -0
  5. memorytrace-0.4.0/.claude/skills/review/SKILL.md +84 -0
  6. memorytrace-0.4.0/.claude/skills/sprint/SKILL.md +69 -0
  7. {memorytrace-0.3.1 → memorytrace-0.4.0}/.claude/workspace/evaluation.md +72 -72
  8. {memorytrace-0.3.1 → memorytrace-0.4.0}/.gitignore +1 -0
  9. memorytrace-0.4.0/AGENTS.md +209 -0
  10. {memorytrace-0.3.1 → memorytrace-0.4.0}/CLAUDE.md +209 -209
  11. memorytrace-0.4.0/PKG-INFO +105 -0
  12. memorytrace-0.4.0/README.md +65 -0
  13. {memorytrace-0.3.1 → memorytrace-0.4.0}/claude-setup/.claude/hooks/session-memory-load.sh +35 -35
  14. {memorytrace-0.3.1 → memorytrace-0.4.0}/claude-setup/.claude/hooks/stop-memory-save.sh +52 -52
  15. {memorytrace-0.3.1 → memorytrace-0.4.0}/claude-setup/install.sh +290 -290
  16. {memorytrace-0.3.1 → memorytrace-0.4.0}/docs/01-project-analysis/04-directory-structure.md +20 -20
  17. memorytrace-0.4.0/docs/01-project-analysis/05-cli-commands.md +75 -0
  18. memorytrace-0.4.0/docs/01-project-analysis/09-setup-guide.md +138 -0
  19. {memorytrace-0.3.1 → memorytrace-0.4.0}/docs/02-problem-analysis/14-engram-code-review-2026-04-12.md +346 -346
  20. {memorytrace-0.3.1 → memorytrace-0.4.0}/docs/02-problem-analysis/15-engram-code-review-followup-2026-04-12.md +371 -371
  21. {memorytrace-0.3.1 → memorytrace-0.4.0}/docs/02-problem-analysis/16-engram-code-review-round3-2026-04-12.md +295 -295
  22. {memorytrace-0.3.1 → memorytrace-0.4.0}/docs/02-problem-analysis/17-engram-code-review-round4-and-korean-ner-plan-2026-04-12.md +314 -314
  23. {memorytrace-0.3.1 → memorytrace-0.4.0}/docs/02-problem-analysis/18-engram-cli-ux-issues-2026-04-13.md +281 -281
  24. memorytrace-0.4.0/docs/03-improvement-plan/23-engram-next-capabilities-roadmap-2026-04-16.md +253 -0
  25. memorytrace-0.4.0/docs/04-usage-guide/01-quickstart.md +86 -0
  26. memorytrace-0.4.0/docs/04-usage-guide/02-claude-code-setup.md +137 -0
  27. {memorytrace-0.3.1 → memorytrace-0.4.0}/docs/05-windows-compatibility/windows-encoding.md +95 -95
  28. memorytrace-0.4.0/docs/README.md +37 -0
  29. memorytrace-0.4.0/docs/superpowers/plans/2026-04-16-backlinks-decisions-maintenance.md +704 -0
  30. memorytrace-0.4.0/docs/superpowers/plans/2026-04-16-entity-governance.md +426 -0
  31. memorytrace-0.4.0/docs/superpowers/plans/2026-04-16-follow-up-task-recommendations.md +271 -0
  32. memorytrace-0.4.0/docs/superpowers/plans/2026-04-16-freshness-verification.md +502 -0
  33. memorytrace-0.4.0/docs/superpowers/plans/2026-04-16-goal-aware-retrieval-reranking.md +625 -0
  34. memorytrace-0.4.0/docs/superpowers/plans/2026-04-16-governance-split-merge-recommendations.md +485 -0
  35. memorytrace-0.4.0/docs/superpowers/plans/2026-04-16-phase0-provenance-trace.md +590 -0
  36. memorytrace-0.4.0/docs/superpowers/plans/2026-04-16-projection-reranking-phase1.md +83 -0
  37. memorytrace-0.4.0/docs/superpowers/plans/2026-04-16-retention-recommendations.md +480 -0
  38. memorytrace-0.4.0/docs/superpowers/plans/2026-04-16-scoped-memory-job-runner.md +445 -0
  39. memorytrace-0.4.0/docs/superpowers/specs/2026-04-16-backlinks-decisions-maintenance-design.md +558 -0
  40. memorytrace-0.4.0/docs/superpowers/specs/2026-04-16-entity-governance-design.md +251 -0
  41. memorytrace-0.4.0/docs/superpowers/specs/2026-04-16-follow-up-task-recommendations-design.md +202 -0
  42. memorytrace-0.4.0/docs/superpowers/specs/2026-04-16-freshness-verification-design.md +339 -0
  43. memorytrace-0.4.0/docs/superpowers/specs/2026-04-16-governance-split-merge-recommendations-design.md +246 -0
  44. memorytrace-0.4.0/docs/superpowers/specs/2026-04-16-phase0-provenance-trace-design.md +332 -0
  45. memorytrace-0.4.0/docs/superpowers/specs/2026-04-16-projection-reranking-phase1-design.md +217 -0
  46. memorytrace-0.4.0/docs/superpowers/specs/2026-04-16-retention-recommendations-design.md +276 -0
  47. memorytrace-0.4.0/docs/superpowers/specs/2026-04-16-scoped-memory-job-runner-design.md +313 -0
  48. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/__init__.py +1 -1
  49. memorytrace-0.4.0/engram/cli/app.py +1465 -0
  50. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/cli/simple.py +372 -372
  51. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/config.py +5 -0
  52. memorytrace-0.4.0/engram/debug/__init__.py +5 -0
  53. memorytrace-0.4.0/engram/debug/service.py +458 -0
  54. memorytrace-0.4.0/engram/decisions/__init__.py +1 -0
  55. memorytrace-0.4.0/engram/decisions/service.py +159 -0
  56. memorytrace-0.4.0/engram/engine.py +1921 -0
  57. memorytrace-0.4.0/engram/explanations/__init__.py +5 -0
  58. memorytrace-0.4.0/engram/explanations/builder.py +112 -0
  59. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/extraction/llm_extractor.py +3 -3
  60. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/extraction/ner/korean.py +176 -176
  61. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/extraction/regex_extractor.py +1 -1
  62. memorytrace-0.4.0/engram/freshness/__init__.py +6 -0
  63. memorytrace-0.4.0/engram/freshness/service.py +301 -0
  64. memorytrace-0.4.0/engram/governance/__init__.py +5 -0
  65. memorytrace-0.4.0/engram/governance/service.py +287 -0
  66. memorytrace-0.4.0/engram/intake/__init__.py +5 -0
  67. memorytrace-0.4.0/engram/intake/service.py +694 -0
  68. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/integrations/mcp_server.py +2 -2
  69. memorytrace-0.4.0/engram/jobs/__init__.py +1 -0
  70. memorytrace-0.4.0/engram/jobs/service.py +65 -0
  71. memorytrace-0.4.0/engram/maintenance/__init__.py +1 -0
  72. memorytrace-0.4.0/engram/maintenance/service.py +54 -0
  73. memorytrace-0.4.0/engram/models/brief.py +395 -0
  74. memorytrace-0.4.0/engram/models/debug.py +193 -0
  75. memorytrace-0.4.0/engram/models/decision.py +65 -0
  76. memorytrace-0.4.0/engram/models/explanation.py +104 -0
  77. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/models/fact.py +8 -1
  78. memorytrace-0.4.0/engram/models/governance.py +64 -0
  79. memorytrace-0.4.0/engram/models/health.py +156 -0
  80. memorytrace-0.4.0/engram/models/intake.py +187 -0
  81. memorytrace-0.4.0/engram/models/job.py +26 -0
  82. memorytrace-0.4.0/engram/models/maintenance.py +64 -0
  83. memorytrace-0.4.0/engram/models/memory_type.py +131 -0
  84. memorytrace-0.4.0/engram/models/reference.py +37 -0
  85. memorytrace-0.4.0/engram/models/retention.py +91 -0
  86. memorytrace-0.4.0/engram/models/scope.py +40 -0
  87. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/models/search.py +96 -52
  88. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/models/session.py +1 -0
  89. memorytrace-0.4.0/engram/models/snapshot.py +151 -0
  90. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/models/source.py +4 -3
  91. memorytrace-0.4.0/engram/models/verification.py +78 -0
  92. memorytrace-0.4.0/engram/models/view.py +53 -0
  93. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/quality/confidence.py +2 -12
  94. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/quality/conflict.py +27 -9
  95. memorytrace-0.4.0/engram/quality/decay.py +33 -0
  96. memorytrace-0.4.0/engram/quality/decay_policy.py +94 -0
  97. memorytrace-0.4.0/engram/quality/diagnostics.py +743 -0
  98. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/quality/gate.py +13 -2
  99. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/quality/pii.py +43 -1
  100. memorytrace-0.4.0/engram/recommendations/__init__.py +5 -0
  101. memorytrace-0.4.0/engram/recommendations/service.py +447 -0
  102. memorytrace-0.4.0/engram/references/__init__.py +1 -0
  103. memorytrace-0.4.0/engram/references/service.py +151 -0
  104. memorytrace-0.4.0/engram/retention/__init__.py +5 -0
  105. memorytrace-0.4.0/engram/retention/service.py +121 -0
  106. memorytrace-0.4.0/engram/safety/__init__.py +17 -0
  107. memorytrace-0.4.0/engram/safety/paths.py +138 -0
  108. memorytrace-0.4.0/engram/scopes/__init__.py +1 -0
  109. memorytrace-0.4.0/engram/scopes/service.py +76 -0
  110. memorytrace-0.4.0/engram/search/base.py +22 -0
  111. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/search/fts5_search.py +41 -1
  112. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/search/hybrid.py +9 -0
  113. memorytrace-0.4.0/engram/search/reranker.py +50 -0
  114. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/search/semantic.py +8 -4
  115. memorytrace-0.4.0/engram/session/brief.py +472 -0
  116. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/session/context.py +2 -2
  117. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/session/manager.py +44 -6
  118. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/session/working_memory.py +4 -0
  119. memorytrace-0.4.0/engram/snapshots/__init__.py +5 -0
  120. memorytrace-0.4.0/engram/snapshots/service.py +528 -0
  121. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/storage/base.py +5 -1
  122. memorytrace-0.4.0/engram/storage/migrations.py +492 -0
  123. memorytrace-0.4.0/engram/storage/sqlite_store.py +2112 -0
  124. memorytrace-0.4.0/mem +8 -0
  125. {memorytrace-0.3.1 → memorytrace-0.4.0}/pyproject.toml +6 -4
  126. memorytrace-0.4.0/tests/fixtures/explanation_scenarios.py +8 -0
  127. memorytrace-0.4.0/tests/fixtures/retrieval_scenarios.py +17 -0
  128. memorytrace-0.4.0/tests/test_cli/test_app.py +522 -0
  129. memorytrace-0.4.0/tests/test_cli/test_entrypoints.py +33 -0
  130. memorytrace-0.4.0/tests/test_debug/test_service.py +206 -0
  131. memorytrace-0.4.0/tests/test_decisions/__init__.py +1 -0
  132. memorytrace-0.4.0/tests/test_decisions/test_service.py +44 -0
  133. memorytrace-0.4.0/tests/test_engine.py +784 -0
  134. memorytrace-0.4.0/tests/test_engine_security.py +156 -0
  135. memorytrace-0.4.0/tests/test_explanations/test_builder.py +97 -0
  136. memorytrace-0.4.0/tests/test_freshness/test_service.py +103 -0
  137. memorytrace-0.4.0/tests/test_governance/test_entity_governance.py +86 -0
  138. memorytrace-0.4.0/tests/test_intake/test_security.py +135 -0
  139. memorytrace-0.4.0/tests/test_intake/test_service.py +211 -0
  140. memorytrace-0.4.0/tests/test_jobs/__init__.py +1 -0
  141. memorytrace-0.4.0/tests/test_jobs/test_service.py +40 -0
  142. memorytrace-0.4.0/tests/test_logic_round4.py +170 -0
  143. memorytrace-0.4.0/tests/test_logic_round5.py +123 -0
  144. memorytrace-0.4.0/tests/test_logic_round6.py +104 -0
  145. memorytrace-0.4.0/tests/test_maintenance/__init__.py +1 -0
  146. memorytrace-0.4.0/tests/test_maintenance/test_service.py +27 -0
  147. memorytrace-0.4.0/tests/test_perf_round7.py +311 -0
  148. memorytrace-0.4.0/tests/test_perf_round8.py +168 -0
  149. memorytrace-0.4.0/tests/test_perf_round9.py +44 -0
  150. memorytrace-0.4.0/tests/test_quality/test_diagnostics.py +320 -0
  151. memorytrace-0.4.0/tests/test_quality/test_memory_type.py +251 -0
  152. memorytrace-0.4.0/tests/test_references/__init__.py +1 -0
  153. memorytrace-0.4.0/tests/test_references/test_service.py +50 -0
  154. memorytrace-0.4.0/tests/test_retention/test_retention_service.py +59 -0
  155. memorytrace-0.4.0/tests/test_scopes/__init__.py +1 -0
  156. memorytrace-0.4.0/tests/test_scopes/test_service.py +30 -0
  157. memorytrace-0.4.0/tests/test_search/test_reranker.py +36 -0
  158. memorytrace-0.4.0/tests/test_security_round3.py +146 -0
  159. memorytrace-0.4.0/tests/test_session/__init__.py +0 -0
  160. memorytrace-0.4.0/tests/test_session/test_brief.py +354 -0
  161. memorytrace-0.4.0/tests/test_snapshots/__init__.py +0 -0
  162. memorytrace-0.4.0/tests/test_snapshots/test_security.py +71 -0
  163. memorytrace-0.4.0/tests/test_snapshots/test_service.py +238 -0
  164. memorytrace-0.4.0/tests/test_storage/__init__.py +0 -0
  165. memorytrace-0.4.0/tests/test_storage/test_migrations.py +327 -0
  166. memorytrace-0.3.1/PKG-INFO +0 -138
  167. memorytrace-0.3.1/README.md +0 -100
  168. memorytrace-0.3.1/docs/01-project-analysis/01-overview.md +0 -49
  169. memorytrace-0.3.1/docs/01-project-analysis/02-tech-stack.md +0 -60
  170. memorytrace-0.3.1/docs/01-project-analysis/03-architecture.md +0 -171
  171. memorytrace-0.3.1/docs/01-project-analysis/05-cli-commands.md +0 -95
  172. memorytrace-0.3.1/docs/01-project-analysis/06-core-features.md +0 -200
  173. memorytrace-0.3.1/docs/01-project-analysis/07-storage-model.md +0 -173
  174. memorytrace-0.3.1/docs/01-project-analysis/08-design-decisions.md +0 -151
  175. memorytrace-0.3.1/docs/01-project-analysis/09-setup-guide.md +0 -181
  176. memorytrace-0.3.1/docs/02-problem-analysis/10-problem-analysis.md +0 -394
  177. memorytrace-0.3.1/docs/02-problem-analysis/11-agent-memory-critique.md +0 -398
  178. memorytrace-0.3.1/docs/02-problem-analysis/13-markdown-storage-problems.md +0 -646
  179. memorytrace-0.3.1/docs/03-improvement-plan/12-improvements-blueprint.md +0 -817
  180. memorytrace-0.3.1/docs/04-usage-guide/01-quickstart.md +0 -273
  181. memorytrace-0.3.1/docs/04-usage-guide/02-claude-code-setup.md +0 -161
  182. memorytrace-0.3.1/docs/README.md +0 -45
  183. memorytrace-0.3.1/engram/cli/app.py +0 -301
  184. memorytrace-0.3.1/engram/engine.py +0 -783
  185. memorytrace-0.3.1/engram/quality/decay.py +0 -28
  186. memorytrace-0.3.1/engram/search/base.py +0 -20
  187. memorytrace-0.3.1/engram/storage/migrations.py +0 -30
  188. memorytrace-0.3.1/engram/storage/sqlite_store.py +0 -748
  189. memorytrace-0.3.1/mem +0 -139
  190. memorytrace-0.3.1/tests/test_cli/test_app.py +0 -166
  191. memorytrace-0.3.1/tests/test_engine.py +0 -159
  192. {memorytrace-0.3.1 → memorytrace-0.4.0}/LICENSE +0 -0
  193. {memorytrace-0.3.1 → memorytrace-0.4.0}/claude-setup/.claude/agents/evaluator.md +0 -0
  194. {memorytrace-0.3.1 → memorytrace-0.4.0}/claude-setup/.claude/agents/planner.md +0 -0
  195. {memorytrace-0.3.1 → memorytrace-0.4.0}/claude-setup/.claude/agents/researcher.md +0 -0
  196. {memorytrace-0.3.1 → memorytrace-0.4.0}/claude-setup/.claude/agents/security-reviewer.md +0 -0
  197. {memorytrace-0.3.1 → memorytrace-0.4.0}/claude-setup/.claude/hooks/README.md +0 -0
  198. {memorytrace-0.3.1 → memorytrace-0.4.0}/claude-setup/.claude/hooks/on-stop-checkpoint.sh +0 -0
  199. {memorytrace-0.3.1 → memorytrace-0.4.0}/claude-setup/.claude/hooks/on-stop-verify.sh +0 -0
  200. {memorytrace-0.3.1 → memorytrace-0.4.0}/claude-setup/.claude/hooks/post-edit-completeness.sh +0 -0
  201. {memorytrace-0.3.1 → memorytrace-0.4.0}/claude-setup/.claude/hooks/post-edit-lint.sh +0 -0
  202. {memorytrace-0.3.1 → memorytrace-0.4.0}/claude-setup/.claude/hooks/post-edit-robustness.sh +0 -0
  203. {memorytrace-0.3.1 → memorytrace-0.4.0}/claude-setup/.claude/hooks/pre-compact-save.sh +0 -0
  204. {memorytrace-0.3.1 → memorytrace-0.4.0}/claude-setup/.claude/rules/harness-design.md +0 -0
  205. {memorytrace-0.3.1 → memorytrace-0.4.0}/claude-setup/.claude/rules/production-robustness.md +0 -0
  206. {memorytrace-0.3.1 → memorytrace-0.4.0}/claude-setup/.claude/settings.json +0 -0
  207. {memorytrace-0.3.1 → memorytrace-0.4.0}/claude-setup/.claude/skills/deploy/SKILL.md +0 -0
  208. {memorytrace-0.3.1 → memorytrace-0.4.0}/claude-setup/.claude/skills/memory-context/SKILL.md +0 -0
  209. {memorytrace-0.3.1 → memorytrace-0.4.0}/claude-setup/.claude/skills/memory-find/SKILL.md +0 -0
  210. {memorytrace-0.3.1 → memorytrace-0.4.0}/claude-setup/.claude/skills/memory-save/SKILL.md +0 -0
  211. {memorytrace-0.3.1 → memorytrace-0.4.0}/claude-setup/.claude/skills/review/SKILL.md +0 -0
  212. {memorytrace-0.3.1 → memorytrace-0.4.0}/claude-setup/.claude/skills/sprint/SKILL.md +0 -0
  213. {memorytrace-0.3.1 → memorytrace-0.4.0}/claude-setup/.claude/skills/thorough/SKILL.md +0 -0
  214. {memorytrace-0.3.1 → memorytrace-0.4.0}/claude-setup/.gitignore +0 -0
  215. {memorytrace-0.3.1 → memorytrace-0.4.0}/claude-setup/CLAUDE.md +0 -0
  216. {memorytrace-0.3.1 → memorytrace-0.4.0}/claude-setup/README.md +0 -0
  217. {memorytrace-0.3.1 → memorytrace-0.4.0}/claude-setup/blog-post.md +0 -0
  218. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/__main__.py +0 -0
  219. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/cli/__init__.py +0 -0
  220. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/cli/formatters.py +0 -0
  221. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/exceptions.py +0 -0
  222. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/extraction/__init__.py +0 -0
  223. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/extraction/base.py +0 -0
  224. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/extraction/ner/__init__.py +0 -0
  225. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/extraction/ner/cjk.py +0 -0
  226. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/extraction/ner/english.py +0 -0
  227. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/integrations/__init__.py +0 -0
  228. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/integrations/sdk.py +0 -0
  229. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/models/__init__.py +0 -0
  230. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/models/entity.py +0 -0
  231. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/models/quality.py +0 -0
  232. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/models/relation.py +0 -0
  233. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/quality/__init__.py +0 -0
  234. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/search/__init__.py +0 -0
  235. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/search/tokenizer.py +0 -0
  236. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/session/__init__.py +0 -0
  237. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/storage/__init__.py +0 -0
  238. {memorytrace-0.3.1 → memorytrace-0.4.0}/engram/storage/markdown_export.py +0 -0
  239. {memorytrace-0.3.1 → memorytrace-0.4.0}/tests/__init__.py +0 -0
  240. {memorytrace-0.3.1 → memorytrace-0.4.0}/tests/conftest.py +0 -0
  241. {memorytrace-0.3.1 → memorytrace-0.4.0}/tests/fixtures/__init__.py +0 -0
  242. {memorytrace-0.3.1 → memorytrace-0.4.0}/tests/test_cli/__init__.py +0 -0
  243. {memorytrace-0.3.1/tests/test_extraction → memorytrace-0.4.0/tests/test_debug}/__init__.py +0 -0
  244. {memorytrace-0.3.1 → memorytrace-0.4.0}/tests/test_e2e.py +0 -0
  245. {memorytrace-0.3.1/tests/test_extraction/test_ner → memorytrace-0.4.0/tests/test_extraction}/__init__.py +0 -0
  246. {memorytrace-0.3.1 → memorytrace-0.4.0}/tests/test_extraction/test_llm_extractor.py +0 -0
  247. {memorytrace-0.3.1/tests/test_integrations → memorytrace-0.4.0/tests/test_extraction/test_ner}/__init__.py +0 -0
  248. {memorytrace-0.3.1 → memorytrace-0.4.0}/tests/test_extraction/test_ner/test_english.py +0 -0
  249. {memorytrace-0.3.1 → memorytrace-0.4.0}/tests/test_extraction/test_ner/test_korean.py +0 -0
  250. {memorytrace-0.3.1 → memorytrace-0.4.0}/tests/test_extraction/test_regex_extractor.py +0 -0
  251. {memorytrace-0.3.1/tests/test_quality → memorytrace-0.4.0/tests/test_intake}/__init__.py +0 -0
  252. {memorytrace-0.3.1/tests/test_search → memorytrace-0.4.0/tests/test_integrations}/__init__.py +0 -0
  253. {memorytrace-0.3.1 → memorytrace-0.4.0}/tests/test_integrations/test_mcp_server.py +0 -0
  254. {memorytrace-0.3.1/tests/test_session → memorytrace-0.4.0/tests/test_quality}/__init__.py +0 -0
  255. {memorytrace-0.3.1 → memorytrace-0.4.0}/tests/test_quality/test_confidence.py +0 -0
  256. {memorytrace-0.3.1 → memorytrace-0.4.0}/tests/test_quality/test_conflict.py +0 -0
  257. {memorytrace-0.3.1 → memorytrace-0.4.0}/tests/test_quality/test_gate.py +0 -0
  258. {memorytrace-0.3.1 → memorytrace-0.4.0}/tests/test_quality/test_pii.py +0 -0
  259. {memorytrace-0.3.1/tests/test_storage → memorytrace-0.4.0/tests/test_search}/__init__.py +0 -0
  260. {memorytrace-0.3.1 → memorytrace-0.4.0}/tests/test_search/test_fts5_search.py +0 -0
  261. {memorytrace-0.3.1 → memorytrace-0.4.0}/tests/test_search/test_semantic.py +0 -0
  262. {memorytrace-0.3.1 → memorytrace-0.4.0}/tests/test_search/test_tokenizer.py +0 -0
  263. {memorytrace-0.3.1 → memorytrace-0.4.0}/tests/test_session/test_manager.py +0 -0
  264. {memorytrace-0.3.1 → memorytrace-0.4.0}/tests/test_session/test_working_memory.py +0 -0
  265. {memorytrace-0.3.1 → memorytrace-0.4.0}/tests/test_storage/test_sqlite_store.py +0 -0
@@ -0,0 +1,97 @@
1
+ ---
2
+ name: deploy
3
+ description: 배포 워크플로우를 실행할 때 사용. 사전 검증, 배포 실행, 사후 확인의 3단계로 안전한 배포를 보장한다.
4
+ ---
5
+
6
+ # Deploy — 배포 워크플로우
7
+
8
+ ## 개요
9
+
10
+ 배포는 되돌리기 어려운 작업이므로 체계적 검증이 필수.
11
+ 사전 검증 → 배포 실행 → 사후 확인의 3단계를 따른다.
12
+
13
+ ## Phase 1: 사전 검증 (Pre-deploy)
14
+
15
+ 배포 전 반드시 확인:
16
+
17
+ ```
18
+ - [ ] 모든 테스트 통과 (전체 스위트)
19
+ - [ ] 빌드 성공 (프로덕션 빌드)
20
+ - [ ] 린트/타입체크 클린
21
+ - [ ] 환경변수 확인 (프로덕션 값 세팅)
22
+ - [ ] 마이그레이션 필요 여부 확인
23
+ - [ ] 변경사항 요약 준비
24
+ ```
25
+
26
+ ### 검증 명령 실행
27
+
28
+ ```bash
29
+ # 프로젝트에 맞게 교체 <!-- TODO -->
30
+ npm run build # 빌드
31
+ npm test # 테스트
32
+ npm run lint # 린트
33
+ npm run typecheck # 타입체크
34
+ ```
35
+
36
+ 하나라도 실패하면 배포 진행 금지.
37
+
38
+ ## Phase 2: 배포 실행
39
+
40
+ ### 배포 전 확인
41
+
42
+ 사용자에게 최종 확인:
43
+ ```
44
+ 배포 준비 완료:
45
+ - 환경: <production/staging>
46
+ - 브랜치: <branch-name>
47
+ - 변경사항: <요약>
48
+ - 마이그레이션: <있음/없음>
49
+
50
+ 진행하시겠습니까?
51
+ ```
52
+
53
+ ### 배포 명령
54
+
55
+ ```bash
56
+ # 프로젝트에 맞게 교체 <!-- TODO -->
57
+ # 예시:
58
+ git push origin main
59
+ # 또는
60
+ npm run deploy
61
+ # 또는
62
+ gh workflow run deploy.yml
63
+ ```
64
+
65
+ ## Phase 3: 사후 확인 (Post-deploy)
66
+
67
+ ```
68
+ - [ ] 배포 성공 확인 (CI/CD 상태)
69
+ - [ ] 헬스체크 통과
70
+ - [ ] 핵심 기능 스모크 테스트
71
+ - [ ] 에러 모니터링 확인 (로그, 알림)
72
+ - [ ] 배포 결과 팀에 공유
73
+ ```
74
+
75
+ ## 롤백 계획
76
+
77
+ 배포 전에 롤백 방법을 항상 준비:
78
+ ```bash
79
+ # 프로젝트에 맞게 교체 <!-- TODO -->
80
+ # 예시:
81
+ git revert HEAD
82
+ # 또는
83
+ # 이전 배포 버전 재배포
84
+ ```
85
+
86
+ ## 금지 사항
87
+
88
+ - 테스트/빌드 실패 상태에서 배포
89
+ - 사용자 확인 없이 프로덕션 배포
90
+ - 롤백 계획 없이 배포
91
+ - 금요일 오후 배포 (팀 합의 없이)
92
+
93
+ ## 규칙
94
+
95
+ - 배포는 항상 사용자의 명시적 승인 후 실행
96
+ - 모든 단계에서 증거 기반 확인
97
+ - 문제 발생 시 즉시 롤백, 원인 조사는 이후
@@ -0,0 +1,84 @@
1
+ ---
2
+ name: review
3
+ description: 구조화된 코드 리뷰 워크플로우. 보안 → 로직 → 성능 → 구조 → 컨벤션 순서로 5단계 순차 리뷰를 진행한다. /review 또는 "코드리뷰 해줘"로 호출.
4
+ ---
5
+
6
+ # Code Review Workflow
7
+
8
+ ## 사용법
9
+
10
+ ```
11
+ /review # 스테이징된 변경사항 리뷰
12
+ /review path/to/file.ts # 특정 파일 리뷰
13
+ /review --branch feat/xxx # 브랜치 전체 변경사항 리뷰
14
+ ```
15
+
16
+ ## 리뷰 대상 결정
17
+
18
+ 1. `$ARGUMENTS`가 있으면 해당 파일/브랜치 대상
19
+ 2. 없으면 `git diff --staged` → 스테이징된 변경사항
20
+ 3. 스테이징도 없으면 `git diff` → 언스테이징된 변경사항
21
+ 4. 변경사항이 없으면 사용자에게 리뷰 대상을 질문
22
+
23
+ ## 5단계 순차 리뷰
24
+
25
+ ### Step 1: 보안 (Security)
26
+
27
+ - 하드코딩된 시크릿, API 키, 크레덴셜
28
+ - SQL 인젝션, XSS, 커맨드 인젝션 가능성
29
+ - 인증/인가 우회 가능성
30
+ - 민감 데이터 로깅 여부
31
+
32
+ ### Step 2: 로직 (Logic)
33
+
34
+ - 엣지 케이스 누락 (null, empty, boundary)
35
+ - 오프바이원 에러
36
+ - 레이스 컨디션
37
+ - 에러 핸들링 누락 또는 삼킴(swallowing)
38
+
39
+ ### Step 3: 성능 (Performance)
40
+
41
+ - N+1 쿼리, 불필요한 반복
42
+ - 메모리 누수 가능성 (이벤트 리스너, 타이머 미정리)
43
+ - 대용량 데이터셋에서의 시간복잡도
44
+ - 불필요한 리렌더링 (프론트엔드)
45
+
46
+ ### Step 4: 구조 (Architecture)
47
+
48
+ - 단일 책임 원칙 위반
49
+ - 순환 의존성
50
+ - 레이어 경계 침범 (예: UI에서 DB 직접 접근)
51
+ - 기존 패턴과의 불일치
52
+
53
+ ### Step 5: 컨벤션 (Convention)
54
+
55
+ - 네이밍 일관성
56
+ - 프로젝트 코드 스타일 준수
57
+ - 불필요한 주석, TODO, console.log
58
+ - 테스트 커버리지
59
+
60
+ ## 출력 형식
61
+
62
+ 각 단계별로 아래 형식을 따른다:
63
+
64
+ ```
65
+ ### Step N: 카테고리명
66
+ - ✅ 통과 항목 요약
67
+ - ⚠️ 경고: [파일:라인] 설명 + 제안
68
+ - ❌ 심각: [파일:라인] 설명 + 수정 필수
69
+ ```
70
+
71
+ 최종 요약:
72
+
73
+ ```
74
+ ### 종합
75
+ - 심각: N건 / 경고: M건 / 통과: K건
76
+ - 머지 가능 여부: ✅ 가능 / ⚠️ 조건부 / ❌ 수정 필요
77
+ ```
78
+
79
+ ## 규칙
80
+
81
+ - 추측하지 않는다 — 코드를 직접 읽고 판단
82
+ - "아마 괜찮을 것"이라고 넘기지 않는다
83
+ - 수정 제안 시 구체적인 코드 예시 포함
84
+ - 칭찬할 부분이 있으면 언급 (좋은 패턴, 깔끔한 구현)
@@ -0,0 +1,69 @@
1
+ ---
2
+ name: sprint
3
+ description: 대규모 기능을 체계적으로 구현할 때 사용. 브레인스토밍 → 계획 → 실행 → 리뷰 → 완료의 전체 개발 사이클을 관리한다.
4
+ ---
5
+
6
+ # Sprint — 대규모 기능 구현 사이클
7
+
8
+ ## 개요
9
+
10
+ 단일 기능을 브레인스토밍부터 완료까지 전체 사이클로 관리한다.
11
+ 각 단계에서 해당 전문 스킬을 호출하여 품질을 보장한다.
12
+
13
+ ## 스프린트 흐름
14
+
15
+ ```
16
+ 1. 브레인스토밍 → brainstorming 스킬
17
+ 2. 계획 작성 → writing-plans 스킬
18
+ 3. 환경 준비 → using-git-worktrees 스킬
19
+ 4. 계획 실행 → executing-plans 또는 subagent-driven-development 스킬
20
+ 5. 코드 리뷰 → requesting-code-review 스킬
21
+ 6. 브랜치 완료 → finishing-a-development-branch 스킬
22
+ ```
23
+
24
+ ## 시작 방법
25
+
26
+ ```
27
+ /sprint <기능 설명>
28
+ ```
29
+
30
+ ### Phase 1: 브레인스토밍
31
+ - 사용자 의도와 요구사항 탐색
32
+ - 2-3가지 접근법 제안
33
+ - 설계 승인 후 설계 문서 저장
34
+
35
+ ### Phase 2: 계획 작성
36
+ - 설계를 2-5분 단위 태스크로 분해
37
+ - 파일 경로, 코드, 테스트, 명령어 포함
38
+ - 계획 문서 저장
39
+
40
+ ### Phase 3: 환경 준비
41
+ - Git worktree로 격리 환경 생성
42
+ - 의존성 설치
43
+ - 베이스라인 테스트 통과 확인
44
+
45
+ ### Phase 4: 계획 실행
46
+ - 태스크별 TDD 사이클 (Red-Green-Refactor)
47
+ - 각 태스크 후 검증
48
+ - 블로커 발생 시 중단 후 논의
49
+
50
+ ### Phase 5: 코드 리뷰
51
+ - 전체 변경사항 리뷰
52
+ - Critical/Important 이슈 수정
53
+ - 전체 테스트 스위트 통과 확인
54
+
55
+ ### Phase 6: 브랜치 완료
56
+ - 4가지 옵션 (머지/PR/유지/폐기) 제시
57
+ - 선택 실행 및 정리
58
+
59
+ ## 체크포인트
60
+
61
+ 각 Phase 완료 시:
62
+ - 진행 상태 저장 (`docs/plans/` 내)
63
+ - 컨텍스트가 70% 이상이면 상태 저장 후 세션 정리 권장
64
+
65
+ ## 규칙
66
+
67
+ - Phase 순서를 건너뛰지 않는다
68
+ - 각 Phase에서 해당 전문 스킬을 반드시 따른다
69
+ - 사용자 승인 없이 다음 Phase로 넘어가지 않는다
@@ -0,0 +1,97 @@
1
+ ---
2
+ name: deploy
3
+ description: 배포 워크플로우를 실행할 때 사용. 사전 검증, 배포 실행, 사후 확인의 3단계로 안전한 배포를 보장한다.
4
+ ---
5
+
6
+ # Deploy — 배포 워크플로우
7
+
8
+ ## 개요
9
+
10
+ 배포는 되돌리기 어려운 작업이므로 체계적 검증이 필수.
11
+ 사전 검증 → 배포 실행 → 사후 확인의 3단계를 따른다.
12
+
13
+ ## Phase 1: 사전 검증 (Pre-deploy)
14
+
15
+ 배포 전 반드시 확인:
16
+
17
+ ```
18
+ - [ ] 모든 테스트 통과 (전체 스위트)
19
+ - [ ] 빌드 성공 (프로덕션 빌드)
20
+ - [ ] 린트/타입체크 클린
21
+ - [ ] 환경변수 확인 (프로덕션 값 세팅)
22
+ - [ ] 마이그레이션 필요 여부 확인
23
+ - [ ] 변경사항 요약 준비
24
+ ```
25
+
26
+ ### 검증 명령 실행
27
+
28
+ ```bash
29
+ # 프로젝트에 맞게 교체 <!-- TODO -->
30
+ npm run build # 빌드
31
+ npm test # 테스트
32
+ npm run lint # 린트
33
+ npm run typecheck # 타입체크
34
+ ```
35
+
36
+ 하나라도 실패하면 배포 진행 금지.
37
+
38
+ ## Phase 2: 배포 실행
39
+
40
+ ### 배포 전 확인
41
+
42
+ 사용자에게 최종 확인:
43
+ ```
44
+ 배포 준비 완료:
45
+ - 환경: <production/staging>
46
+ - 브랜치: <branch-name>
47
+ - 변경사항: <요약>
48
+ - 마이그레이션: <있음/없음>
49
+
50
+ 진행하시겠습니까?
51
+ ```
52
+
53
+ ### 배포 명령
54
+
55
+ ```bash
56
+ # 프로젝트에 맞게 교체 <!-- TODO -->
57
+ # 예시:
58
+ git push origin main
59
+ # 또는
60
+ npm run deploy
61
+ # 또는
62
+ gh workflow run deploy.yml
63
+ ```
64
+
65
+ ## Phase 3: 사후 확인 (Post-deploy)
66
+
67
+ ```
68
+ - [ ] 배포 성공 확인 (CI/CD 상태)
69
+ - [ ] 헬스체크 통과
70
+ - [ ] 핵심 기능 스모크 테스트
71
+ - [ ] 에러 모니터링 확인 (로그, 알림)
72
+ - [ ] 배포 결과 팀에 공유
73
+ ```
74
+
75
+ ## 롤백 계획
76
+
77
+ 배포 전에 롤백 방법을 항상 준비:
78
+ ```bash
79
+ # 프로젝트에 맞게 교체 <!-- TODO -->
80
+ # 예시:
81
+ git revert HEAD
82
+ # 또는
83
+ # 이전 배포 버전 재배포
84
+ ```
85
+
86
+ ## 금지 사항
87
+
88
+ - 테스트/빌드 실패 상태에서 배포
89
+ - 사용자 확인 없이 프로덕션 배포
90
+ - 롤백 계획 없이 배포
91
+ - 금요일 오후 배포 (팀 합의 없이)
92
+
93
+ ## 규칙
94
+
95
+ - 배포는 항상 사용자의 명시적 승인 후 실행
96
+ - 모든 단계에서 증거 기반 확인
97
+ - 문제 발생 시 즉시 롤백, 원인 조사는 이후
@@ -0,0 +1,84 @@
1
+ ---
2
+ name: review
3
+ description: 구조화된 코드 리뷰 워크플로우. 보안 → 로직 → 성능 → 구조 → 컨벤션 순서로 5단계 순차 리뷰를 진행한다. /review 또는 "코드리뷰 해줘"로 호출.
4
+ ---
5
+
6
+ # Code Review Workflow
7
+
8
+ ## 사용법
9
+
10
+ ```
11
+ /review # 스테이징된 변경사항 리뷰
12
+ /review path/to/file.ts # 특정 파일 리뷰
13
+ /review --branch feat/xxx # 브랜치 전체 변경사항 리뷰
14
+ ```
15
+
16
+ ## 리뷰 대상 결정
17
+
18
+ 1. `$ARGUMENTS`가 있으면 해당 파일/브랜치 대상
19
+ 2. 없으면 `git diff --staged` → 스테이징된 변경사항
20
+ 3. 스테이징도 없으면 `git diff` → 언스테이징된 변경사항
21
+ 4. 변경사항이 없으면 사용자에게 리뷰 대상을 질문
22
+
23
+ ## 5단계 순차 리뷰
24
+
25
+ ### Step 1: 보안 (Security)
26
+
27
+ - 하드코딩된 시크릿, API 키, 크레덴셜
28
+ - SQL 인젝션, XSS, 커맨드 인젝션 가능성
29
+ - 인증/인가 우회 가능성
30
+ - 민감 데이터 로깅 여부
31
+
32
+ ### Step 2: 로직 (Logic)
33
+
34
+ - 엣지 케이스 누락 (null, empty, boundary)
35
+ - 오프바이원 에러
36
+ - 레이스 컨디션
37
+ - 에러 핸들링 누락 또는 삼킴(swallowing)
38
+
39
+ ### Step 3: 성능 (Performance)
40
+
41
+ - N+1 쿼리, 불필요한 반복
42
+ - 메모리 누수 가능성 (이벤트 리스너, 타이머 미정리)
43
+ - 대용량 데이터셋에서의 시간복잡도
44
+ - 불필요한 리렌더링 (프론트엔드)
45
+
46
+ ### Step 4: 구조 (Architecture)
47
+
48
+ - 단일 책임 원칙 위반
49
+ - 순환 의존성
50
+ - 레이어 경계 침범 (예: UI에서 DB 직접 접근)
51
+ - 기존 패턴과의 불일치
52
+
53
+ ### Step 5: 컨벤션 (Convention)
54
+
55
+ - 네이밍 일관성
56
+ - 프로젝트 코드 스타일 준수
57
+ - 불필요한 주석, TODO, console.log
58
+ - 테스트 커버리지
59
+
60
+ ## 출력 형식
61
+
62
+ 각 단계별로 아래 형식을 따른다:
63
+
64
+ ```
65
+ ### Step N: 카테고리명
66
+ - ✅ 통과 항목 요약
67
+ - ⚠️ 경고: [파일:라인] 설명 + 제안
68
+ - ❌ 심각: [파일:라인] 설명 + 수정 필수
69
+ ```
70
+
71
+ 최종 요약:
72
+
73
+ ```
74
+ ### 종합
75
+ - 심각: N건 / 경고: M건 / 통과: K건
76
+ - 머지 가능 여부: ✅ 가능 / ⚠️ 조건부 / ❌ 수정 필요
77
+ ```
78
+
79
+ ## 규칙
80
+
81
+ - 추측하지 않는다 — 코드를 직접 읽고 판단
82
+ - "아마 괜찮을 것"이라고 넘기지 않는다
83
+ - 수정 제안 시 구체적인 코드 예시 포함
84
+ - 칭찬할 부분이 있으면 언급 (좋은 패턴, 깔끔한 구현)
@@ -0,0 +1,69 @@
1
+ ---
2
+ name: sprint
3
+ description: 대규모 기능을 체계적으로 구현할 때 사용. 브레인스토밍 → 계획 → 실행 → 리뷰 → 완료의 전체 개발 사이클을 관리한다.
4
+ ---
5
+
6
+ # Sprint — 대규모 기능 구현 사이클
7
+
8
+ ## 개요
9
+
10
+ 단일 기능을 브레인스토밍부터 완료까지 전체 사이클로 관리한다.
11
+ 각 단계에서 해당 전문 스킬을 호출하여 품질을 보장한다.
12
+
13
+ ## 스프린트 흐름
14
+
15
+ ```
16
+ 1. 브레인스토밍 → brainstorming 스킬
17
+ 2. 계획 작성 → writing-plans 스킬
18
+ 3. 환경 준비 → using-git-worktrees 스킬
19
+ 4. 계획 실행 → executing-plans 또는 subagent-driven-development 스킬
20
+ 5. 코드 리뷰 → requesting-code-review 스킬
21
+ 6. 브랜치 완료 → finishing-a-development-branch 스킬
22
+ ```
23
+
24
+ ## 시작 방법
25
+
26
+ ```
27
+ /sprint <기능 설명>
28
+ ```
29
+
30
+ ### Phase 1: 브레인스토밍
31
+ - 사용자 의도와 요구사항 탐색
32
+ - 2-3가지 접근법 제안
33
+ - 설계 승인 후 설계 문서 저장
34
+
35
+ ### Phase 2: 계획 작성
36
+ - 설계를 2-5분 단위 태스크로 분해
37
+ - 파일 경로, 코드, 테스트, 명령어 포함
38
+ - 계획 문서 저장
39
+
40
+ ### Phase 3: 환경 준비
41
+ - Git worktree로 격리 환경 생성
42
+ - 의존성 설치
43
+ - 베이스라인 테스트 통과 확인
44
+
45
+ ### Phase 4: 계획 실행
46
+ - 태스크별 TDD 사이클 (Red-Green-Refactor)
47
+ - 각 태스크 후 검증
48
+ - 블로커 발생 시 중단 후 논의
49
+
50
+ ### Phase 5: 코드 리뷰
51
+ - 전체 변경사항 리뷰
52
+ - Critical/Important 이슈 수정
53
+ - 전체 테스트 스위트 통과 확인
54
+
55
+ ### Phase 6: 브랜치 완료
56
+ - 4가지 옵션 (머지/PR/유지/폐기) 제시
57
+ - 선택 실행 및 정리
58
+
59
+ ## 체크포인트
60
+
61
+ 각 Phase 완료 시:
62
+ - 진행 상태 저장 (`docs/plans/` 내)
63
+ - 컨텍스트가 70% 이상이면 상태 저장 후 세션 정리 권장
64
+
65
+ ## 규칙
66
+
67
+ - Phase 순서를 건너뛰지 않는다
68
+ - 각 Phase에서 해당 전문 스킬을 반드시 따른다
69
+ - 사용자 승인 없이 다음 Phase로 넘어가지 않는다
@@ -1,72 +1,72 @@
1
- # Evaluation: Engram 3-Session Vibe Coding E2E Simulation
2
-
3
- ## Verdict: PASS
4
-
5
- ## Test Results Summary
6
-
7
- | Step | Test | Status | Details |
8
- |------|------|--------|---------|
9
- | Session 1 - Save #1 | Tech stack save | PASS | Saved successfully, no entities auto-detected |
10
- | Session 1 - Save #2 | Church model save | PASS | Saved successfully |
11
- | Session 1 - Save #3 | JWT auth save | PASS | Saved, entities detected: Access Token, Refresh Token |
12
- | Session 1 - Save #4 | Kakao map save | PASS | Saved successfully |
13
- | Session 1 - Save #5 | Session summary save | PASS | Saved successfully |
14
- | Session 2 - Save #1 | Review model save | PASS | Saved successfully |
15
- | Session 2 - Save #2 | CORS fix save | PASS | Saved successfully |
16
- | Session 2 - Save #3 | PostGIS search save | PASS | Saved successfully |
17
- | Session 2 - Save #4 | Session summary save | PASS | Saved successfully |
18
- | Session 3 - recent 10 | All 9 notes returned | PASS | All 9 notes listed in reverse chronological order |
19
- | Session 3 - find JWT | JWT note found | PASS | Returned exact match |
20
- | Session 3 - find CORS | CORS note found | PASS | Returned exact match |
21
- | Session 3 - find Review | Review model found | PASS | Returned exact match |
22
- | Session 3 - find PostGIS | PostGIS notes found | PASS | Returned 3 matching notes (tech stack, PostGIS specific, Church model) |
23
- | Session 3 - status | Correct counts | PASS | 2 entities, 0 facts, 9 notes, 0 conflicts, healthy |
24
- | Dedup - duplicate save | No new note created | PASS | Output said "Updated" (not "Saved"), notes stayed at 9 |
25
- | Delete - preview | Shows matching note | PASS | Found 1 note, displayed preview, showed confirm command |
26
- | Delete - confirm | Note deleted | PASS | "Deleted 1 note(s)" |
27
- | Delete - verify gone | Search returns nothing | PASS | "Nothing found for CORS" |
28
- | Delete - count check | Notes dropped to 8 | PASS | Status shows 8 notes |
29
-
30
- ## Criteria Results
31
-
32
- | Criterion | Status | Notes |
33
- |-----------|--------|-------|
34
- | Multi-session persistence | PASS | Notes saved in session 1 and 2 fully retrievable in session 3 |
35
- | Korean text handling | PASS | All Korean content stored and retrieved without corruption |
36
- | Search accuracy | PASS | All 4 search queries returned correct results |
37
- | Deduplication | PASS | Exact duplicate did not increment notes count (stayed at 9) |
38
- | Delete preview (safe mode) | PASS | Without --confirm, shows preview only and prompts for confirmation |
39
- | Delete execution | PASS | With --confirm, deletes the note and confirms count |
40
- | Delete verification | PASS | Deleted note no longer appears in search |
41
- | Entity auto-detection | PASS | Detected "Access Token" and "Refresh Token" as entities from JWT note |
42
- | Status reporting | PASS | Accurate counts at every checkpoint |
43
-
44
- ## Issues Found
45
-
46
- ### [Issue 1 - Severity: Low]
47
- - **What**: Entity auto-detection is sparse -- only 2 entities detected across 9 notes containing terms like "NestJS", "Prisma", "PostgreSQL", "PostGIS", "Church", "Review", "JWT", "CORS"
48
- - **Where**: Entity extraction logic (internal to engram)
49
- - **Expected**: More domain terms would be recognized as entities
50
- - **Actual**: Only "Access Token" and "Refresh Token" were detected (2 entities total)
51
- - **Fix suggestion**: This is a minor observation. The entity detection appears to focus on capitalized multi-word terms. Not a functional problem since `find` search works correctly regardless.
52
-
53
- ### [Issue 2 - Severity: Low]
54
- - **What**: `engram recent 10` requested 10 notes but only 9 existed -- no error or warning, just returned all 9
55
- - **Where**: `recent` subcommand
56
- - **Expected**: This is actually correct behavior (return up to N)
57
- - **Actual**: Correct -- returned all 9 without error
58
- - **Fix suggestion**: No fix needed, this is the expected behavior.
59
-
60
- ## Regressions
61
-
62
- None detected. All core operations (save, find, recent, status, delete-note, dedup) function correctly.
63
-
64
- ## Summary
65
-
66
- All 20 test steps passed. The engram tool correctly handles:
67
- - Persistent storage across simulated sessions
68
- - Korean (UTF-8) content without corruption
69
- - Full-text search returning accurate results
70
- - Deduplication of exact-match notes (count stays stable)
71
- - Two-phase delete (preview then confirm) with verification
72
- - Accurate status reporting at every checkpoint
1
+ # Evaluation: Engram 3-Session Vibe Coding E2E Simulation
2
+
3
+ ## Verdict: PASS
4
+
5
+ ## Test Results Summary
6
+
7
+ | Step | Test | Status | Details |
8
+ |------|------|--------|---------|
9
+ | Session 1 - Save #1 | Tech stack save | PASS | Saved successfully, no entities auto-detected |
10
+ | Session 1 - Save #2 | Church model save | PASS | Saved successfully |
11
+ | Session 1 - Save #3 | JWT auth save | PASS | Saved, entities detected: Access Token, Refresh Token |
12
+ | Session 1 - Save #4 | Kakao map save | PASS | Saved successfully |
13
+ | Session 1 - Save #5 | Session summary save | PASS | Saved successfully |
14
+ | Session 2 - Save #1 | Review model save | PASS | Saved successfully |
15
+ | Session 2 - Save #2 | CORS fix save | PASS | Saved successfully |
16
+ | Session 2 - Save #3 | PostGIS search save | PASS | Saved successfully |
17
+ | Session 2 - Save #4 | Session summary save | PASS | Saved successfully |
18
+ | Session 3 - recent 10 | All 9 notes returned | PASS | All 9 notes listed in reverse chronological order |
19
+ | Session 3 - find JWT | JWT note found | PASS | Returned exact match |
20
+ | Session 3 - find CORS | CORS note found | PASS | Returned exact match |
21
+ | Session 3 - find Review | Review model found | PASS | Returned exact match |
22
+ | Session 3 - find PostGIS | PostGIS notes found | PASS | Returned 3 matching notes (tech stack, PostGIS specific, Church model) |
23
+ | Session 3 - status | Correct counts | PASS | 2 entities, 0 facts, 9 notes, 0 conflicts, healthy |
24
+ | Dedup - duplicate save | No new note created | PASS | Output said "Updated" (not "Saved"), notes stayed at 9 |
25
+ | Delete - preview | Shows matching note | PASS | Found 1 note, displayed preview, showed confirm command |
26
+ | Delete - confirm | Note deleted | PASS | "Deleted 1 note(s)" |
27
+ | Delete - verify gone | Search returns nothing | PASS | "Nothing found for CORS" |
28
+ | Delete - count check | Notes dropped to 8 | PASS | Status shows 8 notes |
29
+
30
+ ## Criteria Results
31
+
32
+ | Criterion | Status | Notes |
33
+ |-----------|--------|-------|
34
+ | Multi-session persistence | PASS | Notes saved in session 1 and 2 fully retrievable in session 3 |
35
+ | Korean text handling | PASS | All Korean content stored and retrieved without corruption |
36
+ | Search accuracy | PASS | All 4 search queries returned correct results |
37
+ | Deduplication | PASS | Exact duplicate did not increment notes count (stayed at 9) |
38
+ | Delete preview (safe mode) | PASS | Without --confirm, shows preview only and prompts for confirmation |
39
+ | Delete execution | PASS | With --confirm, deletes the note and confirms count |
40
+ | Delete verification | PASS | Deleted note no longer appears in search |
41
+ | Entity auto-detection | PASS | Detected "Access Token" and "Refresh Token" as entities from JWT note |
42
+ | Status reporting | PASS | Accurate counts at every checkpoint |
43
+
44
+ ## Issues Found
45
+
46
+ ### [Issue 1 - Severity: Low]
47
+ - **What**: Entity auto-detection is sparse -- only 2 entities detected across 9 notes containing terms like "NestJS", "Prisma", "PostgreSQL", "PostGIS", "Church", "Review", "JWT", "CORS"
48
+ - **Where**: Entity extraction logic (internal to engram)
49
+ - **Expected**: More domain terms would be recognized as entities
50
+ - **Actual**: Only "Access Token" and "Refresh Token" were detected (2 entities total)
51
+ - **Fix suggestion**: This is a minor observation. The entity detection appears to focus on capitalized multi-word terms. Not a functional problem since `find` search works correctly regardless.
52
+
53
+ ### [Issue 2 - Severity: Low]
54
+ - **What**: `engram recent 10` requested 10 notes but only 9 existed -- no error or warning, just returned all 9
55
+ - **Where**: `recent` subcommand
56
+ - **Expected**: This is actually correct behavior (return up to N)
57
+ - **Actual**: Correct -- returned all 9 without error
58
+ - **Fix suggestion**: No fix needed, this is the expected behavior.
59
+
60
+ ## Regressions
61
+
62
+ None detected. All core operations (save, find, recent, status, delete-note, dedup) function correctly.
63
+
64
+ ## Summary
65
+
66
+ All 20 test steps passed. The engram tool correctly handles:
67
+ - Persistent storage across simulated sessions
68
+ - Korean (UTF-8) content without corruption
69
+ - Full-text search returning accurate results
70
+ - Deduplication of exact-match notes (count stays stable)
71
+ - Two-phase delete (preview then confirm) with verification
72
+ - Accurate status reporting at every checkpoint
@@ -18,3 +18,4 @@ build/
18
18
  .env
19
19
  .venv/
20
20
  venv/
21
+ .worktrees/