Lab PID: 10372
Disposable run directory: <CAPTURE_ROOT>\data\20261013T050814Z-48e1985a8dac42c5900f7b54928632ee
Results: <CAPTURE_ROOT>\output\20261013T050814Z-48e1985a8dac42c5900f7b54928632ee-results.json

Experiment 3
[1] SetSecurityInfo: DACL -> read-write (control rights retained) -> SUCCESS
[2] CreateFileW: retained reader -> SUCCESS
    Handle=0x984; Requested=0x80000000; measured GrantedAccess=0x00120089
[3] CreateFileW: separate retained writer -> SUCCESS
    Handle=0x98C; Requested=0x40000000; measured GrantedAccess=0x00120196
[4] ReadFile: baseline marker before DACL change -> SUCCESS
    Handle=0x984; Requested=n/a; measured GrantedAccess=0x00120089
    BEFORE-DACL-CHANGE
[5] SetSecurityInfo: DACL -> control-only (control rights retained) -> SUCCESS
[6] WriteFile: new marker generated after DACL change -> SUCCESS
    Handle=0x98C; Requested=n/a; measured GrantedAccess=0x00120196
    AFTER-cc2e58083c6e42baa188f96b67ca7d7f
[7] FlushFileBuffers: flush separate retained writer -> SUCCESS
    Handle=0x98C; Requested=n/a; measured GrantedAccess=0x00120196
[8] ReadFile: fresh ReadFile through retained reader -> SUCCESS
    Handle=0x984; Requested=n/a; measured GrantedAccess=0x00120089
    AFTER-cc2e58083c6e42baa188f96b67ca7d7f
[9] Marker comparison: post-change bytes match -> SUCCESS
    AFTER-cc2e58083c6e42baa188f96b67ca7d7f
[10] GetFileInformationByHandle: reader identity after DACL change -> SUCCESS
    C840BBE7:004C000000030319
[11] GetFileInformationByHandle: writer identity after DACL change -> SUCCESS
    C840BBE7:004C000000030319
[12] CreateFileW: fresh reader after denying data access -> FAILURE (Win32 5)
Original DACL restored: <CAPTURE_ROOT>\data\20261013T050814Z-48e1985a8dac42c5900f7b54928632ee\experiment-3.txt
Experiment 3 passed: True; DACL restored: True

All selected experiments matched their predictions. Original DACLs restored.
Files and saved DACLs remain in the disposable run directory for inspection.
