Commit graph

35 commits

Author SHA1 Message Date
Research Assistant
5c6ccaad34 feat: dashboard ui refine — arrow icons, maillard colors, responsive grid, setup bugfix
Dashboard UI:

- Replace text expand/collapse with SVG arrow + clickable gradient container

- Map agent_platform key to display name (OpenCode, not opencode)

- Maillard/Morandi palette for OCR progress bars (pending brown, done deep green)

- Shorten 'Needs Attention' to 'Attention' to prevent label wrap

- Responsive workflow overview: CSS Grid + container queries (narrow: 2x2, wide: 4x1 with max-width 160px stop)

Setup Wizard:

- Fix Phase 7 verification crash (undefined agents_src/agents_dst variables)

Skill restructure:

- Move chart-reading references under references/ directory

- Remove old pf-*.md script files (deployed via skill_deploy service)

- Add new reference files (deep-reading, paper-qa, paper-resolution, save-session)
2026-05-10 20:56:27 +08:00
Research Assistant
f885adae48 feat: skill auto-deploy in update + Copy Context as pure JS + shared skill_deploy service
- New services/skill_deploy.py: single source of truth for agent skill deployment
  - AGENT_CONFIGS with 9 platforms, all vault-local
  - deploy_skills() with install/update mode (overwrite flag)
  - Used by both setup wizard and update worker
- update.py: _deploy_all_skills() after pip/git/zip update
- setup_wizard.py: delegates skill deploy to shared service
- config.py: add agent_platform default
- main.js: Copy Context + Copy Collection Context now pure JS
  - Uses in-memory _cachedItems / _currentPaperEntry
  - No subprocess spawn, no timeout, no JSON parse errors
