c43ee72402
ImportPipeline::from_merge seeds the File items and every file's columns from Merged::sources, so a header-only CSV keeps its File item and its columns (unseen columns are proposed as Labels, as an all-null column is). A file with no measure column gets a records view filtered to it instead of paging onto another file's hidden measure. Four per-file-view rules the review found untested now each have a test that fails when the rule is broken. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze