Audit frozen LIF semantics and real recurrent motifs without learning changes
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
"""Publish only new, sealed, small Phase 4AC evidence; no bulk data in Git."""
|
||||
import json
|
||||
from pathlib import Path
|
||||
import shutil
|
||||
import sys
|
||||
|
||||
ROOT=Path('/data/digital-drosophila')
|
||||
MODEL=ROOT/'models/male-cns-lif/lif-semantics-audit-v1'
|
||||
EXP=ROOT/'experiments/phase4ac-lif-semantics'
|
||||
sys.path.insert(0,str(MODEL))
|
||||
from audit_semantics import digest, save, manifest_check
|
||||
|
||||
for folder in (MODEL,EXP): assert manifest_check(folder,digest)['pass']
|
||||
registry=ROOT/'registry/phase4ac-lif-semantics'; registry.mkdir(exist_ok=False)
|
||||
records=[]
|
||||
for p in sorted(EXP.rglob('*')):
|
||||
if not p.is_file() or p.stat().st_size > 4*1024**2: continue
|
||||
external=p.parent==EXP/'external-resources'
|
||||
if p.suffix not in ('.json','.csv','.md','.sha256') and not external: continue
|
||||
dst=registry/'evidence'/p.relative_to(EXP);dst.parent.mkdir(parents=True,exist_ok=True)
|
||||
with p.open('rb') as src,dst.open('xb') as out: shutil.copyfileobj(src,out)
|
||||
assert digest(p)==digest(dst)
|
||||
records.append(dict(source=str(p.relative_to(ROOT)),copy=str(dst.relative_to(registry)),
|
||||
sha256=digest(p),bytes=p.stat().st_size))
|
||||
save(registry/'evidence-index.json',records)
|
||||
save(registry/'seal-verification.json',{str(p.relative_to(ROOT)):manifest_check(p,digest) for p in (MODEL,EXP)})
|
||||
for source,destination in [('REPORT.md','phase4ac-lif-semantics.md'),('INTERPRETATION.zh.md','phase4ac-interpretation.md')]:
|
||||
target=ROOT/'docs/progress'/destination
|
||||
with (EXP/source).open('rb') as src,target.open('xb') as out: shutil.copyfileobj(src,out)
|
||||
print('Published',len(records),'small evidence files; original scientific data read-only')
|
||||
Reference in New Issue
Block a user