A round-trip workflow: export the file list, edit it in Excel, paste it back —
binding files by exact path or fuzzy name.
Export (left / folder tree, Classify mode):
- A "⬆ Export list" button in the Show toolbar copies the CURRENT filtered file
set (name search + the Show toggles) to TSV — header `path<TAB>file`, files
only, no folder rows. It honours every active filter but ignores expand/collapse
(display-only), so files inside collapsed folders are included. `path` is the
file's root-relative key; `file` is the bare filename. Clipboard copy, with a
.tsv download fallback when the clipboard API is blocked (e.g. file://).
- Reuses the tree's computeVisible() so the export matches exactly what the
filters show.
Paste-back (right / "Paste rows"): the Current name column now accepts either form
- Bare filename → today's behaviour: fuzzy name match / drop later.
- Full path (the exported `path`) → binds that EXACT file directly on paste:
proposeMatches detects currentName === a file's key as a confidence-1 `via:'path'`
match (the strongest signal), folded into the existing auto-assign pass. A path
that matches nothing falls back to its basename for fuzzy matching.
- A pasted full path on a row with NO tracking number yet is still CLAIMED
(recorded in row.bound); when a tracking/rev later lands, restampRow places the
claimed file onto the new leaf. (User choice A.)
Tests: export TSV honours the filter + includes collapsed folders; a full-path
Current name binds the exact file (and leaves others untouched); a path with no
tracking is claimed then placed once tracking is filled. 69 classify green.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>