Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
180 commits
Select commit Hold shift + click to select a range
c915d7e
ReFS: add fresh block-refcount row builder
Hawkynt Sep 10, 2026
f03381f
ReFS: materialize missing block-refcount rows
Hawkynt Sep 10, 2026
ff552c9
ReFS: remove duplicate refcount mutation policy
Hawkynt Sep 10, 2026
5357547
ReFS: add offline whole-file block clone
Hawkynt Sep 10, 2026
816482b
ReFS: expose bounded offline block clone API
Hawkynt Sep 10, 2026
74c6da6
ReFS: test fresh block-refcount rows
Hawkynt Sep 10, 2026
d99dcba
ReFS: centralize first-clone refcount semantics
Hawkynt Sep 10, 2026
f1b7ab2
ReFS: reuse clone-aware refcount codec
Hawkynt Sep 10, 2026
895f8e3
ReFS: cover sparse-slot clone semantics
Hawkynt Sep 10, 2026
3ff3ed2
ReFS: add real-image block-clone interop gate
Hawkynt Sep 10, 2026
9e8eea5
Preserve Intel HEX segmented start addresses
Hawkynt Sep 11, 2026
5ca1a4c
Fix Intel HEX record parsing and CS:IP handling
Hawkynt Sep 11, 2026
4dd1a70
Preserve sparse Intel HEX layout across rebuilds
Hawkynt Sep 11, 2026
7a27b98
Record Intel HEX start-address kind in metadata
Hawkynt Sep 11, 2026
c0128f9
Promote Intel HEX to rebuild-based read-write support
Hawkynt Sep 11, 2026
0489d4e
Fix NRG writer and enable rebuild maintenance
Hawkynt Sep 11, 2026
8e2d731
Implement real Intel HEX purge
Hawkynt Sep 11, 2026
887bcc7
Add Lynx directory layout boundary
Hawkynt Sep 11, 2026
30e925a
Parse NRG track descriptors and offsets
Hawkynt Sep 11, 2026
4d25e1f
Add Intel HEX read-write and maintenance tests
Hawkynt Sep 11, 2026
cd2bc70
Add Lynx shrink wipe purge and exact layout
Hawkynt Sep 11, 2026
49e86da
Harden NRG chunk parsing helpers
Hawkynt Sep 11, 2026
6af1c72
Cover Lynx maintenance operations
Hawkynt Sep 11, 2026
937f84c
Fix T64 entry metadata model
Hawkynt Sep 11, 2026
a007a54
Implement managed LZ4 block codec for CSO/ZSO
Hawkynt Sep 11, 2026
cd87e68
Harden T64 parsing and recover legacy end addresses
Hawkynt Sep 11, 2026
85eb769
ReFS: fix refcount row alignment mask typing
Hawkynt Sep 11, 2026
665bdbc
Preserve T64 metadata in writer
Hawkynt Sep 11, 2026
f313d93
Make T64 block moves overlap-safe
Hawkynt Sep 11, 2026
454311d
Add CSO/ZSO parser and logical block reader
Hawkynt Sep 11, 2026
0ce5a92
Unify T64 mutation paths
Hawkynt Sep 11, 2026
bd5d6d8
+ harden TI-TXT parsing and preserve sparse sections
Hawkynt Sep 11, 2026
28d8247
Prevent NRG sector edits from overwriting trailer
Hawkynt Sep 11, 2026
6d56d0b
Harden Intel HEX record validation expression
Hawkynt Sep 11, 2026
b68205f
Support CSO v2 and ZSO writing
Hawkynt Sep 11, 2026
4df16fa
Avoid 32-bit overflow when flattening firmware images
Hawkynt Sep 11, 2026
adf5654
Make CSO/ZSO block edits transactional
Hawkynt Sep 11, 2026
2c1eed7
Harden T64 in-place mutation
Hawkynt Sep 11, 2026
74cf7a3
Preserve 4 GiB segment endpoints in firmware metadata
Hawkynt Sep 11, 2026
1ed6817
+ add TI-TXT read-write and maintenance operations
Hawkynt Sep 11, 2026
4f0dd67
Keep Lynx tests on public surface
Hawkynt Sep 11, 2026
bacfde0
Handle 4 GiB Intel HEX segment endpoints safely
Hawkynt Sep 11, 2026
5e94994
fix(onefs): make opaque inspection streaming and fail closed
Hawkynt Sep 11, 2026
a959eed
+ cover TI-TXT mutation and canonical rebuild
Hawkynt Sep 11, 2026
dd97b4c
Cover NRG chunk interop and maintenance
Hawkynt Sep 11, 2026
200cbdd
Tighten Intel HEX test nullability
Hawkynt Sep 11, 2026
e80380a
fix(onefs): stop advertising unverified raw magic
Hawkynt Sep 11, 2026
aef9c3e
Complete CSO ZSO read write and maintenance support
Hawkynt Sep 11, 2026
c0603f5
test(onefs): pin opaque streaming and blocked maintenance
Hawkynt Sep 11, 2026
2215a16
Fix span-safe NRG chunk assertions
Hawkynt Sep 11, 2026
aabe2fa
Add native T64 maintenance operations
Hawkynt Sep 11, 2026
8f4e4d1
Batch CSO block replacements in one repack
Hawkynt Sep 11, 2026
6e3c0c5
Add GlusterFS backing filesystem dependencies
Hawkynt Sep 11, 2026
20f6b82
Add conservative TUX3 layout, wipe, and shrink support
Hawkynt Sep 11, 2026
d5c82ed
Allow lazy GlusterFS brick entry extraction
Hawkynt Sep 11, 2026
36f67cb
Align NRG low-level edit tests with chunked images
Hawkynt Sep 11, 2026
f7147b1
docs(onefs): record raw-media feasibility findings
Hawkynt Sep 11, 2026
359d812
Fix MooseFS metadata envelope parsing
Hawkynt Sep 11, 2026
fe7cc10
Cover T64 compatibility and maintenance operations
Hawkynt Sep 11, 2026
5764e40
Test conservative TUX3 maintenance operations
Hawkynt Sep 11, 2026
0a7fc68
Test CSO v1 v2 and ZSO interoperability
Hawkynt Sep 11, 2026
56d9e07
Read GlusterFS brick backing images via XFS and ext
Hawkynt Sep 11, 2026
5dfb863
+ make Apple IPSW lossless and maintainable
Hawkynt Sep 11, 2026
32098de
Temporarily patch generated Lynx capability ledgers
Hawkynt Sep 11, 2026
f5c4c67
Add safe MooseFS metadata maintenance operations
Hawkynt Sep 11, 2026
a522d54
Promote GlusterFS to real read-only brick view
Hawkynt Sep 11, 2026
0f1e77a
Update Lynx capability ledgers
github-actions[bot] Sep 11, 2026
ed69b71
Test transactional CSO ZSO edits and maintenance
Hawkynt Sep 11, 2026
b1ae176
Test real GlusterFS brick backing-store reads
Hawkynt Sep 11, 2026
8f1d948
Avoid capturing span in NRG test lambda
Hawkynt Sep 11, 2026
776a50c
fix(onefs): preserve reader constructor compatibility
Hawkynt Sep 11, 2026
5cb80f3
Remove temporary Lynx ledger helper
Hawkynt Sep 11, 2026
9fdc9d3
+ conservative ldiskfs maintenance for Lustre targets
Hawkynt Sep 11, 2026
f38da73
Test MooseFS versioned metadata maintenance
Hawkynt Sep 11, 2026
3e07674
Reference shared NWFS engine from NWFS386
Hawkynt Sep 11, 2026
71d3b19
Fix T64 maintenance test typing
Hawkynt Sep 11, 2026
052fca6
+ expose safe Lustre ldiskfs maintenance capabilities
Hawkynt Sep 11, 2026
d5ae230
Update Intel HEX support matrix capabilities
Hawkynt Sep 11, 2026
3d682a8
* describe Lustre backing-store maintenance scope
Hawkynt Sep 11, 2026
12ced65
* refresh IPSW maintenance support matrix
Hawkynt Sep 11, 2026
a46538d
Infer GlusterFS brick root from GFID index
Hawkynt Sep 11, 2026
d78fee3
Cover nested GlusterFS brick root discovery
Hawkynt Sep 11, 2026
caec3b1
+ cover conservative Lustre maintenance paths
Hawkynt Sep 11, 2026
2f05559
Fail closed on unsupported TUX3 block sizes
Hawkynt Sep 11, 2026
7c3c072
Implement eCryptfs lower-file codec
Hawkynt Sep 11, 2026
64cccb2
Restore unchanged README support badge
Hawkynt Sep 11, 2026
008e6e7
+ robust UEFI firmware volume R/W and maintenance
Hawkynt Sep 11, 2026
3499826
Parse real eCryptfs lower-file headers
Hawkynt Sep 11, 2026
420adc0
Promote NWFS386 to conservative R/W rebuild support
Hawkynt Sep 11, 2026
51001bb
Replace bogus NWFS386 magic tests
Hawkynt Sep 11, 2026
b4a3daa
Promote eCryptfs to password-aware WORM
Hawkynt Sep 11, 2026
76fa6d1
* refresh TI-TXT support matrix capabilities
Hawkynt Sep 11, 2026
1a10226
Add NWFS386 R/W and maintenance coverage
Hawkynt Sep 11, 2026
d336912
Test real eCryptfs header semantics
Hawkynt Sep 11, 2026
10df20d
Temporarily refresh NRG support matrix
Hawkynt Sep 11, 2026
e809b9f
Cover eCryptfs crypto and maintenance verbs
Hawkynt Sep 11, 2026
e4690f7
Exercise TUX3 volume-length overflow guard
Hawkynt Sep 11, 2026
dc18433
Keep Intel HEX support matrix update focused
Hawkynt Sep 11, 2026
cc98ad2
- remove unrelated support-matrix drift
Hawkynt Sep 11, 2026
de49dad
Keep T64 maintenance claims format-wide and fail closed
Hawkynt Sep 11, 2026
b26393e
Refresh NRG support matrix
github-actions[bot] Sep 11, 2026
c7048da
Update firmware writer test remarks for Intel HEX R/W
Hawkynt Sep 11, 2026
826774f
Test fail-closed T64 maintenance surface
Hawkynt Sep 11, 2026
41d2826
* document Lustre maintenance support
Hawkynt Sep 11, 2026
8a8f917
- revert unrelated QNX6 reference drift
Hawkynt Sep 11, 2026
3ccc9bd
chore: regenerate filesystem support matrix
Hawkynt Sep 11, 2026
ee89d6f
Cover legacy NRG v1 ETNF images
Hawkynt Sep 11, 2026
b4f705d
Validate Intel HEX EOF address field
Hawkynt Sep 11, 2026
395496d
Make empty NRG chunk payload explicit
Hawkynt Sep 11, 2026
467fff5
Document NWFS386 R/W maintenance support
Hawkynt Sep 11, 2026
d79da43
Cover malformed Intel HEX EOF address
Hawkynt Sep 11, 2026
6771b43
* update UEFI FV support matrix
Hawkynt Sep 11, 2026
bd8232b
chore: regenerate MooseFS package docs
Hawkynt Sep 11, 2026
9f56d49
Preserve NRG low-level edit coverage
Hawkynt Sep 11, 2026
8569520
Preserve MooseFS reader API compatibility
Hawkynt Sep 11, 2026
c8ec29b
Keep NWFS386 matrix update focused
Hawkynt Sep 11, 2026
1996fde
* keep UEFI FV matrix update focused
Hawkynt Sep 11, 2026
875333f
Document eCryptfs write and maintenance support
Hawkynt Sep 11, 2026
ac1e827
Complete NWFS386 descriptor contract
Hawkynt Sep 11, 2026
90f7161
Keep eCryptfs documentation diff focused
Hawkynt Sep 11, 2026
6cbfef8
noop
Hawkynt Sep 11, 2026
d9426b0
Remove accidental temporary file
Hawkynt Sep 11, 2026
4ba1d45
Fail closed on corrupted ldiskfs allocation metadata
Hawkynt Sep 11, 2026
825c723
Keep BLOCK_UNINIT fail-closed before checksum validation
Hawkynt Sep 11, 2026
391194b
Cover Lustre allocation checksum failures
Hawkynt Sep 11, 2026
6af714b
+ expose documented OneFS disk geometry
Hawkynt Sep 11, 2026
776e90f
+ add OneFS analysis-only layout geometry
Hawkynt Sep 11, 2026
d82df30
+ test OneFS documented geometry analysis
Hawkynt Sep 11, 2026
28b25c5
docs(onefs): record deeper raw-media research
Hawkynt Sep 11, 2026
4953a32
Add ext xattr read and inline mutation support
Hawkynt Sep 11, 2026
b7e4740
Add XFS short-form xattr mutation support
Hawkynt Sep 11, 2026
9bac5f7
Add multi-session NRG DAO authoring
Hawkynt Sep 11, 2026
af36113
Test ext xattr round trips
Hawkynt Sep 11, 2026
dad85ec
Test XFS short-form xattr round trips
Hawkynt Sep 11, 2026
3db8209
Track backing paths for Gluster xattrs
Hawkynt Sep 11, 2026
fd67adc
Expose Gluster brick xattrs through backing readers
Hawkynt Sep 11, 2026
3031bc5
Guard NRG rebuild verbs by track profile
Hawkynt Sep 11, 2026
4272f0d
Verify Gluster brick xattr visibility
Hawkynt Sep 11, 2026
edf2fab
Route NRG creation through DAO writer
Hawkynt Sep 11, 2026
56f3996
docs(onefs): record simulator oracle path
Hawkynt Sep 11, 2026
e248684
Document Gluster xattr and cluster-operation boundaries
Hawkynt Sep 11, 2026
4c64c4f
fix(onefs): stop claiming opaque-image integrity testing
Hawkynt Sep 11, 2026
b018753
Test NRG multi-session mixed-mode authoring
Hawkynt Sep 11, 2026
279e26f
test(onefs): pin unsupported integrity testing
Hawkynt Sep 11, 2026
5cec8a8
Update NRG writer structure tests for DAO profile
Hawkynt Sep 11, 2026
b84e601
CI: capture ReFS build diagnostics
Hawkynt Sep 11, 2026
a420459
Add credential-aware archive mutation options
Hawkynt Sep 11, 2026
087ca16
Add credential-aware mutation overloads
Hawkynt Sep 11, 2026
5b15f23
Expose streaming passphrase validation for eCryptfs mutation
Hawkynt Sep 11, 2026
1c3cef6
Promote eCryptfs to credential-aware R/W
Hawkynt Sep 11, 2026
f17fbe6
Assert eCryptfs credential-aware R/W capability
Hawkynt Sep 11, 2026
560aa13
Test credential-aware eCryptfs replacement and removal
Hawkynt Sep 11, 2026
ae88fae
Add xattr-safe ext-backed Gluster shrink
Hawkynt Sep 11, 2026
7756dba
Exercise credential-aware filesystem write round trips
Hawkynt Sep 11, 2026
8f6cb8b
Test xattr-safe Gluster shrink behavior
Hawkynt Sep 11, 2026
f4a1d69
Make maintenance probes credential-aware
Hawkynt Sep 11, 2026
a38af5f
Fix NRG profile-aware shrink build
Hawkynt Sep 11, 2026
eea43b3
Correct NRG DAO TOC and pregap semantics
Hawkynt Sep 11, 2026
c51bca0
Harden TUX3 extent failure handling
Hawkynt Sep 11, 2026
12e1ab9
Add adversarial TUX3 overflow regression
Hawkynt Sep 11, 2026
57aec6a
Merge remote-tracking branch 'origin/feature/intel-hex-rw' into integ…
Hawkynt Sep 11, 2026
93385a2
Merge remote-tracking branch 'origin/feature/commodore-lynx-maintenan…
Hawkynt Sep 11, 2026
f8c9994
Merge remote-tracking branch 'origin/feature/ti-txt-rw-maintenance' i…
Hawkynt Sep 11, 2026
7135b7c
Merge remote-tracking branch 'origin/fix/onefs-opaque-inspection' int…
Hawkynt Sep 11, 2026
1e3f8e9
Merge remote-tracking branch 'origin/fix/nrg-rw-maintenance' into int…
Hawkynt Sep 11, 2026
0cf1c2f
Merge remote-tracking branch 'origin/feature/tux3-layout-wipe-shrink'…
Hawkynt Sep 11, 2026
ed5307b
Merge remote-tracking branch 'origin/feature/cso-zso-rw-maintenance' …
Hawkynt Sep 11, 2026
1e7aaa3
Merge remote-tracking branch 'origin/feature/glusterfs-brick-read-sup…
Hawkynt Sep 11, 2026
b9aefe5
Merge remote-tracking branch 'origin/fix/t64-rw-maintenance' into int…
Hawkynt Sep 11, 2026
2b5ca80
Merge remote-tracking branch 'origin/feature/moosefs-maintenance' int…
Hawkynt Sep 11, 2026
25f3035
Merge remote-tracking branch 'origin/feature/ipsw-rw-maintenance' int…
Hawkynt Sep 11, 2026
d29f5da
Merge remote-tracking branch 'origin/feature/uefi-fv-rw-maintenance' …
Hawkynt Sep 11, 2026
8586699
Merge remote-tracking branch 'origin/feature/nwfs386-rw-maintenance' …
Hawkynt Sep 11, 2026
1fa9aa6
Merge remote-tracking branch 'origin/feat/ecryptfs-read-write-mainten…
Hawkynt Sep 11, 2026
7a9127f
Merge remote-tracking branch 'origin/feature/lustre-ldiskfs-maintenan…
Hawkynt Sep 11, 2026
2ea7c33
# repair the integrated branches against each other
Hawkynt Sep 11, 2026
ec5eaf3
Revert "Merge remote-tracking branch 'origin/fix/t64-rw-maintenance' …
Hawkynt Sep 11, 2026
4d202ef
- drop the NRG and T64 maintenance branches from this round
Hawkynt Sep 11, 2026
79ade68
* regenerate the filesystem support matrix after the branch drops
Hawkynt Sep 11, 2026
4bfd004
* regenerate the package API references for the integrated branches
Hawkynt Sep 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions .github/workflows/refs-diagnostic.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: ReFS diagnostic

