Commit graph

1003 commits

Author SHA1 Message Date
Research Assistant
503f3c64bc fix: correct ocr_redo property insertion — find block end, avoid broken YAML 2026-06-01 11:48:14 +08:00
Research Assistant
b98e58de84 fix: add ocr_redo property to Base file properties section 2026-06-01 11:43:17 +08:00
Research Assistant
82fffc6ffe fix: address code review issues — fulltext_md_path clear, key validation, redo no auto-run, ribbon button 2026-06-01 11:36:29 +08:00
Research Assistant
26f1b64639 feat: add 重做OCR ribbon button to plugin 2026-06-01 11:30:31 +08:00
Research Assistant
9c4d150da6 feat: add paperforge ocr redo command for re-running OCR on marked papers 2026-06-01 11:29:06 +08:00
Research Assistant
8cc493967e fix: add ocr_redo to expected frontmatter fields in test 2026-06-01 11:25:24 +08:00
Research Assistant
37768d15be feat: add ocr_redo frontmatter field + sync preservation 2026-06-01 11:23:32 +08:00
Research Assistant
363b0cb962 feat: surgical append missing standard views to existing base files 2026-06-01 11:20:03 +08:00
Research Assistant
e269c0b8d8 fix: correct base filter syntax to Obsidian standard (== and double quotes) 2026-06-01 11:16:53 +08:00
Research Assistant
d10c29bd96 feat: slim base views to 4, add ocr redo view 2026-06-01 11:09:38 +08:00
Research Assistant
c1c5b9b8ba feat: bump PaddleOCR model from VL-1.5 to VL-1.6 2026-06-01 00:32:46 +08:00
Research Assistant
dde9c903fe feat: wire layered OCR pipeline into render_page_blocks + fixture-backed integration tests 2026-06-01 00:10:04 +08:00
Research Assistant
5abdd51ca7 docs: describe layered OCR reading-order pipeline 2026-06-01 00:02:45 +08:00
Research Assistant
8e67557245 feat: add OCR emission layer and regression tests 2026-06-01 00:01:39 +08:00
Research Assistant
7406689746 feat: add OCR layered modules (roles, body spine, layout, attach) 2026-06-01 00:01:05 +08:00
Research Assistant
5d9560d5f1 fix: use REPO_ROOT absolute path in fixture inventory test 2026-05-31 23:55:32 +08:00
Research Assistant
c4af80fd06 test: add OCR reading-order fixture inventory 2026-05-31 23:52:55 +08:00
Research Assistant
7f0e6cfb18 bump: 1.5.13 -> 1.5.14 2026-05-31 20:56:15 +08:00
Research Assistant
3d820ad5c9 fix(sync): avoid prune crash when optional deps are missing 2026-05-31 20:55:17 +08:00
Research Assistant
925b4d0957 test(ocr): add block order rendering regressions 2026-05-31 20:55:17 +08:00
Research Assistant
181f77052c fix(base): use configured folder filter for fresh base views 2026-05-31 20:55:16 +08:00
Research Assistant
537e77c343 test: preserve setup behavior without OCR key 2026-05-31 20:22:38 +08:00
Research Assistant
12da738083 fix: run Zotero filesystem checks for all non-OCR step-3 paths 2026-05-31 20:21:36 +08:00
Research Assistant
2a319ab9b6 fix: wire shouldBlockStep3 into _validateStep3 2026-05-31 20:18:32 +08:00
Research Assistant
18e90a4f6f feat: allow skipping OCR key during setup 2026-05-31 20:15:22 +08:00
Research Assistant
07d032e420 feat: preserve user tags during sync 2026-05-31 20:01:16 +08:00
Research Assistant
49a8c307c1 test: cover preserved frontmatter tags 2026-05-31 19:52:37 +08:00
Research Assistant
b58205940e fix(ocr): use block_order primary + bbox validation to fix column interleaving
- block_sort_key() now sorts by block_order (from PaddleOCR API) as primary key,
  falling back to Y coordinate only when block_order is unavailable.
- Added validate_block_order() to verify sort results with bbox geometry:
  - Detects excessive column switches (more than 3) and falls back to
    column-major reading order (left col then right col, each sorted by Y).
  - Within each column, re-sorts blocks by Y if block_order places them
    in non-monotonic order.
