Audit calyx-specific PN contact scope without changing frozen baseline
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
"""Copy only new small sealed evidence into Git; never copy bulk datasets."""
|
||||
import json
|
||||
from pathlib import Path
|
||||
import shutil
|
||||
import sys
|
||||
|
||||
ROOT = Path('/data/digital-drosophila'); MODEL = ROOT/'models/male-cns-lif/terminal-scope-diagnostic-v1'
|
||||
EXP = ROOT/'experiments/phase4ab-terminal-scope'
|
||||
sys.path.insert(0, str(MODEL))
|
||||
import diagnostic
|
||||
_, _, _, _, save, digest, _, _ = diagnostic.load_context()
|
||||
for folder in (MODEL, EXP):
|
||||
assert diagnostic.manifest_check(folder, digest)['pass']
|
||||
registry = ROOT/'registry/phase4ab-terminal-scope'; registry.mkdir(exist_ok=False)
|
||||
records = []
|
||||
for p in sorted(EXP.rglob('*')):
|
||||
if not p.is_file() or p.suffix not in ('.json', '.csv', '.md', '.sha256') or p.stat().st_size > 4*1024**2:
|
||||
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({'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)): diagnostic.manifest_check(p, digest) for p in (MODEL, EXP)})
|
||||
for source, dest in [('INTERPRETATION.zh.md', 'phase4ab-terminal-scope.md'), ('REPORT.md', 'phase4ab-technical-results.md')]:
|
||||
target = ROOT/'docs/progress'/dest
|
||||
with (EXP/source).open('rb') as src, target.open('xb') as out: shutil.copyfileobj(src, out)
|
||||
print('Published', len(records), 'small evidence copies; no data copied to Git')
|
||||
Reference in New Issue
Block a user