Archive closed evidence to Drive and record verified capacity recovery
This commit is contained in:
+127
@@ -0,0 +1,127 @@
|
||||
{
|
||||
"full_run": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-03-final-regression-49445d4-r01",
|
||||
"ended_sha256": "24b4fa191efcdafbe237da9987472c2534d63212d976f9e9ff7608743aa5d6db",
|
||||
"all_owned_ended": true,
|
||||
"paths": [
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-00fc36f816da4c1ea402237d259217c9-standard-startup-051",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-02cccada4a5c49a3aed3cd39d4f5e345-standard-runtime-032",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-054d29b9edb54dfba7490d657c3a9805-standard-runtime-024",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-07ec32f8b36b4829a4dba1aa6cd92574-standard-startup-001",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-0882da0551cb421790282de3dfbeb587-standard-startup-020",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-0a6bc85408254ebe895e20b363121aac-standard-runtime-020",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-0bca58e1b5e048ab9fe5076830bba30a-standard-runtime-006",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-0d5cffd987c24d7ba1e804d6d6a59dbb-standard-runtime-057",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-0dfc0a11e1484422b7d36a467ced8d33-standard-runtime-parse",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-0fe5542abd45423b8c86dff75909a47a-standard-runtime-012",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-10cc94182c2f49308ec1b06f2440cc00-standard-startup-027",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-1161803c993d44a0b3d29c5f62430faa-standard-startup-008",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-119637c7b2a147789d00da5751bee657-standard-runtime-013",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-142210b159844a77b094cc606afdc815-standard-startup-007",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-17f953d37a254a668c4e9d591061a472-standard-startup-041",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-182d07ec24ba4389af493fd87da36278-standard-startup-018",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-1d688ebe172a4379829983a51cc276f4-standard-runtime-046",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-2026b16ef3f44c44b80ad0d62e6756b3-standard-startup-006",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-25a93b40ee514f8ea5516ce281f3836a-standard-runtime-022",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-2715f4d6201d4b94a8397aa5a259d7e3-standard-startup-004",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-28f3f2742ff34367a39c279cb40abd42-standard-runtime-015",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-2bdc431ed6fc407e87938649b11e4a4f-standard-startup-038",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-2d4b4afc48b6435193dcd584f1777124-standard-startup-009",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-33ab9fc1fe1f49408b9a8742df7565c6-standard-startup-034",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-354aaee44dc1477ba512dec9f81c1448-standard-startup-015",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-39e0ed58c62d4490aba0d39839470e51-standard-startup-045",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-3a3f5ee171324d87b83c6d0f27b0a128-standard-runtime-036",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-40bc0f7dd28445498d14f16666f4efd8-standard-runtime-055",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-41e20b273fda464e92d95e832d4dd0d5-standard-startup-022",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-43b3a2e656ff43138bd72c23d0b5b648-standard-runtime-000",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-43c4e2ef855241a19336360717a6e146-standard-runtime-005",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-443ff691c0e34de9b0c44980c92e67a5-standard-runtime-049",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-47192650f69846ca99fab900a2bc9589-standard-runtime-029",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-482144c3960841169319d63b411bc98d-standard-runtime-009",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-4c5bfc2806744ff68cb6e80b1046986b-standard-startup-039",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-4ff5cb279b194a88bfd6d69f7c8eb1e2-standard-runtime-007",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-500c915430c743a29b99e4556b27513a-standard-startup-026",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-504595068d164ca4a45eb4241f96e49c-standard-startup-056",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-52ad8684de9e43cd9d828a06a1a09795-standard-runtime-056",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-5ccd4daab50d479f9312ec3e93894dde-standard-runtime-040",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-5cf599431c8c4d63933fba20b193ee3b-standard-startup-000",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-5d7da93ae9844d6caa38e1029f7ad6bc-standard-startup-import",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-5e6087deef0d4d1d836fc9d0bdf6abef-standard-startup-036",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-64423325d1874555a0976dce135d021b-standard-runtime-014",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-677856d662b748a3b7dece4f5da211c3-standard-startup-013",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-6a4ec5ac80d34b0eb017e3facd02110d-standard-startup-030",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-6b97341dfc5a4a459dfab852b13f6657-standard-runtime-010",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-71491e8a2c8641e4857e9fa9013105a2-standard-startup-016",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-716d5b522e0241c2b2ba27790040da74-standard-startup-042",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-726ddb387a9c4041b501d2dab01b42c5-standard-startup-011",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-735e8669ea214364be33a3312c5a94dd-standard-startup-010",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-73fd9aa753f943bb9a5c8ed4ba1de5b0-standard-startup-054",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-742835293f014e98a98cc5082f2803e3-standard-runtime-054",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-74aa3f36b3d04b388222180b0bb9af8d-standard-startup-052",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-74e6611462224eff9c48341dd5100193-standard-startup-057",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-787291854a12416ebbe80001d9acd058-standard-runtime-028",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-7928f0999d44466eb10dd62518d4fea0-standard-runtime-030",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-7b5f6c743da74980a7ad83313ee776c5-standard-startup-019",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-7c2cb50d752f4f78a51bbc2522500d49-standard-runtime-017",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-7e6d4d87473f46d9ba5ca6741ccc1b30-standard-runtime-052",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-820f1dc7039547bb90d35fd2f40961f0-standard-runtime-037",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-832faafb00b643d4886d572b0f8c7610-standard-startup-043",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-84425166fbed482dbbab50bb51a45442-standard-runtime-033",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-849526a68b7c494ab8cf96b6457c719e-standard-startup-029",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-84d11971a0bf4a9a803127ece1d431ad-standard-runtime-035",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-85287ffe4a3f4e16ab766bdc52137969-standard-runtime-021",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-87407d37bac94147b43156dbdff9e8a5-standard-startup-044",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-878dc95891ce4bfb9cfe3a8645933fd3-standard-runtime-041",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-88db7d5b39014824989efc6620237e15-standard-runtime-047",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-8902c2c8d72d4c5492e25fe5d2c78c3c-standard-runtime-002",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-8ca0a5c86d324de2bece780100dc8bbb-standard-startup-033",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-8eb000d588cb48eeb9aaa9dab7ba5760-standard-startup-014",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-8fb18292305b4fc7abfb249df686025c-standard-runtime-004",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-915357d147434fb197a9f28b60536f57-standard-runtime-045",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-91d554162c84481b9058e502db9f585f-standard-startup-037",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-9635041018934a4797874de59d0ab7b5-standard-startup-028",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-9974b0bf90424c5289024e922a38acfe-standard-startup-005",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-9a2a242a058746c5857dcd19d5c892de-standard-startup-025",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-a36bde6ab5d941d0acf04d4e13b0904d-standard-runtime-019",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-a72cdb1bba8943598c21378cc26eed81-standard-startup-021",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-a8ae6cadeca34eb38afe6bda85a7666b-standard-startup-023",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-aa938266122541bfaeb202d07849bbcb-standard-runtime-027",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-adcf84a2ad8e40bc823202b527c18db6-standard-runtime-048",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-b096f96c644c4ffdba0698dea408bcab-standard-startup-parse",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-b0d27cb5801542fe95e74e39a7297117-standard-startup-046",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-b16eefb23aed4fb7b03111a99226846f-standard-runtime-031",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-b2553ae9280f427cb8f5adec7f715570-standard-runtime-042",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-b458eef62a974cbb88fc0244c8a8f559-standard-runtime-023",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-b47a75e0a62c4e0386db3196de660dd8-standard-runtime-018",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-b5fe77b55dbd46ccb0f0de1af3bcff30-standard-runtime-039",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-b71e8451df1248b6b1b114202e39b97f-standard-runtime-038",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-bcf6fe6f07df452ca4c9de5b06f94e49-standard-runtime-034",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-bdcb995cda3642b096ed02897bb5bc34-standard-startup-031",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-c00ceba1ace24dc2a80a3a029c3d5a5e-standard-runtime-003",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-c49948830eb84acfb3709332bd0e2bca-standard-startup-032",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-c4a26898778844c2b9f0019afebdb516-standard-runtime-051",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-c4e5d914db194c70b3107dc4751f6104-standard-startup-049",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-c6d4c0d0b1a74bcc9356be669148a881-standard-runtime-044",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-c8e596d6264e433487ae92b30f04d3e7-standard-startup-035",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-cc10a4f9a66442dabb17f46c62c7e9d2-standard-startup-048",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-cf7ab80d99174af1b85475b1b5c59651-standard-runtime-001",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-d09bdd19f3c54b9fade4680d58d0ac15-standard-startup-024",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-d8a5ec5176b54ca8b42de72c6f180c93-standard-startup-003",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-d9381073a7684579b7891c0ee729b822-standard-startup-040",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-dc940fca6c4b4a5b96a1b990f643fddb-standard-startup-055",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-deefdba050744f9aa4e39dbe9c833588-standard-runtime-025",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-e05b719ae8dd4f1fa9b17bd2d69cfd52-standard-runtime-043",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-e5862ddb803841cda522e7aa4127a38c-standard-runtime-011",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-e75d5ee6196e4a0c8384aff7ce33b6e2-standard-runtime-026",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-ea479e456ec34d41bf7f81326653edae-standard-runtime-016",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-eb90718789fd4f7d9917ce58682ea165-standard-startup-017",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-ed75dcdfe8d14b148c3e5bd553142483-standard-startup-002",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-ee58bdb4f12c4ef6b28aef464eaad9dc-standard-startup-047",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-eeea9f54347d47acb75a26151e1b7a63-standard-startup-053",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-f0307cbcbcfd4343a42b5911f7832d60-standard-runtime-008",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-f4a270158243411a941efedb16dee211-standard-runtime-053",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-fa0deef550e54b5da64ee3cd5fd2af04-standard-startup-012",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-fc0b3464aef34dc28c1fb7c6171d4acc-standard-startup-050",
|
||||
"/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-fe347cf07b0c4635b9ec7f2997d8b9b1-standard-runtime-050"
|
||||
],
|
||||
"source": "Actual phase-bound generated private profiles only. Partial full177 remains incomplete; no test/candidate/source changes."
|
||||
}
|
||||
BIN
Binary file not shown.
+13
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"candidate_files": 2675,
|
||||
"compressed_files": 2645,
|
||||
"errors": [],
|
||||
"logical_bytes_preserved": 1840775652,
|
||||
"allocated_before_sum": 1845633024,
|
||||
"allocated_after_sum": 150609920,
|
||||
"free_before_bytes": 235634688,
|
||||
"free_after_bytes": 1934417920,
|
||||
"elapsed_seconds": 93.83740019798279,
|
||||
"method": "Transparent APFS compression only for phase-bound closed owned profiles; identical paths/bytes/mtime; SHA checked original/compressed/original-before-replacement/final; no user save, source, active file or raw proof deletion.",
|
||||
"measurement_limit": "Net volume free change is measured; per-file block sums are not APFS-exclusive allocation."
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
import pathlib,json,subprocess,hashlib,os,time,shutil,tempfile,gzip
|
||||
R=pathlib.Path("/Users/korizatou114/Projects/とりにく工房ゲーム制作部")
|
||||
O=R/"docs/plans/original-completion-2026-10-02/execution/p23-03/capacity-recovery-r01"
|
||||
m=json.loads((O/"CLOSED_FULL_49445D4_R01_PROFILE_MANIFEST.json").read_text())
|
||||
def sha(p):
|
||||
h=hashlib.sha256()
|
||||
with p.open("rb") as f:
|
||||
for b in iter(lambda:f.read(1048576),b""):h.update(b)
|
||||
return h.hexdigest()
|
||||
assert sha(pathlib.Path(m["full_run"])/"runner-ended.json")==m["ended_sha256"] and m["all_owned_ended"]
|
||||
assert not subprocess.run(["pgrep","-f","^/Applications/Godot.app/Contents/MacOS/Godot"],capture_output=True).stdout.strip(), "no live Godot during profile compression"
|
||||
opened={s[1:] for s in subprocess.run(["lsof","-n","-F","n"],capture_output=True,text=True).stdout.splitlines() if s.startswith("n/")}
|
||||
start=time.time();free=shutil.disk_usage(R).free;candidates=[];errors=[];rows=[]
|
||||
for root in map(pathlib.Path,m["paths"]):
|
||||
assert root.parent==pathlib.Path("/Users/korizatou114/Library/Application Support") and root.name.startswith("TheTree-PCK-tests-") and not root.is_symlink()
|
||||
for p in root.rglob("*"):
|
||||
if p.is_symlink() or not p.is_file() or str(p) in opened:continue
|
||||
s=p.stat()
|
||||
if s.st_size>=16384 and s.st_nlink==1 and s.st_blocks*512>=s.st_size*.5:candidates.append(p)
|
||||
print(json.dumps({"candidate_files":len(candidates),"logical_bytes":sum(p.stat().st_size for p in candidates),"free_before":free}),flush=True)
|
||||
with gzip.open(O/"CLOSED_FULL_PROFILE_COMPRESSION_FILES.jsonl.gz","wt") as log:
|
||||
cursor=0
|
||||
while cursor<len(candidates):
|
||||
with tempfile.TemporaryDirectory(prefix="tree-closed-profile-compress-",dir="/private/tmp") as tmp:
|
||||
inp=pathlib.Path(tmp)/"input";out=pathlib.Path(tmp)/"compressed";inp.mkdir();batch=[];size=0
|
||||
while cursor<len(candidates) and len(batch)<64 and size<16*1024*1024:
|
||||
p=candidates[cursor];cursor+=1;s=p.stat();digest=sha(p);name=str(len(batch));os.link(p,inp/name);batch.append((p,s,digest,name));size+=s.st_size
|
||||
subprocess.run(["ditto","--hfsCompression","--noclone",str(inp),str(out)],check=True,capture_output=True)
|
||||
for p,s,digest,name in batch:
|
||||
t=out/name
|
||||
try:
|
||||
now=p.stat()
|
||||
assert sha(t)==digest and now.st_mtime_ns==s.st_mtime_ns and now.st_size==s.st_size and sha(p)==digest,"byte/source guard"
|
||||
if t.stat().st_blocks*512>=s.st_blocks*512*.9:continue
|
||||
os.replace(t,p);assert sha(p)==digest and p.stat().st_mtime_ns==s.st_mtime_ns,"final SHA/mtime guard"
|
||||
row={"path":str(p),"bytes":s.st_size,"sha256":digest,"allocated_before":s.st_blocks*512,"allocated_after":p.stat().st_blocks*512,"mtime_ns":s.st_mtime_ns,"content_verified":True};rows.append(row);log.write(json.dumps(row)+"\n")
|
||||
except Exception as e:errors.append({"path":str(p),"error":str(e)})
|
||||
print(json.dumps({"processed":cursor,"compressed":len(rows),"free_GiB":round(shutil.disk_usage(R).free/2**30,2),"elapsed_s":round(time.time()-start)}),flush=True)
|
||||
result={"candidate_files":len(candidates),"compressed_files":len(rows),"errors":errors,"logical_bytes_preserved":sum(x["bytes"]for x in rows),"allocated_before_sum":sum(x["allocated_before"]for x in rows),"allocated_after_sum":sum(x["allocated_after"]for x in rows),"free_before_bytes":free,"free_after_bytes":shutil.disk_usage(R).free,"elapsed_seconds":time.time()-start,"method":"Transparent APFS compression only for phase-bound closed owned profiles; identical paths/bytes/mtime; SHA checked original/compressed/original-before-replacement/final; no user save, source, active file or raw proof deletion.","measurement_limit":"Net volume free change is measured; per-file block sums are not APFS-exclusive allocation."}
|
||||
(O/"CLOSED_FULL_PROFILE_COMPRESSION_RESULT.json").write_text(json.dumps(result,indent=2)+"\n");print(json.dumps(result),flush=True)
|
||||
Reference in New Issue
Block a user