lllin000_PaperForge/tests
Research Assistant e2ef4e9f02 feat(25-01): refactor run_status to read canonical index + add doctor Index Health
- run_status() reads canonical index via summarize_index() for lifecycle,
  health, and maturity aggregates; falls back to filesystem when index missing
- JSON output includes lifecycle_level_counts, health_aggregate,
  maturity_distribution (or None when falling back)
- Text output shows lifecycle and health lines when index is present
- run_doctor() shows Index Health section with PDF/OCR/Note/Asset Health
  counts and status per dimension
- Brownfield detection: legacy schema, old Base templates, partial OCR assets
- Fixed status_tag mapping to support 'info' status (existing bug)
- 6 new tests covering index-backed JSON output, fallback, text output,
  Index Health with/without index, and mixed health counts

Phase 25-01, Tasks 2+3
2026-05-04 11:26:39 +08:00
..
fixtures test(11-01): add test_path_normalization.py with 25 test methods 2026-04-24 20:30:32 +08:00
sandbox chore: rename PaperForge Lite -> PaperForge across 27 files 2026-04-28 01:25:51 +08:00
conftest.py chore: rename PaperForge Lite -> PaperForge across 27 files 2026-04-28 01:25:51 +08:00
test_asset_index.py feat(25-01): add summarize_index() helper to asset_index.py 2026-05-04 11:22:46 +08:00
test_asset_index_integration.py test(24-02): add integration tests for derived state fields in index entries 2026-05-04 10:43:43 +08:00
test_asset_state.py test(24-01): add failing tests for asset_state derivation functions 2026-05-04 10:32:19 +08:00
test_base_preservation.py fix: sync paperforge.json version to 1.4.0; fix update.py missing GITHUB_REPO/GITHUB_ZIP imports; remove PaperForge.base generation (duplicates Literature Hub) 2026-04-27 21:25:00 +08:00
test_base_views.py feat(25-03): update Base views with lifecycle-based columns, filters, and sort order 2026-05-04 11:23:38 +08:00
test_cli_paths.py fix: VaultStep.__init__ missing step_id and checker in super() call 2026-04-27 19:49:36 +08:00
test_cli_worker_dispatch.py fix(23): use Beijing time (UTC+8) for index timestamp, fix test stub signature 2026-05-04 01:08:13 +08:00
test_command_docs.py chore: rename PaperForge Lite -> PaperForge across 27 files 2026-04-28 01:25:51 +08:00
test_config.py feat(22-01): implement config migration engine 2026-05-03 22:41:13 +08:00
test_doctor.py chore: rename PaperForge Lite -> PaperForge across 27 files 2026-04-28 01:25:51 +08:00
test_e2e_pipeline.py chore: rename PaperForge Lite -> PaperForge across 27 files 2026-04-28 01:25:51 +08:00
test_ld_deep_config.py fix: VaultStep.__init__ missing step_id and checker in super() call 2026-04-27 19:49:36 +08:00
test_ld_deep_postprocess.py feat: add postprocess-pass2 molecule for validating Pass 2 output 2026-04-28 00:24:31 +08:00
test_ld_deep_skel.py feat: add fixed sub-headings to figure/table callout blocks in skeleton 2026-04-28 00:15:48 +08:00
test_legacy_worker_compat.py refactor(17-dead-code-precommit): remove delegation wrappers and dead code, run ruff cleanup 2026-04-27 17:40:47 +08:00
test_ocr_classify.py fix: VaultStep.__init__ missing step_id and checker in super() call 2026-04-27 19:49:36 +08:00
test_ocr_doctor.py fix: L2 diagnostic accepts 400 as reachable (PaddleOCR rejects bare POST without fileUrl) 2026-04-27 20:41:49 +08:00
test_ocr_preflight.py 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
test_ocr_state_machine.py chore: bump version to v1.4.13 2026-05-01 11:14:59 +08:00
test_path_normalization.py fix: add creators/extra to load_export_rows row dict, fix journal key lookup for first_author/journal/IF in library-records; add first_author, journal, impact_factor columns to Base views; fix PDF storage/ subdirectory resolution 2026-04-27 20:25:35 +08:00
test_pdf_resolver.py fix: add creators/extra to load_export_rows row dict, fix journal key lookup for first_author/journal/IF in library-records; add first_author, journal, impact_factor columns to Base views; fix PDF storage/ subdirectory resolution 2026-04-27 20:25:35 +08:00
test_prepare_rollback.py fix: VaultStep.__init__ missing step_id and checker in super() call 2026-04-27 19:49:36 +08:00
test_repair.py feat(25-03): wire repair to call build_index() after fixing source artifacts 2026-05-04 11:25:12 +08:00
test_selection_sync_pdf.py fix: VaultStep.__init__ missing step_id and checker in super() call 2026-04-27 19:49:36 +08:00
test_setup_wizard.py fix: restructure skills — separate pf-deep/pf-paper, add prefix substitution, create config_file on deploy 2026-04-28 18:33:11 +08:00
test_smoke.py chore: rename PaperForge Lite -> PaperForge across 27 files 2026-04-28 01:25:51 +08:00
test_status.py feat(25-01): refactor run_status to read canonical index + add doctor Index Health 2026-05-04 11:26:39 +08:00
test_utils_journal.py docs(v1.4): commit planning artifacts, test files, and phase summaries for phases 13-19 2026-04-27 19:12:03 +08:00
test_utils_json.py docs(v1.4): commit planning artifacts, test files, and phase summaries for phases 13-19 2026-04-27 19:12:03 +08:00
test_utils_slugify.py docs(v1.4): commit planning artifacts, test files, and phase summaries for phases 13-19 2026-04-27 19:12:03 +08:00
test_utils_yaml.py docs(v1.4): commit planning artifacts, test files, and phase summaries for phases 13-19 2026-04-27 19:12:03 +08:00