on:
push:
branches: [refs-block-refcount-clone]

env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: 'true'

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Clone PNGCrushCS sibling
run: git clone --depth 1 https://github.com/Hawkynt/PNGCrushCS.git "$GITHUB_WORKSPACE/../PNGCrushCS"
- uses: actions/setup-dotnet@v4
with:
dotnet-version: '10.0.x'
dotnet-quality: preview
- name: Pre-build sibling
shell: bash
run: |
set -euo pipefail
cd "$GITHUB_WORKSPACE/../PNGCrushCS"
REQUIRED="Compression.Core FileFormat.Core FileFormat.Bmp FileFormat.Apng FileFormat.Tiff FileFormat.BigTiff FileFormat.Mng FileFormat.Fli FileFormat.Dcx FileFormat.Icns FileFormat.Mpo FileFormat.Jpeg FileFormat.Png"
locate() {
local proj="$1"
if [ -f "$proj/$proj.csproj" ]; then echo "$proj"; return 0; fi
if [ -f "FileFormats/$proj/$proj.csproj" ]; then echo "FileFormats/$proj"; return 0; fi
return 1
}
for proj in $REQUIRED; do
if ! locate "$proj" >/dev/null; then exit 0; fi
done
for proj in $REQUIRED; do
dir="$(locate "$proj")"
dotnet build "$dir/$proj.csproj" --configuration Release --nologo
done
- name: Restore
run: dotnet restore CompressionWorkbench.slnx
- name: Build and capture diagnostics
id: build
shell: bash
continue-on-error: true
run: |
set -o pipefail
dotnet build CompressionWorkbench.slnx --configuration Release --no-restore 2>&1 | tee refs-build.log
- uses: actions/upload-artifact@v4
with:
name: refs-build-log
path: refs-build.log
- name: Propagate build result
if: steps.build.outcome != 'success'
run: exit 1
51 changes: 51 additions & 0 deletions .github/workflows/regenerate-moosefs-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Regenerate MooseFS docs

