"""Second method by the same agent: source-table grid and integer equalities. Imports neither the C434 calculation nor its verifier. This is an alternate implementation, not an independent-agent review or historical witness. """ from pathlib import Path from itertools import product import argparse import json import re ROOT = Path(__file__).resolve().parent.parent def main(out): read = lambda name: (ROOT/'sources'/name).read_text() load = lambda name: json.loads(read(name)) checks = [] def ck(name, ok): assert ok, name checks.append(name) s18, s02 = read('File_18.md'), read('File_02.md') l18 = s18.splitlines() base = {} mt = s02.split('### 6.2 Regular chronology: localized effect',1)[1].split('### 6.3',1)[0] lxx = s18.split('For LXX, retain the independently sourced',1)[1].split('The corrected SP field',1)[0] sp = s18.split('#### 3.2.1 SP Noah/Shem field and named bindings',1)[1].split('####',1)[0] for who in ['Noah','Shem']: cells = next(x for x in mt.splitlines() if x.startswith('| '+who+' |')).split('|') base['MT',who+' birth',None] = int(re.findall(r'\d+',cells[2])[-1]) base['MT',who+' death',None] = int(re.findall(r'\d+',cells[3])[-1]) cells = next(x for x in lxx.splitlines() if x.startswith('| LXX | '+who+' |')).split('|') base['LXX',who+' birth',None],base['LXX',who+' death',None] = map(int,re.findall(r'\d+',cells[4 if who=='Noah' else 3])) for role,cell in zip(['Noah birth','Noah death','Shem birth','Shem death'],next(x for x in sp.splitlines() if x.startswith('| G1 |')).split('|')[2:6]): for rail,v in zip(['primary','companion'],map(int,cell.strip().split('/'))): base['SP',role,rail] = v flood_section = s18.split('#### 3.1.4 Ordinary Flood Gears, fixed Arphaxad, and the SP midpoint',1)[1] flood_bases = {} for tr,label in [('MT','MT'),('SP','SP'),('LXX','LXX — native Cainan ON')]: row = next(x for x in flood_section.splitlines() if x.startswith('| '+label+' |')) flood_bases[tr] = int(re.findall(r'(\d+)→(\d+)',row)[-1][0]) generated = set() for tr,g,c,t,f in product(['MT','SP','LXX'],[1,2,3],[0,1],[0,1],[0,1]): offset = 130*(c-int(tr=='LXX')) + 60*t + 215*f + 2*(g-1) for role,rail in product(['Noah birth','Noah death','Shem birth','Shem death'],['primary','companion'] if tr=='SP' else [None]): generated.add((tr,role,rail,g,c,t,f,base[tr,role,rail]+offset)) for role in ['Flood start','Flood close']: generated.add((tr,role,None,g,c,t,f,flood_bases[tr]-215+offset-int(role=='Flood close'))) keys = ['tradition','role','rail','gear','Cainan','Terah60','full430','center'] frozen = {tuple(x.get(k) for k in keys) for x in load('C286_DATA.json')['target_register']} ck('source-table grid equals the entire fixed register',generated==frozen and len(generated)==528) coords = {x[-1] for x in generated} rows = [] for t,g in product([0,1],[1,2,3]): N = next(x[-1] for x in generated if x[:-1]==('SP','Noah birth','primary',g,0,t,1)) h = next(x[-1] for x in generated if x[:-1]==('SP','Shem birth','primary',g,0,t,1)) p = next(x[-1] for x in generated if x[:-1]==('SP','Noah birth','companion',g,1,t,0)) q = next(x[-1] for x in generated if x[:-1]==('SP','Noah death','primary',g,0,t,1)) x,m,y = h-1058,h-1186,h-1250 ck(f'G{g}/T{t}: source whole-map integer coefficient',50*p+46*q==96*h) ck(f'G{g}/T{t}: both E legs by cross multiplication',25*x-2*p==23*m and 25*m-2*q==23*y) ck(f'G{g}/T{t}: MT source increments explain gains',x-y==130+60+2 and m-y==60+4 and x-m==130-2) rows.append(dict(gear=g,Terah60=t,N=N,H=h,P=p,Q=q,input=x,intermediate=m,output=y, present=[v in coords for v in [x,m,y]],complete=all(v in coords for v in [p,q,x,m,y]))) ck('complete six-case membership pattern', [r['present'] for r in rows]==[[True,True,True],[True,False,True],[False,False,True], [False,False,True],[False,False,True],[False,False,True]]) ck('exactly G1/T0 complete',[(r['gear'],r['Terah60']) for r in rows if r['complete']]==[(1,0)]) ck('source identity uses -86, 950 and 500',25*(215-130+1)+23*950==48*500) ck('502 with fixed second pivot would require fractional first pivot', (23*950-48*502)%25!=0) ck('deleting companion changes intercept by 50/529',50*3621+46*2756-96*3206==50) result = dict(step='C434',status='passed',check_count=len(checks),checks=checks, source_records_generated=len(generated),coordinate_count=len(coords),rows=rows, method='Source-table regeneration and integer cross-multiplication; no main calculation imports.', new_independent_agent_review=False,C435_executed=False) out.mkdir(parents=True,exist_ok=True) (out/'SECOND_METHOD_RESULTS.json').write_text(json.dumps(result,ensure_ascii=False,indent=2)+'\n') print(json.dumps({k:v for k,v in result.items() if k not in ['checks','rows']})) if __name__ == '__main__': p=argparse.ArgumentParser() p.add_argument('--out',type=Path,required=True) main(p.parse_args().out)