- Fixes 2-column PDFs where text blocks from left and right columns were
  interleaved due to Y-coordinate sorting (affected 85% of OCR'd papers).
2026-05-31 19:02:29 +08:00
Research Assistant
03ad9ce64f feat: stabilize paperforge query planning 2026-05-27 21:20:15 +08:00
Research Assistant
f68f45f3a2 fix: improve search accuracy with multi-token LIKE and guided agent search queries
- _like_query: split multi-token queries into per-field AND matching
- lookup_paper: same multi-token AND for title lookup
- read-known-paper.md: restructure Step 1 by known-info type (zotero_key,
  DOI, author+year, title keyword, fuzzy)
- discover-papers.md Arm 2: note on author+year search pattern
- retrieval-routing.md Arm 2: same author+year search guidance
2026-05-25 16:42:11 +08:00
Research Assistant
69d822daff chore: add 1.5.13 to versions.json 2026-05-25 12:25:30 +08:00
Research Assistant
8a494a30d4 bump: 1.5.12 -> 1.5.13 2026-05-25 12:25:12 +08:00
Research Assistant
cce3aefa30 fix(plugin): add missing .plugins level in plugin lookup; throttle Notice spam in _runAction 2026-05-25 12:19:47 +08:00
Research Assistant
424164f967 fix: remove v prefix from git tag references in install URLs; update versions.json 2026-05-25 11:45:11 +08:00
Research Assistant
d8b897d893 bump: 1.5.11 -> 1.5.12 2026-05-25 11:43:11 +08:00
Research Assistant
4c4ab2b0a1 chore: remove stale root files (_check_deploy.py, command/) 2026-05-24 20:08:27 +08:00
Research Assistant
15bf3c6529 test: clean up brittle and low-value tests
- Remove 4 broken Python test files (ld_deep x3, path_normalization)
- Fix 2 vector_db tests to mock get_collection instead of chromadb.PersistentClient
- Remove 2 JS test files (settings-panels, vector-ready — trivial)
- Trim 3 buildRuntimeInstallCommand tests from errors.test.ts
- Narrow CI unit-tests to only run tests/unit/ (gate-level)
2026-05-24 20:00:47 +08:00
Research Assistant
3619fe264f Revert "test: clean up brittle and low-value tests"
This reverts commit 5ad9a54a66.
2026-05-24 19:59:24 +08:00
Research Assistant
5ad9a54a66 test: clean up brittle and low-value tests
- Remove 4 broken Python test files (ld_deep x3, path_normalization)
- Fix 2 vector_db tests to use correct mock target (get_collection)
- Remove 2 JS test files (settings-panels, vector-ready — trivial)
- Trim 3 buildRuntimeInstallCommand tests from errors.test.ts
- Narrow CI unit-tests to only run tests/unit/ (gate-level)
2026-05-24 19:59:14 +08:00
Research Assistant
b74da81b0e ci: add npm run build step to release/publish workflows
After TS migration, main.js is now a build artifact from src/main.ts.
Both workflows must build the plugin before creating the release artifact.
2026-05-24 19:54:51 +08:00
Research Assistant
f1d8bb869c feat(plugin): migrate monolithic main.js to modular TypeScript source tree
Extract 4977-line main.js into 9 focused TypeScript modules under src/:
- src/main.ts (thin lifecycle entry, ~324 lines)
- src/services/memory-state.ts, python-bridge.ts
- src/views/dashboard.ts, modals.ts
- src/settings.ts, constants.ts, i18n.ts
- src/utils/disclosure.ts

Build with esbuild → main.js (CJS). All 48 tests passing.
2026-05-24 19:49:11 +08:00
Research Assistant
51e78676e9 chore(plugin): finalize TS migration -- delete legacy testable.js 2026-05-24 17:33:22 +08:00
Research Assistant
3106e300ab test(plugin): migrate runtime test to TypeScript 2026-05-24 17:32:01 +08:00
Research Assistant
a448cc8295 test(plugin): migrate vector-ready test to TypeScript 2026-05-24 17:29:11 +08:00
Research Assistant
05288c9332 test(plugin): migrate settings-panels test to TypeScript 2026-05-24 17:29:11 +08:00
Research Assistant
11467b6893 test(plugin): migrate errors test to TypeScript 2026-05-24 17:29:10 +08:00
Research Assistant
bfed51e569 test(plugin): migrate commands test to TypeScript 2026-05-24 17:29:09 +08:00
Research Assistant
9b80ea8352 test(plugin): switch vitest config to .ts test files 2026-05-24 17:29:06 +08:00
Research Assistant
1ed29093d0 feat(plugin): rewrite main.ts as thin lifecycle entry 2026-05-24 17:27:20 +08:00
Research Assistant
0233507a26 feat(plugin): extract settings tab to src/settings.ts 2026-05-24 17:25:19 +08:00