Research Assistant
1047c9851d
chore: bump version to 1.5.6
2026-05-19 00:31:32 +08:00
Research Assistant
798e048a8d
feat(sync): auto-detect orphan papers after sync, show modal in Obsidian
...
- prune.py: _enrich_orphan_preview() reads note frontmatter for metadata
- sync_service.py: always run dry-run prune, include in result
- sync.py: write sync-orphan-state.json for plugin consumption
- main.js: add checkOrphanState() + PaperForgeOrphanModal with select/toggle
- styles.css: orphan modal styles (list, tags, dimmed rows)
- cli.py: add --keys to prune command for targeted deletion
2026-05-19 00:31:19 +08:00
Research Assistant
a407520961
feat(prune): add interactive selection before --force delete
2026-05-18 23:28:04 +08:00
Research Assistant
528a8255bf
chore: commit session work before hotfix switch
2026-05-18 22:47:30 +08:00
Research Assistant
e74f9139f3
perf(index): add export hash check to skip rebuild when BBT unchanged; remove redundant refresh_paper
2026-05-18 22:38:27 +08:00
Research Assistant
fe946d5ca4
chore: add phase timing to sync_service logging
2026-05-18 22:33:00 +08:00
Research Assistant
8fd1018cf2
feat(memory): show (fast) in sync output when hash matches
2026-05-18 22:29:53 +08:00
Research Assistant
48b564594c
fix: remove undefined resolved_pdf ref, use pdf_attachments instead
2026-05-18 22:27:33 +08:00
Research Assistant
ad445a52d9
fix(sync): silent vector resume; nopdf resets to pending when PDF reappears
2026-05-18 22:26:48 +08:00
Research Assistant
0d3f3bfe98
fix(vector): get_collection no longer silently deletes collection on error; memory builder skips full rebuild when index hash matches
2026-05-18 22:18:23 +08:00
Research Assistant
945ad633de
fix(sync): embed triggers async with DEVNULL output; memory rebuild runs once in commands layer; PDF errors are expected for missing Zotero files
2026-05-18 22:13:38 +08:00
Research Assistant
fad6eff83e
fix(sync): memory/vector rebuilds are best-effort, not sync result; fix has_deep_reading_content import in asset_index.py
2026-05-18 22:09:42 +08:00
Research Assistant
febaacbcd4
chore: bump version to 1.5.6rc5
2026-05-18 22:00:58 +08:00
Research Assistant
e094457a67
style: fix lint issues (F541 f-strings, B007 unused var, F841 unused var)
2026-05-18 22:00:10 +08:00
Research Assistant
5d01c5f1ee
feat(prune): integrate prune into sync --prune
2026-05-18 21:57:04 +08:00
Research Assistant
d24f2e822d
feat(prune): standalone CLI command
...
Also fix pre-existing import: has_deep_reading_content moved to obsidian_frontmatter
2026-05-18 21:55:01 +08:00
Research Assistant
f13ba8c3f5
feat(prune): standalone CLI command
2026-05-18 21:54:16 +08:00
Research Assistant
20ff03ed8e
fix(prune): protect dir iteration, add OSError handling, improve test coverage
2026-05-18 21:53:14 +08:00
Research Assistant
f10d36d205
feat(prune): core orphan paper cleanup module
2026-05-18 21:48:18 +08:00
Research Assistant
9f013b4cff
feat(plugin): render discussion card from .md with MarkdownRenderer
2026-05-18 21:12:06 +08:00
Research Assistant
5ba9ac92c3
feat(discussion): remove JSON output and markdown escaping
2026-05-18 21:09:54 +08:00
Research Assistant
18aa0073c1
Merge branch 'paperforge-stabilization'
...
# Conflicts:
# paperforge/memory/vector_db.py
2026-05-18 18:47:07 +08:00
Research Assistant
e8bd3c4131
refactor: update worker/asset_index.py and memory/runtime_health.py imports to embedding package
2026-05-18 17:21:43 +08:00
Research Assistant
37fd996086
refactor(commands): update retrieve.py imports to embedding package
2026-05-18 17:20:50 +08:00
Research Assistant
d4949171e6
refactor(commands): update embed.py imports to embedding package
2026-05-18 17:20:18 +08:00
Research Assistant
56c1871eba
refactor(worker): convert vector_db.py to deprecated forwarding shim
2026-05-18 17:19:23 +08:00
Research Assistant
29facca077
refactor(memory): convert vector_db.py to deprecated forwarding shim
2026-05-18 17:18:53 +08:00
Research Assistant
748e440100
feat(embedding): add API-only preflight check
2026-05-18 17:18:04 +08:00
Research Assistant
32d5622ff7
feat(embedding): add get_embed_status() for API-only mode
2026-05-18 17:17:26 +08:00
Research Assistant
755fcf2cd1
feat(embedding): add API-only retrieve_chunks() semantic search
2026-05-18 17:16:51 +08:00
Research Assistant
7e24416712
feat(embedding): add API-only embed_paper() builder
2026-05-18 17:16:15 +08:00
Research Assistant
85b818b0e7
feat(embedding): add build state persistence
2026-05-18 17:15:40 +08:00
Research Assistant
c9cd9ad03e
feat(embedding): add ChromaDB collection manager (store only)
2026-05-18 17:14:50 +08:00
Research Assistant
7bb53dd48d
feat(embedding): add OpenAI-compatible embedding provider
2026-05-18 17:14:18 +08:00
Research Assistant
66e1afbe6d
feat(embedding): add EmbeddingProvider ABC
2026-05-18 17:13:40 +08:00
Research Assistant
5ea4a10b1c
feat(embedding): add config reader for API settings
2026-05-18 17:13:16 +08:00
Research Assistant
1a72b06a82
feat(embedding): create embedding package skeleton
2026-05-18 17:12:14 +08:00
Research Assistant
cef93fa588
fix: close review findings for auto-sync, sync PFResult, and global actions
...
Remove invalid sync --key path from OCR auto-refresh, surface memory rebuild
failures in sync PFResult instead of swallowing them, and complete the
persistent Global action group with Status + Repair.
2026-05-16 23:48:34 +08:00
Research Assistant
f2046e381d
feat: progressive disclosure UX (Package D)
...
Staged setup wizard gating: OCR key and Zotero data no longer block first sync.
Persistent core action visibility: Sync, OCR, Doctor always on Global/Home.
Collapsed Advanced section in Settings for Memory Layer + Vector DB.
OCR/Zotero keys downgraded from blocking validation to optional warnings.
2026-05-16 22:54:05 +08:00
Research Assistant
ed95e0f565
feat: runtime contract hardening + skill/command truth alignment (Package A+B)
...
Atomic snapshots, canonical index mutation serialization, sync post-clean truth,
plugin path config-awareness, embed stop signal honesty, full snapshot bootstrap,
pf_ prefix unification, workflow command/lifecycle/path corrections,
mechanical/cognitive route separation with unknown-command guard.
2026-05-16 22:38:43 +08:00
Research Assistant
53736ab841
fix: i18n hardcoded English, use cached Python, execFile for pip/cache
2026-05-16 00:57:34 +08:00
Research Assistant
f8631c4545
i18n: update openai key desc — model is user-defined below
2026-05-16 00:41:25 +08:00
Research Assistant
d3ef8062e5
fix: add missing require execFile + instant UI clear on mode toggle
2026-05-16 00:34:09 +08:00
Research Assistant
31ae09fac9
feat: make API mode the default (dropdown order + settings default)
2026-05-16 00:28:10 +08:00
Research Assistant
ae57e081a1
i18n: mode-specific dep install/missing text (API→openai only, local→all three)
2026-05-16 00:19:56 +08:00
Research Assistant
dc25b2fa35
fix: detach embed build process from settings tab (survive close)
2026-05-16 00:12:09 +08:00
Research Assistant
18c3ef9ab0
fix: regenerate vector runtime snapshot on vector mode toggle
2026-05-16 00:05:44 +08:00
Research Assistant
406f41700e
fix: mode-aware dep check and install (API→openai only, local→chromadb+sentence-transformers)
2026-05-16 00:03:30 +08:00
Research Assistant
241b8b6d8c
fix: inline memory-state into main.js (Obsidian plugins cannot require local files)
2026-05-15 23:54:49 +08:00
Research Assistant
1a9619cb1a
fix: move memory-state.js to plugin root for Electron require resolution
2026-05-15 23:52:32 +08:00