Commit graph

60 commits

Author SHA1 Message Date
LLLin000
1cc44b5f5a test(ocr): lock figure vnext extraction baseline 2026-07-03 19:38:19 +08:00
LLLin000
28827d1f64 fix(ocr): fix verdict false positives - 26->8 regression, add noise_cleanup/consolidated verdicts 2026-07-03 18:20:00 +08:00
LLLin000
17958f1c15 analysis(ocr): generate vnext cutover diff reports for full corpus 2026-07-03 17:12:39 +08:00
LLLin000
7bf4a6d7d4 feat(ocr): expand legacy-vnext comparison harness for cutover gates 2026-07-03 17:01:52 +08:00
LLLin000
6a332e6b49 test(ocr): add portable vnext real-paper comparison harness 2026-07-03 12:47:39 +08:00
LLLin000
f95925b226 refactor(ocr): split legacy and vnext figure entrypoints 2026-07-03 12:01:11 +08:00
LLLin000
8dba963394 fix: complete reference detection fixes — 5 problem families 2026-07-03 01:46:27 +08:00
Research Assistant
eac49edcf2 test: lock OCR readiness baseline and restore coverage ledger 2026-06-18 22:10:52 +08:00
Research Assistant
ab81677419 docs: update PROJECT-MANAGEMENT with rebuild script docs, review fixes, table ordering 2026-06-14 23:20:01 +08:00
Research Assistant
5fc9554c66 fix(ocr): protect figure/image blocks from backmatter normalization, fix duplicate title, and add unified rebuild entry point
- ocr_render.py: extend consumed frontmatter roles skip from page 1 to pages <= 2,
  preventing paper_title appearing twice on pre-proof papers
- ocr_document.py: add image/media block promotion in backmatter zone normalization
  so raw image blocks become media_asset instead of backmatter_body; this fixes
  build_figure_inventory producing 0 matched_figures. Also check seed_role in
  _sanitize_reference_zone_boundary since it runs before role resolution
- scripts/dev/ocr_rebuild_paper.py: single-paper rebuild + block_trace regeneration
  entry point (will be wired into CLI later)
- tests: boundary protection and completeness check tests
- DW trace regenerated with correct role distribution
2026-06-14 18:47:50 +08:00
Research Assistant
04c942c8db chore: remove root debug scripts, relocate rebuild_verify to scripts/dev 2026-06-08 12:15:17 +08:00
Research Assistant
46b0506a7c feat(plugin): i18n descriptions for Skills/Memory/Vector + collapsible vector config 2026-05-14 00:40:33 +08:00
Research Assistant
babe340379 fix: add v prefix to bump.py tags to match workflow trigger 2026-05-11 21:40:01 +08:00
Research Assistant
fb2a21678a fix: bump.py — add UTF-8 encoding to git show, remove release logic (handled by Actions) 2026-05-11 19:25:09 +08:00
Research Assistant
3db2e1b5dd fix(bump): git-add+commit before tag, verify version in HEAD, handle push failures 2026-05-10 00:13:21 +08:00
Research Assistant
caab9ff9ee refactor: inline src/ modules back into main.js — single file, no runtime require 2026-05-09 23:48:08 +08:00
Research Assistant
56ee621bd7 fix: include src/ plugin modules in release assets 2026-05-09 23:42:34 +08:00
Research Assistant
0816f43e99 refactor: remove versions.json from bump script — redundant with manifest.json minAppVersion 2026-05-09 23:34:56 +08:00
Research Assistant
bbd39a90d3 v1.4.17rc4
Milestone v2.1: Contract-Driven Architecture & Engineering Hardening

- Stop the Bleeding: version sync checker, PyYAML hardening, install docs unification
- Contract Layer: PFResult/PFError dataclasses, ErrorCode enum, --json wrapping
- Service Extraction: sync.py decomposed into 3 adapters + SyncService
- State Machine: PdfStatus/OcrStatus/Lifecycle enums, transitions, field registry
- Setup Modularization: setup_wizard.py decomposed into 6 classes

