LLLin000
c76f1569aa
feat(ocr-quality): add evaluate_readiness() with YAML policy evaluator
...
Adds readiness policy evaluator layer:
- load_readiness_policy() with deep-merge, importlib.resources, user override
- _resolve_field() dotted path resolver, _apply_op() operator matcher
- _check_hard_red() for hard-red rule evaluation
- evaluate_readiness() with weighted scoring + status determination
- compute_use_cases() for all 4 use cases (reading, qa, figure_table, chunking)
- Default YAML policy with weights, hard_red rules, use_case gates
- pyproject.toml: policies/*.yaml added to package-data
- 7 tests (B1-B7) covering all paths
17/17 tests pass (A10 + B7).
2026-07-04 23:28:06 +08:00
Research Assistant
9f95da3372
chore: remove sentence-transformers from [vector] extra
2026-05-18 17:24:29 +08:00
Research Assistant
482f3167e2
fix: update package-data from literature-qa to skills/paperforge/**
2026-05-14 22:58:03 +08:00
Research Assistant
c1e3668115
fix: remove ghost settings code, add vector deps, add embed preflight
2026-05-14 21:56:28 +08:00
Research Assistant
38dacbbf12
test(memory): add integration test for memory build/status workflow
2026-05-12 17:59:37 +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
ab7ac0d6ab
feat(52-golden-datasets-cli-contracts): add CLI contract tests with snapshot integration
...
- tests/cli/ with conftest.py (cli_invoker, vault_builder, mock_ocr_backend fixtures)
- test_contract_helpers.py with normalize_snapshot, assert_valid_json, assert_json_shape
- 3 test files covering all 8 CLI commands (paths, status, sync, ocr, doctor,
repair, context, setup) with exit code, output shape, and error contracts
- fixtures/ocr/mock_ocr_backend.py with 4 mock modes (success, pending, error, timeout)
- pyproject.toml: added pytest-snapshot, responses, pytest-timeout, pytest-mock,
coverage; added testpaths and layer markers
- All 27 tests pass (CLI-01, CLI-02, CLI-03 satisfied)
2026-05-08 23:32:03 +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
f47df7b8c2
chore: merge pyproject.toml packaging fix and upstream setup_wizard tests from release/v1.6-core-slice
2026-05-06 22:23:06 +08:00
Research Assistant
3486593a4e
chore(23-01): add filelock>=3.13.0 dependency
...
- Added filelock>=3.13.0 to pyproject.toml dependencies
- Required for cross-process locking during index writes
2026-05-04 00:29:08 +08:00
Research Assistant
f5cb25aeb9
docs: add CC BY-NC-SA 4.0 license and acknowledgments
2026-05-01 11:37:50 +08:00
Research Assistant
2329e82588
fix: include styles.css in package data; prevent Unicode crash on pip output
2026-04-29 01:06:59 +08:00
Research Assistant
a9ba944ddc
refactor: __init__.py as single version source; pyproject.toml reads dynamically; paperforge.json drops version field
2026-04-28 22:41:48 +08:00
Research Assistant
0dc27b7c2c
chore: bump to v1.4.4 to unify all fixes under a single version
2026-04-28 22:34:41 +08:00
Research Assistant
40ee97c0f8
chore: bump to v1.4.3, update READMEs with multi-agent and plugin info
2026-04-28 19:43:58 +08:00
Research Assistant
b2fc9f1454
chore: bump version to 1.4.2
2026-04-28 14:33:35 +08:00
Research Assistant
859fa5ff97
feat: headless setup mode, Obsidian plugin, AI agent install guide (v1.4.2)
2026-04-28 14:33:35 +08:00
Research Assistant
ebc4fdeb00
chore: rename PaperForge Lite -> PaperForge across 27 files
2026-04-28 01:25:51 +08:00
Research Assistant
45f47a51b9
chore: bump version to 1.4.1
2026-04-28 00:49:00 +08:00
Research Assistant
d82fc52521
feat: persistent OCR poll until completion; fix OpenCode commands for pip install; fix test hangs; add command_files to package
2026-04-27 22:52:03 +08:00
Research Assistant
794b43224b
fix: include skills prompt and chart-reading .md files in pip package-data
2026-04-27 21:41:47 +08:00
Research Assistant
917a3b09cd
chore: bump version to 1.4.0 for v1.4 release
2026-04-27 19:06:55 +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
59457d15c7
refactor(phase-9): rename paperforge_lite package to paperforge
...
- Rename directory: paperforge_lite/ → paperforge/
- Update pyproject.toml: package name, entry point, includes
- Verified: python -m paperforge --help works
2026-04-24 16:15:13 +08:00
Research Assistant
1d8478ce9c
fix(wizard): auto-run pip install -e . and improve UX flow
...
- setup_wizard.py: _deploy() now calls pip install -e <repo_root> automatically
- DoneStep: removes manual 'pip install -e .' instruction (wizard handles it)
- README.md: removes separate pip install -r requirements.txt step
- docs/INSTALLATION.md: same pip install simplification
- pyproject.toml: add pytest ignore for nested sandbox vault
- tests/sandbox/: remove old vault/ (replaced by 00_TestVault/)
- tests/sandbox/README.md: update flow, wizard handles pip install
2026-04-23 20:49:10 +08:00
Research Assistant
9496382e81
feat(01-02): implement CLI launcher, packaging entry point, and shared config resolver
...
- paperforge_lite/cli.py: argparse CLI with global --vault, subcommands paths/status/selection-sync/index-refresh/deep-reading/ocr (ocr defaults to run action)
- paperforge_lite/__main__.py: python -m paperforge_lite fallback entry point
- paperforge_lite/config.py: shared resolver (load_vault_config, resolve_vault, paperforge_paths, paths_as_strings, load_simple_env) matching Plan 01 contract
- pyproject.toml: setuptools build, paperforge-lite package, Python >=3.10, dependencies from requirements.txt, [project.scripts] paperforge=paperforge_lite.cli:main
- paperforge_lite/__init__.py: package init (version 1.0.0)
CLI loads .env from vault root and <system_dir>/PaperForge/.env before worker dispatch, matching legacy pipeline behavior.
2026-04-23 11:44:26 +08:00