# TODO for 1.0 Release

## High Priority

- [ ] **Fix panic in log.go** - `internal/log/log.go:141` has a `panic("unable to get logger")` that should return an error or handle gracefully instead.

- [ ] **Clean up FIXMEs in manifest.go** - Multiple FIXMEs need attention:
  - Line 67: Validate input paths exist before processing
  - Line 77: Add validation for filesystem input
  - Line 163: Avoid redundant stat calls
  - Line 182: Add context support for cancellation

- [ ] **Fix WriteToFile overwrite behavior** - `mfer/output.go:9` has FIXME to refuse overwriting without `-f` flag.

- [ ] **Consolidate legacy manifest code** - `mfer/manifest.go` has old scanning code (`Scan()`, `addFile()`) that duplicates the new `internal/scanner` + `mfer/builder.go` pattern. Remove duplication.

## Medium Priority

- [ ] **Add unit tests for `internal/checker`** - Currently has no test files; only tested indirectly via CLI tests.

- [ ] **Add unit tests for `internal/scanner`** - Currently has no test files.

- [ ] **Add context cancellation to legacy code** - The old `manifest.Scan()` doesn't support context cancellation; the new scanner does.

- [ ] **Validate input paths before scanning** - Should fail fast with a clear error if paths don't exist.

- [ ] **Add resume support for fetch** - Allow resuming partial downloads using HTTP Range requests and existing temp files.

## Lower Priority

- [ ] **Add manifest signature support** - Implement signing and verification using signify or similar.

- [ ] **Improve error messages** - Ensure all error messages are clear and actionable.
