Pre-import scan: enumerate candidate files and totals #20

Open
opened 2026-10-10 22:19:41 +00:00 by keith · 1 comment
Owner

Context

Managed import needs a stable manifest before copying.

Acceptance criteria

  • Recursively enumerate STL candidates and explicitly selected associated images/documents; preserve relative hierarchy.
  • Record immutable manifest, candidate count and byte totals before copying; sources remain unchanged and may be read-only.
  • Show unreadable paths and reasons without aborting other entries.
  • Restrict source selection to configured mounts; reject traversal and symlink escapes and exclude the managed destination from scanning.
  • Define grouping preview: default one STL per model, with explicit grouping into multi-part models and supplementary-file association; do not guess associations silently.
  • Test nested trees, unreadable paths, source/destination overlap and symlinks.

Blocked by: #1, #18

## Context Managed import needs a stable manifest before copying. ## Acceptance criteria - [ ] Recursively enumerate STL candidates and explicitly selected associated images/documents; preserve relative hierarchy. - [ ] Record immutable manifest, candidate count and byte totals before copying; sources remain unchanged and may be read-only. - [ ] Show unreadable paths and reasons without aborting other entries. - [ ] Restrict source selection to configured mounts; reject traversal and symlink escapes and exclude the managed destination from scanning. - [ ] Define grouping preview: default one STL per model, with explicit grouping into multi-part models and supplementary-file association; do not guess associations silently. - [ ] Test nested trees, unreadable paths, source/destination overlap and symlinks. Blocked by: #1, #18
keith added this to the M3 - Import & Indexing Engine milestone 2026-10-10 22:19:41 +00:00
keith added the area:indexerpriority:hightype:feature labels 2026-10-10 22:19:41 +00:00
Author
Owner

Acceptance reconciliation at c1ef2ee: keeping open. Scanner exists, but configured mount restriction, managed-destination exclusion and immutable confirmed grouping are missing. Current grouping guesses from top-level directories, conflicting with one-STL default and explicit association criteria. This is a source/test review, not a newly executed crash or restore experiment. Fresh Windows suite: 291 tests, 1801 assertions, 22 skips; lint passes. PostgreSQL fixture success does not waive these feature criteria.

Acceptance reconciliation at c1ef2ee: keeping open. Scanner exists, but configured mount restriction, managed-destination exclusion and immutable confirmed grouping are missing. Current grouping guesses from top-level directories, conflicting with one-STL default and explicit association criteria. This is a source/test review, not a newly executed crash or restore experiment. Fresh Windows suite: 291 tests, 1801 assertions, 22 skips; lint passes. PostgreSQL fixture success does not waive these feature criteria.
Sign in to join this conversation.