recallnest 1.4.1 → 2.2.1

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 (233) hide show
  1. package/.env +4 -0
  2. package/CLAUDE.md +7 -3
  3. package/README.md +202 -130
  4. package/README_CN.md +263 -190
  5. package/bin/recallnest.mjs +62 -0
  6. package/config.json +55 -0
  7. package/daily-recall.sh +23 -0
  8. package/integrations/setup-all.sh +31 -0
  9. package/logs/daily-recall.error.log +0 -0
  10. package/logs/daily-recall.log +30 -0
  11. package/logs/ingest-2026-04-11.log +110 -0
  12. package/logs/ingest-2026-04-12.log +90 -0
  13. package/logs/launchagent-stderr.log +0 -0
  14. package/logs/launchagent-stdout.log +0 -0
  15. package/package.json +10 -3
  16. package/src/access-tracker.ts +3 -2
  17. package/src/activity-counter.ts +109 -0
  18. package/src/adaptive-retrieval.ts +6 -5
  19. package/src/admission-control.ts +163 -0
  20. package/src/anchor-generator.ts +80 -0
  21. package/src/api-server.ts +10 -0
  22. package/src/audit-log.ts +122 -0
  23. package/src/auto-gc.ts +98 -29
  24. package/src/auto-recall.ts +33 -4
  25. package/src/capture-engine.ts +372 -23
  26. package/src/cascade-forget.ts +3 -2
  27. package/src/cli.ts +107 -5
  28. package/src/compat.ts +22 -0
  29. package/src/confidence-tracker.ts +210 -47
  30. package/src/conflict-store.ts +12 -3
  31. package/src/consolidation-engine.ts +296 -8
  32. package/src/context-collapse-renderer.ts +222 -0
  33. package/src/context-composer-stable-selection.ts +5 -1
  34. package/src/context-composer.ts +239 -4
  35. package/src/context-reconstructor.ts +404 -0
  36. package/src/conversation-importer.ts +441 -0
  37. package/src/data-checkup.ts +232 -0
  38. package/src/decay-engine.ts +84 -0
  39. package/src/distill-lock.ts +122 -0
  40. package/src/doctor.ts +8 -10
  41. package/src/dream-pipeline.ts +227 -0
  42. package/src/emotion-detector.ts +90 -0
  43. package/src/eval.ts +3 -2
  44. package/src/forget-engine.ts +269 -0
  45. package/src/frequency-tracker.ts +175 -0
  46. package/src/graph-export.ts +644 -0
  47. package/src/ingest.ts +36 -6
  48. package/src/interference-detector.ts +187 -0
  49. package/src/kg-extractor.ts +15 -24
  50. package/src/kg-store.ts +2 -1
  51. package/src/language-hook.ts +67 -0
  52. package/src/llm-client.ts +289 -6
  53. package/src/mcp-server.ts +707 -80
  54. package/src/memory-assets.ts +22 -5
  55. package/src/memory-evolution.ts +365 -0
  56. package/src/memory-lint.ts +429 -0
  57. package/src/memory-output.ts +69 -0
  58. package/src/memory-schema.ts +74 -2
  59. package/src/narrative-schema.ts +79 -0
  60. package/src/narrative-tagger.ts +164 -0
  61. package/src/pii-detector.ts +98 -0
  62. package/src/post-retrieval-filter.ts +76 -0
  63. package/src/prediction-engine.ts +253 -0
  64. package/src/preference-slots.ts +65 -2
  65. package/src/prospective-memory.ts +215 -0
  66. package/src/query-expander.ts +67 -0
  67. package/src/recall-governor.ts +183 -0
  68. package/src/retention-policy.ts +90 -0
  69. package/src/retriever.ts +828 -55
  70. package/src/rif.ts +34 -8
  71. package/src/runtime-config.ts +23 -8
  72. package/src/scope-inventory.ts +4 -3
  73. package/src/scope-policy.ts +4 -0
  74. package/src/session-distiller.ts +307 -0
  75. package/src/session-output.ts +40 -0
  76. package/src/session-schema.ts +37 -0
  77. package/src/session-store.ts +7 -2
  78. package/src/skill-engine.ts +208 -0
  79. package/src/skill-promotion.ts +293 -0
  80. package/src/skill-schema.ts +39 -0
  81. package/src/store.ts +96 -10
  82. package/src/topic-tag.ts +66 -0
  83. package/src/tracker.ts +3 -1
  84. package/src/ui-server.ts +80 -8
  85. package/src/workflow-observation-scope-review.ts +2 -1
  86. package/src/workflow-observation-store.ts +2 -1
  87. package/src/write-verifier.ts +126 -0
  88. package/.claude-plugin/CLAUDE.md +0 -29
  89. package/.claude-plugin/marketplace.json +0 -18
  90. package/.github/workflows/ci.yml +0 -28
  91. package/.mcp.json +0 -9
  92. package/CHANGELOG.md +0 -51
  93. package/DEMO.md +0 -94
  94. package/EVAL.md +0 -89
  95. package/FAILURES.md +0 -75
  96. package/OPERATIONS.md +0 -59
  97. package/ROADMAP.md +0 -198
  98. package/assets/recallnest-workbench.png +0 -0
  99. package/assets/ui/app.js +0 -807
  100. package/assets/ui/index.html +0 -154
  101. package/assets/ui/styles.css +0 -605
  102. package/assets/wechat-qr.jpg +0 -0
  103. package/daily-reflections/2026-03-05.md +0 -15
  104. package/daily-reflections/2026-03-06.md +0 -15
  105. package/daily-reflections/2026-03-07.md +0 -7
  106. package/daily-reflections/2026-03-08.md +0 -34
  107. package/daily-reflections/2026-03-09.md +0 -35
  108. package/daily-reflections/2026-03-10.md +0 -36
  109. package/daily-reflections/2026-03-11.md +0 -35
  110. package/daily-reflections/2026-03-12.md +0 -36
  111. package/daily-reflections/2026-03-13.md +0 -35
  112. package/daily-reflections/2026-03-14.md +0 -35
  113. package/daily-reflections/2026-03-15.md +0 -35
  114. package/daily-reflections/2026-03-16.md +0 -41
  115. package/daily-reflections/2026-03-17.md +0 -10
  116. package/daily-reflections/2026-03-18.md +0 -10
  117. package/daily-reflections/2026-03-19.md +0 -10
  118. package/daily-reflections/2026-03-20.md +0 -10
  119. package/daily-reflections/2026-03-21.md +0 -10
  120. package/daily-reflections/2026-03-22.md +0 -10
  121. package/daily-reflections/2026-03-23.md +0 -10
  122. package/daily-reflections/2026-03-24.md +0 -10
  123. package/daily-reflections/2026-03-25.md +0 -32
  124. package/daily-reflections/2026-03-26.md +0 -37
  125. package/daily-reflections/2026-03-27.md +0 -35
  126. package/daily-reflections/2026-03-28.md +0 -35
  127. package/daily-reflections/2026-03-29.md +0 -35
  128. package/daily-reflections/2026-03-30.md +0 -36
  129. package/daily-reflections/2026-03-31.md +0 -35
  130. package/daily-reflections/2026-04-01.md +0 -35
  131. package/docs/api-reference.md +0 -1291
  132. package/docs/architecture.md +0 -168
  133. package/docs/memory-boundary-contract.md +0 -226
  134. package/docs/memory-categories.md +0 -119
  135. package/docs/pipeline-audit-ultramemory.md +0 -177
  136. package/docs/plans/2026-03-08-query-expansion.md +0 -270
  137. package/docs/plans/2026-03-16-continuity-layer.md +0 -196
  138. package/docs/plans/mcp-tiering-plan.md +0 -126
  139. package/docs/research/recall-quality-audit-2026-03-22.md +0 -153
  140. package/docs/self-evolution.md +0 -198
  141. package/docs/superpowers/plans/2026-03-19-ingest-pipeline-upgrade.md +0 -782
  142. package/docs/superpowers/specs/2026-03-19-ingest-pipeline-upgrade-design.md +0 -77
  143. package/docs/superpowers/specs/2026-03-23-pull-claude-desktop-design.md +0 -95
  144. package/eval/continuity/results-2026-03-16.md +0 -117
  145. package/eval/continuity/results-2026-03-19.md +0 -453
  146. package/eval/continuity/runbook.md +0 -110
  147. package/eval/continuity/seed-cases.md +0 -54
  148. package/eval/reports/2026-03-06-abstract-query-baseline.md +0 -96
  149. package/eval/reports/2026-03-06-aws-ssh-baseline.md +0 -82
  150. package/eval/reports/2026-03-06-baseline.md +0 -82
  151. package/eval/reports/query-expansion.md +0 -138
  152. package/lm +0 -19
  153. package/plan-v1.2-distributable.md +0 -105
  154. package/scripts/archive-distilled-junk.ts +0 -116
  155. package/scripts/backfill-l0l1l2.ts +0 -98
  156. package/scripts/blind-scan.ts +0 -588
  157. package/scripts/cleanup-step1-exact-dups.ts +0 -117
  158. package/scripts/cleanup-step2-template-dups.ts +0 -113
  159. package/scripts/cleanup-step3-stale-content.ts +0 -149
  160. package/scripts/cleanup-step4-orphan-scopes.ts +0 -131
  161. package/scripts/delete-distilled-junk.ts +0 -88
  162. package/scripts/distill-facts.ts +0 -305
  163. package/scripts/health-check.ts +0 -343
  164. package/scripts/incremental-ingest.sh +0 -71
  165. package/scripts/mlp-health-check.ts +0 -382
  166. package/scripts/pull-claude-desktop.ts +0 -515
  167. package/scripts/re-ingest-cc.sh +0 -66
  168. package/scripts/rebalance-memory-health.ts +0 -181
  169. package/scripts/run-desktop-ingest.sh +0 -11
  170. package/scripts/start-server.sh +0 -12
  171. package/scripts/viz-dashboard.html +0 -423
  172. package/scripts/viz-export.ts +0 -703
  173. package/src/__tests__/access-tracker-novelty.test.ts +0 -228
  174. package/src/__tests__/auto-consolidation.test.ts +0 -168
  175. package/src/__tests__/auto-recall.test.ts +0 -131
  176. package/src/__tests__/batch-dedup.test.ts +0 -65
  177. package/src/__tests__/capture-engine.test.ts +0 -1142
  178. package/src/__tests__/capture-heuristic.test.ts +0 -171
  179. package/src/__tests__/cascade-forget.test.ts +0 -210
  180. package/src/__tests__/category-min-scores.test.ts +0 -33
  181. package/src/__tests__/confidence-tracker.test.ts +0 -196
  182. package/src/__tests__/conflict-advisor.test.ts +0 -206
  183. package/src/__tests__/conflict-escalation.test.ts +0 -149
  184. package/src/__tests__/conflict-lifecycle.test.ts +0 -83
  185. package/src/__tests__/conflict-output.test.ts +0 -85
  186. package/src/__tests__/conflict-store.test.ts +0 -374
  187. package/src/__tests__/consolidation-engine.test.ts +0 -181
  188. package/src/__tests__/context-composer-pins.test.ts +0 -64
  189. package/src/__tests__/context-composer-task-selection.test.ts +0 -24
  190. package/src/__tests__/context-renderer.test.ts +0 -91
  191. package/src/__tests__/continuity-eval.test.ts +0 -275
  192. package/src/__tests__/continuity-schema.test.ts +0 -97
  193. package/src/__tests__/core-recall-eval.test.ts +0 -235
  194. package/src/__tests__/core-summary.test.ts +0 -109
  195. package/src/__tests__/dedup-actions.test.ts +0 -58
  196. package/src/__tests__/deterministic-id.test.ts +0 -39
  197. package/src/__tests__/doctor.test.ts +0 -303
  198. package/src/__tests__/drill-down.test.ts +0 -108
  199. package/src/__tests__/embedder.test.ts +0 -122
  200. package/src/__tests__/entity-resolver.test.ts +0 -58
  201. package/src/__tests__/event-segmenter.test.ts +0 -153
  202. package/src/__tests__/hotness-blend.test.ts +0 -76
  203. package/src/__tests__/ingest.test.ts +0 -360
  204. package/src/__tests__/kg-extractor.test.ts +0 -184
  205. package/src/__tests__/kg-store.test.ts +0 -198
  206. package/src/__tests__/llm-consolidation.test.ts +0 -226
  207. package/src/__tests__/memory-boundaries.test.ts +0 -237
  208. package/src/__tests__/memory-health-rebalance.test.ts +0 -144
  209. package/src/__tests__/memory-output.test.ts +0 -215
  210. package/src/__tests__/multi-vector.test.ts +0 -242
  211. package/src/__tests__/ppr-traversal.test.ts +0 -256
  212. package/src/__tests__/preference-guard-smoke.test.ts +0 -211
  213. package/src/__tests__/preference-matcher.test.ts +0 -230
  214. package/src/__tests__/preference-slots.test.ts +0 -106
  215. package/src/__tests__/prospective-memory.test.ts +0 -283
  216. package/src/__tests__/query-entity-detector.test.ts +0 -171
  217. package/src/__tests__/query-expander.test.ts +0 -34
  218. package/src/__tests__/recall-mode.test.ts +0 -64
  219. package/src/__tests__/result-synthesizer.test.ts +0 -198
  220. package/src/__tests__/resume-context.test.ts +0 -4743
  221. package/src/__tests__/retrieval-trace.test.ts +0 -213
  222. package/src/__tests__/retriever-boundary-weight.test.ts +0 -136
  223. package/src/__tests__/retroactive-boost.test.ts +0 -223
  224. package/src/__tests__/scope-inventory.test.ts +0 -200
  225. package/src/__tests__/scope-policy.test.ts +0 -69
  226. package/src/__tests__/session-checkpoint.test.ts +0 -259
  227. package/src/__tests__/session-gc.test.ts +0 -215
  228. package/src/__tests__/store-scope-audit.test.ts +0 -81
  229. package/src/__tests__/temporal-parser.test.ts +0 -241
  230. package/src/__tests__/term-registry.test.ts +0 -121
  231. package/src/__tests__/tool-output-compressor.test.ts +0 -133
  232. package/src/__tests__/version-manager.test.ts +0 -213
  233. package/src/__tests__/workflow-observation.test.ts +0 -400