- testable.js: remove needsKey/needsFilter from context actions
- commands.test.mjs: update assertions for removed flags
2026-05-10 12:33:23 +08:00
Research Assistant
50857796db fix(setup): stop copying docs/ to user vaults — developer docs are repo-only 2026-05-10 02:01:53 +08:00
Research Assistant
15d849f7e6 fix: remove deprecated control_dir from doctor/setup/repair; enable repair button; fix UTF-8 encoding in doctor output 2026-05-10 01:50:24 +08:00
Research Assistant
64e73067fb style: ruff format pass across paperforge/ 2026-05-09 22:31:08 +08:00
Research Assistant
71e2fa695f fix: CI failures — stub params, ld_deep syntax, PFResult tests, setup_wizard plugin copy
Fixes 4 CI issues:
- test_cli_worker_dispatch: add json_output param to stubs
- ld_deep.py: replace Python 3.12+ generic syntax with TypeVar
- test_e2e_cli, test_status: update assertions for PFResult envelope
- setup_wizard: skip node_modules/src dirs in plugin copy
- ci.yml: shell=bash for Windows, pin alls-green@v1.2.2
2026-05-09 17:22:11 +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
5b30c02392 fix: auto-discover all pf-* skills for Codex/Claude skill directories 2026-05-08 22:29:23 +08:00
Research Assistant
e99987793a fix: install from tagged release URL, version consistency check on startup 2026-05-08 01:41:54 +08:00
Research Assistant
dd71bb0f79 fix: v1.4.17rc2 — OCR quote fix, 4-stage lifecycle, .env fallback, Codex support, deep-reading anchors, auto-update pip 2026-05-08 01:26:04 +08:00
Research Assistant
53e76b871d Revert "fix: move Zotero data auto-detection before junction creation"
This reverts commit c601cdc250.
2026-05-07 22:26:24 +08:00
Research Assistant
c601cdc250 fix: move Zotero data auto-detection before junction creation
Auto-detection was running in Phase 3, after the junction
creation block in Phase 2 had already been skipped.
2026-05-07 22:25:04 +08:00
Research Assistant
e742df7888 fix(merge-gate): upgrade migration safeguards, index path integrity, and Python version alignment
- migrate_to_workspace: preserve legacy flat notes even without canonical index
- migrate_to_workspace: reconcile legacy library-record do_ocr/analyze flags including false overrides
- migrate_to_workspace: handle non-canonical legacy filenames via frontmatter title
- asset_index: only advertise fulltext_path/deep_reading_path when files exist
- asset_index: prefer note frontmatter over legacy library-records, fall back to legacy
- setup_wizard: require Python >=3.10 instead of >=3.8
- plugin main.js: align Python version messaging to 3.10+
- ocr.py: auto_analyze_after_ocr reads from formal note paths, not library-records
2026-05-07 21:51:58 +08:00
Research Assistant
37b527586c feat(48-textual-tui-removal): remove Textual TUI code from setup_wizard.py
- Remove all 'from textual' imports (BLOCK A)
- Remove all TUI step classes, custom messages, and SetupWizardApp (BLOCK B)
- Replace main() with help-message redirecting to --headless (BLOCK C)
- Preserve: headless_setup(), EnvChecker, AGENT_CONFIGS, _find_vault, _copy_file_incremental, _merge_env_incremental
- All preserved items verified importable and functional
2026-05-07 19:41:10 +08:00
Research Assistant
5ff4f19f3f docs(47-library-records): update setup_wizard.py post-install to single-command workflow
- Removed two-phase --selection/--index code block
- Describes single paperforge sync workflow
- No library-records references in post-install text
2026-05-07 19:18:31 +08:00
Research Assistant
29edb2d811 fix: overhaul install flow clarity and non-destructive incremental setup
- Move Better BibTeX auto-export to post-install step (exports dir created by setup)
- Clarify wizard overview: show resources_dir/literature_dir/control_dir hierarchy
- Fix post-install flow order: BBT export → enable plugin → dashboard → sync
- Split do_ocr and analyze marks into separate steps (OCR before deep-reading)
- Mark all literature flags via Base views, not manual file editing
- Make installer incremental: preserve existing files, only create missing ones
- Remove destructive junction/link deletion in TUI wizard
- Merge .env instead of overwriting; skip overwrite for AGENTS.md, docs, plugin
- Update TUI, headless, and plugin completion output to match corrected flow
- Add regression test for non-destructive setup behavior
2026-05-06 22:47:07 +08:00
Research Assistant
1d52d94445 fix: plugin pip bootstrap install and setup_cli non-fatal; add regression tests 2026-05-06 22:46:56 +08:00
Research Assistant
f8fccf70de fix: support pip-installed setup asset deployment and optional AGENTS guide 2026-05-06 22:46:06 +08:00
Research Assistant
d1e8090c21 fix: honor user-provided zotero path in setup informational checks 2026-05-06 22:45:23 +08:00
Research Assistant
c926b734c0 fix: unify setup wizard version output with package __version__ 2026-05-06 22:44:53 +08:00
Research Assistant
b8f2076e4d fix: maturity gauge string-blocker iteration, paper header sync, setup control_dir removal 2026-05-06 12:41:43 +08:00
Research Assistant
e02c0b1b3d feat(22-03): setup wizard writes clean vault_config-only paperforge.json with schema_version 2026-05-03 23:07:38 +08:00
Research Assistant
2d5f604ae8 feat: v1.4.11 — Obsidian plugin UX overhaul + headless_setup parity
- Plugin: multi-step install wizard modal (5 steps) with editable directory/key inputs
- Plugin: settings tab becomes operation guide; all config moved to wizard
- Plugin: Python/Zotero/BBT pre-check before wizard opens
- Plugin: agent platform selector (OpenCode/Claude/Cursor/Copilot etc.)
- Plugin: responsive dashboard (auto-fit grids, clamp typography)
- Plugin: command output styled in-panel (running/ok/error)
- Plugin: BBT export guidance in settings tab
- Plugin: rename defaults (Resources, Notes, Index_Cards, System, Base)
- Plugin: vault_path auto-detect from Obsidian
- Plugin: auto-update paperforge on plugin load
- CLI: headless_setup now creates Zotero junction (mklink /J)
- CLI: headless_setup deploys skill directory for flat_command agents
- sync: wikilink through junction (no .resolve() — keeps vault-relative paths)
- sync: route absolute paths through Zotero junction for vault-relative wikilinks
- config: remove library-records subdirectory (records now directly under control_dir)
- base_views: fix duplicate views on merge (skip legacy unmarked views)
- base_views: auto-update folder filter when path config changes
- Phases 20-22 planned and documented
- Bump to v1.4.11
2026-04-30 11:14:07 +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
248a0b6446 fix: restructure skills — separate pf-deep/pf-paper, add prefix substitution, create config_file on deploy 2026-04-28 18:33:11 +08:00
Research Assistant
94ddf1f6a0 fix: apply missing deploy helper functions, SKILL.md source files, and format dispatch 2026-04-28 17:15:37 +08:00
Research Assistant
22e2fc547f fix: ensure parent dirs exist before copying skill files 2026-04-28 16:27:45 +08:00
Research Assistant
aac31c4a76 test: add AGENT_CONFIGS format/prefix field tests, update expected agents 2026-04-28 16:13:58 +08:00
Research Assistant
22c82dae24 fix: remove hardcoded literature-qa subdirs from Phase 2 directory creation 2026-04-28 16:11:59 +08:00
Research Assistant
c43c0c76a2 refactor: extend AGENT_CONFIGS with format and prefix fields, add codex 2026-04-28 16:03:11 +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
ec1587febc fix: add exit button to setup wizard, fix Python version (3.8->3.10), remove outdated migration text 2026-04-28 01:24:28 +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
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