from pathlib import Path
import json,hashlib,sys
base=Path(__file__).resolve().parent; repo=base/'working/repository'
flavor=sys.argv[1] if len(sys.argv)>1 else 'vanilla'
src=(repo/'packages/core/src/source.txt').read_text(); expected={'source_hash':hashlib.sha256(src.encode()).hexdigest(),'flavor':flavor}
p=repo/'packages/core/dist/artifact.json'
if not p.exists(): print(json.dumps({'status':'ARTIFACT_MISSING','expected':expected})); raise SystemExit(3)
actual=json.loads(p.read_text()); ok=(actual==expected)
print(json.dumps({'status':'PASS' if ok else 'STALE_OR_MISMATCH','expected':expected,'actual':actual},indent=2)); raise SystemExit(0 if ok else 4)
