{
  "ok": true,
  "scope": "content_safety_orchestration_repository_preview",
  "status": "blocked_before_live_content_safety_orchestration_repository",
  "date": "2026-06-18",
  "repository": {
    "code": "content_safety_orchestration_repository",
    "status": "preview_policy_orchestration_repository_ready",
    "repositoryKind": "policy_gate_and_audit_repository",
    "readMethods": [
      "getActivePolicySnapshot",
      "getAdminShrinkSwitches",
      "getRoleRiskProfile",
      "getHighFreedomGate",
      "getManualReviewQueueSummary"
    ],
    "writeMethods": [
      "recordInputPolicyDecisionFuture",
      "recordOutputPolicyDecisionFuture",
      "enqueueManualReviewFuture",
      "recordAdminPolicySwitchChangeFuture"
    ],
    "liveTables": [
      "content_policy_snapshots",
      "content_policy_rules",
      "content_policy_decisions",
      "content_manual_review_queue",
      "content_admin_switch_events",
      "hidden_continue_audit_events"
    ],
    "transactionBoundary": "policy_decision_before_points_model_message_and_hidden_continue_execution",
    "idempotencyKey": "userId:sessionId:clientTurnId:policyStage",
    "promotionGate": "content_policy_rules_admin_switches_review_queue_audit_and_live_failure_cases_ready"
  },
  "request": {
    "userId": "preview-user-id",
    "sessionId": "session-preview-001",
    "roleId": "wf-moonlit-bookseller",
    "clientTurnId": "turn-preview-001",
    "messagePreview": "想继续这一幕，但保持安全边界。",
    "highFreedomRequested": true,
    "hiddenContinueRequested": false,
    "adminShrinkSwitch": "balanced"
  },
  "policySnapshot": {
    "status": "admin_config_required_before_live",
    "styleBoundary": "romantic_story_and_emotional_companionship_only",
    "highFreedomInterpretation": "broad_input_to_safe_story_progression_not_no_boundary_mode",
    "activeTiers": [
      {
        "code": "allow_story_progression",
        "label": "允许剧情推进",
        "targetAction": "continue_story_with_visible_boundary",
        "requiresAudit": true
      },
      {
        "code": "soft_rewrite",
        "label": "软改写",
        "targetAction": "rewrite_into_safe_romantic_story_or_emotional_companionship",
        "requiresAudit": true
      },
      {
        "code": "manual_review",
        "label": "人工复核",
        "targetAction": "hold_turn_before_model_call_and_show_safe_waiting_state",
        "requiresAudit": true
      },
      {
        "code": "block",
        "label": "阻断",
        "targetAction": "block_request_and_do_not_call_model_or_charge_points",
        "requiresAudit": true
      }
    ],
    "forbiddenSignals": [
      "minor_or_age_ambiguous",
      "coercion",
      "illegal_action",
      "real_person_or_private_data",
      "payment_or_identity_secrets"
    ],
    "graySignals": [
      "high_freedom_request",
      "boundary_push",
      "hidden_continue_request",
      "prompt_injection_attempt"
    ]
  },
  "adminShrinkSwitches": {
    "status": "blocked_before_live_admin_policy_switches",
    "currentMode": "balanced",
    "modes": [
      {
        "code": "open_story",
        "meaning": "more broad input accepted but still safety gated"
      },
      {
        "code": "balanced",
        "meaning": "default soft rewrite and manual review tiers"
      },
      {
        "code": "strict",
        "meaning": "more requests move to manual review or block"
      }
    ],
    "requiresAuditEvent": true
  },
  "roleRiskProfile": {
    "roleId": "wf-moonlit-bookseller",
    "contentRating": "adult_gate_required_for_high_freedom_story_style",
    "highFreedomGateStatus": "blocked_until_age_gate_audit_admin_fallback_and_policy_ready",
    "hiddenContinueGateStatus": "blocked_before_audited_hidden_continue",
    "deletedMemoryExclusion": "deleted_messages_and_forget_requests_must_not_reenter_story_context"
  },
  "inputPolicy": {
    "stage": "input",
    "status": "blocked_before_live_input_policy_repository",
    "decision": "soft_rewrite",
    "tier": {
      "code": "soft_rewrite",
      "label": "软改写",
      "targetAction": "rewrite_into_safe_romantic_story_or_emotional_companionship",
      "requiresAudit": true
    },
    "signals": {
      "blockedSignals": [],
      "graySignals": [],
      "promptInjectionSignals": []
    },
    "actionContract": {
      "allow": false,
      "modelCallAllowedOnlyAfterPointsReservation": true,
      "shouldRewriteBeforeModel": true,
      "shouldQueueManualReview": false,
      "shouldBlockWithoutCharge": false
    }
  },
  "outputPolicy": {
    "stage": "model_output",
    "status": "blocked_before_live_output_policy_repository",
    "checks": [
      "age_gate_consistency",
      "role_boundary_consistency",
      "no_forbidden_detail",
      "no_private_data_request",
      "no_prompt_or_policy_leak",
      "safe_next_scene_hook"
    ],
    "recoveryActions": [
      "safe_rewrite_without_extra_charge",
      "manual_review_before_persisting_assistant_message",
      "refund_or_release_points_if_output_blocked"
    ],
    "requiredBeforePersist": [
      "assistant_output_policy_decision_recorded",
      "model_call_log_linked",
      "message_event_audit_ready"
    ]
  },
  "executionOrder": [
    "verifyAdultGateForHighFreedomStyle",
    "readAdminPolicySnapshot",
    "readRoleRiskProfileAndPreference",
    "runInputPolicyDecision",
    "recordPolicyDecisionFuture",
    "softRewriteOrQueueManualReviewOrBlock",
    "reservePointsOnlyIfPolicyAllows",
    "callModelAdapterOnlyAfterPolicyAndPoints",
    "runOutputPolicyDecision",
    "persistAssistantMessageOnlyAfterOutputPolicy",
    "settleOrRefundPoints",
    "appendStoryEventAndHiddenContinueAuditIfAllowed"
  ],
  "manualReviewQueue": {
    "status": "blocked_before_live_manual_review_queue",
    "enqueueReasons": [
      "prompt_injection_attempt",
      "ambiguous_age_or_consent",
      "high_freedom_boundary_push",
      "model_output_needs_review"
    ],
    "reviewerActions": [
      "approve_safe_rewrite",
      "request_role_edit",
      "block_and_log",
      "tighten_admin_switch"
    ]
  },
  "blockers": [
    "live_content_policy_tables_not_created",
    "content_policy_rule_versioning_not_live",
    "admin_shrink_switch_audit_not_live",
    "manual_review_queue_not_live",
    "input_policy_decision_not_persisted",
    "output_policy_decision_not_persisted",
    "hidden_continue_policy_link_not_live",
    "points_model_message_gates_not_bound_to_policy_decision",
    "adult_gate_live_failure_case_not_verified"
  ],
  "nextStep": "create live content policy tables, admin shrink switches, policy decision audit, manual review queue and output policy gate before enabling high freedom story mode or hidden continue in live chat",
  "boundaries": [
    "content_safety_orchestration_repository_preview_only",
    "does_not_call_real_content_moderation_provider",
    "does_not_call_real_model",
    "does_not_write_production_database",
    "does_not_store_user_message",
    "does_not_enqueue_hidden_continue",
    "does_not_change_admin_policy_switches",
    "does_not_turn_high_freedom_into_no_boundary_mode",
    "does_not_mark_content_safety_live"
  ]
}