@@ -1,77 +0,0 @@
1
- # RecallNest Ingest Pipeline Upgrade: Conversation Fragments → Knowledge Extraction
2
-
3
- **Date**: 2026-03-19
4
- **Status**: Approved
5
- **Scope**: Route B (bulk distillation) + Route A (pipeline default change)
6
-
7
- ## Problem
8
-
9
- 29,984 total records; 23,453 (78.2%) are `fact` category — raw conversation slices (`[助手]`/`[用户]` prefixed) with no knowledge extraction. This is the root cause of 96.7% dead memory rate.
10
-
11
- ## Decisions
12
-
13
- | Decision | Choice | Rationale |
14
- |----------|--------|-----------|
15
- | Disposition | New + Archive (B) | Preserve originals for traceability; ~5K new records is not bloat |
16
- | Extraction model | Reuse `smartExtractBatch()` (C) | Already has 6-category prompt + scoring; no new wheel |
17
- | Batch strategy | Dry-run then batch+checkpoint (C→B) | Verify quality first, then fault-tolerant batch |
18
-
19
- ## Route B: Bulk Distillation
20
-
21
- ### New file: `scripts/distill-facts.ts`
22
-
23
- **Modes**:
24
- - `--dry-run`: Process 1 session (~30-50 facts), print results for human review
25
- - Default: Process all sessions with checkpoint
26
-
27
- **Pipeline per batch (20 texts)**:
28
- 1. `smartExtractBatch(texts)` → `SmartExtraction[]` (category, importance, l0, l1)
29
- 2. `embedBatchPassage(extractedTexts)` → vectors
30
- 3. Dedup against existing non-fact records (cosine > 0.80 → skip)
31
- 4. Store new records: `boundary.layer = "durable"`, `boundary.authority = "distillation"`
32
- 5. Archive originals: metadata += `{ archived: true, archivedAt, distilledTo: [ids] }`
33
- 6. Write checkpoint: `data/distill-progress.json` (scope → done/skip)
34
-
35
- **Expected output**: 23K facts → ~3K-5K structured knowledge (5:1 to 8:1 compression)
36
-
37
- ### Archive marking
38
-
39
- ```json
40
- {
41
- "archived": true,
42
- "archivedAt": "2026-03-19T10:00:00Z",
43
- "distilledTo": ["uuid-1", "uuid-2"],
44
- "originalCategory": "fact"
45
- }
46
- ```
47
-
48
- ## Route A: Pipeline Default Change
49
-
50
- ### Changes to `src/ingest.ts`
51
-
52
- 1. `smartExtractBatch()` becomes **default** (was opt-in via `--llm`)
53
- 2. New `--no-llm` flag for fallback mode
54
- 3. LLM failure → don't store raw slice; queue to `data/pending-extraction.json`
55
- 4. Next `lm ingest` auto-retries pending queue
56
-
57
- **Core principle**: Better to skip than to store garbage.
58
-
59
- ### Changes to `src/retriever.ts`
60
-
61
- - Default filter: exclude `archived = true` from search results
62
- - New `includeArchived` parameter for traceability queries
63
-
64
- ## Cost Estimate
65
-
66
- ~1,173 LLM calls (20 texts/batch), ~4.1M input + ~1.2M output tokens.
67
- GPT-4o-mini: ~$1.3 | Gemini Flash: ~$0.7 | Claude Haiku: ~$8
68
-
69
- ## Files to create/modify
70
-
71
- | File | Action |
72
- |------|--------|
73
- | `scripts/distill-facts.ts` | Create — bulk distillation script |
74
- | `src/ingest.ts` | Modify — flip smartExtract default |
75
- | `src/retriever.ts` | Modify — archived filter |
76
- | `data/distill-progress.json` | Auto-created at runtime |
77
- | `data/pending-extraction.json` | Auto-created at runtime |
@@ -1,95 +0,0 @@
1
- # Pull Claude Desktop Conversations into RecallNest
2
-
3
- Date: 2026-03-23
4
-
5
- ## Goal
6
-
7
- One script to pull all historical Claude Desktop / claude.ai conversations and convert them into RecallNest's ingest format, so `lm ingest` can process them through the existing pipeline (noise filter, dedup, LLM extraction, 6-category classification).
8
-
9
- ## Script
10
-
11
- `~/recallnest/scripts/pull-claude-desktop.ts` (Bun runtime)
12
-
13
- ## Authentication
14
-
15
- - `CLAUDE_SESSION_KEY` env var (from browser DevTools → Application → Cookies → claude.ai → `sessionKey`)
16
- - Also accept `--session-key` CLI flag
17
-
18
- ## Data Flow
19
-
20
- ```
21
- sessionKey → GET /api/organizations → orgId
22
- → GET /api/organizations/{orgId}/chat_conversations (paginated, 50/page)
23
- → for each conversation:
24
- GET .../chat_conversations/{id}?tree=True&rendering_mode=messages&render_all_tools=true
25
- → parse branches → extract latest branch message chain
26
- → convert to CC transcript .jsonl
27
- → write to data/desktop-import/{conversationId}.jsonl
28
- ```
29
-
30
- ## Output Format
31
-
32
- Each conversation becomes one `.jsonl` file with entries matching CC transcript schema:
33
-
34
- ```jsonl
35
- {"type":"user","message":{"role":"user","content":"text"},"sessionId":"conv-uuid","timestamp":"2025-01-15T10:00:00Z"}
36
- {"type":"assistant","message":{"role":"assistant","content":"reply"},"sessionId":"conv-uuid","timestamp":"2025-01-15T10:00:01Z"}
37
- ```
38
-
39
- ## Output Directory
40
-
41
- ```
42
- data/desktop-import/
43
- .sync-state.json
44
- {conversation-id}.jsonl
45
- ...
46
- ```
47
-
48
- ## Sync State (Resumable)
49
-
50
- `.sync-state.json` tracks:
51
-
52
- ```json
53
- {
54
- "lastSyncedAt": "ISO8601",
55
- "conversations": {
56
- "conv-id": {
57
- "messageCount": 42,
58
- "updatedAt": "ISO8601",
59
- "pulledAt": "ISO8601"
60
- }
61
- }
62
- }
63
- ```
64
-
65
- Re-run skips conversations whose `updatedAt` hasn't changed since last pull.
66
-
67
- ## Branch Handling
68
-
69
- Claude web conversations support branching (edit/retry). The script extracts only the latest branch by walking `parent_message_uuid` chain from the most recent message backward.
70
-
71
- ## Rate Limiting
72
-
73
- - 200ms delay between conversation detail requests
74
- - On 429 or 5xx: exponential backoff starting at 1s, max 3 retries
75
- - On auth failure (401/403): abort immediately with clear message
76
-
77
- ## Error Handling
78
-
79
- - Single conversation failure does not abort the batch
80
- - Failed conversations logged and reported in final summary
81
- - Summary output: total conversations, pulled, skipped (already synced), failed
82
-
83
- ## Ingest Integration
84
-
85
- After pulling, user runs:
86
-
87
- ```bash
88
- lm ingest --source cc
89
- ```
90
-
91
- Need to verify that ingest scans `data/desktop-import/` or that the path is configurable. If not, the script will symlink or copy files to the CC transcript directory.
92
-
93
- ## Dependencies
94
-
95
- - Only Bun built-ins (fetch, fs, path) — no new npm packages
@@ -1,117 +0,0 @@
1
- # RecallNest Continuity Eval
2
-
3
- - Generated: 2026-03-16T03:35:14.079Z
4
- - Cases: 5
5
- - Passed: 5/5
6
- - Average score: 94.0%
7
-
8
- | Case | Profile | Score | Pass | Stable | Patterns | Cases | Checkpoint |
9
- |------|---------|-------|------|--------|----------|-------|------------|
10
- | writing_style_continuity | writing | 100% | yes | 3 | 1 | 0 | no |
11
- | visual_style_continuity | default | 100% | yes | 3 | 0 | 0 | no |
12
- | project_context_continuity | default | 100% | yes | 1 | 2 | 1 | no |
13
- | workflow_pattern_gap_check | default | 70% | yes | 3 | 3 | 1 | no |
14
- | recallnest_checkpoint_continuity | default | 100% | yes | 3 | 1 | 1 | yes |
15
-
16
- ## Case Notes
17
-
18
- ### writing_style_continuity
19
- - Task: 继续写我的AI小木屋的文章
20
- - Score: 100%
21
- - Pass: yes
22
- - Stable items: 3
23
- - Pattern items: 1
24
- - Case items: 0
25
- - Checkpoint present: no
26
- - Stable preview: Task focus: 小木屋的文章 | Pinned: 用户稳定偏好口语化、不端着、可以自嘲但不说教。表达应像朋友聊天,避免居高临下、用力过猛或碎嘴。 | Pinned: 用户常用视觉风格是手绘涂鸦风加高对比撞色;在内容包装和配图生成时,应优先沿用这一审美方向,除非任务目标明确要求其他风格。
27
- - Pattern preview: Workflow pattern: Promote recurring continuity workflow Use when: When the same startup or handoff workflow repeats a...
28
- - Case preview: -
29
- - Checkpoint summary: -
30
- - Matched stable any: 口语化, 不端着
31
- - Matched stable all: -
32
- - Matched patterns any: -
33
- - Matched cases any: -
34
- - Matched checkpoint any: -
35
- - Forbidden matches: -
36
- - Notes: Fresh windows should carry over stable writing-style preferences.
37
-
38
- ### visual_style_continuity
39
- - Task: 给文章做封面和配图
40
- - Score: 100%
41
- - Pass: yes
42
- - Stable items: 3
43
- - Pattern items: 0
44
- - Case items: 0
45
- - Checkpoint present: no
46
- - Stable preview: Task focus: 给文章做封面和配图 | Pinned: 用户常用视觉风格是手绘涂鸦风加高对比撞色;在内容包装和配图生成时,应优先沿用这一审美方向,除非任务目标明确要求其他风格。 | Pinned: 用户稳定偏好口语化、不端着、可以自嘲但不说教。表达应像朋友聊天,避免居高临下、用力过猛或碎嘴。
47
- - Pattern preview: -
48
- - Case preview: -
49
- - Checkpoint summary: -
50
- - Matched stable any: 手绘涂鸦, 高对比撞色
51
- - Matched stable all: -
52
- - Matched patterns any: -
53
- - Matched cases any: -
54
- - Matched checkpoint any: -
55
- - Forbidden matches: -
56
- - Notes: Visual direction should survive without the user restating it.
57
-
58
- ### project_context_continuity
59
- - Task: 一起继续排查 RecallNest 的连续性问题
60
- - Score: 100%
61
- - Pass: yes
62
- - Stable items: 1
63
- - Pattern items: 2
64
- - Case items: 1
65
- - Checkpoint present: no
66
- - Stable preview: Task focus: recallnest
67
- - Pattern preview: Workflow pattern: Cross-window continuity handoff Use when: When opening a fresh terminal window for the same project... | Workflow pattern: Promote recurring continuity workflow Use when: When the same startup or handoff workflow repeats a...
68
- - Case preview: 我先看真实召回密度,确认问题是不是出在 `scope: recallnest` 太窄。如果当前库里几乎没有这个 scope 的 durable memory,就该让 `resume_context` 更积极地退回到项目名驱动的 glo...
69
- - Checkpoint summary: -
70
- - Matched stable any: RecallNest
71
- - Matched stable all: -
72
- - Matched patterns any: -
73
- - Matched cases any: -
74
- - Matched checkpoint any: -
75
- - Forbidden matches: -
76
- - Notes: Fresh windows should at least recover the active project context.
77
-
78
- ### workflow_pattern_gap_check
79
- - Task: 开个新窗口继续做同一个终端项目
80
- - Score: 70%
81
- - Pass: yes
82
- - Stable items: 3
83
- - Pattern items: 3
84
- - Case items: 1
85
- - Checkpoint present: no
86
- - Stable preview: Task focus: 开个新窗口继续做同一个终端项目 | Pinned: 用户稳定偏好口语化、不端着、可以自嘲但不说教。表达应像朋友聊天,避免居高临下、用力过猛或碎嘴。 | Pinned: 用户偏好先本地测通再上 Bot,避免烧配额;代码改动完成后要求 commit + push,避免本地与 GitHub 版本漂移。
87
- - Pattern preview: Workflow pattern: Cross-window continuity handoff Use when: When opening a fresh terminal window for the same project... | Workflow pattern: Promote recurring continuity workflow Use when: When the same startup or handoff workflow repeats a... | Workflow pattern: Checkpoint before switching windows Use when: When leaving an active coding window that will likely...
88
- - Case preview: Case: Three-terminal continuity trigger validation Problem: Claude Code, Codex, and Gemini CLI were configured with M...
89
- - Checkpoint summary: -
90
- - Matched stable any: -
91
- - Matched stable all: -
92
- - Matched patterns any: resume_context, checkpoint
93
- - Matched cases any: -
94
- - Matched checkpoint any: -
95
- - Forbidden matches: -
96
- - Notes: This is a stretch case. It should start passing as more workflow patterns are promoted into durable memory.
97
-
98
- ### recallnest_checkpoint_continuity
99
- - Task: 继续 recallnest
100
- - Score: 100%
101
- - Pass: yes
102
- - Stable items: 3
103
- - Pattern items: 1
104
- - Case items: 1
105
- - Checkpoint present: yes
106
- - Stable preview: Checkpoint focus: RecallNest continuity layer — 状态交接给下个窗口 | Checkpoint summary: RecallNest Phase 3/4 并行推进中。核心三件套 store_memory/checkpoint_session/resume_context 已上线三端 MCP,但 resum... | Checkpoint decision: Phase 3/4 并行推进,continuity layer 是当前核心方向
107
- - Pattern preview: Workflow pattern: Promote recurring continuity workflow Use when: When the same startup or handoff workflow repeats a...
108
- - Case preview: Case: RecallNest sparse startup context cleanup Problem: resume_context was returning noisy transcript fragments and ...
109
- - Checkpoint summary: RecallNest Phase 3/4 并行推进中。核心三件套 store_memory/checkpoint_session/resume_context 已上线三端 MCP,但 resume_context compose 质量是最大短板——实测只返回 3 条 stable context、0 patter...
110
- - Matched stable any: -
111
- - Matched stable all: -
112
- - Matched patterns any: -
113
- - Matched cases any: -
114
- - Matched checkpoint any: Phase 3, resume_context, store_memory
115
- - Forbidden matches: -
116
- - Notes: When a project checkpoint exists, resume_context should prefer checkpoint-led continuity over noisy transcript fragments.
117
-