-- ============================================================================
-- 动态节点学习产物表：把陌生节点的"AI 拆解方案"持久化复用
-- ============================================================================
CREATE TABLE IF NOT EXISTS lobster_dynamic_node_impl (
  id            BIGINT AUTO_INCREMENT PRIMARY KEY,
  company_id    BIGINT       DEFAULT NULL                COMMENT '租户ID, 0/NULL=全租户通用',
  node_type     INT          NOT NULL                    COMMENT '陌生节点类型编号',
  node_type_code VARCHAR(64) DEFAULT NULL                COMMENT '节点编码(如knowledge_retrieval)',
  fingerprint   VARCHAR(128) NOT NULL                    COMMENT 'nodeType + config 关键字段 hash, 同 fingerprint 复用',
  sub_dsl_json  MEDIUMTEXT   NOT NULL                    COMMENT 'AI 拆解后的子节点 DSL(JSON Array)',
  prompt_used   TEXT         DEFAULT NULL                COMMENT '生成时使用的 prompt 备份',
  source_model  VARCHAR(64)  DEFAULT NULL                COMMENT '生成模型名',
  quality_score DOUBLE       DEFAULT 0                   COMMENT '质量评分 0-100',
  exec_count    INT          DEFAULT 0                   COMMENT '累计调用次数',
  success_count INT          DEFAULT 0                   COMMENT '累计成功次数',
  avg_duration_ms INT        DEFAULT 0                   COMMENT '平均执行毫秒',
  status        VARCHAR(16)  DEFAULT 'DRAFT'             COMMENT 'DRAFT/PENDING/ACTIVE/REJECTED',
  last_exec_time DATETIME    DEFAULT NULL,
  reviewed_by   VARCHAR(64)  DEFAULT NULL,
  reviewed_time DATETIME     DEFAULT NULL,
  reject_reason VARCHAR(255) DEFAULT NULL,
  create_time   DATETIME     DEFAULT CURRENT_TIMESTAMP,
  update_time   DATETIME     DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  KEY idx_lookup (node_type, fingerprint, status),
  KEY idx_company_status (company_id, status),
  KEY idx_node_type (node_type)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='龙虾动态节点学习产物表';

-- 执行轨迹（每一次动态节点跑完都写）
CREATE TABLE IF NOT EXISTS lobster_dynamic_node_run (
  id            BIGINT AUTO_INCREMENT PRIMARY KEY,
  impl_id       BIGINT       DEFAULT NULL                COMMENT '关联学习产物id, NULL=首次AI执行',
  node_type     INT          NOT NULL,
  company_id    BIGINT       DEFAULT NULL,
  instance_id   BIGINT       DEFAULT NULL                COMMENT '工作流实例id',
  fingerprint   VARCHAR(128) DEFAULT NULL,
  duration_ms   INT          DEFAULT 0,
  success       TINYINT      DEFAULT 0,
  score         DOUBLE       DEFAULT 0,
  exec_path     VARCHAR(16)  DEFAULT 'AI'                COMMENT 'AI=首次LLM / DSL=复用学习产物',
  input_context TEXT         DEFAULT NULL,
  output_result TEXT         DEFAULT NULL,
  error_msg     VARCHAR(512) DEFAULT NULL,
  create_time   DATETIME     DEFAULT CURRENT_TIMESTAMP,
  KEY idx_impl (impl_id),
  KEY idx_node_type (node_type, create_time)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='龙虾动态节点执行轨迹';
