Seal Phase4AF exact short fullgraph author GPU gate and APL integration audit

This commit is contained in:
Digital Drosophila Archive
2026-09-30 08:14:16 +08:00
parent 1eb4c52cf7
commit 7dfe5d2d87
104 changed files with 11608 additions and 20 deletions
@@ -0,0 +1,71 @@
"""Read-only canonical graph adaptation, before any neural trajectory."""
from datetime import datetime, timezone
import json
import platform
import shutil
import subprocess
import numpy as np
import pandas as pd
import yaml
from context import ROOT, MODEL, EXP, AD, AE_MODEL, AE_EXP, CFG, save, digest, sources, integrity, budget_check
def main():
assert not (EXP/'protocol').exists()
assert shutil.disk_usage(EXP.parent).free > 25*1024**3
for name in ('protocol','graph','cases','oracle','gpu','regression','audit','logs','extension-build'):
(EXP/name).mkdir(parents=True, exist_ok=False)
can = ROOT/'datasets/male-cns-v1.0/processed/neuron-only'
raw_paths = [can/'gpu/csr-indptr.int64.npy', can/'gpu/csr-indices.int32.npy',
can/'gpu/csr-weights.int64.npy', can/'neuron-index/unified-metadata.parquet',
ROOT/'models/male-cns-lif/runtime-v1/phase4c.yaml', AD/'external-resources/model.py',
AD/'manifest.json', AE_MODEL/'manifest.json', AE_EXP/'manifest.json',
AE_MODEL/'gpu_backend.py',AE_MODEL/'author_ext.cpp',AE_MODEL/'author_ext.cu',AE_MODEL/'oracle_stress.py']
save(EXP/'protocol/preregistered.json', dict(timestamp_utc=datetime.now(timezone.utc).isoformat(),
config=CFG, sources=sources(), before_model_execution=True,
inputs=[dict(path=str(p.relative_to(ROOT)),sha256=digest(p)) for p in raw_paths],
parent_commit=subprocess.check_output(['git','-C',str(ROOT),'rev-parse','HEAD'],text=True).strip()))
save(EXP/'regression/old-integrity-before.json',integrity())
ptr = np.load(raw_paths[0], mmap_mode='r'); dst = np.load(raw_paths[1], mmap_mode='r')
raw = np.load(raw_paths[2], mmap_mode='r'); meta = pd.read_parquet(raw_paths[3]).sort_values('neuron_idx').reset_index(drop=True)
n,e = CFG['neurons'],CFG['edges']
assert ptr.dtype == np.int64 and dst.dtype == np.int32 and raw.dtype == np.int64
assert len(meta)==n and np.array_equal(meta.neuron_idx,np.arange(n))
assert ptr.shape==(n+1,) and ptr[0]==0 and ptr[-1]==e and np.all(np.diff(ptr)>=0)
assert dst.shape == raw.shape == (e,) and dst.min()>=0 and dst.max()<n
assert raw.min()>0 and int(raw.sum())==CFG['raw_weight_sum']
policy = yaml.safe_load(raw_paths[4].read_text())['sign_policy']
signs=[]; nt_counts={}
for nt in meta.neurotransmitter:
s='' if pd.isna(nt) else str(nt).strip().lower()
signs.append(policy['unknown_sign'] if not s else policy['unclear_sign'] if s=='unclear' else policy['neurotransmitter_sign'][s])
nt_counts[s or 'NULL'] = nt_counts.get(s or 'NULL',0)+1
signs=np.asarray(signs,np.int8); assert set(signs).issubset({-1,0,1})
src=np.repeat(np.arange(n,dtype=np.int32),np.diff(ptr)); signed=raw*signs[src]
edge_id=np.arange(e,dtype=np.int64);graph=EXP/'graph'
for name,array in dict(nodes=np.arange(n,dtype=np.int32),edge_id=edge_id,src=src,dst=dst,
signed_raw=signed,ptr=ptr,signs=signs).items():
with (graph/(name+'.npy')).open('xb') as f: np.save(f,array,allow_pickle=False)
pd.DataFrame({'local_index':np.arange(n,dtype=np.int32)},index=pd.Index(np.arange(n),name='global_neuron_idx')).to_csv(graph/'completeness.csv')
pd.DataFrame({'Presynaptic_Index':src,'Postsynaptic_Index':dst,
'Excitatory x Connectivity':signed,'edge_id':edge_id},copy=False).to_parquet(graph/'connectivity.parquet',index=False)
idx=np.bincount(dst,minlength=n);out=np.diff(ptr)
assert int(np.count_nonzero(src==dst))==101 and int(np.count_nonzero((idx==0)&(out==0)))==217
save(graph/'audit.json',dict(neurons=n,edges=e,raw_weight_sum=int(raw.sum()),
self_loops=int(np.count_nonzero(src==dst)),isolates=int(np.count_nonzero((idx==0)&(out==0))),
signs={str(int(s)):int(np.count_nonzero(signs==s)) for s in np.unique(signs)},neurotransmitters=nt_counts,
canonical_edge_id='original CSR slot; source sorted; no reordering, filtering, normalization or new edge',
body_mapping_input=str(raw_paths[3]),original_weights_modified=False))
model=json.loads((AD/'protocol/preregistered.json').read_text())['config']['model']
for trial in CFG['trials']:
case=EXP/'cases'/trial['name'];case.mkdir()
save(case/'spec.json',dict(**trial,dt_ms=model['dt_ms'],duration_ms=trial['steps']*model['dt_ms'],model=model,
graph_dir=str(graph),precision=CFG['precision'],all_requests_at_tick=0,apl_overlay=False,training=False,
budget_root=str(EXP),output_budget_bytes=CFG['new_output_budget_bytes']))
meta.iloc[trial['seed_nodes']][['neuron_idx','body_id','annotation_type','neurotransmitter']].to_csv(case/'seed-identities.csv',index=False)
save(EXP/'protocol/environment.json',dict(python=platform.python_version(),platform=platform.platform(),
numpy=np.__version__,free_disk_bytes=shutil.disk_usage(EXP).free))
save(EXP/'protocol/graph-case-hashes.json',[dict(path=str(p.relative_to(EXP)),sha256=digest(p),bytes=p.stat().st_size)
for root in (graph,EXP/'cases') for p in sorted(root.rglob('*')) if p.is_file()])
budget_check();print('PREPARED full canonical graph and3 fixed trials; frozen integrity PASS',flush=True)
if __name__=='__main__': main()