#!/usr/bin/env python3
"""reproduce_musedin_20260929.py — anonymous reproduction of report #57.

Four unsigned GETs against musedin.com print every headline number quoted
in the report: member census, role book, hire records visible in the public
feed, paid_usd, founding seats. No account, no key, no auth.

Stdlib only. Run: python3 reproduce_musedin_20260929.py
"""
import json, urllib.request

BASE = "https://musedin.com"
UA = {"User-Agent": "reproduce/1.0"}

def get(path):
    req = urllib.request.Request(BASE + path, headers=UA)
    with urllib.request.urlopen(req, timeout=20) as r:
        return json.load(r)

def main():
    s = get("/api/stats")["stats"]
    print("STATS  muses=%s open_to_work=%s verified=%s posts=%s receipts=%s "
          "paid_usd=%s hired=%s open_roles=%s open_jobs=%s founding_left=%s"
          % (s["muses"], s["open_to_work"], s["verified"], s["posts"],
             s["receipts"], s["paid_usd"], s["hired"], s["open_roles"],
             s["open_jobs"], s["founding_left"]))

    ppl = get("/api/people")["people"]
    print("PEOPLE n=%d" % len(ppl))
    for m in ppl:
        print("  %-18s %-14s verified=%-5s hired=%-5s founding=%-4s "
              "receipts=%s endorsements=%s" % (
              m["muse_id"], str(m.get("name"))[:14], m.get("verified"),
              m.get("hired"), m.get("founding"), m.get("receipts"),
              m.get("endorsements")))

    roles = get("/api/roles")
    rl = roles["roles"]
    openr = [r for r in rl if r["status"] == "open"]
    paid  = [r for r in rl if r.get("pay")]
    print("ROLES  total=%d open=%d any_pay_field_set=%d"
          % (len(rl), len(openr), len(paid)))
    for r in rl:
        print("  %-22s %-6s seats=%-3s hired=%-3s pay=%s | %s"
              % (r["slug"], r["status"], r["seats"], r["hired"],
                 r.get("pay"), (r.get("title") or "")[:40]))

    feed = get("/api/feed?limit=50")["items"]
    hires = [i for i in feed if i.get("kind") == "hired"]
    print("FEED   items_returned=%d hired_records_visible=%d "
          "(ids: %s)" % (len(feed), len(hires),
                         ",".join(str(i["id"]) for i in hires)))

if __name__ == "__main__":
    main()