173 tests passing, 0 regressions.
2026-05-09 17:05:07 +08:00
Research Assistant
18b6f07ce6 chore(52-001): align manifest sources, bump minAppVersion to 1.9.0, add PyYAML dep
- Add clarifying comment in bump.py about canonical version source
- Update root and plugin manifest.json minAppVersion from 1.0.0 to 1.9.0
- Update versions.json compatibility mapping to 1.9.0
- Add pyyaml>=6.0 to pyproject.toml dependencies
2026-05-08 17:47:38 +08:00
Research Assistant
68e888a010 feat(48-textual-tui-removal): update CLI help and remove textual dependency
- Update setup parser help text (remove 'Textual-based' reference)
- Remove textual>=0.47.0 from pyproject.toml dependencies
- Remove textual from scripts/validate_setup.py required dict
2026-05-07 19:41:51 +08:00
Research Assistant
11a5a2b1dd fix: add root manifest.json to version bump/sync tooling 2026-05-06 23:03:38 +08:00
Research Assistant
88fcdf6907 fix: bump.py creates tags without v prefix (Obsidian compatibility) 2026-05-01 12:17:14 +08:00
Research Assistant
a9c4881324 feat: complete i18n refactor + automated release script
- i18n.js: zh/en language pack with auto-detect from Obsidian config
- main.js: all UI strings use t() calls (settings tab, wizard, pre-check)
- scripts/bump.py: --release flag: bump + commit + tag + push + gh release
- AGENTS.md: developer guide section (bump, release, i18n, pre-commit)
2026-04-30 13:55:54 +08:00
Research Assistant
354fc656c5 chore: add automated version bump script (bump.py) 2026-04-30 13:29:26 +08:00
Research Assistant
ee2c516279 chore: update versions.json to v1.4.11; sync script covers both json files 2026-04-30 12:59:45 +08:00
Research Assistant
5d647f26de chore: add version sync script (__init__.py -> manifest.json) 2026-04-30 12:56:28 +08:00
Research Assistant
ebc4fdeb00 chore: rename PaperForge Lite -> PaperForge across 27 files 2026-04-28 01:25:51 +08:00
Research Assistant
0505fd2fda feat: add paperforge setup CLI command, one-click install script, sync __version__ to 1.4.0, detect local version from pip metadata 2026-04-27 21:34:03 +08:00
Research Assistant
67a52a898a fix: VaultStep.__init__ missing step_id and checker in super() call 2026-04-27 19:49:36 +08:00
Research Assistant
7cccf4eefc refactor(17-dead-code-precommit): remove delegation wrappers and dead code, run ruff cleanup
- Remove def load_vault_config delegation wrappers from all 7 worker modules
- Add from paperforge.config import load_vault_config, paperforge_paths at module level
- Remove unused system_dir/resources_dir/control_dir extraction in pipeline_paths
- Fix sync.py intra-function imports (run_selection_sync, run_index_refresh)
- Fix repair.py import path for _resolve_formal_note_path (direct from _utils)
- Add ruff and pre-commit as test dependencies in pyproject.toml
- Configure per-file ruff ignores for pre-existing issues
- Run ruff check --fix + ruff format (353 + 58 issues auto-fixed)
- All 203 tests pass, ruff check zero warnings
2026-04-27 17:40:47 +08:00
Research Assistant
c08f86de0f feat(17-dead-code-precommit): add ruff config, pre-commit hooks, Check 5, and OCR error context
- Add [tool.ruff] section to pyproject.toml (target-version py310, rules E/F/I/UP/B/SIM)
- Create .pre-commit-config.yaml with 7 hooks (ruff lint+format, check-yaml, check-toml, end-of-file-fixer, trailing-whitespace, consistency-audit)
- Add Check 5 (check_duplicate_utils) to scripts/consistency_audit.py
- Add library_record field to OCR error meta.json (4 error paths in ocr.py)
2026-04-27 17:29:13 +08:00
Research Assistant
ec2e91d4ac feat(update): smart update with auto-detection + Windows one-click script
paperforge update:
- Auto-detects installation method (pip/pip-editable/git/zip)
- Routes to appropriate update strategy
- pip users: pip install --upgrade
- pip-editable users: git pull + pip install -e .
- git users: git pull
- unknown: zip download fallback

scripts/update-paperforge.ps1:
- Windows one-click update script
- Auto-detects install method
- Supports -Force (skip confirm) and -DryRun
- Clear colored output with error handling

AGENTS.md:
- Added comprehensive update section with 4 methods
- Documented auto-update and PowerShell script
2026-04-25 00:17:54 +08:00
Research Assistant
abab8df3f5 feat(phase-10): add consistency audit script
- Add scripts/consistency_audit.py with 4 automated checks
- Check 1: No old command names in active code/docs
- Check 2: No paperforge_lite references in Python code
- Check 3: No dead internal links in markdown
- Check 4: Command docs have required sections

