Vestigium.Helpers.FileIo 2.0.0

dotnet add package Vestigium.Helpers.FileIo --version 2.0.0
                    
NuGet\Install-Package Vestigium.Helpers.FileIo -Version 2.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Vestigium.Helpers.FileIo" Version="2.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Vestigium.Helpers.FileIo" Version="2.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Vestigium.Helpers.FileIo" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Vestigium.Helpers.FileIo --version 2.0.0
                    
#r "nuget: Vestigium.Helpers.FileIo, 2.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Vestigium.Helpers.FileIo@2.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Vestigium.Helpers.FileIo&version=2.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Vestigium.Helpers.FileIo&version=2.0.0
                    
Install as a Cake Tool

Vestigium.Helpers.FileIo

Validated file jobs. Robocopy is the behavior reference; FileIo is the record. This package does not spawn robocopy.exe.

Recon fills five size buckets. Default collision is UniqueName (.##). Cap is NameCap — the original dest is never overwritten unless the caller picks Overwrite.

Identity

Field Value
Package Vestigium.Helpers.FileIo 1.1.2
TFM net10.0
APPID FileIo (FileIoCatalog.AppId)
EVENTID Reserved 12500–12999 (used through 12610)
Depends on Vestigium.Helpers.Analytics 1.0.1, Vestigium.Helpers.Hashing 1.4.1, Vestigium.Logging
License MIT
Contract 002 -- Requirements Document

Consume

<PackageReference Include="Vestigium.Helpers.FileIo" Version="1.1.2" />
using Vestigium.Helpers.FileIo;

var job = FileIoHelper.Copy(export, archive);
var result = await job.RunAsync();

var audit = FileIoHelper.Copy(export, archive, new FileIoJobOptions { AuditMode = true });
_ = await audit.RunAsync(); // recon + decisions, no disk change

JobId is fio- + 12 hex. Correlation id on every log line.

Surface

Call Returns Notes
FileIoHelper.Copy / Move / Delete / Mirror FileIoJob Then RunAsync.
job.Pause / Resume / Cancel void Pause finishes the current 64 KiB buffer. Cancel deletes dest this job created.
AnalyzeDirectory analysis Tree sizes without a copy.
WriteProbe / ReadProbe probe result Sized fixture under a caller path.
CompareFiles(left, right) compare result Hashing sibling does the digest.
PruneEmptyDirectories int Root is kept.
SecureDelete(path, recipe) void Then delete. Flash is best-effort.
FileIoCatalog.Register(cfg) void Host-only, during VestigiumLogger.Initialize.

Collision: UniqueName (default), Skip, Overwrite.

Rules that do not move

  • No robocopy.exe. No ReadAllBytes on a payload.
  • UniqueName never overwrites the original dest. Cap is an error, not a clobber.
  • Audit Mode writes Would* decisions and changes no disk.
  • Cancel removes only files this job created.
  • No payload bytes and no Exception objects in JSONL.
  • The library never calls VestigiumLogger.Initialize.

Logging

VestigiumLogger.Initialize(cfg =>
{
    cfg.AppId = "PingIQ";                       // host APPID, not FileIo
    cfg.LogDirectory = logDir;
    FileIoCatalog.Register(cfg);
    AnalyticsCatalog.Register(cfg);
});

Writes are no-ops until the host initializes. JSONL lands at %ProgramData%\Vestigium\Logs\{host-APPID}\. Dest unique-content index: %ProgramData%\Vestigium\FileIo\Indexes\.

Named events live in EventCatalog/fileio.json.

Sizes: Vestigium.Helpers.Analytics. Digests: Vestigium.Helpers.Hashing.

Long-form documents live in Vestigium.Documentation / Helpers / FileIo. Folders, not files — current revision sits inside the folder.

Area GitHub
000 -- Archived folder
001 -- Implementation Plan folder
002 -- Requirements Document folder
003 -- Design Document folder
004 -- Developers Guide folder
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Vestigium.Helpers.FileIo:

Package Downloads
Vestigium.Helpers.Network

Workstation inventory and protocol jobs for diagnostic hosts. Logging via Vestigium.Logging. Campaign stats via Vestigium.Helpers.Json. P95 via Analytics. Share probes via FileIo. OUI lookup is a caller URL. The embedded snapshot is a stub.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.0 0 10/24/2026
1.2.7 0 10/23/2026
1.2.6 0 10/23/2026
1.2.5 0 10/23/2026
1.2.4 0 10/23/2026
1.2.3 0 10/23/2026
1.2.2 0 10/23/2026
1.2.1 0 10/23/2026
1.2.0 0 10/23/2026
1.1.3 95 10/10/2026
1.1.2 1,065 9/24/2026
1.1.1 213 9/20/2026
1.1.0 102 9/20/2026