-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Open
Description
Parent Issue: #84
Estimated Time: ~35 minutes
Phase: 3 (Parallel with Sub-Issue 3)
Goal
Add resolve_path() method to Config and update all path users to support vault_location-based resolution.
Files
- Modify:
.workspace/scripts/models/config.py(add resolve_path method) - Modify:
.workspace/scripts/process_queue.py:63-64 - Modify:
.workspace/scripts/process_note.py:630 - Modify:
.workspace/scripts/attachment_migrator.py:261 - Modify:
.workspace/scripts/export_notes_urls.py:295 - Modify:
.workspace/scripts/batch_process_queue.py:40-45 - Test:
.workspace/tests/test_path_resolution.py(new file)
Dependencies
Requires: Sub-Issues 1 & 2 completed
Phase: Phase 3 (parallel with Sub-Issue 3)
Implementation Steps
See full implementation steps in issue #84 under "Sub-Issue 4: Update Path Resolution to Use vault_location"
Summary
- Write failing tests for resolve_path() (5 tests)
- Implement resolve_path() method in Config
- Update 6 scripts to use resolve_path
- Test updated scripts
- Run type checker
- Commit changes
- Verify no regressions
- Close this sub-issue
Key Requirements
- All relative paths resolve from vault_location (not cwd)
- Absolute paths returned unchanged
- Falls back to cwd if vault_location is None
- Update 6+ scripts to use resolve_path()
Acceptance Criteria
- resolve_path() method added to Config
- Works with vault_location set
- Works without vault_location (uses cwd)
- Handles nested paths correctly
- Returns absolute paths unchanged
- All 6 scripts updated to use resolve_path
- All scripts import successfully
- All tests pass
- Type checking passes
Testing Commands
uv run pytest .workspace/tests/test_path_resolution.py -v
uv run python -c "from workspace.scripts.process_queue import main; print('✓ process_queue imports')"
uv run pyright .workspace/scripts/models/config.pyMetadata
Metadata
Assignees
Labels
No labels