{
  "generated_at": "2026-06-21T23:55:52.182Z",
  "artifact": "lbr_professor_evidence_receipt_gate_public",
  "source_artifact": "lbr_professor_evidence_receipt_gate",
  "product": "LawBar Rebellion",
  "status": "ready_to_accept_private_receipts_without_public_overclaim",
  "completion_claim": "not_complete_until_human_receipt",
  "main_public_url": "https://lawbar-forge.pages.dev",
  "default_model": "gpt-5.4-mini",
  "fallback_model": "gpt-5.4-nano",
  "public_safe": true,
  "raw_private_text_included": false,
  "student_identifiers_included": false,
  "score_originals_included": false,
  "account_credentials_included": false,
  "api_key_included": false,
  "current_human_evidence_counts": {
    "real_professor_interviews_confirmed": 0,
    "real_source_bundles_permission_confirmed": 0,
    "real_review_owner_confirmed": 0,
    "paid_pilot_approved": 0
  },
  "count_rule": "Counts stay 0 until receipt_source is human_submitted/professor_confirmed and required fields are present as public-safe buckets.",
  "required_receipt_field_ids": [
    "receipt_source",
    "meeting_outcome",
    "source_bundle_permission",
    "external_ai_allowed",
    "review_owner",
    "student_data_status",
    "export_retention_rule",
    "paid_pilot_signal"
  ],
  "public_digest_allowed_fields": [
    "receipt_id_hash",
    "received_at_day",
    "route_decision",
    "score_bucket",
    "missing_fields",
    "next_action",
    "human_review_required",
    "raw_private_text_included=false",
    "student_identifiers_included=false",
    "api_key_included=false"
  ],
  "promotion_gate": {
    "paid_pilot_min_score": 70,
    "paid_pilot_required_pass_items": [
      "source_bundle_readiness",
      "review_owner_clarity",
      "paid_pilot_path"
    ],
    "api_batch_requires": [
      "허락 자료 1묶음 또는 evidence card route",
      "external_ai_allowed bucket",
      "review_owner bucket",
      "student_data_status without raw identifiers",
      "export_retention_rule bucket",
      "human_review_required=true"
    ],
    "notebooklm_requires": [
      "professor_owned_account_confirmed",
      "lbr_credentials_stored=false",
      "sourcepack-response import",
      "citation_verification_required"
    ]
  },
  "route_decisions": [
    {
      "route": "NotebookLM source pack",
      "receipt_conditions": [
        "source_bundle_permission=NotebookLM 가능",
        "external_ai_allowed=NotebookLM만 또는 요약본만",
        "review_owner is known"
      ],
      "public_output": "sourcepack_id, query_package_id, response_import_status, human_review_required"
    },
    {
      "route": "API/local DB 30-question batch",
      "receipt_conditions": [
        "score >= 70",
        "source_bundle_permission allows API evidence card",
        "review_owner is known",
        "export_retention_rule is known"
      ],
      "public_output": "batch_id hash, 30-question count, review queue state, Anki/export buckets"
    },
    {
      "route": "Ask follow-up",
      "receipt_conditions": [
        "missing required fields",
        "score 40-69",
        "rights or export unclear"
      ],
      "public_output": "missing_fields only"
    },
    {
      "route": "Private only",
      "receipt_conditions": [
        "raw original included",
        "external AI disallowed",
        "student original data included",
        "rights unclear"
      ],
      "public_output": "private_only reason bucket and source_hash prefix only"
    },
    {
      "route": "Paid pilot/SOW ask",
      "receipt_conditions": [
        "score >= 70",
        "source_bundle_readiness pass",
        "review_owner_clarity pass",
        "paid_pilot_path pass"
      ],
      "public_output": "SOW question sent/not_sent, price bucket, next buyer action"
    }
  ],
  "linked_templates": {
    "professor_evidence_receipt_tsv": "templates/professor/evidence-receipt-template.tsv",
    "professor_evidence_public_digest_template": "templates/professor/evidence-receipt-public-digest-template.json"
  },
  "do_not_count_as_human_evidence": [
    "API status ok",
    "synthetic demo",
    "NotebookLM summary without receipt",
    "unreviewed generated drafts",
    "SOW template not sent",
    "public marketing copy",
    "local RAG fallback without professor receipt"
  ],
  "next_20_minute_action": "실제 교수 회신이 오면 private receipt row를 먼저 만들고, 공개에는 receipt_id_hash, route_decision, score_bucket, missing_fields만 반영합니다.",
  "public_claim_boundary": "공개 artifact는 receipt schema와 route만 보여줍니다. 실제 교수 면담, 허락 자료, 검수 책임자, 유료 파일럿은 private human receipt가 들어오기 전까지 0으로 남깁니다."
}