Fix violations found by audit:
- Update paperforge/ocr_diagnostics.py error messages to use new commands
- Update pipeline/worker/literature_pipeline.py generated content to use /pf-deep
- Update scripts/welcome.py to recommend /pf-deep
- Update skills/literature-qa/prompt_deep_subagent.md title to /pf-deep
- Update skills/literature-qa/scripts/ld_deep.py docstrings to /pf-deep
- Fix dead links in docs/COMMANDS.md and command/*.md
- Update AGENTS.md migration section to reference MIGRATION-v1.2.md
- Update paperforge/cli.py module docstring to use current commands
2026-04-24 18:06:35 +08:00
Research Assistant
45de80da5d refactor(phase-9): update all Python imports to paperforge
- Updated 35 files: from paperforge_lite.* → from paperforge.*
- Verified: pytest passes (172 passed, 2 skipped)
2026-04-24 16:15:30 +08:00
Research Assistant
500d268db7 feat(01-03): wire validate_setup.py to shared resolver
- load_config now tries paperforge_lite.config.load_vault_config first,
  falls back to legacy JSON parsing for pre-01-03 installs
- resolve_vault_for_validate checks PAPERFORGE_VAULT before VAULT_PATH
  before cwd (matching the shared resolver's precedence)
- Preserves all existing validation checks
2026-04-23 12:03:08 +08:00
Research Assistant
881457dd92 Fix configurable Lite setup paths 2026-04-23 01:44:13 +08:00
Research Assistant
fd7ccb53fc fix: unify PaddleOCR env var names to match pipeline expectations (API_TOKEN/JOB_URL) 2026-04-23 00:57:48 +08:00
Research Assistant
89374cb35f remove: all 科研读图指南 and Template references from project 2026-04-22 23:20:49 +08:00
Research Assistant
c607dd0441 rename: LiteraturePipeline -> PaperForge in all paths and references 2026-04-22 22:10:16 +08:00
Research Assistant
97426a3fe1 feat: dynamic AGENTS.md generation with custom paths in setup.py 2026-04-22 17:39:17 +08:00
Research Assistant
7191ae9e62 feat(setup): add safety harness - never overwrite user files
- Add safe_copy() function: checks if file exists, skips if true
- Auto-backup existing files before any modification
- Safety notice at install start
- Protects Zotero DB, existing notes, and configs
2026-04-21 23:44:45 +08:00
Research Assistant
68f65ea69a feat: add agent commands deployment
- Add command/ directory with core lp commands:
  lp-selection-sync, lp-index-refresh, lp-ocr, lp-status
  ld-deep, ld-paper
- Update setup.py to deploy commands to .opencode/command/
2026-04-21 23:40:07 +08:00
Research Assistant
ab5faefd9f refactor(welcome): remove features list, simplify to OpenCode-only 2026-04-21 23:33:12 +08:00
Research Assistant
e5173b0e6f cleanup: remove obsolete 文献阅读.md template
- Delete templates/文献阅读.md (frontmatter is hardcoded in pipeline)
- Remove template deployment from setup.py
- Update README.md and AGENTS.md references
2026-04-21 23:04:26 +08:00
Research Assistant
2ed577246d refactor: move chart-reading into literature-qa skill
- Chart guides are references for literature-qa, not standalone skill
- Move skills/chart-reading/ -> skills/literature-qa/chart-reading/
- Update setup.py deploy path
- Update prompt_deep_subagent.md references
- Update 科研读图指南.md links
2026-04-21 23:00:50 +08:00
Research Assistant
aa084e7d94 feat: simplify to core 4-worker pipeline
- Remove candidate/search/harvest/writeback workers (7 deleted)
- Keep only: selection_sync, index_refresh, ocr, deep_reading
- Simplify setup.py: remove agent selection, remove non-core dirs
- Update AGENTS.md generation for lite architecture
- Reduce pipeline.py from ~4000 to ~3500 lines
2026-04-21 22:44:09 +08:00
Research Assistant
d916b13b50 refactor: restructure repo to generic names
- 99_System/ -> pipeline/ + templates/
- .opencode/skills/ -> skills/
- Chart guides moved to skills/chart-reading/
- Update setup.py deploy paths accordingly
2026-04-21 22:17:45 +08:00
Research Assistant
3447f0279d feat: add literature templates and update deployment
- Add 文献阅读.md template for literature notes
- Add 科研读图指南.md main chart reading guide
- Update deploy_workflow_scripts to include template files
2026-04-21 22:11:48 +08:00
PaperForge Assistant
9cadab68ad fix(setup): resolve all audit findings 2026-04-21 22:10:40 +08:00