{
  "$schema": "https://jpcite.com/.well-known/jpcite-all-persona-readiness.schema.json",
  "all_persona_100_claim_allowed": false,
  "customer_telemetry_evidence_summary": {
    "duplicate_session_id_hash_count": null,
    "expected_declared_query_reference_count": null,
    "external_user_session_count": null,
    "freshness_policy": {
      "captured_at_max_present": false,
      "captured_at_min_present": false,
      "min_captured_at": null,
      "min_captured_at_valid": false,
      "stale_row_count": null
    },
    "freshness_stale_row_count": null,
    "non_external_session_count": null,
    "not_ready_persona_count": null,
    "persona_map_blocker_count": null,
    "persona_map_contract": {
      "blocker_count": null,
      "expected_declared_query_reference_count": null,
      "expected_persona_count": null,
      "expected_query_count_per_persona": null,
      "ready": false
    },
    "privacy_contract": {
      "duplicate_session_id_hashes_rejected": false,
      "emails_forbidden": false,
      "houjin_numbers_forbidden": false,
      "printed_report_redacts_row_values": false,
      "query_reference_must_be_qid_or_hash": false,
      "raw_queries_forbidden": false,
      "secret_tokens_forbidden": false,
      "session_id_hash_must_be_hash": false,
      "source_urls_forbidden": false
    },
    "privacy_violation_row_count": null,
    "provenance_contract": {
      "input_path_printed": false,
      "input_path_redacted": true,
      "persona_map_path_printed": false,
      "persona_map_path_redacted": true
    },
    "provided": false,
    "ready": false,
    "ready_distinct_query_reference_coverage_count": null,
    "ready_distinct_query_reference_coverage_persona_count": null,
    "ready_persona_count": null,
    "ready_session_count": null,
    "redaction_contract": {
      "raw_queries_printed": false,
      "row_values_included": false,
      "secret_values_printed": false,
      "source_urls_printed": false
    },
    "required_sessions_per_persona": null,
    "session_origin_policy": {
      "external_user_session_count": null,
      "non_external_session_count": null,
      "required_origin": null
    },
    "source_kind": "absent"
  },
  "customer_telemetry_required_for_100_point_claim": {
    "freshness_min_captured_at_required": true,
    "minimum_distinct_query_reference_coverage_count": 50,
    "minimum_distinct_query_references_per_persona": 5,
    "minimum_persona_count": 10,
    "minimum_successful_external_user_sessions_per_persona": 5,
    "privacy_boundary_ja": "個社名、法人番号、問い合わせ本文、証跡 URL は secret ledger または匿名集計のみ。公開面には persona 単位の件数と gate 結果だけを出す。",
    "privacy_contract": {
      "duplicate_session_id_hashes_rejected": true,
      "emails_forbidden": true,
      "houjin_numbers_forbidden": true,
      "printed_report_redacts_row_values": true,
      "query_reference_must_be_qid_or_hash": true,
      "raw_queries_forbidden": true,
      "secret_tokens_forbidden": true,
      "session_id_hash_must_be_hash": true,
      "source_urls_forbidden": true
    },
    "readiness_gate_min_captured_at_argument": "--customer-telemetry-min-captured-at <release-start-iso8601>",
    "template_command": ".venv/bin/python scripts/ops/check_all_persona_customer_telemetry_ledger.py --write-template <private-output.csv>",
    "validator_min_captured_at_argument": "--min-captured-at <release-start-iso8601>"
  },
  "generated_at": "2026-06-12T05:33:45+00:00",
  "release_boundary_ja": "10 persona x 5 representative query の route/tool/pricing/public page/known_gaps/source/fence/CTA は offline gate で ready。実 customer telemetry 蓄積前に「全ペルソナ実顧客で100点満点」とは言わない。",
  "schema_version": "jpcite.all_persona_readiness_public_summary.v1",
  "source_gate": "scripts/ops/check_all_persona_readiness_gate.py",
  "source_map": "https://jpcite.com/.well-known/jpcite-persona-query-map.json",
  "source_shortcut_catalog": "https://jpcite.com/.well-known/jpcite-persona-tool-shortcuts.json",
  "status": "offline_ready_customer_telemetry_pending",
  "summary": {
    "actual_persona_count": 10,
    "actual_query_cell_count": 50,
    "expected_persona_count": 10,
    "expected_query_cell_count": 50,
    "global_blocker_count": 0,
    "global_blockers": [],
    "not_ready_count": 0,
    "persona_map_verification_contract_ready": true,
    "price_contract_aligned_count": 50,
    "public_experience_not_ready_count": 0,
    "public_experience_ready_count": 10,
    "public_json_schema_invalid_count": 0,
    "public_json_schema_valid_count": 3,
    "ready_for_100_point_claim_count": 50,
    "release_claim_readiness_contract_ready": true,
    "representative_query_examples_visible_persona_count": 10,
    "route_ready_count": 50,
    "tool_specific_public_surface_count": 50
  },
  "verification": {
    "command": ".venv/bin/python scripts/ops/check_all_persona_readiness_gate.py --json",
    "customer_telemetry_template_command": ".venv/bin/python scripts/ops/check_all_persona_customer_telemetry_ledger.py --write-template <private-output.csv>",
    "customer_telemetry_validator": ".venv/bin/python scripts/ops/check_all_persona_customer_telemetry_ledger.py --input <anonymized-secret-ledger.csv> --min-captured-at <release-start-iso8601> --strict",
    "offline_gate_command": ".venv/bin/python scripts/ops/check_all_persona_readiness_gate.py --json",
    "offline_no_network_no_billing": true,
    "source_artifacts_checked_in": true,
    "strict_100_claim_command": ".venv/bin/python scripts/ops/check_all_persona_readiness_gate.py --strict",
    "strict_expected_before_customer_telemetry": "nonzero"
  }
}
