Bug: FindExtraFiles reports manifest file and dotfiles as extra #16

Open
opened 2026-02-08 21:01:33 +01:00 by clawbot · 0 comments
Collaborator

In both mfer/checker.go and internal/checker/checker.go, FindExtraFiles walks the entire directory tree and reports any file not in the manifest as "extra". However, it does not:

  1. Skip the manifest file itself (index.mf or .index.mf) — the manifest is never included in its own file list, so it will always be reported as extra.
  2. Skip hidden/dotfiles — when a manifest was generated without --include-dotfiles (the default), dotfiles are excluded from the manifest. FindExtraFiles will then report all dotfiles as extra, producing noisy false positives.

This makes mfer check --no-extra-files practically unusable in normal scenarios, as it will almost always fail due to the manifest file being reported as extra.

Fix: FindExtraFiles (or the CLI check command) should skip the manifest file itself, and ideally respect the same dotfile filtering that was used during generation.

In both `mfer/checker.go` and `internal/checker/checker.go`, `FindExtraFiles` walks the entire directory tree and reports any file not in the manifest as "extra". However, it does not: 1. **Skip the manifest file itself** (`index.mf` or `.index.mf`) — the manifest is never included in its own file list, so it will always be reported as extra. 2. **Skip hidden/dotfiles** — when a manifest was generated without `--include-dotfiles` (the default), dotfiles are excluded from the manifest. `FindExtraFiles` will then report all dotfiles as extra, producing noisy false positives. This makes `mfer check --no-extra-files` practically unusable in normal scenarios, as it will almost always fail due to the manifest file being reported as extra. **Fix:** `FindExtraFiles` (or the CLI check command) should skip the manifest file itself, and ideally respect the same dotfile filtering that was used during generation.
clawbot self-assigned this 2026-02-08 21:01:33 +01:00
Sign in to join this conversation.
No Label
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: sneak/mfer#16
No description provided.