import json
from pathlib import Path

inbox_dir = Path("docs/design_requests/inbox")
drqs = sorted(list(inbox_dir.glob("*.md")))

all_delivs = []
for d in drqs:
    content = d.read_text(encoding="utf-8")
    deliv_section = content.split("## 4. DANH MỤC SẢN PHẨM ĐẦU RA MONG ĐỢI")[-1].split("## 5.")[0]
    for line in deliv_section.splitlines():
        line = line.strip()
        if line.startswith("- [") and "`" in line:
            parts = line.split("`")
            if len(parts) >= 3:
                path_str = parts[1].strip()
                fn = Path(path_str).name
                all_delivs.append((d.stem, fn, path_str))

print(f"Total deliverables across 21 DRQs: {len(all_delivs)}")

found_in_client = []
missing_in_client = []

for drq_id, fn, orig in all_delivs:
    matches = list(Path("client/webapp/assets").glob(f"**/{fn}"))
    if matches:
        found_in_client.append((drq_id, fn, matches[0]))
    else:
        missing_in_client.append((drq_id, fn))

print(f"Found in client/webapp/assets: {len(found_in_client)}")
print(f"Missing from client/webapp/assets: {len(missing_in_client)}")

by_drq = {}
for drq_id, fn, p in found_in_client:
    by_drq.setdefault(drq_id, []).append((fn, str(p)))

for drq_id, items in sorted(by_drq.items()):
    print(f"  {drq_id}: {len(items)} found -> {[i[0] for i in items]}")

print("\nMissing summary by DRQ:")
missing_by_drq = {}
for drq_id, fn in missing_in_client:
    missing_by_drq.setdefault(drq_id, []).append(fn)

for drq_id, items in sorted(missing_by_drq.items()):
    print(f"  {drq_id}: {len(items)} missing -> {items}")
