Commit graph

48 commits

Author SHA1 Message Date
Research Assistant
a524290879 fix: add v prefix to bump.py tags to match workflow trigger 2026-05-11 21:40:01 +08:00
Research Assistant
e42c38e212 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
37057dc12d fix(bump): git-add+commit before tag, verify version in HEAD, handle push failures 2026-05-10 00:13:21 +08:00
Research Assistant
565a807c4a refactor: inline src/ modules back into main.js — single file, no runtime require 2026-05-09 23:48:08 +08:00
Research Assistant
dd2bb5c699 fix: include src/ plugin modules in release assets 2026-05-09 23:42:34 +08:00
Research Assistant
30f08dc7f7 refactor: remove versions.json from bump script — redundant with manifest.json minAppVersion 2026-05-09 23:34:56 +08:00
Research Assistant
7148077153 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
1c1cbad5b3 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
ac3095e445 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
de60db32f3 fix: add root manifest.json to version bump/sync tooling 2026-05-06 23:03:38 +08:00
Research Assistant
d888173a26 fix: bump.py creates tags without v prefix (Obsidian compatibility) 2026-05-01 12:17:14 +08:00
Research Assistant
ece6c9b2ba 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
b7a313fdd6 chore: add automated version bump script (bump.py) 2026-04-30 13:29:26 +08:00
Research Assistant
c33a01e2d0 chore: update versions.json to v1.4.11; sync script covers both json files 2026-04-30 12:59:45 +08:00
Research Assistant
5164ac8054 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
Research Assistant
cb519dcf02 fix: remove all remaining Unicode characters from welcome.py 2026-04-21 21:37:49 +08:00
Research Assistant
03ee3afdda style: use Overseer's horizontal-line banner with raw strings 2026-04-21 21:33:38 +08:00
Research Assistant
76c7bc0ea7 fix: replace all Unicode with ASCII-safe chars for Windows terminals
- welcome.py: Box-drawing chars → +-=| borders
- welcome.py: Block chars → # for progress bar
- welcome.py: Emoji → [B][+][D][L][A] icons
- welcome.py: Checkmark → [OK]
- setup.py: Integrate welcome.show_welcome() at startup
2026-04-21 21:30:00 +08:00
Research Assistant
03028782d3 chore: rename repo from Research-workflow to PaperForge 2026-04-21 21:27:56 +08:00
Research Assistant
e8a37245f3 fix: replace logo with correct PAPERFORGE ASCII art 2026-04-21 21:24:58 +08:00
Research Assistant
0d900db007 feat: update logo to PAPERFORGE text 2026-04-21 21:15:52 +08:00
Research Assistant
fe4b058bb2 feat: add PaperForge welcome screen with ASCII logo 2026-04-21 21:14:25 +08:00
Research Assistant
1bd890c426 feat: multi-agent support with configurable paths 2026-04-21 21:12:12 +08:00
Research Assistant
6fb35f3965 Add workflow script deployment to setup.py
- Add deploy_workflow_scripts() to copy core files from repo to vault
- Deploy literature_pipeline.py, ld_deep.py, prompt_deep_subagent.md
- Deploy 14 chart reading guides
- Privacy: .env in .gitignore, API keys never committed
2026-04-21 20:59:14 +08:00
Research Assistant
35b18c6b97 Initial commit: Literature workflow for medical research 2026-04-21 20:50:17 +08:00