DROP TABLE IF EXISTS `dl_source_document`; CREATE TABLE `dl_source_document` ( `source_id` varchar(128) NOT NULL, `source_title` varchar(512) NOT NULL, `source_url_or_path` varchar(512) NOT NULL, `source_type` varchar(64) NOT NULL, `publish_time` varchar(64) DEFAULT NULL, `available_time` varchar(64) DEFAULT NULL, `raw_text_hash` char(64) NOT NULL, `source_reliability` varchar(64) NOT NULL, `archive_status` varchar(64) NOT NULL, PRIMARY KEY (`source_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; DROP TABLE IF EXISTS `dl_case_import_batch`; CREATE TABLE `dl_case_import_batch` ( `import_batch_id` varchar(96) NOT NULL, `source_name` varchar(128) NOT NULL, `source_kind` varchar(64) NOT NULL, `source_document_path` varchar(512) NOT NULL, `source_hash` char(64) NOT NULL, `case_count` int NOT NULL, `data_dir` varchar(512) NOT NULL, `imported_at` datetime NOT NULL, `note` varchar(512) DEFAULT NULL, PRIMARY KEY (`import_batch_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; DROP TABLE IF EXISTS `dl_case_record`; CREATE TABLE `dl_case_record` ( `case_id` varchar(96) NOT NULL, `import_batch_id` varchar(96) NOT NULL, `case_order` int NOT NULL, `case_title` varchar(512) NOT NULL, `case_family` varchar(96) NOT NULL, `case_level` varchar(32) NOT NULL, `current_status` varchar(64) NOT NULL, `case_body_md` longtext NOT NULL, `case_body_hash` char(64) NOT NULL, `local_body_path` varchar(512) NOT NULL, `source_document_path` varchar(512) NOT NULL, `source_section_heading` varchar(512) NOT NULL, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL, PRIMARY KEY (`case_id`), KEY `idx_dl_case_batch` (`import_batch_id`), KEY `idx_dl_case_family` (`case_family`), KEY `idx_dl_case_level` (`case_level`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; DROP TABLE IF EXISTS `dl_darkline_hypothesis`; CREATE TABLE `dl_darkline_hypothesis` ( `darkline_hypothesis_id` varchar(96) NOT NULL, `case_id` varchar(96) NOT NULL, `hypothesis_title` varchar(512) NOT NULL, `darkline_level` varchar(32) NOT NULL, `hypothesis_family` varchar(96) NOT NULL, `hypothesis_status` varchar(64) NOT NULL, `source_case_body_hash` char(64) NOT NULL, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL, PRIMARY KEY (`darkline_hypothesis_id`), KEY `idx_dl_hypothesis_case` (`case_id`), KEY `idx_dl_hypothesis_level` (`darkline_level`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; DROP TABLE IF EXISTS `dl_case_reasoning_step`; CREATE TABLE `dl_case_reasoning_step` ( `reasoning_step_id` varchar(128) NOT NULL, `case_id` varchar(96) NOT NULL, `darkline_hypothesis_id` varchar(96) NOT NULL, `step_order` int NOT NULL, `step_type` varchar(64) NOT NULL, `section_heading` varchar(512) DEFAULT NULL, `step_text` longtext NOT NULL, `extraction_rule` varchar(128) NOT NULL, `archive_batch_id` varchar(96) NOT NULL, PRIMARY KEY (`reasoning_step_id`), KEY `idx_reason_case` (`case_id`), KEY `idx_reason_type` (`step_type`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; DROP TABLE IF EXISTS `dl_expected_line`; CREATE TABLE `dl_expected_line` ( `expected_line_id` varchar(128) NOT NULL, `darkline_hypothesis_id` varchar(96) NOT NULL, `case_id` varchar(96) NOT NULL, `expected_line_type` varchar(64) NOT NULL, `expected_event` longtext NOT NULL, `expected_timing` varchar(128) DEFAULT NULL, `expected_direction` varchar(64) NOT NULL, `observed_flag` tinyint NOT NULL, `observed_event_node_id` varchar(128) DEFAULT NULL, `validation_status` varchar(64) NOT NULL, `source_reasoning_step_id` varchar(128) DEFAULT NULL, `archive_batch_id` varchar(96) NOT NULL, PRIMARY KEY (`expected_line_id`), KEY `idx_expected_case` (`case_id`), KEY `idx_expected_hypothesis` (`darkline_hypothesis_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; DROP TABLE IF EXISTS `dl_event_node`; CREATE TABLE `dl_event_node` ( `event_node_id` varchar(128) NOT NULL, `darkline_hypothesis_id` varchar(96) NOT NULL, `case_id` varchar(96) NOT NULL, `event_title` varchar(512) NOT NULL, `event_date` varchar(64) DEFAULT NULL, `available_time` varchar(64) DEFAULT NULL, `actor_list` text, `target_list` text, `event_type` varchar(96) NOT NULL, `event_level` varchar(32) NOT NULL, `source_id` varchar(128) NOT NULL, `node_status` varchar(64) NOT NULL, `source_reasoning_step_id` varchar(128) DEFAULT NULL, `archive_batch_id` varchar(96) NOT NULL, PRIMARY KEY (`event_node_id`), KEY `idx_event_case` (`case_id`), KEY `idx_event_hypothesis` (`darkline_hypothesis_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; DROP TABLE IF EXISTS `dl_evidence`; CREATE TABLE `dl_evidence` ( `evidence_id` varchar(128) NOT NULL, `source_id` varchar(128) NOT NULL, `case_id` varchar(96) NOT NULL, `raw_excerpt` longtext NOT NULL, `evidence_type` varchar(96) NOT NULL, `evidence_strength` varchar(64) NOT NULL, `extracted_time` datetime NOT NULL, `evidence_hash` char(64) NOT NULL, `source_reasoning_step_id` varchar(128) DEFAULT NULL, `archive_batch_id` varchar(96) NOT NULL, PRIMARY KEY (`evidence_id`), KEY `idx_evidence_case` (`case_id`), KEY `idx_evidence_type` (`evidence_type`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; DROP TABLE IF EXISTS `dl_evidence_node_link`; CREATE TABLE `dl_evidence_node_link` ( `evidence_node_link_id` varchar(160) NOT NULL, `evidence_id` varchar(128) NOT NULL, `event_node_id` varchar(128) DEFAULT NULL, `darkline_hypothesis_id` varchar(96) NOT NULL, `expected_line_id` varchar(128) DEFAULT NULL, `link_role` varchar(64) NOT NULL, `archive_batch_id` varchar(96) NOT NULL, PRIMARY KEY (`evidence_node_link_id`), KEY `idx_link_evidence` (`evidence_id`), KEY `idx_link_event` (`event_node_id`), KEY `idx_link_hypothesis` (`darkline_hypothesis_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; DROP TABLE IF EXISTS `dl_impact_target`; CREATE TABLE `dl_impact_target` ( `impact_target_id` varchar(128) NOT NULL, `darkline_hypothesis_id` varchar(96) NOT NULL, `case_id` varchar(96) NOT NULL, `target_type` varchar(64) NOT NULL, `target_id` varchar(96) NOT NULL, `target_name` varchar(256) DEFAULT NULL, `expected_impact_direction` varchar(64) NOT NULL, `expected_window` varchar(128) DEFAULT NULL, `archive_batch_id` varchar(96) NOT NULL, PRIMARY KEY (`impact_target_id`), KEY `idx_target_case` (`case_id`), KEY `idx_target_hypothesis` (`darkline_hypothesis_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; DROP TABLE IF EXISTS `dl_manifestation_bridge`; CREATE TABLE `dl_manifestation_bridge` ( `bridge_id` varchar(128) NOT NULL, `darkline_hypothesis_id` varchar(96) NOT NULL, `case_id` varchar(96) NOT NULL, `expected_line_id` varchar(128) DEFAULT NULL, `impact_target_id` varchar(128) DEFAULT NULL, `output_layer` varchar(96) NOT NULL, `manifestation_time` varchar(64) DEFAULT NULL, `manifestation_value` longtext NOT NULL, `control_group_id` varchar(128) DEFAULT NULL, `support_status` varchar(64) NOT NULL, `source_reasoning_step_id` varchar(128) DEFAULT NULL, `archive_batch_id` varchar(96) NOT NULL, PRIMARY KEY (`bridge_id`), KEY `idx_bridge_case` (`case_id`), KEY `idx_bridge_hypothesis` (`darkline_hypothesis_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; DROP TABLE IF EXISTS `dl_alternative_explanation`; CREATE TABLE `dl_alternative_explanation` ( `alternative_id` varchar(128) NOT NULL, `darkline_hypothesis_id` varchar(96) NOT NULL, `case_id` varchar(96) NOT NULL, `bridge_id` varchar(128) DEFAULT NULL, `alternative_type` varchar(96) NOT NULL, `explanation` longtext NOT NULL, `strength` varchar(64) NOT NULL, `current_status` varchar(64) NOT NULL, `source_reasoning_step_id` varchar(128) DEFAULT NULL, `archive_batch_id` varchar(96) NOT NULL, PRIMARY KEY (`alternative_id`), KEY `idx_alt_case` (`case_id`), KEY `idx_alt_hypothesis` (`darkline_hypothesis_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; DROP TABLE IF EXISTS `dl_chain_state`; CREATE TABLE `dl_chain_state` ( `state_record_id` varchar(128) NOT NULL, `darkline_hypothesis_id` varchar(96) NOT NULL, `case_id` varchar(96) NOT NULL, `chain_clarity_status` varchar(64) NOT NULL, `reality_confirmation_status` varchar(64) NOT NULL, `market_manifestation_status` varchar(64) NOT NULL, `validation_readout_status` varchar(64) NOT NULL, `current_consumption_level` varchar(64) NOT NULL, `state_record_time` datetime NOT NULL, `note` varchar(512) DEFAULT NULL, PRIMARY KEY (`state_record_id`), KEY `idx_dl_chain_case` (`case_id`), KEY `idx_dl_chain_hypothesis` (`darkline_hypothesis_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;