# _l1.py -- L1 NAMES AT SCALE (Babel chain Stage 1). GPT-2 124M. PROPOSE-ONLY. # Pre-registration: FINDINGS_PEN_CONSTRUCTIVE_2026-06-28.md :: # "L1 -- NAMES AT SCALE (BABEL STAGE 1) ... GAP-SCAN + PRE-REGISTRATION (2026-07-05 ~23:52)". # Instrument: the V4/V4C Arm-C snap battery VERBATIM as actuator (SnapHook on all 12 attn writes, # fac=(a0+s*m*sigma)/a0 at top-16 |traffic| positions), EXTENDED readouts per pre-reg: # CH-WU (final W_U class contrast) + CH-INT (logit-lens contrast at b+1..b+3) + CH-FIELD (V4 # downstream-field antisymmetry) as verdict channels, CH-POS report-only; 3 regime banks # (prose/code/repetition); sigma-matched nulls (B_NULL=20, seeds 9000+jseed*100+it) on EVERY # verdict channel. Gates G0-G5 verdict-blocking. Per-word atomic checkpoint + resume-skip. import json, time, os, math, gc, subprocess, ctypes, hashlib import torch import torch.nn.functional as Fnn t0=time.time() DIR=r"C:\Shadow\Dissector\D0_PROGRAM\CONSTRUCTIVE" SMOKE=os.environ.get("L1_SMOKE")=="1" LOG=open(os.path.join(DIR,"_l1.log"),"a",encoding="utf-8") def logln(s): s=str(s); LOG.write(f"[L1 {round(time.time()-t0,1):8.1f}s] "+s+"\n"); LOG.flush() try: print(s,flush=True) except Exception: pass def el(): return round(time.time()-t0,1) logln("="*100); logln(f"L1 START smoke={SMOKE} torch={torch.__version__}") try: ctypes.windll.kernel32.SetPriorityClass(ctypes.windll.kernel32.GetCurrentProcess(),0x4000) logln("[ops] priority BelowNormal set") except Exception as e: logln(f"[ops] priority set failed: {e}") torch.set_num_threads(6) # ---------------- locked constants (pre-reg verbatim) ---------------- CERT_BLOCK=512; IND_SEG=64; MB=4; CAP_CHUNK=16; A_EPS=1e-6 VOCAB_SANS_SPECIALS=50256; REGIMES=["prose","code","repetition"] FRESH_LO,FRESH_HI=24576,32768; REP_SEED=3 B_NULL=3 if SMOKE else 20; B_NULL_FAST=12 ROOMS=[2,5,3,4,6] W_CORR_J=[0,1] if SMOKE else [0,1,2,3,4,6,9,10,12,15,17,20,26,29,34] FOLD_CELLS=([("code",9,"O_r48_code_b9","v7")] if SMOKE else [("repetition",8,"O_r48_b8","v7t"),("repetition",9,"O_r48_b9","v7t"), ("repetition",10,"O_r48_b10","v7t"),("repetition",11,"O_r48_b11","v7t"), ("repetition",12,"O_r48_b12","v5"), ("code",4,"O_r48_code_b4","v7t"),("code",5,"O_r48_code_b5","v7t"), ("code",6,"O_r48_code_b6","v7t"),("code",7,"O_r48_code_b7","v7t"), ("code",8,"O_r48_code_b8","v7t"),("code",9,"O_r48_code_b9","v7t"), ("code",10,"O_r48_code_b10","v7t"),("code",11,"O_r48_code_b11","v7t"), ("prose",12,"O_r48_prose_b12","v7t")]) SHARE_MIN=0.01; DEDUP_DOT=0.8 SMOKE_FOLD_CAP=2 # smoke only: top-2 candidates of the single smoke cell C_BANKED={0:{"C":-0.6281,"beats":True},16:{"C":-1.5931,"beats":True}} DEC_V7_SHA="b1d2f464c00c3ef6"; V5B_SHA="04c401d24ab2cd9d" CODE_B9_BANK=0.13721; TOL_REPLAY=2e-3; TOL_ANCHOR=3e-3 N_STAND_ANCHOR=64; N_BANK=16 SOFT_COMPUTE_S=3.5*3600; HARD_WALL_S=4.5*3600 RESULT_JSON=os.path.join(DIR,"_l1_result_SMOKE.json" if SMOKE else "_l1_result.json") BASES_PT=os.path.join(DIR,"_l1_bases_SMOKE.pt" if SMOKE else "_l1_bases.pt") torch.manual_seed(1234) def sha256(p): h=hashlib.sha256() with open(p,"rb") as f: for ch in iter(lambda:f.read(1<<20),b""): h.update(ch) return h.hexdigest()[:16] PEN=("FINDINGS_PEN_CONSTRUCTIVE_2026-06-28.md :: 'L1 -- NAMES AT SCALE (BABEL STAGE 1) -- " "GAP-SCAN + PRE-REGISTRATION (2026-07-05 ~23:52)'") res={"experiment":"L1 NAMES AT SCALE: V4C snap battery extended (CH-WU/CH-INT/CH-FIELD verdict " "channels + CH-POS report-only) x 3 regimes x sigma-matched nulls, over the 15 W-CORR words " "(14 V4C-unnamed + glitch b2_d0) + all deduped >=1%-share folded-read dims from decoder_v7 " "provenance. NAMED / NAMED-REGIME-SPECIFIC / CERTIFIED-NO-GLOSS per locked rubric.", "date":"2026-07-05","propose_only":True,"pre_registration":PEN,"smoke":SMOKE, "config":{"b_null":B_NULL,"precision":"fp32","tf32":"off","attn":"eager","seed":1234, "null_seeds":"9000+jseed*100+it; jseed=corridor j (W-CORR) / 100+i (W-FOLD)", "snap":"sigma-matched (null fac uses the REAL word's sigma; _v4.py:1189 verbatim)", "share_min":SHARE_MIN,"dedup_dot":DEDUP_DOT}, "gpu_free_checks":[],"instrument_discrepancy":[],"gates":{},"mass":{},"wordlist":{}, "words":{},"budget":{},"verdict":{},"status":"INIT"} def write_json(): res["elapsed_s"]=el(); tmp=RESULT_JSON+".tmp" with open(tmp,"w",encoding="utf-8") as f: json.dump(res,f,indent=1,default=str) os.replace(tmp,RESULT_JSON) BASES={} def save_bases(): tmp=BASES_PT+".tmp"; torch.save(BASES,tmp); os.replace(tmp,BASES_PT) # resume if os.path.exists(RESULT_JSON): try: prev=json.load(open(RESULT_JSON,encoding="utf-8")) for k in ("gates","mass","wordlist","words","budget","gpu_free_checks","instrument_discrepancy"): if prev.get(k): res[k]=prev[k] logln(f"*** RESUME *** prior words done={sum(1 for w in res['words'].values() if w.get('done'))}") except Exception as e: logln(f"resume load fail {e}") if os.path.exists(BASES_PT): try: BASES=torch.load(BASES_PT,map_location="cpu",weights_only=False) except Exception as e: logln(f"bases resume fail {e}") write_json() def gpu_free_check(tag): rec={"tag":tag,"t":el(),"foreign":[]} try: out=subprocess.run(["nvidia-smi","--query-compute-apps=pid,process_name,used_memory","--format=csv,noheader"], capture_output=True,text=True,timeout=30).stdout me=os.getpid() for line in out.strip().splitlines(): p=[x.strip() for x in line.split(",")] if len(p)>=3 and p[0].isdigit() and int(p[0])!=me and "python" in p[1].lower(): rec["foreign"].append(line) except Exception as e: rec["error"]=str(e) rec["clear"]=not rec["foreign"] if rec["foreign"]: res["instrument_discrepancy"].append({"stage":tag,"name":"gpu_free_check","why":str(rec["foreign"])}) res["gpu_free_checks"].append(rec); write_json(); logln(f"[gpu {tag}] clear={rec['clear']}"); return rec["clear"] def free(): gc.collect(); torch.cuda.empty_cache() # ---------------- model (verbatim loader) ---------------- from transformers import AutoModelForCausalLM, AutoTokenizer M={"m":None} def ensure_model(): if M["m"] is not None: return if not torch.cuda.is_available(): raise RuntimeError("CUDA not available") torch.backends.cuda.matmul.allow_tf32=False; torch.backends.cudnn.allow_tf32=False tok=AutoTokenizer.from_pretrained("gpt2") model=AutoModelForCausalLM.from_pretrained("gpt2",dtype=torch.float32,attn_implementation="eager").to('cuda').eval() model.requires_grad_(False) M["m"]=model; M["tok"]=tok; M["blocks"]=list(model.transformer.h); M["drop"]=model.transformer.drop M["d"]=model.config.n_embd; M["nL"]=model.config.n_layer; M["nH"]=model.config.n_head M["wte"]=model.transformer.wte.weight logln(f"[gpt2] loaded fp32 eager nL={M['nL']} d={M['d']} nH={M['nH']}") def load_wiki_text(): from datasets import load_dataset ds=load_dataset("wikitext","wikitext-2-raw-v1",split="test") return "\n".join(t for t in ds["text"] if t and t.strip()) def load_code_text(): from datasets import load_dataset ds=load_dataset("openai_humaneval")["test"] return "".join(ds[i]["prompt"]+ds[i]["canonical_solution"] for i in range(len(ds))) def build_dind(n_blocks,block,seed): g=torch.Generator().manual_seed(seed) seg=torch.randint(0,VOCAB_SANS_SPECIALS,(n_blocks,IND_SEG),generator=g) return seg.repeat(1,block//IND_SEG) def ids_window(all_ids,lo,hi,what): if len(all_ids)best: best=dd if best<=0.8: kept.append((b,i)) seen.append((b,i,u)) corr_match=bool(kept==frozen) V35=torch.stack([U[r][:,d_].float() for (r,d_) in frozen],1) g1_ok=(all(v==0.0 for v in cm.values()) and corr_match and len(frozen)==35) res["gates"]["G1_M0a_subset"]={"content_match":cm,"corridor_recompute_match":corr_match, "n_corridor":len(frozen),"pass":bool(g1_ok)} logln(f"[G1] cm={cm} corr_match={corr_match} -> {'PASS' if g1_ok else 'FAIL'}"); write_json() if not g1_ok: raise RuntimeError("G1 M0a-subset FAILED -- clean kill") # ---------- G2: fold provenance ---------- sha7=sha256(os.path.join(DIR,"decoder_v7_tensors.pt")); sha5=sha256(os.path.join(DIR,"_v5_bases.pt")) dv7=torch.load(os.path.join(DIR,"decoder_v7_tensors.pt"),map_location="cpu",weights_only=False) v5b=torch.load(os.path.join(DIR,"_v5_bases.pt"),map_location="cpu",weights_only=False) Q35=dv7["Q35"].float() span5=torch.cat([B2,Q35],1) OB={} orth_worst=0.0; span_worst=0.0 for (reg,b,key,src) in FOLD_CELLS: O=(v5b[key] if src=="v5" else dv7[key]).float() orth_worst=max(orth_worst,float((O.t()@O-torch.eye(O.shape[1])).norm())) span_worst=max(span_worst,float((span5.t()@O).abs().max())) OB[key]=O g2_ok=bool(sha7==DEC_V7_SHA and sha5==V5B_SHA and orth_worst<=1e-3 and span_worst<=1e-3) res["gates"]["G2_fold_provenance"]={"dec_v7_sha":sha7,"v5_bases_sha":sha5,"orth_worst":orth_worst, "span5_dot_worst":span_worst,"pass":g2_ok} logln(f"[G2] sha7={sha7} sha5={sha5} orth={orth_worst:.2e} span={span_worst:.2e} -> {'PASS' if g2_ok else 'FAIL'}") write_json() if not g2_ok: raise RuntimeError("G2 fold provenance FAILED -- clean kill") # ---------- streams ---------- wt=torch.load(os.path.join(DIR,"_t14_wt103_ids.pt"),map_location="cpu",weights_only=False) stand64=ids_window(wt["ids"].tolist(),wt["lo"],wt["lo"]+N_STAND_ANCHOR*CERT_BLOCK,"wt103 standing")[:N_STAND_ANCHOR] STREAMS={"prose":stand64[:N_BANK], "repetition":build_dind(N_BANK,CERT_BLOCK,REP_SEED)} CIDS=tok(load_code_text(),return_tensors=None,add_special_tokens=False)["input_ids"] STREAMS["code"]=ids_window(CIDS,FRESH_LO,FRESH_HI,"fresh code")[:N_BANK] WIKI2=tok(load_wiki_text(),return_tensors=None,add_special_tokens=False)["input_ids"] MASS_PROSE=ids_window(WIKI2,FRESH_LO,FRESH_HI,"fresh prose")[:N_BANK] # ---------- captures ---------- fold_bounds=sorted({b for (_,b,_,_) in FOLD_CELLS}) corr_bounds=sorted({frozen[j][0] for j in W_CORR_J}) bat_bounds=sorted(set(corr_bounds)|set(fold_bounds)) CAPS={reg:capture_h_all(STREAMS[reg],CAP_CHUNK,f"bank-{reg}",which=bat_bounds) for reg in REGIMES} mass_pb=sorted({b for (reg,b,_,_) in FOLD_CELLS if reg=="prose"}) CAP_MASS_PROSE=capture_h_all(MASS_PROSE,CAP_CHUNK,"mass-prose",which=mass_pb) if mass_pb else {} # ---------- G3: snap identity at matched batch shape ---------- g3={} for reg in REGIMES: g3[reg]=snap_identity_check(STREAMS[reg][:4].to('cuda')) g3_ok=all(v<=1e-4 for v in g3.values()) res["gates"]["G3_snap_identity"]={"max_dlogit":g3,"pass":bool(g3_ok)} logln(f"[G3] {g3} -> {'PASS' if g3_ok else 'FAIL'}"); write_json() if not g3_ok: raise RuntimeError("G3 snap identity FAILED -- clean kill") B2_g=B2.to('cuda'); Q35_g=Q35.to('cuda'); span5_g=span5.to('cuda'); mu_all=mu V35_g=V35.to('cuda'); Pfull=torch.eye(d,device='cuda') # ---------- battery core (V4 armC machinery; extended readouts) ---------- wte_cpu=wte_g.cpu(); lnf_cpu=lnf_w.cpu(); lnf_gpu=lnf_w.to('cuda') def word_battery(vdir_g,bnd,regime,jseed,bnull,null_orth_q35,tag): """Runs the full extended battery for one word in one regime. Returns record dict.""" H=CAPS[regime][bnd].to('cuda'); ids_full=STREAMS[regime].to('cuda') a=(H-mu_all[bnd].to('cuda'))@vdir_g; sigma=float(a.std()) col=wte_g@(vdir_g*lnf_gpu); top=torch.topk(col,40).indices; bot=torch.topk(-col,40).indices class_idx=[top,bot] Wtop=wte_cpu[top.cpu()]; Wbot=wte_cpu[bot.cpu()] int_blocks=[x for x in (bnd,bnd+1,bnd+2) if x<=nL-1] # boundaries bnd+1..bnd+3 capb=sorted(set([bnd-1]+([bnd] if bnd<=nL-1 else [])+int_blocks)) has_field=bnd<=nL-1 flatidx=torch.topk(a.abs(),16).indices.tolist() seqs=[t//CERT_BLOCK for t in flatidx]; rows=torch.tensor(seqs,dtype=torch.long,device='cuda') ids_b=ids_full[rows]; nP=len(flatidx) snap=[SnapHook(M["blocks"][L].attn,True) for L in range(nL)] ci=vdir_g.contiguous(); vcpu=vdir_g.cpu() ones=torch.ones(nP,CERT_BLOCK,device='cuda') base,cap0=measure_class_snap_cap(M["m"],snap,ids_b,Pfull,ci,ones,class_idx,MB,capb) def push(mag): delt=torch.zeros(nP,2,2); Dvec={}; INTd={k:{} for k in int_blocks} for si,s in enumerate([1.0,-1.0]): fac=torch.ones(nP,CERT_BLOCK,device='cuda') for r,t in enumerate(flatidx): a0=float(a[t]); pos=t%CERT_BLOCK if abs(a0)>=A_EPS: fac[r,pos]=(a0+s*mag*sigma)/a0 mod_,capm=measure_class_snap_cap(M["m"],snap,ids_b,Pfull,ci,fac,class_idx,MB,capb) dvs=[]; intd={k:[] for k in int_blocks} for r,t in enumerate(flatidx): pos=t%CERT_BLOCK; delt[r,si]=mod_[r,pos]-base[r,pos] if has_field: d_lo=capm[bnd-1].reshape(nP,CERT_BLOCK,d)[r,pos]-cap0[bnd-1].reshape(nP,CERT_BLOCK,d)[r,pos] d_hi=capm[bnd].reshape(nP,CERT_BLOCK,d)[r,pos]-cap0[bnd].reshape(nP,CERT_BLOCK,d)[r,pos] dc=(d_hi-d_lo); dc=dc-(dc@vcpu)*vcpu; dvs.append(dc) for k in int_blocks: dk=capm[k].reshape(nP,CERT_BLOCK,d)[r,pos]-cap0[k].reshape(nP,CERT_BLOCK,d)[r,pos] intd[k].append(dk) if has_field: Dvec[si]=torch.stack(dvs,0)@B2 for k in int_blocks: INTd[k][si]=torch.stack(intd[k],0) dT=(delt[:,0,0]-delt[:,1,0])/2.0; dB=(delt[:,0,1]-delt[:,1,1])/2.0 cp=(dT-dB); C=float(cp.mean()); SE=float(cp.std(unbiased=True)/math.sqrt(nP)) fld=None if has_field: Dp=Dvec[0].mean(0); Dm=Dvec[1].mean(0) fld={"cos":float((Dp@Dm)/max(1e-12,float(Dp.norm())*float(Dm.norm()))), "Dmag":float((Dp-Dm).norm()/2.0), "Dp":Dp,"Dm":Dm} ints={} for k in int_blocks: dk=(INTd[k][0]-INTd[k][1])/2.0 # (nP, d) antisymmetrized state delta dkl=dk*lnf_cpu # logit-lens restricted to class cols ct=(dkl@Wtop.t()).mean(-1)-(dkl@Wbot.t()).mean(-1) ints[k+1]={"C":float(ct.mean()),"SE":float(ct.std(unbiased=True)/math.sqrt(nP))} return {"C":C,"SE":SE,"field":fld,"int":ints} r1=push(1.0); r2=push(2.0) # sigma-matched nulls null_C=[]; null_D=[]; null_INT=[] for it in range(bnull): Rr=torch.randn(d,generator=torch.Generator().manual_seed(9000+jseed*100+it)).to('cuda') Rr=Rr-B2_g@(B2_g.t()@Rr) if null_orth_q35: Rr=Rr-Q35_g@(Q35_g.t()@Rr) Rr=Rr/Rr.norm().clamp(min=1e-9) colr=wte_g@(Rr*lnf_gpu); topr=torch.topk(colr,40).indices; botr=torch.topk(-colr,40).indices Wtopr=wte_cpu[topr.cpu()]; Wbotr=wte_cpu[botr.cpu()] ar=(H-mu_all[bnd].to('cuda'))@Rr fi=torch.topk(ar.abs(),16).indices.tolist(); sq=[t//CERT_BLOCK for t in fi] rowsn=torch.tensor(sq,dtype=torch.long,device='cuda'); ids_n=ids_full[rowsn] cir=Rr.contiguous(); rcpu=Rr.cpu() onesn=torch.ones(len(fi),CERT_BLOCK,device='cuda') basen,cap0n=measure_class_snap_cap(M["m"],snap,ids_n,Pfull,cir,onesn,[topr,botr],MB,capb) dl=torch.zeros(len(fi),2,2); Dv={}; INTn={k:{} for k in int_blocks} for si,s in enumerate([1.0,-1.0]): fac=torch.ones(len(fi),CERT_BLOCK,device='cuda') for r,t in enumerate(fi): a0=float(ar[t]); pos=t%CERT_BLOCK # SIGMA-MATCHED: snap magnitude = the REAL word's sigma (V4 verbatim) if abs(a0)>=A_EPS: fac[r,pos]=(a0+s*sigma)/a0 mod_,capm=measure_class_snap_cap(M["m"],snap,ids_n,Pfull,cir,fac,[topr,botr],MB,capb) dvs=[]; intd={k:[] for k in int_blocks} for r,t in enumerate(fi): pos=t%CERT_BLOCK; dl[r,si]=mod_[r,pos]-basen[r,pos] if has_field: d_lo=capm[bnd-1].reshape(len(fi),CERT_BLOCK,d)[r,pos]-cap0n[bnd-1].reshape(len(fi),CERT_BLOCK,d)[r,pos] d_hi=capm[bnd].reshape(len(fi),CERT_BLOCK,d)[r,pos]-cap0n[bnd].reshape(len(fi),CERT_BLOCK,d)[r,pos] dc=(d_hi-d_lo); dc=dc-(dc@rcpu)*rcpu; dvs.append(dc) for k in int_blocks: dk=capm[k].reshape(len(fi),CERT_BLOCK,d)[r,pos]-cap0n[k].reshape(len(fi),CERT_BLOCK,d)[r,pos] intd[k].append(dk) if has_field: Dv[si]=torch.stack(dvs,0)@B2 for k in int_blocks: INTn[k][si]=torch.stack(intd[k],0) dTn=(dl[:,0,0]-dl[:,1,0])/2.0; dBn=(dl[:,0,1]-dl[:,1,1])/2.0 null_C.append(abs(float((dTn-dBn).mean()))) if has_field: null_D.append(float((Dv[0].mean(0)-Dv[1].mean(0)).norm()/2.0)) mx=0.0 for k in int_blocks: dk=(INTn[k][0]-INTn[k][1])/2.0 dkl=dk*lnf_cpu ct=(dkl@Wtopr.t()).mean(-1)-(dkl@Wbotr.t()).mean(-1) mx=max(mx,abs(float(ct.mean()))) null_INT.append(mx) for h in snap: h.close() null95C=pct95(null_C); null95D=pct95(null_D) if null_D else None; null95I=pct95(null_INT) if null_INT else None # channel clears + stability (rubric verbatim) wu_clear=bool(abs(r1["C"])>null95C and abs(r1["C"])>=2*r1["SE"]) wu_stable=bool(wu_clear and (r1["C"]*r2["C"]>0) and abs(r2["C"])>=2*r2["SE"]) int_clear=False; int_stable=False; kstar=None; mxi1=0.0 if r1["int"]: kstar=max(r1["int"],key=lambda k:abs(r1["int"][k]["C"])); mxi1=abs(r1["int"][kstar]["C"]) i1=r1["int"][kstar]; i2=r2["int"][kstar] int_clear=bool(mxi1>(null95I or float("inf")) and abs(i1["C"])>=2*i1["SE"]) int_stable=bool(int_clear and (i1["C"]*i2["C"]>0) and abs(i2["C"])>=2*i2["SE"]) field_clear=False; field_stable=False if r1["field"] is not None: field_clear=bool(r1["field"]["cos"]<=-0.5 and r1["field"]["Dmag"]>(null95D or float("inf"))) field_stable=bool(field_clear and r2["field"]["cos"]<=-0.5) stable=bool(wu_stable or int_stable or field_stable) n_clear=int(wu_clear)+int(int_clear)+int(field_clear) # CH-POS descriptors (report-only) posh=[int(t%CERT_BLOCK) for t in flatidx] top64=torch.topk(a.abs(),64).indices phase=[int(t%IND_SEG) for t in top64.tolist()] if regime=="repetition" else None wte_side=(wte_cpu@vcpu) wtop=[tok.decode([i]) for i in torch.topk(wte_side,10).indices.tolist()] wbot=[tok.decode([i]) for i in torch.topk(-wte_side,10).indices.tolist()] cur=[tok.decode([int(ids_full[t//CERT_BLOCK,t%CERT_BLOCK])]) for t in flatidx[:8]] wu_top=[tok.decode([i]) for i in top[:10].tolist()] wu_bot=[tok.decode([i]) for i in bot[:10].tolist()] rec={"sigma":round(sigma,4),"n_null":bnull, "C1":round(r1["C"],4),"SE1":round(r1["SE"],4),"C2":round(r2["C"],4),"SE2":round(r2["SE"],4), "dose_ratio":(round(r2["C"]/r1["C"],3) if abs(r1["C"])>1e-9 else None), "null95_C":round(null95C,4),"wu_clear":wu_clear,"wu_stable":wu_stable, "int1":{str(k):{"C":round(v["C"],4),"SE":round(v["SE"],4)} for k,v in r1["int"].items()}, "int2":{str(k):{"C":round(v["C"],4),"SE":round(v["SE"],4)} for k,v in r2["int"].items()}, "int_kstar":(int(kstar) if kstar is not None else None),"maxint1":round(mxi1,4), "null95_INT":(round(null95I,4) if null95I is not None else None), "int_clear":int_clear,"int_stable":int_stable, "field":({"cos1":round(r1["field"]["cos"],4),"cos2":round(r2["field"]["cos"],4), "Dmag1":round(r1["field"]["Dmag"],4),"Dmag2":round(r2["field"]["Dmag"],4), "null95_D":(round(null95D,4) if null95D is not None else None)} if r1["field"] is not None else None), "field_clear":field_clear,"field_stable":field_stable, "stable":stable,"n_channels_clear":n_clear, "pos":{"pos16":posh,"phase64":phase,"wte_top":wtop,"wte_bot":wbot, "cur_tokens":cur,"wu_top":wu_top,"wu_bot":wu_bot}} if r1["field"] is not None: BASES[f"D_{tag}_{regime}"]=torch.stack([r1["field"]["Dp"],r1["field"]["Dm"]],0) del H return rec # ---------- G4: corridor anchor replay (M-C-REPLAY; V4C stream verbatim) ---------- if not res["gates"].get("G4_anchor_replay",{}).get("pass"): gpu_free_check("G4") anch_bounds=sorted({frozen[j][0] for j in ([0] if SMOKE else [0,16])}) Hs64=capture_h_all(stand64,CAP_CHUNK,"anchor-stand64",which=anch_bounds) idg64=stand64.to('cuda') g4recs={}; g4_ok=True for j in ([0] if SMOKE else [0,16]): rm,dm=frozen[j]; vdir=V35_g[:,j] col=wte_g@(vdir*lnf_w.to('cuda')); top=torch.topk(col,40).indices; bot=torch.topk(-col,40).indices a=(Hs64[rm].to('cuda')-mu_all[rm].to('cuda'))@vdir; sigma=float(a.std()) flatidx=torch.topk(a.abs(),16).indices.tolist() seqs=[t//CERT_BLOCK for t in flatidx]; rows=torch.tensor(seqs,dtype=torch.long,device='cuda') ids_b=idg64[rows]; nP=len(flatidx) snap=[SnapHook(M["blocks"][L].attn,True) for L in range(nL)] ones=torch.ones(nP,CERT_BLOCK,device='cuda'); capb=[rm-1,rm] base,_=measure_class_snap_cap(M["m"],snap,ids_b,Pfull,vdir.contiguous(),ones,[top,bot],MB,capb) delt=torch.zeros(nP,2,2) for si,s in enumerate([1.0,-1.0]): fac=torch.ones(nP,CERT_BLOCK,device='cuda') for r,t in enumerate(flatidx): a0=float(a[t]); pos=t%CERT_BLOCK if abs(a0)>=A_EPS: fac[r,pos]=(a0+s*sigma)/a0 mod_,_=measure_class_snap_cap(M["m"],snap,ids_b,Pfull,vdir.contiguous(),fac,[top,bot],MB,capb) for r,t in enumerate(flatidx): pos=t%CERT_BLOCK; delt[r,si]=mod_[r,pos]-base[r,pos] for h in snap: h.close() dT=(delt[:,0,0]-delt[:,1,0])/2.0; dB=(delt[:,0,1]-delt[:,1,1])/2.0 Cv=float((dT-dB).mean()); dev=abs(Cv-C_BANKED[j]["C"]) ok=bool(dev<=TOL_ANCHOR) g4recs[f"j{j}"]={"C":round(Cv,5),"banked":C_BANKED[j]["C"],"dev":round(dev,5),"pass":ok} g4_ok=g4_ok and ok logln(f"[G4 j={j}] C={Cv:.5f} banked={C_BANKED[j]['C']} dev={dev:.5f} -> {'PASS' if ok else 'FAIL'}") del Hs64 res["gates"]["G4_anchor_replay"]={"anchors":g4recs,"pass":bool(g4_ok)}; write_json() if not g4_ok: res["instrument_discrepancy"].append({"stage":"G4","name":"anchor_replay","why":g4recs}) raise RuntimeError("G4 anchor replay FAILED -- clean kill") else: logln("[G4] SKIP (resume)") # ---------- G5: folded-cell byte-replay (code_b9) + identity-inject exact zero ---------- if not res["gates"].get("G5_fold_replay",{}).get("pass"): gpu_free_check("G5") wteW_g=v1["wte_W"].float().to('cuda'); wtec_g=v1["wte_c"].float().to('cuda') ids_t=STREAMS["code"]; NHt=ids_t.shape[0] Yct=clean_logits(ids_t) Xc=CAPS["code"][9].to('cuda')-mu_all[9].to('cuda') Ecur_all=wte_g[ids_t.reshape(-1).to('cuda')] inj=InjectHook(M["blocks"][8]) kl_id=inject_kl_full(ids_t,inj,torch.zeros(NHt,CERT_BLOCK,d,device='cuda'),Yct) b2P=(Xc@B2_g)@B2_g.t(); q35P=(Xc@Q35_g)@Q35_g.t() yhat=Ecur_all@wteW_g[9].t()+wtec_g[9]; y2=yhat-(yhat@B2_g)@B2_g.t(); y4=y2-(y2@Q35_g)@Q35_g.t() O_r=OB["O_r48_code_b9"].to('cuda') oP=(Xc@O_r)@O_r.t(); yk=y4-(y4@O_r)@O_r.t() kl48=inject_kl_full(ids_t,inj,(b2P+q35P+oP+yk-Xc).reshape(NHt,CERT_BLOCK,d),Yct) inj.close() dev=abs(kl48-CODE_B9_BANK) g5_ok=bool(kl_id==0.0 and dev<=TOL_REPLAY) res["gates"]["G5_fold_replay"]={"identity_kl":kl_id,"KL_r48":round(kl48,5), "banked":CODE_B9_BANK,"dev":round(dev,5),"pass":g5_ok} logln(f"[G5] id_kl={kl_id} r48={kl48:.5f} banked={CODE_B9_BANK} dev={dev:.5f} -> {'PASS' if g5_ok else 'FAIL'}") write_json() del Yct,Xc,b2P,q35P,yhat,y2,y4,oP,yk,Ecur_all; free() if not g5_ok: res["instrument_discrepancy"].append({"stage":"G5","name":"fold_replay","why":res["gates"]["G5_fold_replay"]}) raise RuntimeError("G5 fold replay FAILED -- clean kill") else: logln("[G5] SKIP (resume)") # ---------- M1: mass table + candidates + dedup (frozen before battery) ---------- if not res["mass"].get("done"): span5_c=span5 mass={} for (reg,b,key,src) in FOLD_CELLS: H=(CAP_MASS_PROSE[b] if reg=="prose" else CAPS[reg][b]) r=H-mu_all[b] r=r-(r@span5_c)@span5_c.t() O=OB[key] num=((r@O)**2).mean(0) # (n_dims,) den=float((r*r).sum(-1).mean()) shares=(num/max(1e-12,den)).tolist() cand=[i for i,s in enumerate(shares) if s>=SHARE_MIN] if SMOKE: cand=cand[:SMOKE_FOLD_CAP] mass[key]={"cell":f"{reg}_b{b}","n_dims":O.shape[1], "shares":[round(s,5) for s in shares], "candidates":cand,"n_cand":len(cand), "residue_share_below":round(sum(s for s in shares if sDEDUP_DOT: jj=int(dots.argmax()) mass[key].setdefault("alias_of_corr",[]).append({"dim":i,"corr_j":jj,"dot":round(float(dots.max()),3)}) n_alias_corr+=1; continue hit=None for kf in kept_fold: dd=abs(float(kf["vec"]@o)) if dd>DEDUP_DOT: hit=(kf,dd); break if hit is not None: hit[0]["aliases"].append({"cell":mass[key]["cell"],"key":key,"dim":i, "share":mass[key]["shares"][i],"dot":round(hit[1],3)}) n_alias_fold+=1; continue kept_fold.append({"wid":f"fold_{key}_d{i}","type":"fold","key":key,"dim":i, "boundary":b,"cell":mass[key]["cell"],"jseed":100+fold_i, "share":mass[key]["shares"][i],"vec":o,"aliases":[]}) fold_i+=1 for kf in kept_fold: kf.pop("vec") words+=kept_fold res["mass"]={"done":True,"cells":mass,"n_alias_to_corridor":n_alias_corr, "n_alias_cross_cell":n_alias_fold,"n_fold_words":len(kept_fold)} res["wordlist"]={"done":True,"n_words":len(words),"words":words} write_json() logln(f"[M1] words={len(words)} (corr {len(W_CORR_J)}, fold {len(kept_fold)}; " f"aliases corr={n_alias_corr} cross={n_alias_fold})") else: logln("[M1] SKIP (resume)") words=res["wordlist"]["words"] BASES["V35"]=V35; BASES["span5"]=span5 for w in words: if w["type"]=="fold": BASES[f"vec_{w['wid']}"]=OB[w["key"]][:,w["dim"]].contiguous() save_bases() # ---------- M2: battery sweep ---------- t_word=[]; bnull_now=B_NULL if res["budget"].get("bnull_downshift_at"): # resume-correctness: the pre-registered downshift fired earlier in THIS sweep; it stays # fired for all remaining W-FOLD words (uneven bars mid-category are not permitted) bnull_now=B_NULL_FAST logln(f"[budget] resume: downshift already fired at {res['budget']['bnull_downshift_at']} " f"-> B_NULL={B_NULL_FAST} held for remaining W-FOLD") for wi,w in enumerate(words): wid=w["wid"] if res["words"].get(wid,{}).get("done"): continue if el()>HARD_WALL_S: logln(f"[FB-WALL] hard wall at word {wid}; remaining UNRESOLVED"); break # predictive budget check (pre-registered contingency: STRICTER B_NULL=12 for remaining folds) rem=sum(1 for x in words[wi:] if not res["words"].get(x["wid"],{}).get("done")) if t_word and bnull_now==B_NULL: proj=el()+rem*(sum(t_word)/len(t_word)) if proj>SOFT_COMPUTE_S: bnull_now=B_NULL_FAST res["budget"]["bnull_downshift_at"]=wid; res["budget"]["projected_s"]=round(proj,1) logln(f"[budget] projected {proj:.0f}s > soft wall -> B_NULL={B_NULL_FAST} (STRICTER bar) for remaining W-FOLD") tw0=time.time() vdir_g=(V35_g[:,w["j"]] if w["type"]=="corr" else BASES[f"vec_{wid}"].to('cuda')) bn=(bnull_now if w["type"]=="fold" else B_NULL) regs={} for regime in REGIMES: regs[regime]=word_battery(vdir_g,w["boundary"],regime,w["jseed"],bn, null_orth_q35=(w["type"]=="fold"),tag=wid) n_stable=sum(1 for r in regs.values() if r["stable"]) stable_regs=[rg for rg in REGIMES if regs[rg]["stable"]] verdict="CERTIFIED-NO-GLOSS" if n_stable>=2: verdict="NAMED" elif (w["type"]=="fold" and n_stable==1 and w["cell"] is not None and stable_regs[0]==w["cell"].split("_b")[0] and regs[stable_regs[0]]["n_channels_clear"]>=2): verdict="NAMED-REGIME-SPECIFIC" rec={"done":True,"type":w["type"],"boundary":w["boundary"],"cell":w.get("cell"), "share":w.get("share"),"regimes":regs,"n_regimes_stable":n_stable, "stable_regimes":stable_regs,"verdict":verdict,"t_s":round(time.time()-tw0,1)} res["words"][wid]=rec; write_json(); save_bases() t_word.append(time.time()-tw0) logln(f"[M2 {wid} b{w['boundary']}] stable={stable_regs} verdict={verdict} " f"({rec['t_s']}s; {wi+1}/{len(words)})") free() # ---------- M3: verdict assembly ---------- done_words={k:v for k,v in res["words"].items() if v.get("done")} unresolved=[w["wid"] for w in words if w["wid"] not in done_words] corr_named=sum(1 for k,v in done_words.items() if v["type"]=="corr" and v["verdict"].startswith("NAMED")) n_corr_done=sum(1 for v in done_words.values() if v["type"]=="corr") fold_done={k:v for k,v in done_words.items() if v["type"]=="fold"} fold_named=sum(1 for v in fold_done.values() if v["verdict"].startswith("NAMED")) frac_fold=(fold_named/len(fold_done)) if fold_done else None g=done_words.get("corr_j0",{}) gv=g.get("verdict"); gn=g.get("n_regimes_stable") HLa=("BROAD-NAMES" if corr_named>=8 else ("SOME-NAMES" if corr_named>=3 else "NULL-HOLDS")) HLb=(None if frac_fold is None else ("VOCAB-RICH" if frac_fold>=0.5 else ("VOCAB-SPARSE" if frac_fold>=0.10 else "NOISE-FLOOR"))) HLc=(None if not g else ("NAMED" if (gn or 0)>=2 else ("PARTIAL-NO-GLOSS" if gn==1 else "DEAF"))) res["verdict"]={"done":True,"n_words":len(words),"n_done":len(done_words), "unresolved":unresolved, "H_L1_a":{"n_corr_named":corr_named,"n_corr_done":n_corr_done,"band":HLa, "bands":"BROAD>=8 / SOME 3-7 / NULL<=2","bet":"SOME 45 / BROAD 30 / NULL 25"}, "H_L1_b":{"n_fold_named":fold_named,"n_fold_done":len(fold_done), "frac":(round(frac_fold,3) if frac_fold is not None else None),"band":HLb, "bands":"RICH>=0.5 / SPARSE 0.10-0.50 / NOISE<0.10","bet":"SPARSE 50 / NOISE 30 / RICH 20"}, "H_L1_c":{"glitch_verdict":gv,"n_regimes_stable":gn,"band":HLc, "bands":"NAMED>=2 / PARTIAL=1 / DEAF=0","bet":"NAMED 55 / PARTIAL 30 / DEAF 15"}} res["status"]=("COMPLETE" if not unresolved else "COMPLETE-WITH-UNRESOLVED") if res["instrument_discrepancy"]: res["status"]="COMPLETE-WITH-DISCREPANCY" if not unresolved else "PARTIAL-WITH-DISCREPANCY" write_json(); save_bases() logln(f"[M3] H-L1-a={HLa} ({corr_named}/{n_corr_done}) H-L1-b={HLb} ({fold_named}/{len(fold_done)}) " f"H-L1-c={HLc} unresolved={len(unresolved)}") logln(f"L1 END status={res['status']} elapsed={el()}s"); logln("*** L1_DONE ***") except Exception as e: import traceback res["status"]=f"ERROR: {e}"; res["trace"]=traceback.format_exc()[:3000]; write_json() logln(f"[L1] FATAL {e}"); logln(traceback.format_exc()); logln("*** L1_DONE ***") finally: with open(os.path.join(DIR,"_l1_smoke_gpu.done" if SMOKE else "_l1_gpu.done"),"w") as f: f.write(res.get("status","?"))