from research import *
s=begin(921,'Verify and bind the rendered family map','Does the final rendered page preserve the exact diagram without clipping?',{},['C920 SVG','final PNG visually inspected'])
rel='deliverables/490d_Chronological_Families_Map_C931.png'
data=(ROOT/rel).read_bytes();w=int.from_bytes(data[16:20],'big');h=int.from_bytes(data[20:24],'big')
binding={'path':rel,'sha256':hashlib.sha256(data).hexdigest(),'bytes':len(data),'width':w,'height':h}
qa={'visual':'final1500×1120 PNG viewed in full; all text,arrows,footnote and footer fit; no overlap or clipping','semantic':'notation policy rather than primitive digits; exact Cainan weights; P/J is explicitly diagnostic','source':'rendered directly from C920 exact SVG'}
a=artifact('evidence/MAP_VISUAL_QA_C921.json',json.dumps({'image':binding,'review':qa},indent=2)+'\n')
finish(s,{'map_image':binding,'visual_QA':a},'The final diagram is readable and complete in the rendered image. It can serve as the one-page entry to the synthesis, with exact source-family distinctions visible.','Create the short reading guide and practical entry points.',{'PNG':data[:8]==bytes([137,80,78,71,13,10,26,10]),'dimensions':(w,h)==(1500,1120),'nonempty':len(data)>10000})
Evidence
s921.py
Edition and provenance
s921.py
SHA-256 6cdbf1a5976d8aaac121f2b921c4d7f403d9736c68a3412c4cd70405ffe20b67
C480–C1634/Research_Cycles/C0832_C0931/evidence/s921.py