c016eb25d2809a5cdcc0ded576677f25c19e25fcb693e6b30c4f96af86d9f757.json 52 KB

1
  1. {"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_docs_superpowers_specs_2026_05_30_crm_migration_design_md", "label": "2026-05-30-crm-migration-design.md", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1"}, {"id": "specs_2026_05_30_crm_migration_design_crm", "label": "CRM \u6a21\u5757\u8fc1\u79fb\u8bbe\u8ba1\u6587\u6863", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1"}, {"id": "specs_2026_05_30_crm_migration_design_1", "label": "1. \u80cc\u666f\u4e0e\u76ee\u6807", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L9"}, {"id": "specs_2026_05_30_crm_migration_design_1_1", "label": "1.1 \u80cc\u666f", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L11"}, {"id": "specs_2026_05_30_crm_migration_design_1_2", "label": "1.2 \u8fc1\u79fb\u8303\u56f4", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L19"}, {"id": "specs_2026_05_30_crm_migration_design_1_3_4", "label": "1.3 \u4ea4\u4ed8\u8282\u594f\uff084 \u4e2a\u8fed\u4ee3\uff09", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L36"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_1", "label": "code:block1 (\u8fed\u4ee3 1\uff08\u57fa\u7840\u5c42\uff09: \u4ea7\u54c1\u5206\u7c7b + \u4ea7\u54c1\u7ba1\u7406 + \u5b57\u5178\u6570\u636e\u8fc1\u79fb SQL)", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L38"}, {"id": "specs_2026_05_30_crm_migration_design_2", "label": "2. \u8bbe\u8ba1\u51b3\u7b56", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L47"}, {"id": "specs_2026_05_30_crm_migration_design_3_shanxia2_0", "label": "3. \u516c\u5171\u5b57\u6bb5\u89c4\u8303\uff08shanxia2.0 \u6807\u51c6\uff09", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L64"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_2", "label": "code:sql (`tenant_no` VARCHAR(64) NOT NULL DEFAULT 'zkxw' COMM)", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L68"}, {"id": "specs_2026_05_30_crm_migration_design_4", "label": "4. \u8868\u7ed3\u6784\u8bbe\u8ba1\uff08\u6309\u8fed\u4ee3\uff09", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L84"}, {"id": "specs_2026_05_30_crm_migration_design_4_1_1", "label": "4.1 \u8fed\u4ee3 1 \u2014 \u4ea7\u54c1\u5206\u7c7b + \u4ea7\u54c1\u7ba1\u7406", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L86"}, {"id": "specs_2026_05_30_crm_migration_design_crm_product_category", "label": "crm_product_category\uff08\u4ea7\u54c1\u5206\u7c7b\uff0c\u6811\u5f62\uff09", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L90"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_3", "label": "code:sql (CREATE TABLE `crm_product_category` ()", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L92"}, {"id": "specs_2026_05_30_crm_migration_design_crm_product", "label": "crm_product\uff08\u4ea7\u54c1\u4e3b\u8868\uff09", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L115"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_4", "label": "code:sql (CREATE TABLE `crm_product` ()", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L117"}, {"id": "specs_2026_05_30_crm_migration_design_crm_product_price", "label": "crm_product_price\uff08\u4ea7\u54c1\u5b9a\u4ef7\uff09", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L148"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_5", "label": "code:sql (CREATE TABLE `crm_product_price` ()", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L150"}, {"id": "specs_2026_05_30_crm_migration_design_crm_product_price_history", "label": "crm_product_price_history\uff08\u4ef7\u683c\u53d8\u66f4\u5386\u53f2\uff09", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L175"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_6", "label": "code:sql (CREATE TABLE `crm_product_price_history` ()", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L177"}, {"id": "specs_2026_05_30_crm_migration_design_crm_product_stock_log", "label": "crm_product_stock_log\uff08\u5e93\u5b58\u53d8\u52a8\u65e5\u5fd7\uff09", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L199"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_7", "label": "code:sql (CREATE TABLE `crm_product_stock_log` ()", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L201"}, {"id": "specs_2026_05_30_crm_migration_design_crm_product_tag", "label": "crm_product_tag\uff08\u4ea7\u54c1\u6807\u7b7e\uff09", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L226"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_8", "label": "code:sql (CREATE TABLE `crm_product_tag` ()", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L228"}, {"id": "specs_2026_05_30_crm_migration_design_crm_product_tag_relation", "label": "crm_product_tag_relation\uff08\u4ea7\u54c1-\u6807\u7b7e\u5173\u8054\uff09", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L247"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_9", "label": "code:sql (CREATE TABLE `crm_product_tag_relation` ()", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L249"}, {"id": "specs_2026_05_30_crm_migration_design_sys_oss_crm_sys_oss", "label": "sys_oss\uff08\u7edf\u4e00\u9644\u4ef6\u8868\uff0c\u57fa\u4e8e CRM sys_oss \u7ed3\u6784\uff0c\u5168\u7cfb\u7edf\u5171\u7528\uff09", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L274"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_10", "label": "code:sql (CREATE TABLE `sys_oss` ()", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L280"}, {"id": "specs_2026_05_30_crm_migration_design_4_2_2", "label": "4.2 \u8fed\u4ee3 2 \u2014 \u5ba2\u6237\u7ba1\u7406 + \u8054\u7cfb\u4eba + \u6807\u7b7e + \u516c\u6d77\u6c60", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L313"}, {"id": "specs_2026_05_30_crm_migration_design_crm_customer", "label": "crm_customer\uff08\u5ba2\u6237\u4e3b\u8868\uff09", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L315"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_11", "label": "code:sql (CREATE TABLE `crm_customer` ()", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L317"}, {"id": "specs_2026_05_30_crm_migration_design_crm_customer_follow", "label": "crm_customer_follow\uff08\u5ba2\u6237\u8ddf\u8fdb\u8bb0\u5f55\uff09", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L382"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_12", "label": "code:sql (CREATE TABLE `crm_customer_follow` ()", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L384"}, {"id": "specs_2026_05_30_crm_migration_design_crm_customer_pool", "label": "crm_customer_pool\uff08\u516c\u6d77\u6c60\u64cd\u4f5c\u8bb0\u5f55\uff09", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L410"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_13", "label": "code:sql (CREATE TABLE `crm_customer_pool` ()", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L412"}, {"id": "specs_2026_05_30_crm_migration_design_crm_customer_pool_rule", "label": "crm_customer_pool_rule\uff08\u516c\u6d77\u6c60\u89c4\u5219\uff09", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L439"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_14", "label": "code:sql (CREATE TABLE `crm_customer_pool_rule` ()", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L441"}, {"id": "specs_2026_05_30_crm_migration_design_crm_customer_tag", "label": "crm_customer_tag\uff08\u5ba2\u6237\u6807\u7b7e\uff09", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L463"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_15", "label": "code:sql (CREATE TABLE `crm_customer_tag` ()", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L465"}, {"id": "specs_2026_05_30_crm_migration_design_crm_customer_tag_relation", "label": "crm_customer_tag_relation\uff08\u5ba2\u6237-\u6807\u7b7e\u5173\u8054\uff09", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L484"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_16", "label": "code:sql (CREATE TABLE `crm_customer_tag_relation` ()", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L486"}, {"id": "specs_2026_05_30_crm_migration_design_crm_contact", "label": "crm_contact\uff08\u8054\u7cfb\u4eba\uff09", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L507"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_17", "label": "code:sql (CREATE TABLE `crm_contact` ()", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L509"}, {"id": "specs_2026_05_30_crm_migration_design_4_3_3", "label": "4.3 \u8fed\u4ee3 3 \u2014 \u7ebf\u7d22\u7ba1\u7406 + \u5546\u673a\u7ba1\u7406", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L546"}, {"id": "specs_2026_05_30_crm_migration_design_crm_clue", "label": "crm_clue\uff08\u7ebf\u7d22\u4e3b\u8868\uff09", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L548"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_18", "label": "code:sql (CREATE TABLE `crm_clue` ()", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L550"}, {"id": "specs_2026_05_30_crm_migration_design_crm_clue_follow", "label": "crm_clue_follow\uff08\u7ebf\u7d22\u8ddf\u8fdb\u8bb0\u5f55\uff09", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L606"}, {"id": "specs_2026_05_30_crm_migration_design_crm_opportunity", "label": "crm_opportunity\uff08\u5546\u673a\u4e3b\u8868\uff09", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L610"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_19", "label": "code:sql (CREATE TABLE `crm_opportunity` ()", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L612"}, {"id": "specs_2026_05_30_crm_migration_design_crm_opportunity_follow_crm_opportunity_product_crm_opportunity_stage_log", "label": "crm_opportunity_follow / crm_opportunity_product / crm_opportunity_stage_log", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L652"}, {"id": "specs_2026_05_30_crm_migration_design_4_4_4", "label": "4.4 \u8fed\u4ee3 4 \u2014 \u62a5\u4ef7\u7ba1\u7406 + \u5408\u540c\u7ba1\u7406", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L658"}, {"id": "specs_2026_05_30_crm_migration_design_crm_quote", "label": "crm_quote\uff08\u62a5\u4ef7\u5355\uff09", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L660"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_20", "label": "code:sql (CREATE TABLE `crm_quote` ()", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L662"}, {"id": "specs_2026_05_30_crm_migration_design_crm_quote_product_crm_quote_approval_crm_quote_share_log", "label": "crm_quote_product / crm_quote_approval / crm_quote_share_log", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L700"}, {"id": "specs_2026_05_30_crm_migration_design_crm_contract", "label": "crm_contract\uff08\u5408\u540c\u4e3b\u8868\uff09", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L704"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_21", "label": "code:sql (CREATE TABLE `crm_contract` ()", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L706"}, {"id": "specs_2026_05_30_crm_migration_design_crm_contract_product_crm_contract_product_price_tier_crm_contract_approval_crm_contract_change_crm_contract_template", "label": "crm_contract_product / crm_contract_product_price_tier / crm_contract_approval / crm_contract_change / crm_contract_template", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L798"}, {"id": "specs_2026_05_30_crm_migration_design_5", "label": "5. \u540e\u7aef\u67b6\u6784\u8bbe\u8ba1", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L804"}, {"id": "specs_2026_05_30_crm_migration_design_5_1", "label": "5.1 \u76ee\u5f55\u7ed3\u6784", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L806"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_22", "label": "code:block22 (backend/)", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L808"}, {"id": "specs_2026_05_30_crm_migration_design_5_2_api", "label": "5.2 API \u8def\u7531\u8bbe\u8ba1", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L837"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_23", "label": "code:block23 (/api/crm/ \u2014 CRM \u6a21\u5757\u7edf\u4e00\u524d\u7f00)", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L839"}, {"id": "specs_2026_05_30_crm_migration_design_5_3", "label": "5.3 \u7f16\u7801\u7ea6\u5b9a", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L920"}, {"id": "specs_2026_05_30_crm_migration_design_6", "label": "6. \u524d\u7aef\u67b6\u6784\u8bbe\u8ba1", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L933"}, {"id": "specs_2026_05_30_crm_migration_design_6_1", "label": "6.1 \u76ee\u5f55\u7ed3\u6784", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L935"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_24", "label": "code:block24 (web-admin/src/)", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L937"}, {"id": "specs_2026_05_30_crm_migration_design_6_2_ui", "label": "6.2 UI \u89c4\u8303", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L987"}, {"id": "specs_2026_05_30_crm_migration_design_6_3", "label": "6.3 \u83dc\u5355\u6ce8\u518c", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1001"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_25", "label": "code:block25 (CRM \u7ba1\u7406)", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1005"}, {"id": "specs_2026_05_30_crm_migration_design_7", "label": "7. \u6570\u636e\u8fc1\u79fb\u6ce8\u610f\u4e8b\u9879", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1020"}, {"id": "specs_2026_05_30_crm_migration_design_7_1", "label": "7.1 \u4e3b\u952e\u6620\u5c04", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1025"}, {"id": "specs_2026_05_30_crm_migration_design_7_2", "label": "7.2 \u79df\u6237\u5b57\u6bb5", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1036"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_26", "label": "code:sql (-- CRM: tenant_id (VARCHAR(20), DEFAULT '000000'))", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1038"}, {"id": "specs_2026_05_30_crm_migration_design_7_3", "label": "7.3 \u9644\u4ef6\u8fc1\u79fb", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1044"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_27", "label": "code:block27 (CRM \u9644\u4ef6: sys_oss \u8868)", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1046"}, {"id": "specs_2026_05_30_crm_migration_design_7_4", "label": "7.4 \u5b57\u5178\u6570\u636e\u8fc1\u79fb", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1070"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_28", "label": "code:block28 (CRM \u5b57\u5178\u6765\u6e90: sys_dict_data (sx \u5e93))", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1072"}, {"id": "specs_2026_05_30_crm_migration_design_7_5", "label": "7.5 \u90e8\u95e8\u6620\u5c04", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1091"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_29", "label": "code:block29 (CRM: create_dept (bigint) \u2192 CRM \u7684 sys_dept)", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1093"}, {"id": "specs_2026_05_30_crm_migration_design_7_6", "label": "7.6 \u8fc1\u79fb\u987a\u5e8f\uff08\u4f9d\u8d56\u5173\u7cfb\uff09", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1102"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_30", "label": "code:block30 (1. \u5b57\u5178\u6570\u636e (sys_dict_data))", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1104"}, {"id": "specs_2026_05_30_crm_migration_design_8", "label": "8. \u5b9a\u65f6\u4efb\u52a1", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1127"}, {"id": "specs_2026_05_30_crm_migration_design_8_1", "label": "8.1 \u516c\u6d77\u6c60\u81ea\u52a8\u56de\u6536", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1129"}, {"id": "specs_2026_05_30_crm_migration_design_codeblock_31", "label": "code:block31 (\u89c4\u5219:)", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1133"}, {"id": "specs_2026_05_30_crm_migration_design_9", "label": "9. \u9644\u5f55", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1147"}, {"id": "specs_2026_05_30_crm_migration_design_a_crm", "label": "A. CRM \u539f\u59cb\u8868 \u2192 \u65b0\u8868\u5bf9\u7167\u6e05\u5355", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1149"}, {"id": "specs_2026_05_30_crm_migration_design_b", "label": "B. \u53c2\u8003\u6587\u4ef6\u6e05\u5355", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1185"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_docs_superpowers_specs_2026_05_30_crm_migration_design_md", "target": "specs_2026_05_30_crm_migration_design_crm", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_crm", "target": "specs_2026_05_30_crm_migration_design_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L9", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_1", "target": "specs_2026_05_30_crm_migration_design_1_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L11", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_1", "target": "specs_2026_05_30_crm_migration_design_1_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L19", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_1", "target": "specs_2026_05_30_crm_migration_design_1_3_4", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L36", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_1_3_4", "target": "specs_2026_05_30_crm_migration_design_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L38", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_crm", "target": "specs_2026_05_30_crm_migration_design_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L47", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_crm", "target": "specs_2026_05_30_crm_migration_design_3_shanxia2_0", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L64", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_3_shanxia2_0", "target": "specs_2026_05_30_crm_migration_design_codeblock_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L68", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_crm", "target": "specs_2026_05_30_crm_migration_design_4", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L84", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_4", "target": "specs_2026_05_30_crm_migration_design_4_1_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L86", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_4_1_1", "target": "specs_2026_05_30_crm_migration_design_crm_product_category", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L90", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_crm_product_category", "target": "specs_2026_05_30_crm_migration_design_codeblock_3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L92", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_4_1_1", "target": "specs_2026_05_30_crm_migration_design_crm_product", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L115", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_crm_product", "target": "specs_2026_05_30_crm_migration_design_codeblock_4", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L117", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_4_1_1", "target": "specs_2026_05_30_crm_migration_design_crm_product_price", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L148", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_crm_product_price", "target": "specs_2026_05_30_crm_migration_design_codeblock_5", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L150", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_4_1_1", "target": "specs_2026_05_30_crm_migration_design_crm_product_price_history", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L175", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_crm_product_price_history", "target": "specs_2026_05_30_crm_migration_design_codeblock_6", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L177", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_4_1_1", "target": "specs_2026_05_30_crm_migration_design_crm_product_stock_log", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L199", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_crm_product_stock_log", "target": "specs_2026_05_30_crm_migration_design_codeblock_7", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L201", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_4_1_1", "target": "specs_2026_05_30_crm_migration_design_crm_product_tag", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L226", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_crm_product_tag", "target": "specs_2026_05_30_crm_migration_design_codeblock_8", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L228", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_4_1_1", "target": "specs_2026_05_30_crm_migration_design_crm_product_tag_relation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L247", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_crm_product_tag_relation", "target": "specs_2026_05_30_crm_migration_design_codeblock_9", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L249", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_4_1_1", "target": "specs_2026_05_30_crm_migration_design_sys_oss_crm_sys_oss", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L274", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_sys_oss_crm_sys_oss", "target": "specs_2026_05_30_crm_migration_design_codeblock_10", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L280", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_4", "target": "specs_2026_05_30_crm_migration_design_4_2_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L313", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_4_2_2", "target": "specs_2026_05_30_crm_migration_design_crm_customer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L315", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_crm_customer", "target": "specs_2026_05_30_crm_migration_design_codeblock_11", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L317", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_4_2_2", "target": "specs_2026_05_30_crm_migration_design_crm_customer_follow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L382", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_crm_customer_follow", "target": "specs_2026_05_30_crm_migration_design_codeblock_12", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L384", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_4_2_2", "target": "specs_2026_05_30_crm_migration_design_crm_customer_pool", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L410", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_crm_customer_pool", "target": "specs_2026_05_30_crm_migration_design_codeblock_13", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L412", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_4_2_2", "target": "specs_2026_05_30_crm_migration_design_crm_customer_pool_rule", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L439", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_crm_customer_pool_rule", "target": "specs_2026_05_30_crm_migration_design_codeblock_14", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L441", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_4_2_2", "target": "specs_2026_05_30_crm_migration_design_crm_customer_tag", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L463", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_crm_customer_tag", "target": "specs_2026_05_30_crm_migration_design_codeblock_15", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L465", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_4_2_2", "target": "specs_2026_05_30_crm_migration_design_crm_customer_tag_relation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L484", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_crm_customer_tag_relation", "target": "specs_2026_05_30_crm_migration_design_codeblock_16", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L486", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_4_2_2", "target": "specs_2026_05_30_crm_migration_design_crm_contact", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L507", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_crm_contact", "target": "specs_2026_05_30_crm_migration_design_codeblock_17", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L509", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_4", "target": "specs_2026_05_30_crm_migration_design_4_3_3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L546", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_4_3_3", "target": "specs_2026_05_30_crm_migration_design_crm_clue", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L548", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_crm_clue", "target": "specs_2026_05_30_crm_migration_design_codeblock_18", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L550", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_4_3_3", "target": "specs_2026_05_30_crm_migration_design_crm_clue_follow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L606", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_4_3_3", "target": "specs_2026_05_30_crm_migration_design_crm_opportunity", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L610", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_crm_opportunity", "target": "specs_2026_05_30_crm_migration_design_codeblock_19", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L612", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_4_3_3", "target": "specs_2026_05_30_crm_migration_design_crm_opportunity_follow_crm_opportunity_product_crm_opportunity_stage_log", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L652", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_4", "target": "specs_2026_05_30_crm_migration_design_4_4_4", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L658", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_4_4_4", "target": "specs_2026_05_30_crm_migration_design_crm_quote", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L660", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_crm_quote", "target": "specs_2026_05_30_crm_migration_design_codeblock_20", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L662", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_4_4_4", "target": "specs_2026_05_30_crm_migration_design_crm_quote_product_crm_quote_approval_crm_quote_share_log", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L700", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_4_4_4", "target": "specs_2026_05_30_crm_migration_design_crm_contract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L704", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_crm_contract", "target": "specs_2026_05_30_crm_migration_design_codeblock_21", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L706", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_4_4_4", "target": "specs_2026_05_30_crm_migration_design_crm_contract_product_crm_contract_product_price_tier_crm_contract_approval_crm_contract_change_crm_contract_template", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L798", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_crm", "target": "specs_2026_05_30_crm_migration_design_5", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L804", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_5", "target": "specs_2026_05_30_crm_migration_design_5_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L806", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_5_1", "target": "specs_2026_05_30_crm_migration_design_codeblock_22", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L808", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_5", "target": "specs_2026_05_30_crm_migration_design_5_2_api", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L837", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_5_2_api", "target": "specs_2026_05_30_crm_migration_design_codeblock_23", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L839", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_5", "target": "specs_2026_05_30_crm_migration_design_5_3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L920", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_crm", "target": "specs_2026_05_30_crm_migration_design_6", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L933", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_6", "target": "specs_2026_05_30_crm_migration_design_6_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L935", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_6_1", "target": "specs_2026_05_30_crm_migration_design_codeblock_24", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L937", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_6", "target": "specs_2026_05_30_crm_migration_design_6_2_ui", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L987", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_6", "target": "specs_2026_05_30_crm_migration_design_6_3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1001", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_6_3", "target": "specs_2026_05_30_crm_migration_design_codeblock_25", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1005", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_crm", "target": "specs_2026_05_30_crm_migration_design_7", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1020", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_7", "target": "specs_2026_05_30_crm_migration_design_7_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1025", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_7", "target": "specs_2026_05_30_crm_migration_design_7_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1036", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_7_2", "target": "specs_2026_05_30_crm_migration_design_codeblock_26", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1038", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_7", "target": "specs_2026_05_30_crm_migration_design_7_3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1044", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_7_3", "target": "specs_2026_05_30_crm_migration_design_codeblock_27", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1046", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_7", "target": "specs_2026_05_30_crm_migration_design_7_4", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1070", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_7_4", "target": "specs_2026_05_30_crm_migration_design_codeblock_28", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1072", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_7", "target": "specs_2026_05_30_crm_migration_design_7_5", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1091", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_7_5", "target": "specs_2026_05_30_crm_migration_design_codeblock_29", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1093", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_7", "target": "specs_2026_05_30_crm_migration_design_7_6", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1102", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_7_6", "target": "specs_2026_05_30_crm_migration_design_codeblock_30", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1104", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_crm", "target": "specs_2026_05_30_crm_migration_design_8", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1127", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_8", "target": "specs_2026_05_30_crm_migration_design_8_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1129", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_8_1", "target": "specs_2026_05_30_crm_migration_design_codeblock_31", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1133", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_crm", "target": "specs_2026_05_30_crm_migration_design_9", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1147", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_9", "target": "specs_2026_05_30_crm_migration_design_a_crm", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1149", "weight": 1.0}, {"source": "specs_2026_05_30_crm_migration_design_9", "target": "specs_2026_05_30_crm_migration_design_b", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/superpowers/specs/2026-05-30-crm-migration-design.md", "source_location": "L1185", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0}