π§ Coldkeep v1.10.8 β Filesystem Abstraction Groundwork #63
franchoy
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Coldkeep v1.10.8 β Filesystem Abstraction Groundwork
Summary
Coldkeep v1.10.8 introduces the filesystem abstraction groundwork needed for future deterministic filesystem fault-injection testing.
This release adds behavior-preserving filesystem seams across restore, container, recovery/quarantine, and GC delete paths while keeping the default runtime behavior OS-backed and unchanged.
v1.10.8 does not add filesystem fault injection. It does not simulate ENOSPC, short writes, fsync failures, rename failures, hooks, retries, or altered error behavior.
What changed
Filesystem abstraction package
Added the new internal package:
The package provides:
FSFileOSFSDefaultNoopFSNewNoopOSFSdelegates directly to the Go standard library.NoopFSdelegates directly to the wrapped filesystem and exists only as a behavior-preserving wrapper for equivalence testing and future deterministic wrappers.Restore filesystem seam
Restore paths now use a narrow
fsx.FSseam where appropriate.The default restore filesystem remains:
Restore behavior remains preserved, including:
Container filesystem seam
Container paths now use filesystem seams for container creation/opening, metadata checks, writes, sync-related file behavior, removal, retirement, and quarantine-related container operations.
The default container behavior remains OS-backed.
Preserved behavior includes:
Recovery and quarantine filesystem seam
Recovery paths now route stat/read-dir operations through
fsx.FSseams while preserving existing wrapper signatures and default OS-backed behavior.Preserved behavior includes:
GC delete filesystem seam
GC physical delete paths now use an
fsx.FSseam for container file removal.Preserved behavior includes:
Equivalence coverage
v1.10.8 adds explicit seam and equivalence coverage for:
The tests confirm that default OS-backed behavior and no-op wrapped behavior remain equivalent across the new seam surfaces.
Validation
Before merge, the release was locally validated with:
Targeted seam/equivalence tests also passed for:
CI is green after Codacy review fixes, and the branch has been merged into
main.Compatibility
No migration is required.
Existing Coldkeep repositories remain compatible.
This release does not change:
Non-goals
v1.10.8 intentionally does not include:
Those remain future work.
Why this release matters
v1.10.8 prepares Coldkeep for future deterministic filesystem failure testing without weakening the current correctness guarantees.
The important result of this release is not new user-facing behavior. The important result is a safer internal structure: Coldkeep can now introduce future filesystem failure tests through explicit seams instead of scattering direct OS behavior throughout correctness-critical paths.
This discussion was created from the release π§ Coldkeep v1.10.8 β Filesystem Abstraction Groundwork.
All reactions