{
  "metadata": {
    "generated_at": "2026-05-22T08:37:46.217676+00:00",
    "source_reports": [
      "/root/.openclaw/workspace/talent-review-system/docs/roadmap/ASSESSMENT_TEMPLATE_SCHEMA_REGISTRY_APPLY_PREP.md",
      "/root/.openclaw/workspace/talent-review-system/docs/roadmap/assessment_template_schema_registry_apply_prep.json",
      "/root/.openclaw/workspace/talent-review-system/docs/roadmap/ASSESSMENT_TEMPLATE_SCHEMA_PREVIEW.md",
      "/root/.openclaw/workspace/talent-review-system/docs/roadmap/assessment_template_schema_preview.json",
      "/root/.openclaw/workspace/talent-review-system/docs/roadmap/ASSESSMENT_TEMPLATE_SCHEMA_MIGRATION_PREVIEW.md",
      "/root/.openclaw/workspace/talent-review-system/docs/roadmap/assessment_template_schema_migration_preview.json",
      "/root/.openclaw/workspace/talent-review-system/docs/roadmap/ASSESSMENT_TEMPLATE_ASSET_MIGRATION_PLAN.md",
      "/root/.openclaw/workspace/talent-review-system/docs/roadmap/assessment_template_asset_migration_plan.json",
      "/var/www/talent-review/outputs/assessment_template_permission_policy_registry_v1.json",
      "/var/www/talent-review/outputs/assessment_template_config_center_summary_v1.json"
    ],
    "stage": "P0_SCHEMA_REGISTRY",
    "purpose": "测评模板统一 schema 只读 registry，用于后续预览、迁移设计、硬编码规则重构和 schema registry 链接，不接入真实数据库迁移链路。",
    "warning": "只读 registry；不写数据库，不执行 schema migration，不修改 active 模板，不发放真实测评任务。",
    "writes_database": false,
    "modifies_active_template": false,
    "modifies_assignments": false,
    "modifies_results": false,
    "modifies_answer_submissions": false,
    "sends_real_assignment": false,
    "schema_migration_required": false
  },
  "schema_summary": {
    "schema_object_count": 12,
    "supported_template_type_count": 10,
    "migration_strategy": "C_shadow_schema_json_registry",
    "registry_phase": "Phase_0_schema_registry",
    "permission_policy_registry_available": true,
    "permission_policy_registry_path": "/outputs/assessment_template_permission_policy_registry_v1.json"
  },
  "schema_objects": [
    {
      "object_id": "assessment_template",
      "object_name": "assessment_template",
      "purpose": "模板主对象，承载模板身份、类型、版本、场景、负责人、审计与回滚引用。",
      "key_fields": [
        "template_id",
        "tenant_id_future",
        "template_name",
        "template_type"
      ],
      "required_fields": [
        "template_id",
        "tenant_id_future",
        "template_name",
        "template_type",
        "template_category",
        "template_version",
        "status",
        "scenario"
      ],
      "optional_fields": [
        "applicable_stage",
        "owner_role",
        "owner_department",
        "effective_from",
        "effective_to",
        "created_by",
        "updated_by",
        "reviewed_by",
        "approved_by",
        "applied_by",
        "audit_id",
        "rollback_ref"
      ],
      "related_current_assets": "assessment_templates / template JSON / template workbench",
      "migration_complexity": "medium",
      "migration_risk": "medium",
      "p0_registry_status": "readonly_registry",
      "p1_database_target": "assessment_template_table_candidate",
      "saas_target": "tenant_aware_schema_object",
      "depends_on": [],
      "maps_to_permission_policy": false
    },
    {
      "object_id": "assessment_question",
      "object_name": "assessment_question",
      "purpose": "题库对象，P0 支持模板内题目，P1 支持题库复用关系，SaaS 支持题目模板市场。",
      "key_fields": [
        "question_id",
        "template_id",
        "dimension_id",
        "question_text"
      ],
      "required_fields": [
        "question_id",
        "template_id",
        "dimension_id",
        "question_text",
        "question_type",
        "option_set",
        "score_range",
        "required"
      ],
      "optional_fields": [
        "reverse_scoring",
        "risk_trigger",
        "display_order",
        "is_active"
      ],
      "related_current_assets": "HTML / JSON / scripts with question or answer page",
      "migration_complexity": "high",
      "migration_risk": "medium",
      "p0_registry_status": "readonly_registry",
      "p1_database_target": "assessment_question_table_candidate",
      "saas_target": "tenant_aware_schema_object",
      "depends_on": [
        "assessment_template"
      ],
      "maps_to_permission_policy": false
    },
    {
      "object_id": "assessment_dimension",
      "object_name": "assessment_dimension",
      "purpose": "维度对象，支持 parent-child 层级，统一承接能力、价值观、组织健康和组织能力维度。",
      "key_fields": [
        "dimension_id",
        "template_id",
        "dimension_name",
        "parent_dimension_id"
      ],
      "required_fields": [
        "dimension_id",
        "template_id",
        "dimension_name",
        "parent_dimension_id",
        "description",
        "weight",
        "scoring_method",
        "risk_threshold"
      ],
      "optional_fields": [
        "dimension_type",
        "display_order"
      ],
      "related_current_assets": "dimension / scoring / tag docs and JSON",
      "migration_complexity": "high",
      "migration_risk": "medium",
      "p0_registry_status": "readonly_registry",
      "p1_database_target": "assessment_dimension_table_candidate",
      "saas_target": "tenant_aware_schema_object",
      "depends_on": [
        "assessment_template"
      ],
      "maps_to_permission_policy": false
    },
    {
      "object_id": "assessment_weight_rule",
      "object_name": "assessment_weight_rule",
      "purpose": "权重规则对象，支持模板、维度、评价人、场景和算法映射权重版本化。",
      "key_fields": [
        "weight_rule_id",
        "template_id",
        "dimension_weight",
        "evaluator_weight"
      ],
      "required_fields": [
        "weight_rule_id",
        "template_id",
        "dimension_weight",
        "evaluator_weight",
        "scenario_weight",
        "final_score_weight",
        "algorithm_mapping_weight",
        "effective_scope"
      ],
      "optional_fields": [
        "version",
        "status"
      ],
      "related_current_assets": "scoring scripts / hardcoded weights / algorithm mapping",
      "migration_complexity": "high",
      "migration_risk": "high",
      "p0_registry_status": "readonly_registry",
      "p1_database_target": "assessment_weight_rule_table_candidate",
      "saas_target": "tenant_aware_schema_object",
      "depends_on": [
        "assessment_template"
      ],
      "maps_to_permission_policy": false
    },
    {
      "object_id": "assessment_evaluator_relationship",
      "object_name": "assessment_evaluator_relationship",
      "purpose": "评价关系对象，统一表达自评、上级、同事、下级、HR、HRBP、Boss 和外部评价人。",
      "key_fields": [
        "relationship_id",
        "template_id",
        "evaluator_type",
        "evaluator_role"
      ],
      "required_fields": [
        "relationship_id",
        "template_id",
        "evaluator_type",
        "evaluator_role",
        "reviewer_scope_rule",
        "weight",
        "min_reviewer_count",
        "anonymous_allowed"
      ],
      "optional_fields": [
        "required",
        "fallback_rule"
      ],
      "related_current_assets": "assignments / reviewer scope / role rules",
      "migration_complexity": "medium",
      "migration_risk": "high",
      "p0_registry_status": "readonly_registry",
      "p1_database_target": "assessment_evaluator_relationship_table_candidate",
      "saas_target": "tenant_aware_schema_object",
      "depends_on": [
        "assessment_template"
      ],
      "maps_to_permission_policy": false
    },
    {
      "object_id": "assessment_applicable_scope",
      "object_name": "assessment_applicable_scope",
      "purpose": "适用范围对象，定义部门、岗位、职级、角色、员工和未来租户范围。",
      "key_fields": [
        "scope_id",
        "template_id",
        "department_scope",
        "position_scope"
      ],
      "required_fields": [
        "scope_id",
        "template_id",
        "department_scope",
        "position_scope",
        "grade_scope",
        "role_scope",
        "employee_scope",
        "review_cycle"
      ],
      "optional_fields": [
        "tenant_scope_future",
        "exclusion_rule"
      ],
      "related_current_assets": "assignment scope / department / position / role files",
      "migration_complexity": "medium",
      "migration_risk": "medium",
      "p0_registry_status": "readonly_registry",
      "p1_database_target": "assessment_applicable_scope_table_candidate",
      "saas_target": "tenant_aware_schema_object",
      "depends_on": [
        "assessment_template"
      ],
      "maps_to_permission_policy": false
    },
    {
      "object_id": "assessment_assignment_rule",
      "object_name": "assessment_assignment_rule",
      "purpose": "发放规则对象，定义何时触发、何时开始、何时截止、提醒、补答和取消规则。",
      "key_fields": [
        "assignment_rule_id",
        "template_id",
        "trigger_type",
        "trigger_event"
      ],
      "required_fields": [
        "assignment_rule_id",
        "template_id",
        "trigger_type",
        "trigger_event",
        "start_time_rule",
        "deadline_rule",
        "reminder_rule",
        "completion_rule"
      ],
      "optional_fields": [
        "overdue_rule",
        "retake_rule",
        "cancellation_rule"
      ],
      "related_current_assets": "assessment_assignments / task pages / reminder docs",
      "migration_complexity": "medium",
      "migration_risk": "high",
      "p0_registry_status": "readonly_registry",
      "p1_database_target": "assessment_assignment_rule_table_candidate",
      "saas_target": "tenant_aware_schema_object",
      "depends_on": [
        "assessment_template"
      ],
      "maps_to_permission_policy": false
    },
    {
      "object_id": "assessment_result_mapping",
      "object_name": "assessment_result_mapping",
      "purpose": "结果映射对象，支持同一测评结果多出口进入算法、画像、干部 validation、组织能力和动作约束。",
      "key_fields": [
        "mapping_id",
        "template_id",
        "result_to_algorithm_input",
        "result_to_profile_field"
      ],
      "required_fields": [
        "mapping_id",
        "template_id",
        "result_to_algorithm_input",
        "result_to_profile_field",
        "result_to_cadre_validation",
        "result_to_org_capability_score",
        "result_to_people_action_constraint",
        "result_to_permission_signal"
      ],
      "optional_fields": [
        "mapping_version"
      ],
      "related_current_assets": "assessment_results / algorithm outputs / profile / cadre outputs",
      "migration_complexity": "high",
      "migration_risk": "high",
      "p0_registry_status": "readonly_registry",
      "p1_database_target": "assessment_result_mapping_table_candidate",
      "saas_target": "tenant_aware_schema_object",
      "depends_on": [
        "assessment_template"
      ],
      "maps_to_permission_policy": false
    },
    {
      "object_id": "assessment_risk_rule",
      "object_name": "assessment_risk_rule",
      "purpose": "风险规则对象，承接 1009 条 risk rule 迁移候选，避免阈值、风险标签和一票否决写死。",
      "key_fields": [
        "risk_rule_id",
        "template_id",
        "risk_type",
        "trigger_condition"
      ],
      "required_fields": [
        "risk_rule_id",
        "template_id",
        "risk_type",
        "trigger_condition",
        "threshold",
        "severity",
        "one_vote_veto",
        "values_risk"
      ],
      "optional_fields": [
        "low_score_dimension",
        "inconsistent_rating",
        "expired_result",
        "abnormal_pattern",
        "recommended_action"
      ],
      "related_current_assets": "risk/tag/scoring scripts and migration candidates",
      "migration_complexity": "very_high",
      "migration_risk": "high",
      "p0_registry_status": "readonly_registry",
      "p1_database_target": "assessment_risk_rule_table_candidate",
      "saas_target": "tenant_aware_schema_object",
      "depends_on": [
        "assessment_template"
      ],
      "maps_to_permission_policy": false
    },
    {
      "object_id": "assessment_lifecycle",
      "object_name": "assessment_lifecycle",
      "purpose": "生命周期对象，防止模板误生效，明确状态跳转、操作角色、审批、写库、业务生效和回滚边界。",
      "key_fields": [
        "lifecycle_id",
        "template_id",
        "state",
        "previous_state"
      ],
      "required_fields": [
        "lifecycle_id",
        "template_id",
        "state",
        "previous_state",
        "next_state",
        "allowed_operator_role",
        "requires_approval",
        "writes_database"
      ],
      "optional_fields": [
        "business_effective",
        "audit_required",
        "rollback_allowed"
      ],
      "related_current_assets": "preview/apply/readiness/rollback pages and SOP",
      "migration_complexity": "medium",
      "migration_risk": "high",
      "p0_registry_status": "readonly_registry",
      "p1_database_target": "assessment_lifecycle_table_candidate",
      "saas_target": "tenant_aware_schema_object",
      "depends_on": [
        "assessment_template"
      ],
      "maps_to_permission_policy": false
    },
    {
      "object_id": "assessment_permission_policy",
      "object_name": "assessment_permission_policy",
      "purpose": "权限策略对象，定义谁能看、创建、编辑、提交、审批、生效、回滚，以及字段、数据范围和动作权限。",
      "key_fields": [
        "permission_policy_id",
        "template_id",
        "who_can_view",
        "who_can_create"
      ],
      "required_fields": [
        "permission_policy_id",
        "template_id",
        "who_can_view",
        "who_can_create",
        "who_can_edit",
        "who_can_submit_review",
        "who_can_approve",
        "who_can_apply"
      ],
      "optional_fields": [
        "who_can_rollback",
        "field_visibility_rules",
        "data_scope_rules",
        "action_rules"
      ],
      "related_current_assets": "permission rules / permission preview / field rules",
      "migration_complexity": "high",
      "migration_risk": "high",
      "p0_registry_status": "readonly_registry",
      "p1_database_target": "assessment_permission_policy_table_candidate",
      "saas_target": "tenant_aware_schema_object",
      "depends_on": [
        "assessment_template"
      ],
      "maps_to_permission_policy": true
    },
    {
      "object_id": "assessment_audit_version",
      "object_name": "assessment_audit_version",
      "purpose": "审计版本对象，记录差异、变更原因、审批、生效、审计和回滚引用。",
      "key_fields": [
        "version_id",
        "template_id",
        "version",
        "diff_summary"
      ],
      "required_fields": [
        "version_id",
        "template_id",
        "version",
        "diff_summary",
        "changed_by",
        "change_reason",
        "reviewed_by",
        "approved_by"
      ],
      "optional_fields": [
        "applied_by",
        "effective_from",
        "effective_to",
        "audit_id",
        "rollback_ref"
      ],
      "related_current_assets": "audit logs / rollback refs / roadmap outputs",
      "migration_complexity": "medium",
      "migration_risk": "medium",
      "p0_registry_status": "readonly_registry",
      "p1_database_target": "assessment_audit_version_table_candidate",
      "saas_target": "tenant_aware_schema_object",
      "depends_on": [
        "assessment_template"
      ],
      "maps_to_permission_policy": false
    }
  ],
  "supported_template_types": [
    {
      "template_type": "360_assessment",
      "subject_type": "employee",
      "high_risk_default": false,
      "typical_result_mapping": [
        "algorithm_input",
        "profile_field",
        "cadre_validation"
      ],
      "typical_risk_rules": [
        "expired_result",
        "abnormal_pattern"
      ],
      "related_centers": [
        "Talent Review OS",
        "员工画像 / 干部档案",
        "组织画布"
      ]
    },
    {
      "template_type": "potential_assessment",
      "subject_type": "employee",
      "high_risk_default": false,
      "typical_result_mapping": [
        "algorithm_input",
        "profile_field",
        "cadre_validation"
      ],
      "typical_risk_rules": [
        "expired_result",
        "abnormal_pattern"
      ],
      "related_centers": [
        "Talent Review OS",
        "员工画像 / 干部档案",
        "组织画布"
      ]
    },
    {
      "template_type": "competency_assessment",
      "subject_type": "employee",
      "high_risk_default": false,
      "typical_result_mapping": [
        "algorithm_input",
        "profile_field",
        "cadre_validation"
      ],
      "typical_risk_rules": [
        "expired_result",
        "abnormal_pattern"
      ],
      "related_centers": [
        "Talent Review OS",
        "员工画像 / 干部档案",
        "组织画布"
      ]
    },
    {
      "template_type": "values_assessment",
      "subject_type": "employee",
      "high_risk_default": true,
      "typical_result_mapping": [
        "algorithm_input",
        "profile_field",
        "cadre_validation"
      ],
      "typical_risk_rules": [
        "values_risk",
        "low_score_dimension",
        "one_vote_veto"
      ],
      "related_centers": [
        "Talent Review OS",
        "员工画像 / 干部档案",
        "组织画布"
      ]
    },
    {
      "template_type": "probation_assessment",
      "subject_type": "employee",
      "high_risk_default": false,
      "typical_result_mapping": [
        "algorithm_input",
        "profile_field",
        "cadre_validation"
      ],
      "typical_risk_rules": [
        "expired_result",
        "abnormal_pattern"
      ],
      "related_centers": [
        "Talent Review OS",
        "员工画像 / 干部档案",
        "组织画布"
      ]
    },
    {
      "template_type": "promotion_assessment",
      "subject_type": "employee",
      "high_risk_default": true,
      "typical_result_mapping": [
        "algorithm_input",
        "profile_field",
        "cadre_validation"
      ],
      "typical_risk_rules": [
        "expired_result",
        "abnormal_pattern"
      ],
      "related_centers": [
        "Talent Review OS",
        "员工画像 / 干部档案",
        "组织画布"
      ]
    },
    {
      "template_type": "performance_assessment",
      "subject_type": "employee",
      "high_risk_default": false,
      "typical_result_mapping": [
        "algorithm_input",
        "profile_field",
        "cadre_validation"
      ],
      "typical_risk_rules": [
        "expired_result",
        "abnormal_pattern"
      ],
      "related_centers": [
        "Talent Review OS",
        "员工画像 / 干部档案",
        "组织画布"
      ]
    },
    {
      "template_type": "cadre_review_assessment",
      "subject_type": "employee",
      "high_risk_default": true,
      "typical_result_mapping": [
        "algorithm_input",
        "profile_field",
        "cadre_validation"
      ],
      "typical_risk_rules": [
        "expired_result",
        "abnormal_pattern"
      ],
      "related_centers": [
        "Talent Review OS",
        "员工画像 / 干部档案",
        "组织画布"
      ]
    },
    {
      "template_type": "organization_health_assessment",
      "subject_type": "organization_unit",
      "high_risk_default": true,
      "typical_result_mapping": [
        "org_capability_score",
        "org_canvas_constraint"
      ],
      "typical_risk_rules": [
        "expired_result",
        "abnormal_pattern"
      ],
      "related_centers": [
        "组织能力诊断",
        "组织画布",
        "管理者工作台"
      ]
    },
    {
      "template_type": "organization_capability_assessment",
      "subject_type": "organization_unit",
      "high_risk_default": true,
      "typical_result_mapping": [
        "org_capability_score",
        "org_canvas_constraint"
      ],
      "typical_risk_rules": [
        "expired_result",
        "abnormal_pattern"
      ],
      "related_centers": [
        "组织能力诊断",
        "组织画布",
        "管理者工作台"
      ]
    }
  ],
  "p0_p1_saas_schema_layers": {
    "p0_logical_schema_items": [
      "只读 JSON registry",
      "12 schema 对象",
      "10 template types",
      "迁移映射",
      "兼容性规则",
      "不落库"
    ],
    "p1_database_schema_items": [
      "并行 schema 表",
      "版本",
      "审批",
      "审计",
      "回滚",
      "只读校验后逐步迁移"
    ],
    "saas_schema_items": [
      "tenant_id",
      "多租户隔离",
      "行业模板",
      "模板市场",
      "模板继承覆盖",
      "API / Webhook"
    ]
  },
  "migration_mapping": [
    {
      "migration_action": "migrate_to_template_config",
      "target_schema_object": "assessment_template",
      "requires_manual_review": false,
      "requires_permission_approval": false,
      "recommended_phase": "Phase 0 / Phase 1"
    },
    {
      "migration_action": "migrate_to_question_bank",
      "target_schema_object": "assessment_question",
      "requires_manual_review": false,
      "requires_permission_approval": false,
      "recommended_phase": "Phase 1 / Phase 2"
    },
    {
      "migration_action": "migrate_to_dimension_model",
      "target_schema_object": "assessment_dimension",
      "requires_manual_review": false,
      "requires_permission_approval": false,
      "recommended_phase": "Phase 1 / Phase 2"
    },
    {
      "migration_action": "migrate_to_weight_rule",
      "target_schema_object": "assessment_weight_rule",
      "requires_manual_review": true,
      "requires_permission_approval": true,
      "recommended_phase": "Phase 1 / Phase 2"
    },
    {
      "migration_action": "migrate_to_evaluator_relationship",
      "target_schema_object": "assessment_evaluator_relationship",
      "requires_manual_review": false,
      "requires_permission_approval": false,
      "recommended_phase": "Phase 1 / Phase 2"
    },
    {
      "migration_action": "migrate_to_assignment_rule",
      "target_schema_object": "assessment_assignment_rule",
      "requires_manual_review": false,
      "requires_permission_approval": false,
      "recommended_phase": "Phase 1 / Phase 2"
    },
    {
      "migration_action": "migrate_to_result_mapping",
      "target_schema_object": "assessment_result_mapping",
      "requires_manual_review": true,
      "requires_permission_approval": true,
      "recommended_phase": "Phase 1 / Phase 2"
    },
    {
      "migration_action": "migrate_to_risk_rule",
      "target_schema_object": "assessment_risk_rule",
      "requires_manual_review": true,
      "requires_permission_approval": true,
      "recommended_phase": "Phase 1 / Phase 2"
    },
    {
      "migration_action": "manual_review_required",
      "target_schema_object": "manual_review",
      "requires_manual_review": true,
      "requires_permission_approval": false,
      "recommended_phase": "Phase 0"
    },
    {
      "migration_action": "rebuild_required",
      "target_schema_object": "hardcoded_refactor",
      "requires_manual_review": true,
      "requires_permission_approval": true,
      "recommended_phase": "Phase 1"
    },
    {
      "migration_action": "exclude_engineering_page",
      "target_schema_object": "not_in_schema",
      "requires_manual_review": false,
      "requires_permission_approval": false,
      "recommended_phase": "Phase 0"
    }
  ],
  "high_risk_hardcoded_governance": {
    "high_risk_asset_count": 95,
    "risk_rule_candidate_count": 1009,
    "result_mapping_candidate_count": 114,
    "target_schema_objects": [
      "assessment_risk_rule",
      "assessment_result_mapping",
      "assessment_weight_rule",
      "assessment_evaluator_relationship"
    ],
    "required_controls": [
      "manual_review",
      "permission_approval",
      "audit",
      "rollback",
      "no_active_write"
    ],
    "recommended_phase": "Phase_1_shadow_mapping / Phase_2_parallel_schema"
  },
  "compatibility_rules": [
    "must_not_break_active_assessment_templates",
    "must_not_affect_assessment_assignments",
    "must_not_modify_assessment_results",
    "must_not_modify_answer_submissions",
    "must_not_affect_normalized_assessment_chain",
    "must_not_affect_profile_cadre_validation",
    "must_not_affect_permission_rules",
    "must_not_send_real_assignment",
    "must_not_generate_business_effective_conclusion"
  ],
  "migration_phases": [
    {
      "phase": "Phase 0",
      "name": "Schema Registry",
      "writes_database": false,
      "description": "只建立文档化 schema / JSON registry，不落库、不改 active。"
    },
    {
      "phase": "Phase 1",
      "name": "Shadow Mapping",
      "writes_database": false,
      "description": "建立现有资产到 12 对象 schema 的映射，生成 dry-run preview。"
    },
    {
      "phase": "Phase 2",
      "name": "Parallel Schema",
      "writes_database": "future_with_approval",
      "description": "新 schema 与旧表并行，只读校验，不替换生产链路。"
    },
    {
      "phase": "Phase 3",
      "name": "Controlled Migration",
      "writes_database": "future_with_approval",
      "description": "人工审批、逐模板迁移、回归验证、rollback 可用后再逐步切换业务读取。"
    }
  ],
  "validation_rules": [
    "registry_is_readonly",
    "json_load_required",
    "object_count_must_be_12",
    "template_type_count_must_be_10",
    "no_database_write",
    "no_schema_migration",
    "no_active_template_change",
    "no_assignment_change",
    "no_result_change",
    "no_answer_submission_change",
    "no_real_task_send"
  ]
}