#!/usr/bin/env python3
"""Checks byte agreement with a local synthetic manifest, not authenticity."""
import sys,json,hashlib
from pathlib import Path
def verify(manifest):
 p=Path(manifest).resolve();data=json.loads(p.read_text());base=p.parent;issues=[]
 for item in data['files']:
  dest=(base/item['path']).resolve()
  if not dest.is_relative_to(base) or not dest.is_file():issues.append(item['path']+': missing/unsafe');continue
  b=dest.read_bytes()
  if len(b)!=item['bytes'] or hashlib.sha256(b).hexdigest()!=item['sha256']:issues.append(item['path']+': MISMATCH')
 return {'integrity':'MISMATCH' if issues else 'MATCH','issues':issues,'authenticity':'NOT_EVALUATED','signature':'NOT_EVALUATED','LTANS':'NOT_EVALUATED','legalStatus':'NOT_EVALUATED'}
if __name__=='__main__':
 result=verify(sys.argv[1]);print(json.dumps(result,indent=2));sys.exit(result['integrity']!='MATCH')