on:
push:
branches: [feature/moosefs-maintenance]

concurrency:
group: regenerate-moosefs-docs
cancel-in-progress: true

permissions:
contents: write

env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: 'true'

jobs:
regenerate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4
with:
dotnet-version: '10.0.x'
dotnet-quality: 'preview'
- name: Rewrite filesystem support matrix
env:
CWB_WRITE_DOCS: '1'
run: >-
dotnet test Compression.Tests/Compression.Tests.csproj
--configuration Release
--filter FullyQualifiedName~FilesystemReadmeIsCurrentTests.TheSupportMatrix_SaysWhatTheCodeSays
--nologo
- name: Rewrite filesystem package API reference
uses: Hawkynt/RepositoryTemplate/package-readme@v1
with:
mode: write
project: Hawkynt.FileFormats.FileSystems/Hawkynt.FileFormats.FileSystems.csproj
- name: Commit generated documentation
shell: bash
run: |
set -euo pipefail
if git diff --quiet -- Hawkynt.FileFormats.FileSystems/README.md Hawkynt.FileFormats.FileSystems/REFERENCE.md; then
echo 'Filesystem package documentation already current.'
exit 0
fi
git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
git add Hawkynt.FileFormats.FileSystems/README.md Hawkynt.FileFormats.FileSystems/REFERENCE.md
git commit -m '* regenerate filesystem package documentation'
git push
4 changes: 2 additions & 2 deletions Compression.Core/DiskImage/PartitionedDiskLister.cs
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ private static string MakePartitionPrefix(PartitionEntry part) {
// ── Add / Remove (partition-aware) ────────────────────────────────────

/// <summary>
/// Partition-aware <see cref="IArchiveModifiable.Add"/>. Returns <c>true</c>
/// Partition-aware <see cref="IArchiveModifiable.Add(System.IO.Stream, System.Collections.Generic.IReadOnlyList{Compression.Registry.ArchiveInputInfo})"/>. Returns <c>true</c>
/// when a partition table was present and at least one input was dispatched
/// through the partition-aware path; <c>false</c> when no partition table
/// exists so the caller can fall through to the existing single-FS path.
Expand Down Expand Up @@ -243,7 +243,7 @@ public static bool TryAdd(Stream disk, IReadOnlyList<ArchiveInputInfo> inputs) {
}

/// <summary>
/// Partition-aware <see cref="IArchiveModifiable.Remove"/>. Returns <c>true</c>
/// Partition-aware <see cref="IArchiveModifiable.Remove(System.IO.Stream, string[])"/>. Returns <c>true</c>
/// when a partition table was present and at least one entry was removed;
/// <c>false</c> if no partition table was detected. Entry name shapes:
/// <c>Partition&lt;N&gt;_&lt;Type&gt;/&lt;inner&gt;</c> deletes an inner-FS
Expand Down
2 changes: 1 addition & 1 deletion Compression.Core/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ Use the concrete version you intend to consume; this document does not predict a

<!-- API:BEGIN generated by Hawkynt/RepositoryTemplate/package-readme — edit the XML docs in source, not here -->

Every public and protected member of all 627 types, generated from the built assembly and its XML documentation, is in [REFERENCE.md](https://github.com/Hawkynt/CompressionWorkbench/blob/main/Compression.Core/REFERENCE.md).
Every public and protected member of all 628 types, generated from the built assembly and its XML documentation, is in [REFERENCE.md](https://github.com/Hawkynt/CompressionWorkbench/blob/main/Compression.Core/REFERENCE.md).

<!-- API:END -->

Expand Down
Loading
Loading