#!/usr/bin/env python3
"""Audit pose sprites for cleanup flags without modifying active assets.

Outputs a summary from assets/data/image-admin/pose-sprite-library.json.
"""
from __future__ import annotations
import json
from pathlib import Path
from collections import Counter
ROOT=Path(__file__).resolve().parents[1]
LIB=ROOT/'assets/data/image-admin/pose-sprite-library.json'

def main():
    data=json.loads(LIB.read_text(encoding='utf-8'))
    poses=data.get('poses',[])
    status=Counter((p.get('cleanup') or {}).get('status','unknown') for p in poses)
    flags=Counter()
    for p in poses:
        for flag in (p.get('cleanup') or {}).get('flags',[]): flags[flag]+=1
    print('Pose cleanup audit')
    print('version:',data.get('version'))
    print('total:',len(poses))
    print('status:',dict(status))
    print('flags:',dict(flags))
    needs=[p for p in poses if (p.get('cleanup') or {}).get('status')!='ok']
    print('\nNeeds cleanup / review:')
    for p in needs[:120]:
        print('-',p.get('poseKey'), '|', ', '.join((p.get('cleanup') or {}).get('flags',[])) or 'review')
if __name__=='__main__': main()
