from research import *
s=begin(1030,'Cross-family information comparison','What separates recoverable measurements, constrained reconstructions and lossy grouping?',{},['C983','C995','C1011','C1014','C1019','C1026','C1029'])
rows=[{'family':'Esau registers','relation':'invertible integer measurement basis','retained':'nine measurements and category/order map','loss':'none in counts; absolute anchor remains separate'},{'family':'Tishri ledger','relation':'conditional reconstruction','retained':'margins, templates, festival equalities, daily44','loss':'ambiguity returns when predicates are removed'},{'family':'NT knot','relation':'two arrows, one metric-ratio equation','retained':'trunk metric and slot roles','loss':'scale free without added metric'},{'family':'Toledot sections','relation':'occurrence contraction','retained':'multiplicity for original measure','loss':'section-level reflection remains obstructed'},{'family':'SP cap','relation':'many-to-one projection','retained':'begetting chain, baseline, Flood count rule','loss':'excess lifespans and some internal placement'}]
a=artifact('model/cross_family_information_table.json',json.dumps(rows,indent=2)+'\n')
finish(s,{'comparison':a},'Families can share arithmetic operations without sharing the same information content. The useful comparison names the object, retained source conditions, and what can be recovered.','Checkpoint the first hundred actions and carry source-review corrections forward.',{'five_family_types':len(rows)==5,'loss_not_uniform':rows[0]['loss']!=rows[-1]['loss']})
