feat: selective scan cache + Files page UX consolidation #22
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR implements two major improvements:
1. Selective Scan Cache (task:core-architecture/mvp/selective-scan-cache)
Implements caching infrastructure to reduce filesystem I/O on rescans:
scan_itemsanddirectory_cachetables with scanned metadataSCIDK_CACHE_SCANto toggle (default: enabled)Tests: 5 new tests validating cache behavior (all passing)
2. Files Page UX Consolidation
Addresses UX redundancy and confusion identified in user testing:
Problems Solved
Solutions Implemented
Impact Metrics
Tests: 11 new E2E tests covering browse→scan→snapshot workflows (all passing)
Documentation
dev/reports/files-page-design-report.md) - comprehensive UX analysis with:Test Results
✅ All 101 tests passing (90 existing + 11 new)
Known Conflicts
This branch has conflicts with main in:
scidk/ui/templates/datasets.html- main added selection feature, we consolidated scan UXtests/test_selective_scan_cache.py- different test approachesBoth features are compatible and conflicts can be resolved by keeping both changes.
Commits
322f1e6feat(scan): implement selective scan cache using scan_items and directory_cache7f06bdcfeat(ui): consolidate Files page scan functionality with unified UX601b141chore(dev): update submodule pointer for Files page UX documentationae6ebb9chore(dev): update submodule pointer for task status