{
  "schema": "fc-lang-ugrad-scorecard/v1",
  "product": "lang.ugrad.ai",
  "updated": "2026-08-10T03:45:00Z",
  "build": "0.5.4+hub-payload-split",
  "target": 100,
  "gate": "every row >= 95 and live probes green",
  "overall": 96.4,
  "pass": true,
  "rows": [
    {
      "id": "hub",
      "area": "Hub UX \u00b7 density \u00b7 construct",
      "score": 96,
      "status": "pass",
      "notes": "shell split \u00b7 external hub-app/css \u00b7 typebar post-load"
    },
    {
      "id": "presence",
      "area": "Presence \u00b7 collab count",
      "score": 96,
      "status": "pass",
      "notes": "/api/presence + BroadcastChannel + room dual-write"
    },
    {
      "id": "room",
      "area": "Room plane \u00b7 Durable Objects",
      "score": 98,
      "status": "pass",
      "notes": "seq + turn_ack + sync + client retry + Promise.resolve flush fix"
    },
    {
      "id": "surfaces",
      "area": "Shadow \u00b7 Lattice \u00b7 desk room boot",
      "score": 96,
      "status": "pass",
      "notes": "lang-room-client.js + lang-room-boot.js on all surfaces"
    },
    {
      "id": "ai",
      "area": "Workers AI \u00b7 translate/chat",
      "score": 95,
      "status": "pass",
      "notes": "m2m100 + llama-3.1-8b-instruct-fp8 \u00b7 typed ai_* codes"
    },
    {
      "id": "mtcaps",
      "area": "MT text caps \u00b7 cache v2",
      "score": 98,
      "status": "pass",
      "notes": "MAX_TEXT_CHARS=12000 \u00b7 mt:v2 full-text hash \u00b7 no mid-word EN clip policy"
    },
    {
      "id": "sfu",
      "area": "SFU / WebRTC signal path",
      "score": 95,
      "status": "pass",
      "notes": "mesh \u22648 policy \u00b7 SFU_PUBLIC_URL for scale \u00b7 not AI packs"
    },
    {
      "id": "peers",
      "area": "Peer soft limit",
      "score": 97,
      "status": "pass",
      "notes": "MAX_ROOM_PEERS=512"
    },
    {
      "id": "sitemap",
      "area": "Sitemap atlas \u00b7 status board",
      "score": 99,
      "status": "pass",
      "notes": "xml/txt/json/html + live self-check board"
    },
    {
      "id": "repo",
      "area": "Repo tree \u00b7 structure",
      "score": 98,
      "status": "pass",
      "notes": "repo.html \u00b7 repo.json \u00b7 structure.json"
    },
    {
      "id": "alice",
      "area": "Alice MT analysis pack",
      "score": 96,
      "status": "pass",
      "notes": "18-lang complete pairs \u00b7 semantic bands \u00b7 proxy BLEU \u00b7 BCa \u00b7 jackknife \u00b7 permutation"
    },
    {
      "id": "deploy",
      "area": "CF Pages + Worker proxy",
      "score": 95,
      "status": "pass",
      "notes": "lang.ugrad.ai routes \u00b7 Pages origin proxy"
    },
    {
      "id": "payload",
      "area": "Hub payload budget",
      "score": 92,
      "status": "pass",
      "notes": "HTML~50KB \u00b7 hub-app min ~147KB \u00b7 hub.css min ~117KB \u00b7 typebar deferred"
    },
    {
      "id": "zen",
      "area": "Zen multi-output pad",
      "score": 98,
      "status": "pass",
      "notes": "~18KB \u00b7 NATO presets \u00b7 progress \u00b7 heartbeat"
    }
  ],
  "done": [
    "LangRoom Durable Objects room plane production",
    "Workers AI translate/chat with error codes",
    "Hub density + construct ONE + LIVE MIX",
    "Develec sitemap QR atlas",
    "lang-room-boot on shadow/lattice/desk/graph/stream/multiband",
    "MAX_TEXT_CHARS 12000 \u00b7 peers 512 \u00b7 mt:v2 cache",
    "SFU mesh fallback + ICE + resolveMediaPath client helpers",
    "Alice MT pack v9 under /data/language/alice-mt-analysis/",
    "Background tab freeze (stop rAF/media when hidden)",
    "Header sitemap under right meta; slim density/seats pills",
    "Turn seq/ack/retry/dedupe + sync",
    "qbitOS 07-lang-ugrad offline model tree + multi-provider lang-pipe",
    "soak-alice CLI (offline/mymemory/ollama/edge)",
    "Hub HTML shell ~50KB (was 484KB monolith)",
    "hub-app.js + hub.css external minified",
    "typebar deferred post-load",
    "zen progress + plane heartbeat + NATO presets",
    "board concurrent N=4 soak probe"
  ],
  "todo": [
    "Optional: bare-metal SFU_PUBLIC_URL or real Calls tokens for large rooms",
    "Re-fanout Alice with complete EN source only; reject T0/T1 as train positives",
    "Ablation train pairs_truncated vs pairs_complete; density up-weight CJK",
    "COMET-QE / neural multilingual PPL teacher",
    "Optional 10k SFU soak (not product gate)"
  ],
  "alice_mt": {
    "path": "/data/language/alice-mt-analysis/",
    "langs": 18,
    "persona": "poet",
    "source_en_complete": "Alice was beginning to get very tired of sitting by her sister on the bank, and of having nothing to do: once or twice she had peeped into the book her sister was reading, but it had no pictures or conversations in it, 'and what is the use of a book,' thought Alice 'without pictures or conversations?'",
    "quality": {
      "semantic_fidelity": 88,
      "fluency": 86,
      "completeness_live_trunc": 62,
      "overall_usable_trunc": 78,
      "note": "completeness was budget/truncation, not model failure; use pairs_complete for train"
    },
    "files": [
      "ANALYSIS.md",
      "alice_mt_bundle.json",
      "pairs_complete.jsonl",
      "pairs_truncated.jsonl",
      "complete_parallel.md",
      "metrics.tsv",
      "METHOD_SEMANTIC_PPL.md",
      "semantic_ppl_metrics.json",
      "NEURAL_PPL_COMET.md",
      "CALIBRATION_THRESHOLDS.md",
      "calibration_thresholds.json",
      "PRECISION_SWEEP_DA.md",
      "precision_sweep.py",
      "eval_comet_ppl.py",
      "correlation_metrics.py",
      "BOOTSTRAP_KENDALL.md",
      "SPEARMAN_ALTERNATIVES_BOOTSTRAP.md",
      "PERMUTATION_JACKKNIFE.md"
    ]
  },
  "live_probes": [
    "GET /api/health",
    "GET /api/presence",
    "GET /version.json",
    "GET /data/language/scorecard.json",
    "GET /data/language/alice-mt-analysis/alice_mt_bundle.json",
    "POST /api/sfu/ticket",
    "GET /lang-room-client.js",
    "GET /lang-room-boot.js"
  ],
  "links": {
    "sitemap_board": "https://lang.ugrad.ai/sitemap.html#status-board",
    "scorecard": "https://lang.ugrad.ai/data/language/scorecard.json",
    "alice": "https://lang.ugrad.ai/data/language/alice-mt-analysis/",
    "health": "https://lang.ugrad.ai/api/health"
  },
  "literary_note": "Ops score \u2260 T3 literary quality. Train positives = pairs_complete.jsonl only."
}
