FileTally release notes

Highlights
1. Rebuilt the missing app as maintainable PowerShell source with shared core logic.
2. Added a Windows desktop GUI for scan settings, export options, progress, and category-based file handling policies.
3. Improved export transparency with Category, MediaDuration, CountMethod, ProcessedSuccessfully, and Notes columns.
4. Added portable packaging plus a compiled setup executable that embeds the portable payload and now supports a guided Windows-style install flow.
5. Added diagnostics, review, extension-rule, and screenshot-automation features aimed at a stronger premium beta.
6. Rebranded the product as FileTally and added a compiled `FileTally.exe` GUI launcher for cleaner end-user launches.
7. Cleaned up the export UI and added fixed page-count extension rules for workflows that need custom page totals by extension.
8. Added Explorer context-menu registration for folders and folder backgrounds in installed copies, and tightened the launcher path to improve app identity during launch.
9. Widened the summary metrics row so Files processed, Errors, and Total pages no longer clip in the live GUI or screenshots.

Phase-two polish
1. The GUI now shows a clearer scan state with an explicit status badge for ready, scanning, exporting, completed, cancelled, and error conditions.
2. Successful scans now reset the progress bar after the completion state is shown, avoiding the old persistent completed bar.
3. A diagnostics tab reports runtime, Office automation, PDF parsing, and media metadata support so users can see which exact versus fallback paths are active.
4. A Review Issues tab lets users filter post-scan rows by errors, blanks, fallback/policy methods, or all rows, then open the selected file or containing folder.
5. An Extension Rules tab adds per-extension overrides above the category defaults, including fixed page counts for targeted workflows such as `.msg` = 2 pages, alongside `.zip` blank or `.csv` text estimate.
6. The scan area now separates Source folder, Export folder, and Export name so export defaults are clearer and less error-prone.
7. `Build-Package.ps1 -CaptureScreenshots` now emits deterministic GUI screenshots into `dist\Screenshots`.

Counting behavior
1. PDFs use PdfSharpCore first, then PDF structure heuristics as fallback.
2. Word files use Office automation and PDF export when available, then document metadata fallback.
3. Excel and CSV files use Excel automation when available, with text-style fallback where needed.
4. PowerPoint uses Office automation, with slide-count fallback for legacy files that do not export reliably.
5. TIFF files count frames, while still images follow the configured image policy.
6. Audio and video files record duration and can optionally estimate page count from duration.
7. Text-like files can estimate pages from content or be policy-counted as 1 or blank.

Known limitations
1. Highest Office accuracy depends on Microsoft Office being installed on the machine.
2. Some legacy PowerPoint files still rely on slide-count fallback because COM PDF export is unstable on this machine.
3. Cancellation happens between files, not during a long Office conversion already in progress.
4. Screenshot generation is deterministic for build artifacts, but automatic real scan-complete screenshot capture is currently an advanced script parameter rather than a GUI toggle.
5. `FileTally.exe` is still a compiled launcher around the PowerShell GUI, but it now hosts the script in-process instead of spawning a separate PowerShell window.
6. This package is unsigned because no signing certificate or signing tools were available in-session.
7. On Windows 11, the Explorer right-click entry may still appear under `Show more options` until a native modern shell extension is added.

Recommended commercial follow-up
1. Expand the review pane into a fuller remediation workflow for locked, corrupt, password-protected, and rerunnable files.
2. Add richer extension-rule presets and import/export support for team-wide policy packs.
3. Add code signing and optionally replace the current compiled setup launcher with a full commercial installer stack when tooling is available.
4. Consider moving from the compiled launcher into a deeper native .NET host once the premium rule set and UX are fully stable.
