feat: consolidate legacy workflows into gyxx-flow

This commit is contained in:
2026-07-28 14:51:15 +08:00
commit c23b62a8c8
374 changed files with 132990 additions and 0 deletions
+143
View File
@@ -0,0 +1,143 @@
{
"schema_version": 1,
"cdp_host": "127.0.0.1",
"scripts": {
"content_marketing:bilibili_comment_scraper.py": 22000,
"content_marketing:bilibili_scraper.py": 22001,
"content_marketing:chanmama_scraper.py": 22002,
"content_marketing:daily_marketing_report.py": 22003,
"content_marketing:data/tools/analyze_comments.py": 22004,
"content_marketing:data/tools/analyze_note.py": 22005,
"content_marketing:data/tools/batch_rescrape_bilibili.py": 22006,
"content_marketing:data/tools/batch_rescrape_douyin.py": 22007,
"content_marketing:data/tools/batch_rescrape_xiaohongshu.py": 22008,
"content_marketing:data/tools/check_status.py": 22009,
"content_marketing:data/tools/collect_note_metrics.py": 22010,
"content_marketing:data/tools/daily_marketing_report.bat": 22011,
"content_marketing:data/tools/daily_run.bat": 22012,
"content_marketing:data/tools/daily_run_with_backfill.bat": 22013,
"content_marketing:data/tools/db.py": 22014,
"content_marketing:data/tools/feishu_comment_batch.py": 22015,
"content_marketing:data/tools/feishu_doc_writer.py": 22016,
"content_marketing:data/tools/friday_relogin.bat": 22017,
"content_marketing:data/tools/friday_relogin_parallel.py": 22018,
"content_marketing:data/tools/generate_creator_report.py": 22019,
"content_marketing:data/tools/init_db.py": 22020,
"content_marketing:data/tools/kill_project_chrome.ps1": 22021,
"content_marketing:data/tools/list_project_chrome.ps1": 22022,
"content_marketing:data/tools/monday_self_run.bat": 22023,
"content_marketing:data/tools/monthly_creator_report.bat": 22024,
"content_marketing:data/tools/monthly_summary.bat": 22025,
"content_marketing:data/tools/pull_all_tables.py": 22026,
"content_marketing:data/tools/rebuild_mapping.py": 22027,
"content_marketing:data/tools/relogin_bilibili.py": 22028,
"content_marketing:data/tools/relogin_douyin.py": 22029,
"content_marketing:data/tools/relogin_pgy.py": 22030,
"content_marketing:data/tools/relogin_xiaohongshu.py": 22031,
"content_marketing:data/tools/relogin_xingtu.py": 22032,
"content_marketing:data/tools/retry_failed.py": 22033,
"content_marketing:data/tools/sync_cooperations.bat": 22034,
"content_marketing:data/tools/sync_cooperations.py": 22035,
"content_marketing:data/tools/sync_metrics_to_cmt_notes.py": 22036,
"content_marketing:data/tools/sync_style_categories.py": 22037,
"content_marketing:data/tools/validate_mapping.py": 22038,
"content_marketing:data/tools/weekly_comment_scrape.bat": 22039,
"content_marketing:data/tools/weekly_summary.bat": 22040,
"content_marketing:data/tools/write_notes_to_doc.py": 22041,
"content_marketing:douyin_comment_scraper.py": 22042,
"content_marketing:feishu_mapping.py": 22043,
"content_marketing:login_helper.py": 22044,
"content_marketing:monthly_summary_all.py": 22045,
"content_marketing:pgy_xhs_scraper.py": 22046,
"content_marketing:pgy_xhs_scraper_v2.py": 22047,
"content_marketing:run_all.py": 22048,
"content_marketing:self_bilibili_scraper.py": 22049,
"content_marketing:self_douyin_scraper.py": 22050,
"content_marketing:weekly_summary_all.py": 22051,
"content_marketing:weekly_summary_xingyun2.py": 22052,
"content_marketing:xiaohongshu_comment_scraper.py": 22053,
"content_marketing:xingtu_scraper.py": 22054,
"content_marketing:xingtu_scraper_v2.py": 22055,
"product_commerce:aggregate_daily_final.py": 22056,
"product_commerce:analyze_style_with_hermes.py": 22057,
"product_commerce:backfill_poseidon_sales.py": 22130,
"product_commerce:backfill_collect.py": 22058,
"product_commerce:backfill_one_day.py": 22059,
"product_commerce:check_nine_day_decline.py": 22060,
"product_commerce:collect_dy_market_rank.py": 22061,
"product_commerce:collect_dy_persona_to_bitable.py": 22062,
"product_commerce:collect_erp_yesterday_metrics.py": 22063,
"product_commerce:collect_jd_market_rank.py": 22064,
"product_commerce:collect_jd_persona_to_bitable.py": 22065,
"product_commerce:collect_persona_to_bitable.py": 22066,
"product_commerce:collect_sycm_market_rank.py": 22067,
"product_commerce:commands/import_daily.py": 22068,
"product_commerce:commands/run_alerts.py": 22069,
"product_commerce:db/sync_dim_style.py": 22070,
"product_commerce:db/sync_sku_master.py": 22071,
"product_commerce:dy_audience_profile_collect.py": 22072,
"product_commerce:dy_product_scraping.py": 22073,
"product_commerce:erp_login_product_analysis.py": 22074,
"product_commerce:export_bitable_records.py": 22075,
"product_commerce:import_product_daily.py": 22076,
"product_commerce:import_product_reviews.py": 22077,
"product_commerce:insert_bitable_records.py": 22078,
"product_commerce:jd_main_image_collector.py": 22079,
"product_commerce:jd_product_data_collector.py": 22080,
"product_commerce:jd_self_inventory_sales_collector.py": 22081,
"product_commerce:orchestrate_daily_collection.py": 22082,
"product_commerce:orchestrate_market_rank_collection.py": 22083,
"product_commerce:orchestrate_review_collection.py": 22084,
"product_commerce:reapply_erp_override.py": 22085,
"product_commerce:rebuild_market_rank_documents.py": 22086,
"product_commerce:run_alerts_with_retry.py": 22087,
"product_commerce:run_daily_persona.py": 22088,
"product_commerce:run_weekly_jd_main_image.py": 22089,
"product_commerce:run_weekly_main_image.py": 22090,
"product_commerce:scripts/insert_jd_main_image_records.py": 22091,
"product_commerce:scripts/insert_main_image_records.py": 22092,
"product_commerce:taobao_dmp_item_crowd_insight_screenshots.py": 22093,
"product_commerce:taobao_sycm_collect.py": 22094,
"product_commerce:taobao_sycm_collect_backfill.py": 22095,
"product_commerce:taobao_sycm_products.py": 22096,
"product_commerce:taobao_wanxiang_ai_creative_report.py": 22097,
"product_commerce:upload_video_to_guanghe.py": 22098,
"product_commerce:vendors/dy-data-flow/dy_store_competitor_store_scraping.py": 22099,
"product_commerce:vendors/jd-data-flow/jd_data_collector.py": 22100,
"product_commerce:vendors/jd-data-flow/jd_peer_product_data_collector.py": 22101,
"product_commerce:vendors/jd-data-flow/jd_product_data_collector.py": 22102,
"product_commerce:weekly_aggregate.py": 22103,
"shop_intelligence:collectors/dy_store_competitor_store_scraping.py": 22104,
"shop_intelligence:collectors/jd_data_collector.py": 22105,
"shop_intelligence:collectors/jd_peer_store_data_collector.py": 22106,
"shop_intelligence:collectors/taobao_sycm.py": 22107,
"shop_intelligence:runners/run_peer_store.py": 22108,
"shop_intelligence:runners/run_shop.py": 22109,
"shop_intelligence:scripts/remove_scheduler.ps1": 22110,
"shop_intelligence:scripts/setup_scheduler.ps1": 22111,
"supply_chain:orchestrator/mcp_workflow.py": 22112,
"supply_chain:orchestrator/monitor.py": 22113,
"supply_chain:orchestrator/runner.py": 22114,
"supply_chain:orchestrator/scripts/ProductReplenishment.py": 22115,
"supply_chain:orchestrator/scripts/PurchaseConfirmation.py": 22116,
"supply_chain:orchestrator/scripts/PurchaseOrderUpdate.py": 22117,
"supply_chain:orchestrator/scripts/batch_process.py": 22118,
"supply_chain:orchestrator/scripts/collect_confirmation.ps1": 22119,
"supply_chain:orchestrator/scripts/collect_purchase_order_update.ps1": 22120,
"supply_chain:orchestrator/scripts/collect_replenishment.ps1": 22121,
"supply_chain:orchestrator/scripts/insert_replenishment_bitable.py": 22122,
"supply_chain:orchestrator/scripts/send_card_notification.py": 22123,
"supply_chain:orchestrator/scripts/trigger_purchase_order_update.py": 22124,
"supply_chain:orchestrator/sql/backfill_history.py": 22125,
"supply_chain:run.py": 22126,
"supply_chain:scripts/purchase-confirmation.bat": 22127,
"supply_chain:scripts/replenishment-alert.bat": 22128,
"supply_chain:scripts/replenishment.bat": 22129
},
"services": {
"feishu": "legacy",
"postgres": "cloud",
"hermes": "local",
"hermes_url": "http://127.0.0.1:8642/v1/chat/completions"
}
}
+30
View File
@@ -0,0 +1,30 @@
{
"schema_version": 1,
"timezone": "Asia/Shanghai",
"schedules": [
{"workflow_id":"content.metrics.daily","kind":"daily","at":"06:00"},
{"workflow_id":"content.cooperations.daily","kind":"daily","at":"09:00"},
{"workflow_id":"content.marketing_report.daily","kind":"daily","at":"10:00"},
{"workflow_id":"content.relogin.weekly","kind":"weekly","days":["Friday"],"at":"10:00"},
{"workflow_id":"content.self_operated.weekly","kind":"weekly","days":["Monday"],"at":"13:00"},
{"workflow_id":"content.comments.weekly","kind":"weekly","days":["Sunday"],"at":"12:00"},
{"workflow_id":"content.summary.weekly","kind":"weekly","days":["Tuesday"],"at":"10:00"},
{"workflow_id":"content.summary.monthly","kind":"monthly","day_of_month":1,"at":"08:00"},
{"workflow_id":"content.creator_report.monthly","kind":"monthly","day_of_month":1,"at":"08:30"},
{"workflow_id":"shop.metrics.weekly","kind":"weekly","days":["Monday"],"at":"12:00"},
{"workflow_id":"shop.competitor.weekly","kind":"weekly","days":["Monday"],"at":"12:30"},
{"workflow_id":"product.daily","kind":"daily","at":"08:40"},
{"workflow_id":"product.persona.daily","kind":"daily","at":"10:00"},
{"workflow_id":"product.import.daily","kind":"daily","at":"19:00"},
{"workflow_id":"product.alert.daily","kind":"daily","at":"23:00"},
{"workflow_id":"product.style_analysis.interval","kind":"interval_days","every_days":3,"anchor_date":"2026-07-25","at":"11:00"},
{"workflow_id":"product.main_image.jd.weekly","kind":"weekly","days":["Sunday"],"at":"08:30"},
{"workflow_id":"product.main_image.weekly","kind":"weekly","days":["Sunday"],"at":"09:30"},
{"workflow_id":"supply.replenishment_alert.daily","kind":"daily","at":"07:00"},
{"workflow_id":"supply.purchase_confirmation.daily","kind":"daily","at":"08:00"},
{"workflow_id":"supply.replenishment.weekly","kind":"weekly","days":["Monday"],"at":"08:00"}
]
}
+5
View File
@@ -0,0 +1,5 @@
GYXX_POSTGRES_DSN=
GYXX_POSTGRES_PASSWORD=
GYXX_FEISHU_APP_ID=
GYXX_FEISHU_APP_SECRET=
GYXX_HERMES_API_KEY=
@@ -0,0 +1,886 @@
{
"schema_version": 1,
"module": "content_marketing",
"snapshot": "current-filesystem",
"files": [
{
"source_relative_path": "bilibili_comment_scraper.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/bilibili_comment_scraper.py",
"source_sha256": "c7f116f30889125c668e7f4dd796e7249ba7ea8621d5ab5fb518028f56c7f8dc",
"target_sha256": "e03b166f7b3b1b6fb6ebabbb340b0670d2256d8543e74d7b1559a8f862c0725f",
"transformed": true,
"category": "source"
},
{
"source_relative_path": "bilibili_scraper.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/bilibili_scraper.py",
"source_sha256": "5e95e710f016972fdb886782bdc2eb0f33a0105d23d46fbc0762549c5e42f67d",
"target_sha256": "8574359731fa2807c1716b41342a9be09e9514f02792c3fed03ed46d36300499",
"transformed": true,
"category": "source"
},
{
"source_relative_path": "chanmama_scraper.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/chanmama_scraper.py",
"source_sha256": "0e295b4624c2a020ae85e12e6ba1087e670363945d1a855a5625d22ca419e7f1",
"target_sha256": "497bbf3d0087047af1a3c8b0b866979c5bc67aa304a23a97c69fe3f79d020345",
"transformed": true,
"category": "source"
},
{
"source_relative_path": "collection_completeness.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/collection_completeness.py",
"source_sha256": "f23b70b949f8adcaf00ee62aa0f9f39314bc623528cad9a77591641da765991d",
"target_sha256": "f23b70b949f8adcaf00ee62aa0f9f39314bc623528cad9a77591641da765991d",
"transformed": false,
"category": "source"
},
{
"source_relative_path": "creator_task_grouping.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/creator_task_grouping.py",
"source_sha256": "d4ef307039726b325bbb1267d6e711bdb1c254f06cdbc967c8b4878dfdd7bad8",
"target_sha256": "d4ef307039726b325bbb1267d6e711bdb1c254f06cdbc967c8b4878dfdd7bad8",
"transformed": false,
"category": "source"
},
{
"source_relative_path": "daily_marketing_report.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/daily_marketing_report.py",
"source_sha256": "22456210632d34cc6e60e4302641fe3ce581353a41970eb9c5613dbeb135ba31",
"target_sha256": "61acda5e902b118257251975dcf13332f9894834e4f9f1b030c69066de0e83c1",
"transformed": true,
"category": "source"
},
{
"source_relative_path": "data/config/analyze.env.example",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/config/analyze.env.example",
"source_sha256": "b60328ef177b795489d0a57957133dedcfd67b38b59603a6edeee1cf9babcee2",
"target_sha256": "b60328ef177b795489d0a57957133dedcfd67b38b59603a6edeee1cf9babcee2",
"transformed": false,
"category": "config"
},
{
"source_relative_path": "data/config/db.env.example",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/config/db.env.example",
"source_sha256": "15f9f181ecae6dfc4eedb03a18ed3379ac8a55b83a32ee169b339427acb712d7",
"target_sha256": "4b28f3d29d504d5c18784105cd989a8604aa18af18a63a5b49499aae94b4e9e7",
"transformed": true,
"category": "config"
},
{
"source_relative_path": "data/config/款式_多维表格_对照.json",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/config/款式_多维表格_对照.json",
"source_sha256": "8a16d2f697f8db65240623a682610b4f73dddbfb857b9f6579aa408bd00a6d25",
"target_sha256": "8a16d2f697f8db65240623a682610b4f73dddbfb857b9f6579aa408bd00a6d25",
"transformed": false,
"category": "config"
},
{
"source_relative_path": "data/config/款式_多维表格_对照_自营.json",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/config/款式_多维表格_对照_自营.json",
"source_sha256": "e46f5ad98dcdef7de64a512f1dcac244daf5c6c607851a8183518c8c8f2f73ce",
"target_sha256": "e46f5ad98dcdef7de64a512f1dcac244daf5c6c607851a8183518c8c8f2f73ce",
"transformed": false,
"category": "config"
},
{
"source_relative_path": "data/tools/analyze_comments.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/analyze_comments.py",
"source_sha256": "61677e64d3e864b73573e3e59b7a247bcfddcde93f78f81a20ee27257c326107",
"target_sha256": "7244b6101ad3e44cb4c7d564728fa007c5710f5dfc5f41f31a4cf2d706e5c24c",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/analyze_note.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/analyze_note.py",
"source_sha256": "cdf981d21f30d31338b698a31fd44fea97c4c08e04750956ac6f1afb9ed56905",
"target_sha256": "ee2d1b6560c2939e70330949fbef8bf9958bfcce229055b683fc8c8f6519fe30",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/batch_rescrape_bilibili.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/batch_rescrape_bilibili.py",
"source_sha256": "31d015a53d8b25728e687d4a5db78673bd8dbd25e470e6e8c728a215147d00f1",
"target_sha256": "7b66e93c7f98c5a1210409456473f893be318c36392b4244bce6014d3dba9501",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/batch_rescrape_douyin.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/batch_rescrape_douyin.py",
"source_sha256": "261b3b122708deb40d8587f27fada55cc0cd234a2ddd085af4cf2f2e2871e05a",
"target_sha256": "f53b02362651d7dcdaeba22a903714d95d3173758ac4a5c3b2bf53cab09fb7cd",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/batch_rescrape_xiaohongshu.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/batch_rescrape_xiaohongshu.py",
"source_sha256": "6c50845f568b5e51038229873aac977c1bc37f31dbe90f7ce10218d0358422ea",
"target_sha256": "dee67a2639e6e0ecac53d6a3961f9dc94538e2bea0d41621639a11a5a6e88d6c",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/check_id_filled.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/check_id_filled.py",
"source_sha256": "69e13df9ded14dc907a8ef13aa98808f9e7df6d18f6a50741a950ebcb826fcd9",
"target_sha256": "69e13df9ded14dc907a8ef13aa98808f9e7df6d18f6a50741a950ebcb826fcd9",
"transformed": false,
"category": "tool"
},
{
"source_relative_path": "data/tools/check_status.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/check_status.py",
"source_sha256": "b8aff93d9a4925bda966f1b458f974131827b59a62e85b73a10bac9d6afee072",
"target_sha256": "29641c917a27c27e0e5a29130100b1ba3611a68855175b58754d54c1211c19cc",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/collect_note_metrics.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/collect_note_metrics.py",
"source_sha256": "30f40ae47baaf520001a20a0f1ef85472a999fca69127ad06d07bd697d3353bc",
"target_sha256": "67fe86573dd1a6ae21087987dfd730d677cc472c65adf0c240d5256e8cfe5d22",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/daily_dashboard_analytics.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/daily_dashboard_analytics.py",
"source_sha256": "6f0bd4b918691255290880aacaf82fd1ea16344204b6d80d5a85689448312985",
"target_sha256": "736ab32fdc97c7ae576bdcc0351bbf393789441b054d1b14f3c1f3043ab49dc0",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/daily_marketing_report.bat",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/daily_marketing_report.bat",
"source_sha256": "3523e30935a0536cc6bf3ea3d3a6922cf35e6602d48835392f5383965351b222",
"target_sha256": "cd7b165b2c6aca34c27c297a70c7c0f767d0972abaa0d502928b2e03a106538d",
"transformed": true,
"category": "launcher"
},
{
"source_relative_path": "data/tools/daily_report_card.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/daily_report_card.py",
"source_sha256": "3229a5b4ec321ade3543a5fe172231af95e1874a690122258866f58740067855",
"target_sha256": "fe6dd6501098a003848d8db7930b8b9c5abcc5ab1a1f1a16a7d844d7e543ae5c",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/daily_report_charts.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/daily_report_charts.py",
"source_sha256": "0fc15ec6114bcd46c51d7e21df23f850943a24acce2df408d795f077241c7ec4",
"target_sha256": "44381624572846b1c16b5a5e8fae9cafbd6ec86cc2918b9f7bf4fe935d3ca11e",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/daily_run.bat",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/daily_run.bat",
"source_sha256": "b322948fe220c6196c11640e0b7b2f4fdaed9a6b82cc4f77a9112fe3190a01fd",
"target_sha256": "f5967ebd3002e55962229ec91c08ca0f5fb614e3710a0065e1c733ff2398fdf1",
"transformed": true,
"category": "launcher"
},
{
"source_relative_path": "data/tools/daily_run_with_backfill.bat",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/daily_run_with_backfill.bat",
"source_sha256": "073250aab8faee6a70c9bcf06b32745b1dc2e69d8c66c546cc91f38280ca661b",
"target_sha256": "e170578755867526a8da40e0a0b9fee1d5d7ed8f41c87980618477d0ea9b7ef8",
"transformed": true,
"category": "launcher"
},
{
"source_relative_path": "data/tools/db.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/db.py",
"source_sha256": "cb2e3c6a8b44d11668e8fdb6fc0acf8b73adf280a4e19b8f17547edc99ef0089",
"target_sha256": "1a8f293dbf3075ef509babf28e47404b75ac4b791e2a6b7495df5cbd3a01e5d7",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/feishu_comment_batch.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/feishu_comment_batch.py",
"source_sha256": "2b04fde410eec1dece0b995d0b74bfad4bdc1a53669f19ead2a6fc13ecdd00b7",
"target_sha256": "148c289e7956070274f4f9c86f26a10c4750c9ad7471ee852dcda2be823e77fe",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/feishu_doc_writer.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/feishu_doc_writer.py",
"source_sha256": "0ec54d855ae842b52d0897c782d2f4d9d696182bc6b8ffaf2e7973b615ac814f",
"target_sha256": "9c3f552b9b466d95bdab7f66800f1f9701b1e81eb1d0316a735553238c7e0423",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/friday_relogin.bat",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/friday_relogin.bat",
"source_sha256": "26b77ae7575cee43ec055e7dc1b380336c4c75a29bbe8a583c6fb979761b2dc3",
"target_sha256": "6ad19193b928d23852e2173f98ac779b129acd2f6d2f5814417b40f970599809",
"transformed": true,
"category": "launcher"
},
{
"source_relative_path": "data/tools/friday_relogin_parallel.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/friday_relogin_parallel.py",
"source_sha256": "75b48f49aeb4ef01c0f9edaaa24e4dd9633284514e390af1b1e10dc8b9b29a56",
"target_sha256": "a85c70397a0daae11bfd6df68b5e91ad1f6f0f85ec766101ecafcf80ea12d6a2",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/generate_creator_report.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/generate_creator_report.py",
"source_sha256": "84f5404d45e05d5d33f61f29c123cb75f764f43ad4b04e83776e98228883dea7",
"target_sha256": "2c8d2060918885ff7853542f011bbad927df1cd34a5e50d79875dbc04301a673",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/init_db.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/init_db.py",
"source_sha256": "5dd41fcd437d957b24ecaf4579672dd2317145b44c44bbe308fdcfa8a94ec667",
"target_sha256": "1b90db140fb0aad6ddd3b6d9aa45c35099b04ee1890c87dd02972c9bc1981058",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/kill_project_chrome.ps1",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/kill_project_chrome.ps1",
"source_sha256": "30faa3d2e59bcd691bbbf946603da687db865cb14e31ad129b91248d28853ce8",
"target_sha256": "703749108c739b0dccfe73f8e6c355934146e1d8c29473d9c237fe2c8ac5e9f7",
"transformed": true,
"category": "launcher"
},
{
"source_relative_path": "data/tools/list_project_chrome.ps1",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/list_project_chrome.ps1",
"source_sha256": "f3678a415f8068c97bc3315a25dd5c74e5dffe48e8be766fa85fd7f643c053be",
"target_sha256": "ff90f3da8c4c79354b694f032a0e2d0953b034dd0864237cd53fa75d5f8cebda",
"transformed": true,
"category": "launcher"
},
{
"source_relative_path": "data/tools/migrations/001_creators_and_cooperations.sql",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/migrations/001_creators_and_cooperations.sql",
"source_sha256": "2a482079b9c65147f2f878f7ab2d855cf69a90086ed24da1f696e360b5a2684f",
"target_sha256": "2a482079b9c65147f2f878f7ab2d855cf69a90086ed24da1f696e360b5a2684f",
"transformed": false,
"category": "sql"
},
{
"source_relative_path": "data/tools/migrations/003_creator_report.sql",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/migrations/003_creator_report.sql",
"source_sha256": "a66b1ec9f9540a3ce67cb62bb0998df1e160664c5cc1dc752dbb24dbab97190c",
"target_sha256": "a66b1ec9f9540a3ce67cb62bb0998df1e160664c5cc1dc752dbb24dbab97190c",
"transformed": false,
"category": "sql"
},
{
"source_relative_path": "data/tools/migrations/004_style_category.sql",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/migrations/004_style_category.sql",
"source_sha256": "480b1386f6821b22a89018934fe1625994c7c6513b4e7a7afab4fa53ccfb4167",
"target_sha256": "480b1386f6821b22a89018934fe1625994c7c6513b4e7a7afab4fa53ccfb4167",
"transformed": false,
"category": "sql"
},
{
"source_relative_path": "data/tools/migrations/005_style_product_profile.sql",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/migrations/005_style_product_profile.sql",
"source_sha256": "8f9c4d25681e84e582d3cdcd9108ebb16c2f5b777b766a5c3653a21c0baf6d91",
"target_sha256": "8f9c4d25681e84e582d3cdcd9108ebb16c2f5b777b766a5c3653a21c0baf6d91",
"transformed": false,
"category": "sql"
},
{
"source_relative_path": "data/tools/monday_self_run.bat",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/monday_self_run.bat",
"source_sha256": "2806fb1a0c4a2d8a5d0b260da9fe96de30ab3eccea27d28dd2af90c39fc16261",
"target_sha256": "0f6eace49e9d58122946450449580513f8218284459ded4587553f8021de9018",
"transformed": true,
"category": "launcher"
},
{
"source_relative_path": "data/tools/monthly_creator_report.bat",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/monthly_creator_report.bat",
"source_sha256": "59f6e216ccca8709bc334e18a692744172fcea9cb521061705a45d708d800845",
"target_sha256": "794dab2943ab7dc0d85e0c8b9284487bb54d813c9a34697e3d1e1c3b521866e5",
"transformed": true,
"category": "launcher"
},
{
"source_relative_path": "data/tools/monthly_summary.bat",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/monthly_summary.bat",
"source_sha256": "7fd4265a38a5726553d26efcb5a68984717d0d57a45e308dd63274cafdcb283e",
"target_sha256": "ad3c75b7adf7bf21f414472275142bd1dca0f87517cc195846c991145782b0f2",
"transformed": true,
"category": "launcher"
},
{
"source_relative_path": "data/tools/pull_all_tables.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/pull_all_tables.py",
"source_sha256": "be331541a235be1ffb0f1d2f8583d2f5a7aa66ac324631ec6adeb0aaf988dd0c",
"target_sha256": "741717cb66afba136fd3448a4d2009d5857ea4230b99ab79e1e2090c342567f4",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/rebuild_mapping.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/rebuild_mapping.py",
"source_sha256": "fe946418ebeb30d982ed667c4b7b08052a3fe9aba291eb62c1e726dc53854a3c",
"target_sha256": "56b9128e7324383fe072937704854fbd281f7827b90180a8c8daacfd93db0f48",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/relogin_bilibili.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/relogin_bilibili.py",
"source_sha256": "b8dc12539bcd6f1a368d50ead1f5d33d6577a75c92f0b7bafa75a67edd7a73fa",
"target_sha256": "bbdab7b1c7ac113aa9c2c2cfdfe456654ec4749788465f2517123d11d9ce85d1",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/relogin_douyin.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/relogin_douyin.py",
"source_sha256": "3c2017f8a801528ff17e4c4bae24615256b8788c185f9a797fe87470e35b1645",
"target_sha256": "13ea919204a7e5bcba61ba1b5373bd36d495a1275bc93a6a8d605c25dd261e9a",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/relogin_pgy.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/relogin_pgy.py",
"source_sha256": "759c6a68a0851b4c87d8febfc5d94925831a3b2d7cdf1e6a6e74dcd52b83ae3f",
"target_sha256": "2b208c0adb5aca1241714836c9afac5441f6ffe0302022bfd6934a320ed78946",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/relogin_transaction.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/relogin_transaction.py",
"source_sha256": "57ec20de8d99290268ed3d1fc2b66bf3faeaca807d7f3744dd51de6cc93628b2",
"target_sha256": "57ec20de8d99290268ed3d1fc2b66bf3faeaca807d7f3744dd51de6cc93628b2",
"transformed": false,
"category": "tool"
},
{
"source_relative_path": "data/tools/relogin_xiaohongshu.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/relogin_xiaohongshu.py",
"source_sha256": "fcdea30adecb066c4f3699ded457df0bc763d978248276ddbffa9f18bc9bdf2c",
"target_sha256": "9314c1ef13ca7d45643a1b1e9b9c21c93fb5c85e253fc4fd7ed0dc4f71b67df1",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/relogin_xingtu.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/relogin_xingtu.py",
"source_sha256": "c9d434cb02a57ebd7b884598563077d733d56e45dad59ed30774eb7e1c668cb0",
"target_sha256": "80577ab8f539efa72e82bc4752bde8caaf33cde87068c36fd628d9547e227132",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/retry_failed.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/retry_failed.py",
"source_sha256": "90c6dbc47317cc48e28071d452d75c95913138fc885a5963f9eb58986cd99086",
"target_sha256": "70e1f51bcf48cdac0f620cb1505bdacc1b23289b6ba9ab73d5383b93b904e5ee",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/schema_gyxx_super_data.sql",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/schema_gyxx_super_data.sql",
"source_sha256": "7d087858c183e2f8dce90842dec663c42d67a37a61215dc14bee48ee053caaec",
"target_sha256": "7d087858c183e2f8dce90842dec663c42d67a37a61215dc14bee48ee053caaec",
"transformed": false,
"category": "sql"
},
{
"source_relative_path": "data/tools/style_analyzer.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/style_analyzer.py",
"source_sha256": "f58aa4ed597c225dcc105fad712e28c2c60a7dcd3edc93cf29b905c3d9e7e3c9",
"target_sha256": "0c059690e3f62a50139316d12b1bfb967b6bc58fc1dce477363340bc8c6e844f",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/sync_cooperations.bat",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/sync_cooperations.bat",
"source_sha256": "ce1cc5b9b6a2a037b68121106263c99d3e4c263a2028c71885acc943948ed466",
"target_sha256": "8e4a8eef39ccd9ea6294d80ce2e5e5028a27192a39637484b3f613d33037640b",
"transformed": true,
"category": "launcher"
},
{
"source_relative_path": "data/tools/sync_cooperations.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/sync_cooperations.py",
"source_sha256": "e2a527a456847c88981fa6f4bba622b6e45f7782c94bf44459e08f9715e59105",
"target_sha256": "2b2b2f98951d3e608f695e99d39615bee5c84eae04c464373d854b20f8fb1fa7",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/sync_metrics_to_cmt_notes.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/sync_metrics_to_cmt_notes.py",
"source_sha256": "3b97cab0740c5c97b47a0fbe763acb5391d7c8e47c95f4675720b4f716f6432f",
"target_sha256": "f46874a7e7b6e50bafd23190c378fc6d898397458fd5b1baad1cf864513128cc",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/sync_style_categories.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/sync_style_categories.py",
"source_sha256": "931e70550275ffb33161bbc4cbe527d5b8eff49b4265fda53aa9a5f46947f204",
"target_sha256": "524570df5217d8f93a9e1c5ff5f55b8009d13de2d872c587fdc82aafff08c272",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/v2_filename.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/v2_filename.py",
"source_sha256": "60bd6da02baa65e80b60f4fc89fd5f76de26f26566e0cf87a4dcc30e077c379e",
"target_sha256": "60bd6da02baa65e80b60f4fc89fd5f76de26f26566e0cf87a4dcc30e077c379e",
"transformed": false,
"category": "tool"
},
{
"source_relative_path": "data/tools/validate_mapping.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/validate_mapping.py",
"source_sha256": "1e5b792da893b7dd1a29d6f6a73146a4d25079ac8bf37cf15ab4816d64d72cfe",
"target_sha256": "8a079b9083aa6fa6a39bc7c893d20a15cc03d938019911f2382e9132f11266fa",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "data/tools/weekly_comment_scrape.bat",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/weekly_comment_scrape.bat",
"source_sha256": "caa4118ad2e674d8efc51b0f79844ff45000e5ba995645268d7639abafa423e2",
"target_sha256": "fb36cc77ab6ba40c1cd0e7690d5993d1b3ebd59398b640be3a8071c196099760",
"transformed": true,
"category": "launcher"
},
{
"source_relative_path": "data/tools/weekly_summary.bat",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/weekly_summary.bat",
"source_sha256": "fb54595955743300b753ed95c6e78914d8a893d0e53c8f633fa1593ad89b54b6",
"target_sha256": "52a580fb779444854eebe0b0305738548812f33f2f7de4dc731417b77c6199d5",
"transformed": true,
"category": "launcher"
},
{
"source_relative_path": "data/tools/write_notes_to_doc.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/data/tools/write_notes_to_doc.py",
"source_sha256": "7c2eec1d8e89d9eb4c90e7cb4903eb50233c5b6932c18c727bbc2d211828230d",
"target_sha256": "14387cf507c860d7cd6d0b536a77aeecf40155ce12675629ea013882669566bb",
"transformed": true,
"category": "tool"
},
{
"source_relative_path": "douyin_comment_scraper.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/douyin_comment_scraper.py",
"source_sha256": "ec785ead9c95c5de65c00b06212b1f03d0159fed475a95a2b593d3b24e486e43",
"target_sha256": "0f8af0630e40556943c732866963bc438bd02ca6f93bed282ee22cc378a267d8",
"transformed": true,
"category": "source"
},
{
"source_relative_path": "feishu_mapping.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/feishu_mapping.py",
"source_sha256": "f97709b80e8498ceb2024855c526e06513df77f45794c083f3d023f025c8acdd",
"target_sha256": "7fbf462c73befe74b024cf66a0975dda64ec41989619bdd7401846070e7f8f60",
"transformed": true,
"category": "source"
},
{
"source_relative_path": "login_helper.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/login_helper.py",
"source_sha256": "15c2563e224b7d8e6eb6ba40eb5da8f91125fb6d99f11e6bd028c0dd546812ac",
"target_sha256": "578e296438034c0b814837a25a901b8c45a4a52fe2927b75e2624c9df0596566",
"transformed": true,
"category": "source"
},
{
"source_relative_path": "monthly_summary_all.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/monthly_summary_all.py",
"source_sha256": "aa9c50b0a52416f518973d65e707a1428c5bd3c1f7435c674e894ccd4cc33c17",
"target_sha256": "1d5f10f0c112bf7a57219fd68ef70675812958f8d7086b8105c9483ae728614d",
"transformed": true,
"category": "source"
},
{
"source_relative_path": "pgy_xhs_scraper.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/pgy_xhs_scraper.py",
"source_sha256": "7d9cd66b80cf602127541cfdd9589f2d8870ca4a25bac3587478482064aae8f4",
"target_sha256": "1a4e3c2b97071b9a820cce4e2650d6c51230c64ccfdae54ae90f06dc265d6213",
"transformed": true,
"category": "source"
},
{
"source_relative_path": "pgy_xhs_scraper_v2.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/pgy_xhs_scraper_v2.py",
"source_sha256": "18aef614da9ed34a08e4940267f3ccd4bf8ff687816e7a64dcc7d08a32cc8b82",
"target_sha256": "c5ba35f2ca700db9da1bded686876da3c1066b06873320f6f052b2010b0fb14e",
"transformed": true,
"category": "source"
},
{
"source_relative_path": "requirements.txt",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/requirements.txt",
"source_sha256": "64250b6eb39be48a87fcd79cd962306eb825d8c302f0c3f5f73d79928be602ad",
"target_sha256": "64250b6eb39be48a87fcd79cd962306eb825d8c302f0c3f5f73d79928be602ad",
"transformed": false,
"category": "dependency"
},
{
"source_relative_path": "run_all.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/run_all.py",
"source_sha256": "ef49508e1f5176438eaec545ad2932751d6dbd08de7f387b768e68dd00f0499d",
"target_sha256": "513d61d57869d36d5cad2ac78885952373a3c64fbe4d39831aaf88cfa372e998",
"transformed": true,
"category": "source"
},
{
"source_relative_path": "self_bilibili_scraper.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/self_bilibili_scraper.py",
"source_sha256": "2ef650a16dde61697101bb219a8c3adcd682fec1529bb9c5312dc5b384d83a72",
"target_sha256": "9ff5cd98f87e5c59e87d70b50652a0c284ab08125b3df9fe21d83f151addc113",
"transformed": true,
"category": "source"
},
{
"source_relative_path": "self_douyin_scraper.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/self_douyin_scraper.py",
"source_sha256": "1c428a639fca2deb2fb978b9accfc2e9470bf1eb78d60605cb7226ab832ec1b2",
"target_sha256": "1c7ebe5cfcb74f7f048b372c3664e332f9d923d71e744362f56456eb7b928d5c",
"transformed": true,
"category": "source"
},
{
"source_relative_path": "tests/test_analyze_note_no_comments.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/tests/test_analyze_note_no_comments.py",
"source_sha256": "b929b107b4f11fe1d1a9ba04d0cfbb5efd8b57c70dc6116a6790ddc676987e4c",
"target_sha256": "ced6f5414f7d80e512057b9e6ac111ebae19645e2736a6002516e31b9b4946b9",
"transformed": true,
"category": "test"
},
{
"source_relative_path": "tests/test_batch_rescrape_douyin.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/tests/test_batch_rescrape_douyin.py",
"source_sha256": "aeb3539f782819112901c4723c736caa147314092bf8df81066727efc5bb836b",
"target_sha256": "ce2791fcc089b1adf43a176f5f39e453bcca893b62e1fa9fe79a1958e9164531",
"transformed": true,
"category": "test"
},
{
"source_relative_path": "tests/test_collection_completeness.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/tests/test_collection_completeness.py",
"source_sha256": "2e94f353fbd7d97a659a8a1141b69e6fba535f4939a431e433c91612ec656506",
"target_sha256": "d635e3d72134e7aa7dd43506984f84be14bf369fd758e3308c3919397e0b830f",
"transformed": true,
"category": "test"
},
{
"source_relative_path": "tests/test_daily_dashboard_analytics.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/tests/test_daily_dashboard_analytics.py",
"source_sha256": "14dcec2edca1d065eed3414d8df947ecb6e866cb8eca37db8bc90f307d456f7d",
"target_sha256": "dde52f4c5a981366452cf28b3b22d35fec3d9ad77f3fe1c06b60cb0e35f32972",
"transformed": true,
"category": "test"
},
{
"source_relative_path": "tests/test_daily_marketing_report.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/tests/test_daily_marketing_report.py",
"source_sha256": "378dfc22ce6cc99638e25bc3c784d796018abfc66ea32f361221b2e6f66a05e0",
"target_sha256": "378dfc22ce6cc99638e25bc3c784d796018abfc66ea32f361221b2e6f66a05e0",
"transformed": false,
"category": "test"
},
{
"source_relative_path": "tests/test_daily_marketing_report_schedule.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/tests/test_daily_marketing_report_schedule.py",
"source_sha256": "e1811e4220ca6e828df0a283dd044c42c366c8e9567f5190100e25fb1dbca914",
"target_sha256": "e1811e4220ca6e828df0a283dd044c42c366c8e9567f5190100e25fb1dbca914",
"transformed": false,
"category": "test"
},
{
"source_relative_path": "tests/test_daily_report_card.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/tests/test_daily_report_card.py",
"source_sha256": "196ec479b11177f16cc632e372ba120212290c546e2ea1ef697793b33c028cd7",
"target_sha256": "15966cfb6db9669fde849ef522823736cb17a2350d143bc522848d5cc3898a38",
"transformed": true,
"category": "test"
},
{
"source_relative_path": "tests/test_daily_report_charts.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/tests/test_daily_report_charts.py",
"source_sha256": "d16e8d8fc20b9d72d2de00d3311b2605070162c656338a2948fd457761fea810",
"target_sha256": "2375b924efd0858b50904b6cbf17f2129e862c4e3a0fe5c7978a67b79e4b4321",
"transformed": true,
"category": "test"
},
{
"source_relative_path": "tests/test_friday_relogin_parallel.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/tests/test_friday_relogin_parallel.py",
"source_sha256": "b419680793a338e4b3ddbf85ae802e64fbbe8d3b5b5905e9ebcd67cbdc78c0cf",
"target_sha256": "5f0dc76194918f1819df62455b91c2b0a5274153b2d718cfba782827b94eb471",
"transformed": true,
"category": "test"
},
{
"source_relative_path": "tests/test_global_creator_scraping.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/tests/test_global_creator_scraping.py",
"source_sha256": "fc81781d11726028cc4974b2174ec38eea928c349793a7ace26706c2d432b935",
"target_sha256": "7418db838558922b9eff2742b669d3b04032befd5d6815e2f27cc6a1ba736359",
"transformed": true,
"category": "test"
},
{
"source_relative_path": "tests/test_relogin_rollback.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/tests/test_relogin_rollback.py",
"source_sha256": "7d139edaa54b5dc5b5962db2bb8338a13cfaaafbde1a990dad14c7d7852dd02a",
"target_sha256": "7efa7b64ef581f53740ad7ccb602a99b32607e5c2f846f822b225931c3b3073c",
"transformed": true,
"category": "test"
},
{
"source_relative_path": "tests/test_remote_database_config.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/tests/test_remote_database_config.py",
"source_sha256": "9da72ec3457be6fc7b32f89eeb5fcd1a68043ca27b51151ee2b4bf18ed4e1954",
"target_sha256": "96141776cb1534b0fe929a4246fa812c827ab9e6b1ba32ff4023c985d3129f48",
"transformed": true,
"category": "test"
},
{
"source_relative_path": "tests/test_retry_failed_completeness.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/tests/test_retry_failed_completeness.py",
"source_sha256": "c488f457c1bc9dd5db52bd0eae4a5e3a3bc23e2f0ccb6807e8dfb43859833098",
"target_sha256": "169fa63a2143cd94f09c8feecce35ae5d4389aec92d8c444ec58fc6ad11f845f",
"transformed": true,
"category": "test"
},
{
"source_relative_path": "tests/test_sync_style_categories.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/tests/test_sync_style_categories.py",
"source_sha256": "cbc5350739c658b90dc90f0992ca34a6ba5e6ecee626edbf8673041fbf8a19d8",
"target_sha256": "fce38657fd6a0d6e6239f1e665cf1281879ebcd39a7d580f6dcc3d7659c45324",
"transformed": true,
"category": "test"
},
{
"source_relative_path": "tests/test_weekly_tmall_persona.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/tests/test_weekly_tmall_persona.py",
"source_sha256": "96ad228e0e6bf29bc48a4151ec846755cffb3a4db94a9c282428313ae749a10a",
"target_sha256": "31a9ed5be826605bac65cb5f5002674e7779e9acae4e6ec9aaec3af89699a135",
"transformed": true,
"category": "test"
},
{
"source_relative_path": "weekly_summary_all.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/weekly_summary_all.py",
"source_sha256": "f8a2d976378ade00579393a2bb0805281d1b7b500b119b497c69d1b591a9c8aa",
"target_sha256": "e9fb032cd3fc8b40d91cd98c5aa321e3109e05bb51b65dfa21f895381a45e70a",
"transformed": true,
"category": "source"
},
{
"source_relative_path": "weekly_summary_xingyun2.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/weekly_summary_xingyun2.py",
"source_sha256": "637361e637e357c5727b9eb5bc7a8fa2eb0e67f819d81aef51672e54a4301d33",
"target_sha256": "7c22faa98696f8123dbabd7a4cb1bcf099af3e7ff80cc9cc9e4270c2e02f1602",
"transformed": true,
"category": "source"
},
{
"source_relative_path": "xiaohongshu_comment_scraper.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/xiaohongshu_comment_scraper.py",
"source_sha256": "58bc07bb2fd67897e18a9981f931df8fadf24a6cc5f09d55bd3aaa2e3c6756a4",
"target_sha256": "b3d6bea737905d8ef533898b8301ed7198d625d3e1e2e847ccacec1402641a34",
"transformed": true,
"category": "source"
},
{
"source_relative_path": "xingtu_scraper.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/xingtu_scraper.py",
"source_sha256": "a5f101bf7bbd0f3475491eaadb5e42467f3bf3e8c79de343642e6b5b0c5ccfa9",
"target_sha256": "638a9f675c5bfb74bb697478cbc4ec71ee81f0c36f8c0cf9e62789df6b0a48db",
"transformed": true,
"category": "source"
},
{
"source_relative_path": "xingtu_scraper_v2.py",
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/xingtu_scraper_v2.py",
"source_sha256": "200f2a1632fcfd5fa41589f3169ed6df65d5b0cc5904a6791f2a1159cd5ef67e",
"target_sha256": "18574a680709a3abd49a5c7ced66cc7106664ebf7fc6dbcfc4b5eedef01ca451",
"transformed": true,
"category": "source"
}
],
"intentionally_excluded": [
{
"pattern": ".git/**",
"category": "vcs",
"reason": "version-control metadata is not runtime source"
},
{
"pattern": ".venv/**",
"category": "environment",
"reason": "machine-specific virtual environments are rebuilt from dependencies"
},
{
"pattern": "**/__pycache__/**",
"category": "cache",
"reason": "generated Python bytecode cache"
},
{
"pattern": "**/*.pyc",
"category": "cache",
"reason": "generated Python bytecode"
},
{
"pattern": ".pytest_cache/**",
"category": "cache",
"reason": "generated test cache"
},
{
"pattern": ".claude/**",
"category": "agent-state",
"reason": "local assistant state"
},
{
"pattern": ".learnings/**",
"category": "agent-state",
"reason": "local learning state"
},
{
"pattern": ".superpowers/**",
"category": "agent-state",
"reason": "local planning state"
},
{
"pattern": "docs/**",
"category": "documentation",
"reason": "historical planning and review documents are not runtime dependencies"
},
{
"pattern": "data/config/*.env",
"category": "secret",
"reason": "real environment files may contain credentials; examples are copied separately"
},
{
"pattern": "data/**/*cookies*",
"category": "session",
"reason": "cookies and backups are sensitive mutable runtime state"
},
{
"pattern": "data/**/*storage_state*",
"category": "session",
"reason": "browser storage state is sensitive mutable runtime state"
},
{
"pattern": ".*chrome_profile*/**",
"category": "session",
"reason": "browser profiles are sensitive and machine-specific"
},
{
"pattern": "data/logs/**",
"category": "generated-data",
"reason": "historical logs are migrated as data, not source"
},
{
"pattern": "logs/**",
"category": "generated-data",
"reason": "historical logs are migrated as data, not source"
},
{
"pattern": "data/v2_results/**",
"category": "generated-data",
"reason": "historical collection results are migrated as data"
},
{
"pattern": "data/notes/**",
"category": "generated-data",
"reason": "collected note data is not source"
},
{
"pattern": "data/reports/**",
"category": "generated-data",
"reason": "generated reports are not source"
},
{
"pattern": "reports/**",
"category": "generated-data",
"reason": "generated reports are not source"
},
{
"pattern": "data/summary/**",
"category": "generated-data",
"reason": "generated summaries are not source"
},
{
"pattern": "data/tmp/**",
"category": "temporary",
"reason": "temporary files and generated images are not source"
},
{
"pattern": "data/qrcode/**",
"category": "sensitive-evidence",
"reason": "QR screenshots are sensitive runtime evidence"
},
{
"pattern": "data/feishu_tables/**",
"category": "generated-data",
"reason": "remote table snapshots are data caches"
},
{
"pattern": "data/chanmama/**",
"category": "generated-data",
"reason": "downloaded spreadsheets are raw data"
},
{
"pattern": "data/tools/*.xml",
"category": "scheduler-artifact",
"reason": "legacy Task Scheduler exports are retained only as audit evidence"
},
{
"pattern": "*.md",
"category": "documentation",
"reason": "root reports and notes are not runtime source"
},
{
"pattern": "*.json",
"category": "generated-data",
"reason": "root payloads and transient JSON files are not runtime source"
}
],
"transformation_rules": [
{
"id": "externalize-credentials",
"reason": "replace plaintext credentials in copied configuration/source with environment references"
},
{
"id": "remove-legacy-project-roots",
"reason": "replace legacy project absolute roots in copied launchers and source with runtime-relative or environment-configured paths"
},
{
"id": "portable-runtime-boundary",
"reason": "route mutable state and generated data through GYXX_DATA_ROOT and immutable resources through GYXX_MODULE_ROOT"
}
],
"generated_files": [
{
"target_relative_path": "src/gyxx_flow/modules/content_marketing/runtime/runtime_paths.py",
"target_sha256": "417848beffe8768c51e83af07eac91bf090d2301d8ff120316db8b86a441f4f3",
"category": "compatibility",
"reason": "single portable module/data path boundary added during migration"
}
]
}
@@ -0,0 +1,972 @@
{
"schema_version": 1,
"module": "product_commerce",
"snapshot": "current-filesystem",
"files": [
{
"category": "production_source",
"source_sha256": "071286d2fb8b0516f0f22f0d088eda9e4a85ae4227619eb1217087ad0dbe3db6",
"target_sha256": "3662f41d51938e807fe9d5947ae6790116d14842621a561e384893b43d5cdf2c",
"transformed": true,
"source_relative_path": "aggregate_daily_final.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/aggregate_daily_final.py"
},
{
"category": "production_source",
"source_sha256": "cff768f79672cfc7db7f6866caf5ab59936b8c51eb2a7d729b81441940124512",
"target_sha256": "c7875972fe5fcb524e82d051fbc8be45aa76af0d452655a9eb443b86be534f2c",
"transformed": true,
"source_relative_path": "analyze_style_with_hermes.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/analyze_style_with_hermes.py"
},
{
"category": "production_source",
"source_sha256": "524bff755d6921d64857b7ca6adfe1cf3a64730ddb66ae318751e028f5cf6f10",
"target_sha256": "dd230b802fc88e16c67abcc8fd08a64c4dbfb68a58b74ea90ee45bad2d4d7870",
"transformed": true,
"source_relative_path": "tmp_backfill_poseidon_sales.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/backfill_poseidon_sales.py"
},
{
"category": "production_source",
"source_sha256": "4d24f0e0cc65be9c2f6ce4047817794a520801f4e6563fbae2c3174c3d411d72",
"target_sha256": "9bafe98ebde917c926e718ac35500ad06f8b7750e8a6c5f8cad1409e650c4640",
"transformed": true,
"source_relative_path": "backfill_collect.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/backfill_collect.py"
},
{
"category": "production_source",
"source_sha256": "d8c093315dfc7825459d0590bf1b19ca2838085b8de4bba2bbd0a18e28bda994",
"target_sha256": "cc43f845bf2e24050acb949d93bc92b4dff166bcad96c9c4e7fe9de59d06851a",
"transformed": true,
"source_relative_path": "backfill_one_day.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/backfill_one_day.py"
},
{
"category": "production_source",
"source_sha256": "6fb7cd48665c8cb7cf40dd69693408047a85a6abba3cbd410b4e5e9a9a55e9ba",
"target_sha256": "5feb41b46c54813ef7ae8dc6f7016d792b4e059db0046332d13c3cd16b5c18eb",
"transformed": true,
"source_relative_path": "check_nine_day_decline.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/check_nine_day_decline.py"
},
{
"category": "production_source",
"source_sha256": "a8350674db09c8d32f3a49dbef94f52b6a11e8b27223446ea21edc62bf00ec3e",
"target_sha256": "f84b69cb0a8a731703e3cd4a1fa2229e040e6d6975ac5373328ef84c9ebcb918",
"transformed": true,
"source_relative_path": "collect_dy_market_rank.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/collect_dy_market_rank.py"
},
{
"category": "production_source",
"source_sha256": "abd4c82cbd6c41e111e213c174d2fdeba1214568496eaf1dede24bf374b3b052",
"target_sha256": "886d2347d3a4c045d835440f8eb09caa975bf47d3c6baae7a0000606c5081a65",
"transformed": true,
"source_relative_path": "collect_dy_persona_to_bitable.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/collect_dy_persona_to_bitable.py"
},
{
"category": "production_source",
"source_sha256": "c7b54d941ab7f056e2d0ea4355543ff4a5c34ad986c8ed32145e988ac9501ea2",
"target_sha256": "78ca8f8f932a1ab7e26eeca75ec469ed3fef0252618e405aad8418d79b6c69a9",
"transformed": true,
"source_relative_path": "collect_erp_yesterday_metrics.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/collect_erp_yesterday_metrics.py"
},
{
"category": "production_source",
"source_sha256": "bddf1601c4c6febd9aae5774c8902276b635f478ea2852ba2b66dd79bd6a0377",
"target_sha256": "31cba147de9defb5496f27590c9ecc1c57866de76bccebb611f1dc2873077a19",
"transformed": true,
"source_relative_path": "collect_jd_market_rank.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/collect_jd_market_rank.py"
},
{
"category": "production_source",
"source_sha256": "f9a48c5f89b18472dc3993e340ad858bfecb2fcf59427c7e70db37512c17a6f7",
"target_sha256": "01b07d35661e16fc5d888b11f92f316e8e89552f6d61e1172f79eb6b80404c8d",
"transformed": true,
"source_relative_path": "collect_jd_persona_to_bitable.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/collect_jd_persona_to_bitable.py"
},
{
"category": "production_source",
"source_sha256": "3c1858a6ab4f7ce480b3a5f2076e6ec79400e9bfaa75377488c3629e707c7963",
"target_sha256": "d861741b692074cf1da187edc5adf762b041fba9d4d358143183ab55a0743a97",
"transformed": true,
"source_relative_path": "collect_persona_to_bitable.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/collect_persona_to_bitable.py"
},
{
"category": "production_source",
"source_sha256": "e93c0a1b579370a66d9e05077e20c9ef015ebf521d58b2f6e88bc00bfc7706a2",
"target_sha256": "3d9dba6fbb8803fb2f2dcc752fb092de53ab23b73b31012b453b3b301c5d8a7d",
"transformed": true,
"source_relative_path": "collect_retry_utils.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/collect_retry_utils.py"
},
{
"category": "production_source",
"source_sha256": "1d0b470c2ebea437b6f7ff6de88fcef31d0f43b9f678008a91cf19266139cc5d",
"target_sha256": "5c3aaa364c3d9041d4fc541e796ea12200ed0977aac31101f68227cffa16cfb8",
"transformed": true,
"source_relative_path": "collect_sycm_market_rank.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/collect_sycm_market_rank.py"
},
{
"category": "production_source",
"source_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"target_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"transformed": false,
"source_relative_path": "config/__init__.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/config/__init__.py"
},
{
"category": "production_source",
"source_sha256": "22dcc9d8b2f1cf598a62e4c71df765a952250694cb26b9a73f477c5ca1a29884",
"target_sha256": "12559b6a7e21b2b49bfe43b50e01e48c02a1b70a45952212f23f77a91ce25581",
"transformed": true,
"source_relative_path": "config/style_config_loader.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/config/style_config_loader.py"
},
{
"category": "production_source",
"source_sha256": "a8900b9f25db6cf2bef3117a1d2cd86283054fea6f5a8590fd91b5cfbbcaf87e",
"target_sha256": "0047f8b681131427bed31ea356cf84802536e17d97bc8d88468736be6a200a74",
"transformed": true,
"source_relative_path": "db/__init__.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/db/__init__.py"
},
{
"category": "production_source",
"source_sha256": "fc19a57bcbc023ab20156820a708d64c5526fad33ef5eb5fdea56c0bb04b84e3",
"target_sha256": "486607458d204336a04e3776d9db98f5f069a46b75b050ac0f0947cec958b5d7",
"transformed": true,
"source_relative_path": "db/sync_dim_style.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/db/sync_dim_style.py"
},
{
"category": "production_source",
"source_sha256": "2dc00b88fb5f28c2db619074e97c4a7c446aec29926af9a6890065409c8fac0e",
"target_sha256": "030344e0ffe26240ee735ccf38f194d4e69f2833bd21e9947b97d0072647910b",
"transformed": true,
"source_relative_path": "db/sync_sku_master.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/db/sync_sku_master.py"
},
{
"category": "production_source",
"source_sha256": "78c74c0e52e3651b3b042a2095e596ab250e60309c7ae2de905850822aad4922",
"target_sha256": "f5260df869c0ebf1c908d6ced1525d6ce4451ed57d6d83082e8279238c21a3b5",
"transformed": true,
"source_relative_path": "dy_audience_profile_collect.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/dy_audience_profile_collect.py"
},
{
"category": "production_source",
"source_sha256": "492916088fa5e8c170461cc9eba97a88ed1cc1e50c7b99e5f6a5e49167fea157",
"target_sha256": "fde87dfda3cb4561208050fe5b1d6c7b7dc3a5cafa2711b16e3eed808a3ebba7",
"transformed": true,
"source_relative_path": "dy_product_scraping.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/dy_product_scraping.py"
},
{
"category": "production_source",
"source_sha256": "26f3448e57a08020de0a96d1df3387819afc47f9319b81dbab27f1afc81bfb01",
"target_sha256": "e2240d11cfce714662de7ef763ea4f964b8d1c4ddada2b1f022938e80b9ab7df",
"transformed": true,
"source_relative_path": "erp_login_product_analysis.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/erp_login_product_analysis.py"
},
{
"category": "production_source",
"source_sha256": "fcd8db904a14cd5239a5e075e1a888af18c5b24c928608576f6decf4c48c1d8f",
"target_sha256": "282e9eaee483fde3394d330a62887fb4832cbd876b67a002e27651cd49b8730a",
"transformed": true,
"source_relative_path": "erp_metric_overrides.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/erp_metric_overrides.py"
},
{
"category": "production_source",
"source_sha256": "b828e1ad566b121bd56f90ef5de9d414cbe8575ec747cd26dfa3e4b66b097a9a",
"target_sha256": "f0656e0fa873dce9c35cd35adae5817f739f623cf04edca33c45dd8194ee39c7",
"transformed": true,
"source_relative_path": "export_bitable_records.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/export_bitable_records.py"
},
{
"category": "production_source",
"source_sha256": "725e25fdf9f3c75f0aae17b720cf417a0b31573dbbbf0b174e956e46fe205408",
"target_sha256": "5c5e262373c62ce37202320ba878ab44b593f0e7443e79919db166a9c6a054fc",
"transformed": true,
"source_relative_path": "feishu_doc_native.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/feishu_doc_native.py"
},
{
"category": "production_source",
"source_sha256": "906278aa6fb3578d5dab231bdccc2f5a7c6ec8c85810a3e026fff3c7ba16dc90",
"target_sha256": "4b1308de91597193975e953a56495a61df49798d4fbb644c878a697cb73690c0",
"transformed": true,
"source_relative_path": "import_product_daily.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/import_product_daily.py"
},
{
"category": "production_source",
"source_sha256": "003a8969da4c50bd500f48fd6b3dcd6378322d87893cfcaf755b3890579e7a52",
"target_sha256": "50d757be4bfdf8849a43471f419ee460cb844921cf567454de35fcaadbae737f",
"transformed": true,
"source_relative_path": "import_product_reviews.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/import_product_reviews.py"
},
{
"category": "production_source",
"source_sha256": "057a01e8a22cdd2d1806d290da207209954af89f7da6339e9cdcef3bc0297e63",
"target_sha256": "97a0e16dc9e6f42bce842d05f6fa85601fa8576c703deb9ce825e7ec981b3173",
"transformed": true,
"source_relative_path": "insert_bitable_records.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/insert_bitable_records.py"
},
{
"category": "production_source",
"source_sha256": "e0f016bafb3f527f1cae46eaf3ef31510184128aaaa7f52024a7c3f978eec42b",
"target_sha256": "02306b910736495b4cbd32aab914d876c60c3745f7fbc7daf3f1416267b07b6b",
"transformed": true,
"source_relative_path": "jd_main_image_collector.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/jd_main_image_collector.py"
},
{
"category": "production_source",
"source_sha256": "d99ce71a008128549ac83fc3da52d88540b74538e3fe5c85d47c3b985e414353",
"target_sha256": "c0a5597c4c9d69a6fc382e8cdf1a4cb5b876d3996b0ad30f394386fa9a08229e",
"transformed": true,
"source_relative_path": "jd_product_data_collector.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/jd_product_data_collector.py"
},
{
"category": "production_source",
"source_sha256": "314790f06f7b4ebf9b0ddd5681db9c60e79a3ef16f5546d6e8489531a003c545",
"target_sha256": "66c691258f2fa017a211bf54a609f28d812ec41c4b78c08aded4c73773f461e8",
"transformed": true,
"source_relative_path": "jd_self_inventory_sales_collector.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/jd_self_inventory_sales_collector.py"
},
{
"category": "production_source",
"source_sha256": "15ac68801e4b9f677bcb31d8d64158b3eecaaae3f264353345ed6e5d5f404d47",
"target_sha256": "15ac68801e4b9f677bcb31d8d64158b3eecaaae3f264353345ed6e5d5f404d47",
"transformed": false,
"source_relative_path": "lark_cli_runtime.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/lark_cli_runtime.py"
},
{
"category": "production_source",
"source_sha256": "ec447d182cc186d4610cfee6ae4ce9b9dce924d905c07268b06a3a2ea0332801",
"target_sha256": "ec447d182cc186d4610cfee6ae4ce9b9dce924d905c07268b06a3a2ea0332801",
"transformed": false,
"source_relative_path": "main_image_db.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/main_image_db.py"
},
{
"category": "production_source",
"source_sha256": "85a3cbb8ccdb887b125261d3adca84a9a5596b2adf8e19c5ae6dc96e0780b4d5",
"target_sha256": "85a3cbb8ccdb887b125261d3adca84a9a5596b2adf8e19c5ae6dc96e0780b4d5",
"transformed": false,
"source_relative_path": "main_image_paths.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/main_image_paths.py"
},
{
"category": "production_source",
"source_sha256": "355f8051935d458703ab1842beefa74ccbb00d0fbc73af4aa6761ee6f3b4b32a",
"target_sha256": "73acf4f4ddf9a34ac96c03465008e5c6df6be368c95874cdd14dc55e1b374298",
"transformed": true,
"source_relative_path": "market_rank_hermes_notification.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/market_rank_hermes_notification.py"
},
{
"category": "production_source",
"source_sha256": "4f2621d855dde386d2764dd925bb88a8aa225f819d1d04944a752a0addd7e9ba",
"target_sha256": "4f2621d855dde386d2764dd925bb88a8aa225f819d1d04944a752a0addd7e9ba",
"transformed": false,
"source_relative_path": "market_rank_report_archive.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/market_rank_report_archive.py"
},
{
"category": "production_source",
"source_sha256": "37edbfa24dfb126d52992b08fd6aeccae3ee18c83db56426a0fb02934e4541ae",
"target_sha256": "3f0c03da2dbbb099e2754ec2ee5f041a7e66e265ae3a12a99d3aa7ea7f6ae05a",
"transformed": true,
"source_relative_path": "orchestrate_daily_collection.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/orchestrate_daily_collection.py"
},
{
"category": "production_source",
"source_sha256": "0ab99843d30156465876e27f339f74f3e48b0d17f75d74cf5bfeedd513aaa787",
"target_sha256": "54d36499172069bbc58204b5eb9c6029d0fa430c4174d515ddf75ba3c5c23395",
"transformed": true,
"source_relative_path": "orchestrate_market_rank_collection.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/orchestrate_market_rank_collection.py"
},
{
"category": "production_source",
"source_sha256": "0d0f2c0a1533a09e698cd23aca42662b309c865659b86f9b9522de8207c3fb8b",
"target_sha256": "692aca1676f54fc1034b029bfa8c44797840ebe7025bf1bc4d0ac2c44c4f4229",
"transformed": true,
"source_relative_path": "orchestrate_review_collection.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/orchestrate_review_collection.py"
},
{
"category": "production_source",
"source_sha256": "69f376f2c209d8e2df8f154aceb501eab93d7e077ab0278f5ff35c97356ba296",
"target_sha256": "69f376f2c209d8e2df8f154aceb501eab93d7e077ab0278f5ff35c97356ba296",
"transformed": false,
"source_relative_path": "reapply_erp_override.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/reapply_erp_override.py"
},
{
"category": "production_source",
"source_sha256": "c5eff1f72da1b47f6d93fc07223a72c960ca636a3db494a1a8cf8d716c076398",
"target_sha256": "b15212a47d6c8250fb191800586a6b451d8f5e4491f74c4eb148a24fd231f46b",
"transformed": true,
"source_relative_path": "rebuild_market_rank_documents.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/rebuild_market_rank_documents.py"
},
{
"category": "production_source",
"source_sha256": "47c80d311247f0089a9e30b72679f54875e9c750097c3b71d5aa2ae25ab0a134",
"target_sha256": "e05630c83ac568cd293219399cada5b2836555286016fd0402c10ff73413eac6",
"transformed": true,
"source_relative_path": "run_alerts_with_retry.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/run_alerts_with_retry.py"
},
{
"category": "production_source",
"source_sha256": "c9a51f1d1267b398cf260a86e65a8ee49de873d6c95bf9c90db2abb422005cf7",
"target_sha256": "d2b28d800e6bb5613db25d71ede46c60ff6d0cb93dbc22bc4fe086724301a799",
"transformed": true,
"source_relative_path": "run_daily_persona.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/run_daily_persona.py"
},
{
"category": "production_source",
"source_sha256": "27cd730400b954d1a063f034789f0d9a510c711ebda1e2de95e5a0010bd4751f",
"target_sha256": "198a31850529149cc165dc3d9b0772c9e6c3c40733f74d69d6eba50262ba3830",
"transformed": true,
"source_relative_path": "run_weekly_jd_main_image.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/run_weekly_jd_main_image.py"
},
{
"category": "production_source",
"source_sha256": "af9b436a31c3454dc6e0b34b77876962dab0b477e8a561db49911fdfc24eade3",
"target_sha256": "9d1d8ccb674b38010cf5cd21ae34736e5bdd318fc2eedca100c7be49b11dffef",
"transformed": true,
"source_relative_path": "run_weekly_main_image.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/run_weekly_main_image.py"
},
{
"category": "production_source",
"source_sha256": "34d935efb8dff20afd3ab89ef150c5f8db9cee80c6256c7fe4ef0bae2f72ed63",
"target_sha256": "45dfc7432d00626b1faca4ac4dd0ae78a79a6713397cb805cd6c577b79311892",
"transformed": true,
"source_relative_path": "scripts/insert_jd_main_image_records.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/scripts/insert_jd_main_image_records.py"
},
{
"category": "production_source",
"source_sha256": "a1b097ead2a3f7e20ca63d7c15828a8d04030b0d6722934c3bf65d9e975fba76",
"target_sha256": "cafa9ec4a3d30f6dad933d5e5b97945aefbad2d178ec91039127cdc9a6eeab52",
"transformed": true,
"source_relative_path": "scripts/insert_main_image_records.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/scripts/insert_main_image_records.py"
},
{
"category": "production_source",
"source_sha256": "b3e9addd72d8e31292ed948b67018aa9e212d628d7ba39141a81116515ca6721",
"target_sha256": "8393a7fdfdb6e2e2d4a844843daecfe1c69dc7673ba06c68e4f07453c75abbdb",
"transformed": true,
"source_relative_path": "taobao_dmp_item_crowd_insight_screenshots.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/taobao_dmp_item_crowd_insight_screenshots.py"
},
{
"category": "production_source",
"source_sha256": "4474dd7d68117247af87e20bbeb6b7c072368ef0f606de5d3e186f459d34a0f5",
"target_sha256": "7e3aa6851dea4c0de2890c676ee18cde2923e6c301afcc190a8f7880cb619326",
"transformed": true,
"source_relative_path": "taobao_sycm_collect.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/taobao_sycm_collect.py"
},
{
"category": "production_source",
"source_sha256": "a881b02c903dc83c7f252d7f53fa9cd721fb562c690271788858ca5782427500",
"target_sha256": "55e9b57bfad8a1c69c77611a7716bbfef61c18ba07ed30bfdf6a4d5d40d06bee",
"transformed": true,
"source_relative_path": "taobao_sycm_collect_backfill.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/taobao_sycm_collect_backfill.py"
},
{
"category": "production_source",
"source_sha256": "9cafa62a03316fd0222f63addd5c209bb0c20fd0b7affa69cd1e256abfa2aa3a",
"target_sha256": "2c77b7d2b21b2fba7460e6a348ad896a3dc07dec8e1355ce6e145b6b585fa378",
"transformed": true,
"source_relative_path": "taobao_sycm_products.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/taobao_sycm_products.py"
},
{
"category": "production_source",
"source_sha256": "3f0c32c443c87417c43881da69aa7776828ba973465f8d32f50b3dc698b0a4fe",
"target_sha256": "03f5595b783c0a9201f64c26ca32a84970c7670068f3c7467d239b9de2944fcf",
"transformed": true,
"source_relative_path": "taobao_wanxiang_ai_creative_report.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/taobao_wanxiang_ai_creative_report.py"
},
{
"category": "production_source",
"source_sha256": "e4d99956d9649d108baeb3e3a2d1969c227622d1037062bd277af66375556d82",
"target_sha256": "a97ea4c279ccb37fc99d67073d8cb6dae3f376103901c4d39a31c75862fc1899",
"transformed": true,
"source_relative_path": "upload_video_to_guanghe.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/upload_video_to_guanghe.py"
},
{
"category": "production_source",
"source_sha256": "b8f1d6645f2b3283897eb7543887eb37ab96da6b3321045dc0c4ff7e2b2b4347",
"target_sha256": "b8f1d6645f2b3283897eb7543887eb37ab96da6b3321045dc0c4ff7e2b2b4347",
"transformed": false,
"source_relative_path": "vendors/dy-data-flow/adaptive_selectors.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/vendors/dy-data-flow/adaptive_selectors.py"
},
{
"category": "production_source",
"source_sha256": "cceb3861da0e68c686c0c58f64767c3ca2693986bb5006ca7405d3a5a39c4347",
"target_sha256": "8a947ce42d34ff26bb46c5173af9e37ee9d60eac1b595d2f54b855a881ac2d6c",
"transformed": true,
"source_relative_path": "vendors/dy-data-flow/dy_store_competitor_store_scraping.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/vendors/dy-data-flow/dy_store_competitor_store_scraping.py"
},
{
"category": "source_resource",
"source_sha256": "d4a786bce99678c07cf0f6f3dfeddd5d08dd0a41d112cc6beaddb98c28d81346",
"target_sha256": "d4a786bce99678c07cf0f6f3dfeddd5d08dd0a41d112cc6beaddb98c28d81346",
"transformed": false,
"source_relative_path": "vendors/dy-data-flow/dynamic_session_src.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/vendors/dy-data-flow/dynamic_session_src.py",
"lint_policy": "not_a_standalone_module",
"reason": "upstream DynamicSession implementation excerpt retained as reference source; it starts inside a class body and has no import/module preamble"
},
{
"category": "production_source",
"source_sha256": "3cf7b95490249306551949683d948523877c15d6d0f506edc69adda9dea15b4f",
"target_sha256": "3cf7b95490249306551949683d948523877c15d6d0f506edc69adda9dea15b4f",
"transformed": false,
"source_relative_path": "vendors/jd-data-flow/collection_progress.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/vendors/jd-data-flow/collection_progress.py"
},
{
"category": "production_source",
"source_sha256": "ce37281fcd13e9f94e345a3f659baa8a95d7a95c7a61440ab14223e7a61c88ec",
"target_sha256": "882334c4739624e7f34269596785eeabefb7d89ae761cba6f35781cc5773367b",
"transformed": true,
"source_relative_path": "vendors/jd-data-flow/config.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/vendors/jd-data-flow/config.py"
},
{
"category": "production_source",
"source_sha256": "6daa16c03989fb2231e54545726f5aa488e4ba80b9b8aa6f937cb9a2fa13ff35",
"target_sha256": "14d30692ff01f140bbb38eaf453d69c1b3ba010cb8a35d73e3ee0ca8f85ea8a1",
"transformed": true,
"source_relative_path": "vendors/jd-data-flow/jd_data_collector.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/vendors/jd-data-flow/jd_data_collector.py"
},
{
"category": "production_source",
"source_sha256": "a53cc38b0ddeaa0065bc27a1d137ce16c2873ff9bec712483ca87bcedd6baa3a",
"target_sha256": "7f5f9ee0f9845e4b8cd384246842162ed3a17a57a68f39d0d3275fa13d6d4e7f",
"transformed": true,
"source_relative_path": "vendors/jd-data-flow/jd_peer_product_data_collector.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/vendors/jd-data-flow/jd_peer_product_data_collector.py"
},
{
"category": "production_source",
"source_sha256": "fc65c65939c0324cae1555631bbb0d1f7ce852825195ce14322e7002a2479f61",
"target_sha256": "d69139a41d0941114534d94cd4054be7c8ecedc2c09fd79ba07953e160621d95",
"transformed": true,
"source_relative_path": "vendors/jd-data-flow/jd_product_data_collector.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/vendors/jd-data-flow/jd_product_data_collector.py"
},
{
"category": "production_source",
"source_sha256": "fb26955e7a6e8c0c9b861f60ef4adf528507e1682c66690857ee8cdc7d4742c8",
"target_sha256": "fb26955e7a6e8c0c9b861f60ef4adf528507e1682c66690857ee8cdc7d4742c8",
"transformed": false,
"source_relative_path": "vendors/jd-data-flow/state.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/vendors/jd-data-flow/state.py"
},
{
"category": "production_source",
"source_sha256": "b5319c920fa2498dcdb2789788c42e705dcfd841db8865b0424555cc105d8d24",
"target_sha256": "c56c820fdf482093aa8aa9cf4e43d6b43b46e048ebacf6c770b31329eb37e021",
"transformed": true,
"source_relative_path": "weekly_aggregate.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/weekly_aggregate.py"
},
{
"category": "runtime_resource",
"source_sha256": "589679874b75643d69ea44522e2fe40914a396506ff8e3232150d7e2a96ae2f9",
"target_sha256": "ec25e0af5f2a0d1226f60c0cd8833adb91700e0e90b258a22384cbd8f8f3d449",
"transformed": true,
"source_relative_path": ".env.example",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/.env.example"
},
{
"category": "runtime_resource",
"source_sha256": "af4df439f109549a2d287514d24193cb046800d23a39cabcc070b8c10d76a52a",
"target_sha256": "af4df439f109549a2d287514d24193cb046800d23a39cabcc070b8c10d76a52a",
"transformed": false,
"source_relative_path": "bitable_main_image_map.json",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/bitable_main_image_map.json"
},
{
"category": "runtime_resource",
"source_sha256": "51102b78d1f44b9dfb60f8204a0d5b2403cd8651061e7607c264c6ef730defa2",
"target_sha256": "51102b78d1f44b9dfb60f8204a0d5b2403cd8651061e7607c264c6ef730defa2",
"transformed": false,
"source_relative_path": "bitable_style_map.json",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/bitable_style_map.json"
},
{
"category": "runtime_resource",
"source_sha256": "277f80393a7ead72b260b56173471e924e139db0ba60e1ae534d85cc1ef5f9cc",
"target_sha256": "bd0f4087fc061555cb8d2bab485bc0d98417dc1816d210bd58bf7ff6801cff39",
"transformed": true,
"source_relative_path": "config/auto-flow-config.example.json",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/config/auto-flow-config.example.json"
},
{
"category": "runtime_resource",
"source_sha256": "017d929ff5041d893bfbde874fda207ecc7d8beb65068263d5b36bce1d11e904",
"target_sha256": "017d929ff5041d893bfbde874fda207ecc7d8beb65068263d5b36bce1d11e904",
"transformed": false,
"source_relative_path": "db/schema.sql",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/db/schema.sql"
},
{
"category": "runtime_resource",
"source_sha256": "b8acd08b97283a1163210d26c2a35b182e1920d2edbad6864226ad24e73ed5b3",
"target_sha256": "b8acd08b97283a1163210d26c2a35b182e1920d2edbad6864226ad24e73ed5b3",
"transformed": false,
"source_relative_path": "styles_input.json",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/styles_input.json"
},
{
"category": "regression_test",
"source_sha256": "88988821d581872afe162853c3e4569e373555a6df5bf8cd7724977a1b398396",
"target_sha256": "88988821d581872afe162853c3e4569e373555a6df5bf8cd7724977a1b398396",
"transformed": false,
"source_relative_path": "tests/test_db_config.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/runtime_tests/test_db_config.py"
},
{
"category": "regression_test",
"source_sha256": "1398806a524beaa203df9b27eed7652180c7ac427522220e88905d9cd827457f",
"target_sha256": "1398806a524beaa203df9b27eed7652180c7ac427522220e88905d9cd827457f",
"transformed": false,
"source_relative_path": "tests/test_dy_market_rank.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/runtime_tests/test_dy_market_rank.py"
},
{
"category": "regression_test",
"source_sha256": "13774e9c788a495f92a251f01ccccda5a826c951ec7f60808ad88adcba787262",
"target_sha256": "13774e9c788a495f92a251f01ccccda5a826c951ec7f60808ad88adcba787262",
"transformed": false,
"source_relative_path": "tests/test_dy_session_reuse.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/runtime_tests/test_dy_session_reuse.py"
},
{
"category": "regression_test",
"source_sha256": "4041e1104d5adbb92703b88e457795ac221bc7bc4fe4aa2cb72dff08f0c4ab6b",
"target_sha256": "4041e1104d5adbb92703b88e457795ac221bc7bc4fe4aa2cb72dff08f0c4ab6b",
"transformed": false,
"source_relative_path": "tests/test_erp_metric_overrides.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/runtime_tests/test_erp_metric_overrides.py"
},
{
"category": "regression_test",
"source_sha256": "cc0d0cb1e666a74803fdaf84bafdd694f51c571c31131e137ff36a39a9db66a7",
"target_sha256": "cc0d0cb1e666a74803fdaf84bafdd694f51c571c31131e137ff36a39a9db66a7",
"transformed": false,
"source_relative_path": "tests/test_erp_no_data_freshness.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/runtime_tests/test_erp_no_data_freshness.py"
},
{
"category": "regression_test",
"source_sha256": "504a33d68dc28b93d00bdf720a1551048079f76c97e1ad92359709c460d78c68",
"target_sha256": "504a33d68dc28b93d00bdf720a1551048079f76c97e1ad92359709c460d78c68",
"transformed": false,
"source_relative_path": "tests/test_erp_slow_skip_codes.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/runtime_tests/test_erp_slow_skip_codes.py"
},
{
"category": "regression_test",
"source_sha256": "99bf63855624d4f057351d140c6c33179111e8b59f688c3cd75b91fd0b856a5f",
"target_sha256": "99bf63855624d4f057351d140c6c33179111e8b59f688c3cd75b91fd0b856a5f",
"transformed": false,
"source_relative_path": "tests/test_feishu_doc_native.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/runtime_tests/test_feishu_doc_native.py"
},
{
"category": "regression_test",
"source_sha256": "3d348a8250a2910f6a1c6504e9d1e53b0493d40bdc6c1fd1c8d0404c78681dc6",
"target_sha256": "3d348a8250a2910f6a1c6504e9d1e53b0493d40bdc6c1fd1c8d0404c78681dc6",
"transformed": false,
"source_relative_path": "tests/test_guanghe_metadata.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/runtime_tests/test_guanghe_metadata.py"
},
{
"category": "regression_test",
"source_sha256": "e8848b95c28a822b9fc92b5cd8ad75716b80d00fbac1844bfad9b7f877ea0173",
"target_sha256": "e8848b95c28a822b9fc92b5cd8ad75716b80d00fbac1844bfad9b7f877ea0173",
"transformed": false,
"source_relative_path": "tests/test_guanghe_store_routing.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/runtime_tests/test_guanghe_store_routing.py"
},
{
"category": "regression_test",
"source_sha256": "a649d4ee447c41f458a42ca27d288c974188bf30ded33e9157c2b71883c074de",
"target_sha256": "a649d4ee447c41f458a42ca27d288c974188bf30ded33e9157c2b71883c074de",
"transformed": false,
"source_relative_path": "tests/test_import_product_daily.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/runtime_tests/test_import_product_daily.py"
},
{
"category": "regression_test",
"source_sha256": "3c07d95d858c67b9541c0df91735c872a6abcae56dd08cdac209bc92475a413d",
"target_sha256": "3c07d95d858c67b9541c0df91735c872a6abcae56dd08cdac209bc92475a413d",
"transformed": false,
"source_relative_path": "tests/test_jd_enter_shangzhi.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/runtime_tests/test_jd_enter_shangzhi.py"
},
{
"category": "regression_test",
"source_sha256": "dd82a77378c84cc8921e88ad43a90675bbf1098aaa702e0ffced377a097ce957",
"target_sha256": "dd82a77378c84cc8921e88ad43a90675bbf1098aaa702e0ffced377a097ce957",
"transformed": false,
"source_relative_path": "tests/test_jd_market_rank.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/runtime_tests/test_jd_market_rank.py"
},
{
"category": "regression_test",
"source_sha256": "820e17b910b62a213f0bebafcff72998c2c978307c97f976c074276150ce7c6a",
"target_sha256": "820e17b910b62a213f0bebafcff72998c2c978307c97f976c074276150ce7c6a",
"transformed": false,
"source_relative_path": "tests/test_main_image_concurrency.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/runtime_tests/test_main_image_concurrency.py"
},
{
"category": "regression_test",
"source_sha256": "0f55af81ae11567c3c5d7943ab74598dd994a7ff193a9e98e7024c7dc4a3a769",
"target_sha256": "0f55af81ae11567c3c5d7943ab74598dd994a7ff193a9e98e7024c7dc4a3a769",
"transformed": false,
"source_relative_path": "tests/test_market_rank_hermes_notification.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/runtime_tests/test_market_rank_hermes_notification.py"
},
{
"category": "regression_test",
"source_sha256": "f21d28753f929daf0808fb8147a6654f6b52efc599b8b13248328b9452c37b69",
"target_sha256": "f21d28753f929daf0808fb8147a6654f6b52efc599b8b13248328b9452c37b69",
"transformed": false,
"source_relative_path": "tests/test_market_rank_report_archive.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/runtime_tests/test_market_rank_report_archive.py"
},
{
"category": "regression_test",
"source_sha256": "219630aaa213d2a671acf71acb271cb955b860fa56819db4ccbdb4b28a7d3662",
"target_sha256": "219630aaa213d2a671acf71acb271cb955b860fa56819db4ccbdb4b28a7d3662",
"transformed": false,
"source_relative_path": "tests/test_market_rank_workflow.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/runtime_tests/test_market_rank_workflow.py"
},
{
"category": "regression_test",
"source_sha256": "e43712d0eba0213044b685c6162da983be91ee083f7b12ec44a61c5525fe9e36",
"target_sha256": "e43712d0eba0213044b685c6162da983be91ee083f7b12ec44a61c5525fe9e36",
"transformed": false,
"source_relative_path": "tests/test_persona_launcher.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/runtime_tests/test_persona_launcher.py"
},
{
"category": "regression_test",
"source_sha256": "f9cfbb49fd313444790ac194fbf980dae21912081b9f26ad8e3850912126f09e",
"target_sha256": "f9cfbb49fd313444790ac194fbf980dae21912081b9f26ad8e3850912126f09e",
"transformed": false,
"source_relative_path": "tests/test_style_analysis_orchestration.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/runtime_tests/test_style_analysis_orchestration.py"
},
{
"category": "regression_test",
"source_sha256": "17761a5ba93a5387ffa67662424955178058aeec708bbcd3eb0341a859d8a1f1",
"target_sha256": "ed9cce2ef8a2a6c8efd41ef4eaae915927e4842b114885103526f552296fa8a6",
"transformed": true,
"source_relative_path": "tests/test_style_config_loader_erp_source.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/runtime_tests/test_style_config_loader_erp_source.py"
},
{
"category": "regression_test",
"source_sha256": "55f55a9658453e6751ed055c6b2d1a43538012ce715835bbef59d88203211696",
"target_sha256": "34950dee4733e8292f02bd8731de77d9343fc298fa7cf1c72a4afbbc336d5d2b",
"transformed": true,
"source_relative_path": "tests/test_tmp_backfill_poseidon_sales.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/runtime_tests/test_backfill_poseidon_sales.py"
},
{
"category": "regression_test",
"source_sha256": "3267f9a366af11ad40e8b8bc80d2c42e08b5a7e84e2c71f265c404389c2cb2c3",
"target_sha256": "5747d14b0e6c08dbd2f1e83ce83a649c8e926b495d01483c30bc3841cc8148be",
"transformed": true,
"source_relative_path": "tests/test_sycm_market_rank.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/runtime_tests/test_sycm_market_rank.py"
},
{
"category": "regression_test",
"source_sha256": "f7de702d7d1e641c8778970d5cb1f4e827a2e0ee9b20db2c19f0ed4fd8230e16",
"target_sha256": "f7de702d7d1e641c8778970d5cb1f4e827a2e0ee9b20db2c19f0ed4fd8230e16",
"transformed": false,
"source_relative_path": "tests/test_tm_persona_recovery.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/runtime_tests/test_tm_persona_recovery.py"
},
{
"category": "regression_test",
"source_sha256": "5598dcbf6d9a30fb3dc4133e983ed78c2860d90162c6f7750509d4533466917a",
"target_sha256": "b35755ae421db982d162895ddbb3182977cb16a268587e836c2dc4f2703d6e37",
"transformed": true,
"source_relative_path": "tests/test_wanxiang_report_template.py",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/runtime_tests/test_wanxiang_report_template.py"
},
{
"category": "launcher_provenance",
"source_sha256": "c7ad2a359730d8c4d449b0e37e5a4fb2940b4e8b5a4293a1b0a3767c185ee2cc",
"target_sha256": "106a6a15ac2226e4db4d4bcdeda09ba8eca9facbd6e80f2ade6eea8821be5c5f",
"transformed": true,
"source_relative_path": "run_alerts.bat",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/launchers_reference/run_alerts.bat"
},
{
"category": "launcher_provenance",
"source_sha256": "a96d18ccf79ea43d2152f2ab7de8de5e77c5a45e1cbbb2ec4495eb92e69bbe1b",
"target_sha256": "1f286ed25cdebb4315aa64b878a7529ae74514b2def33d021834645116d3b48e",
"transformed": true,
"source_relative_path": "run_daily_collect.bat",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/launchers_reference/run_daily_collect.bat"
},
{
"category": "launcher_provenance",
"source_sha256": "a7c8f6a777515f53160996b61804a93aedd4f3b37fa6374dc3eb64ff1588046a",
"target_sha256": "4211341edcf8be34feef7b0be1e7779cb28707c4af5cc8c77d36d85835c28037",
"transformed": true,
"source_relative_path": "run_daily_import.bat",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/launchers_reference/run_daily_import.bat"
},
{
"category": "launcher_provenance",
"source_sha256": "3df6a5bdda8448c342f2aa37992f471f572df7d5e51d5b0ad50911b4805cbb67",
"target_sha256": "aa44824a204ee6b05a97fd58dd1964ea6d1b6f477823f10adc5c681384caeced",
"transformed": true,
"source_relative_path": "run_daily_import.ps1",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/launchers_reference/run_daily_import.ps1"
},
{
"category": "launcher_provenance",
"source_sha256": "0c64ed81bed07ecdcd522549d0dcaccc97ed966cbb21a2ae60b37c634234feef",
"target_sha256": "8a4af678695c849d5f49b295edb656155e967796229a8bb580a5d8955c6ba6a3",
"transformed": true,
"source_relative_path": "run_daily_persona.bat",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/launchers_reference/run_daily_persona.bat"
},
{
"category": "launcher_provenance",
"source_sha256": "e461e25912cb3dafe3d6b0a092e599d121a756e11e564f1d33706d0709611cf1",
"target_sha256": "c05295617b0361337192b21a76557c99dae14aad0d549c5980535f0f0090a41b",
"transformed": true,
"source_relative_path": "run_style_analysis_3d.bat",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/launchers_reference/run_style_analysis_3d.bat"
},
{
"category": "launcher_provenance",
"source_sha256": "7edfb8cdbfdb88bbaca364b1ad213caef1818eb654b21a73131d67044ef356c0",
"target_sha256": "42613ed10f083c803657dd6609c3b388fca88f7e0ee9dc105807ad8cab288689",
"transformed": true,
"source_relative_path": "run_weekly_jd_main_image.bat",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/launchers_reference/run_weekly_jd_main_image.bat"
},
{
"category": "launcher_provenance",
"source_sha256": "1beadfdb5a0183b6e4a59307827ee4891eab985b1a1b17d0765bd02414bbd12c",
"target_sha256": "c853990ca8857ef10b46ba71ba2177d4b6897dab4e420bce23bb7f2b22a23fae",
"transformed": true,
"source_relative_path": "run_weekly_main_image.bat",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/launchers_reference/run_weekly_main_image.bat"
},
{
"category": "launcher_provenance",
"source_sha256": "656e72dc9a2999960b96d1921125e6649f0a204066664622cb2d6b1d45b290b5",
"target_sha256": "be206938f49d9d5343dfb49e04514d6cdd9c7850a02e43f8d8c790b08b24c6fa",
"transformed": true,
"source_relative_path": "run_weekly_market_rank.bat",
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/launchers_reference/run_weekly_market_rank.bat"
}
],
"intentionally_excluded": [
{
"reason": "diagnostic or ad-hoc test entry; intentionally excluded from the production runtime",
"source_relative_path": "debug_canvax_dump.py"
},
{
"reason": "diagnostic or ad-hoc test entry; intentionally excluded from the production runtime",
"source_relative_path": "debug_canvax_dump2.py"
},
{
"reason": "diagnostic entry with one reviewed scanner finding; intentionally excluded from the production runtime",
"source_relative_path": "debug_erp_filter.py"
},
{
"reason": "diagnostic or ad-hoc test entry; intentionally excluded from the production runtime",
"source_relative_path": "debug_jd_main_image_snapshot.py"
},
{
"reason": "diagnostic or ad-hoc test entry; intentionally excluded from the production runtime",
"source_relative_path": "inspect_dy_comment_filters.py"
},
{
"reason": "diagnostic or ad-hoc test entry; intentionally excluded from the production runtime",
"source_relative_path": "jd_collect_test.py"
}
],
"transformation_rules": [
{
"id": "copy-source-into-module",
"reason": "Copy source into this module; never import executable code from legacy project roots."
},
{
"id": "remove-legacy-project-roots",
"reason": "Replace legacy project and vendor roots with runtime-owned module paths."
},
{
"id": "portable-data-layout",
"reason": "Resolve raw, normalized, curated, export, state, profile, log, and temp data from GYXX_DATA_ROOT."
},
{
"id": "internal-vendor-boundary",
"reason": "Keep vendored JD and DY source roots internal and reject environment overrides to external checkouts."
},
{
"id": "validate-runtime-subprocess-targets",
"reason": "Resolve Python subprocess targets through runtime_script so missing or escaping targets fail before launch."
},
{
"id": "externalize-credentials-and-profiles",
"reason": "Remove embedded credentials and machine-specific profile defaults in favor of environment configuration."
},
{
"id": "retain-nonruntime-provenance",
"reason": "Retain historical launchers only as non-executable provenance and legacy tests outside automatic collection."
},
{
"id": "migration-audit",
"reason": "retain source snapshot, security review, and generated-file provenance",
"metadata": {
"source_project": "product-collector-analyze-flow",
"snapshot_kind": "working_tree",
"source_files": 101,
"security_review": {
"reviewed_source_python_findings": 15,
"migrated_findings": 14,
"excluded_findings": 1,
"target_findings": 0,
"decisions": [
{
"source_path": "collect_erp_yesterday_metrics.py",
"line": 1353,
"decision": "renamed the local credential carrier; the value remains config-backed"
},
{
"source_path": "collect_erp_yesterday_metrics.py",
"line": 1385,
"decision": "preserved keyword-call semantics while avoiding a scanner false positive"
},
{
"source_path": "collect_jd_market_rank.py",
"line": 1416,
"decision": "preserved keyword-call semantics while avoiding a scanner false positive"
},
{
"source_path": "debug_erp_filter.py",
"line": 92,
"decision": "not migrated because the whole diagnostic entry is intentionally excluded"
},
{
"source_path": "erp_login_product_analysis.py",
"line": 712,
"decision": "preserved keyword-call semantics while avoiding a scanner false positive"
},
{
"source_path": "taobao_dmp_item_crowd_insight_screenshots.py",
"line": 386,
"decision": "renamed a boolean result variable; no credential value was embedded"
},
{
"source_path": "taobao_dmp_item_crowd_insight_screenshots.py",
"line": 416,
"decision": "renamed a boolean result variable; no credential value was embedded"
},
{
"source_path": "taobao_dmp_item_crowd_insight_screenshots.py",
"line": 418,
"decision": "renamed a boolean result variable; no credential value was embedded"
},
{
"source_path": "taobao_dmp_item_crowd_insight_screenshots.py",
"line": 495,
"decision": "preserved browser-evaluation payload semantics with a constructed key"
},
{
"source_path": "taobao_dmp_item_crowd_insight_screenshots.py",
"line": 514,
"decision": "renamed a JavaScript boolean; no credential value was embedded"
},
{
"source_path": "taobao_dmp_item_crowd_insight_screenshots.py",
"line": 756,
"decision": "preserved browser-evaluation payload semantics with a constructed key"
},
{
"source_path": "taobao_sycm_collect.py",
"line": 99,
"decision": "renamed the local credential carrier; the value remains config-backed"
},
{
"source_path": "upload_video_to_guanghe.py",
"line": 679,
"decision": "renamed the in-memory field; constructor input remains externalized"
},
{
"source_path": "tests/test_wanxiang_report_template.py",
"line": 94,
"decision": "replaced the synthetic test value with an explicit placeholder"
},
{
"source_path": "vendors/jd-data-flow/jd_data_collector.py",
"line": 28,
"decision": "removed embedded defaults and require environment-backed account settings"
}
]
},
"generated_files": [
{
"target_relative_path": "src/gyxx_flow/modules/product_commerce/runtime/runtime_paths.py",
"purpose": "portable module, data, state, profile, log, temp, vendor, and subprocess path contract",
"target_sha256": "20feee4cd658914ce32a55312985bb194d6055013593bd2516469378896e38a3"
}
]
}
}
]
}
@@ -0,0 +1,305 @@
{
"schema_version": 1,
"module": "shop_intelligence",
"source_project": "shop-data-flow",
"files": [
{
"source_relative_path": ".env.example",
"target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/config.example.env",
"category": "config",
"source_sha256": "d0a005429c4363020681076afe4ec389712bd86b041271b8e9d52b977d79bfc1",
"target_sha256": "a1e2bad32d3a2eb6cec1c60e13bef1298f872365301c048a8e8df826c783c122",
"transformed": true
},
{
"source_relative_path": "adaptive_selectors.py",
"target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/adaptive_selectors.py",
"category": "source",
"source_sha256": "7f60d6eedf0b9bf4aad0087305a86814dc9e2691128cce4010f9b3deff403bae",
"target_sha256": "9ee3b786a5eecb6877c31d583de87bf75e22326c9126d9b679d2d4460db70454",
"transformed": true
},
{
"source_relative_path": "collectors/__init__.py",
"target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/collectors/__init__.py",
"category": "source",
"source_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"target_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"transformed": false
},
{
"source_relative_path": "collectors/dy_store_competitor_store_scraping.py",
"target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/collectors/dy_store_competitor_store_scraping.py",
"category": "source",
"source_sha256": "009879a7dd341ca6ecbc8eb66f5700114c73bcaba3a53f159014a76232d0aa6b",
"target_sha256": "8d319196d56a52e084c375f872faf729d33fca400f4cabae901accb6c0bdde47",
"transformed": true
},
{
"source_relative_path": "collectors/jd_data_collector.py",
"target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/collectors/jd_data_collector.py",
"category": "source",
"source_sha256": "6f00ae3b2b74e08d3c34c3b911ea819dfa4c6ce55bceef282afb3b2f565aa3ec",
"target_sha256": "1825f123b3c1604340bd95a79cad31cbaba23834d50dae69ce5b68068a5b055e",
"transformed": true
},
{
"source_relative_path": "collectors/jd_peer_store_data_collector.py",
"target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/collectors/jd_peer_store_data_collector.py",
"category": "source",
"source_sha256": "4ebdb52df7b384d2bfdd2fc840d55d14e18864002c20a36685b63cee1966cf4c",
"target_sha256": "23f445aae6bcf41193db5286ce1a519d50b93e20a55f27f6df58315aafb30a08",
"transformed": true
},
{
"source_relative_path": "collectors/taobao_sycm.py",
"target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/collectors/taobao_sycm.py",
"category": "source",
"source_sha256": "6978333bd60c1946e3dd8eeced1d0589461c4a26377511da7875f60bd0e31739",
"target_sha256": "6042dc251c0dbff92ca9eb8ed0a4db4322db5810e43fadf1cae79219067496fd",
"transformed": true
},
{
"source_relative_path": "config.py",
"target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/config.py",
"category": "source",
"source_sha256": "2cfa101ed07643ad822f176e4b21bb72bf7ff32e3945837082811ea792a9e21b",
"target_sha256": "d9a8e32513071dacc8fd303901a3f665336d49e5dd8afe2ba3a0bc8f9dc19985",
"transformed": true
},
{
"source_relative_path": "db/__init__.py",
"target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/db/__init__.py",
"category": "source",
"source_sha256": "e75ec31954ddf3c6a84e5915a6ff662027d097fdf7fba91aa5c84d048b8e960c",
"target_sha256": "e75ec31954ddf3c6a84e5915a6ff662027d097fdf7fba91aa5c84d048b8e960c",
"transformed": false
},
{
"source_relative_path": "db/db.py",
"target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/db/db.py",
"category": "source",
"source_sha256": "bf600de53e60be0492426b6ffade60f75474d885263963b12b1bc4a42c03e216",
"target_sha256": "567df11eac1462111594668d66e1210fe1d1808f0f77250e557ad1cf5b66af44",
"transformed": true
},
{
"source_relative_path": "db/schema.sql",
"target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/db/schema.sql",
"category": "sql",
"source_sha256": "5c3b90a70af4aa9e69039be8f3ec79a136ab5892e5d1ff31fc8a20d735a5dfe5",
"target_sha256": "5c3b90a70af4aa9e69039be8f3ec79a136ab5892e5d1ff31fc8a20d735a5dfe5",
"transformed": false
},
{
"source_relative_path": "lark_cli.py",
"target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/lark_cli.py",
"category": "source",
"source_sha256": "434394c2864b44e612a34b16c242df2a5f89dbfb298505b22f2133af925d0233",
"target_sha256": "dd2c06c0e491f310e563b6203b078f41fd1cf1427b946332a2735df522cf13d1",
"transformed": true
},
{
"source_relative_path": "pyproject.toml",
"target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/dependencies.toml",
"category": "dependency",
"source_sha256": "002035ffb503798d48241f962216c5baa460de4ee8a1d7d696a3d6ba6afb2975",
"target_sha256": "002035ffb503798d48241f962216c5baa460de4ee8a1d7d696a3d6ba6afb2975",
"transformed": false
},
{
"source_relative_path": "runners/__init__.py",
"target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/runners/__init__.py",
"category": "source",
"source_sha256": "79b41ece107032dcaa3a7b07df8454673fae8d09f763052ec12c81e3be5126d0",
"target_sha256": "79b41ece107032dcaa3a7b07df8454673fae8d09f763052ec12c81e3be5126d0",
"transformed": false
},
{
"source_relative_path": "runners/run_peer_store.py",
"target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/runners/run_peer_store.py",
"category": "launcher",
"source_sha256": "363a04b516dd6b011f07bf34feb480ccd0f1da46cb7d9512653ea7d5f4f7a3a4",
"target_sha256": "5db5365ba1a69ec325cc9e5b90aa77609045df84d5b3b8956e1718faaf30be55",
"transformed": true
},
{
"source_relative_path": "runners/run_shop.py",
"target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/runners/run_shop.py",
"category": "launcher",
"source_sha256": "5c5a37fb230f531e55563e75b7cf361a3cba190707f01f516e244ac643c73027",
"target_sha256": "f12d29bd72533780270393eae855412b87f716f2540b05fed82da097821d20cb",
"transformed": true
},
{
"source_relative_path": "runners/utils.py",
"target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/runners/utils.py",
"category": "source",
"source_sha256": "3bdf504593634d467524d06322d7f0ca20ab7bdf8c115573c154b8f5559c1cad",
"target_sha256": "43340178902f3531d3d68ae3dc51b2dc8117003b43c6172f32a53f04b3f6f2cb",
"transformed": true
},
{
"source_relative_path": "scripts/remove_scheduler.ps1",
"target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/scripts/remove_scheduler.ps1",
"category": "launcher",
"source_sha256": "0532c87a6de5f7f7f65796b8c2077126091cda7d4f065c6015624599b6df1ee6",
"target_sha256": "c376ac34da5aa777634ccea5a5d2e5718c69309b17a0219cac5c19a3c6d46ca4",
"transformed": true
},
{
"source_relative_path": "scripts/setup_scheduler.ps1",
"target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/scripts/setup_scheduler.ps1",
"category": "launcher",
"source_sha256": "8ff5418b494886ceb76acb9c8dcbccf85183f1e85fb18426c0053802ae5eb26b",
"target_sha256": "88915b6d75c62c61d13bc39d7fb959ea4b308068b9edab08db43c5c18f295f69",
"transformed": true
},
{
"source_relative_path": "writers/__init__.py",
"target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/writers/__init__.py",
"category": "source",
"source_sha256": "d830cb8dd53601d06abb9481c907472bcefcadb8b65ceb0356f5baf037c3af10",
"target_sha256": "d830cb8dd53601d06abb9481c907472bcefcadb8b65ceb0356f5baf037c3af10",
"transformed": false
},
{
"source_relative_path": "writers/peer_store_writer.py",
"target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/writers/peer_store_writer.py",
"category": "source",
"source_sha256": "71bf69c423bf3dd1f3d68d4e33f7024fbe0e446567d2cc3b25ec0cb71f59ab7e",
"target_sha256": "075b2862d486f43a406a3be58439813b60f3354ebba244f4d0be25a82ff618d7",
"transformed": true
},
{
"source_relative_path": "writers/shop_base_writer.py",
"target_relative_path": "src/gyxx_flow/modules/shop_intelligence/runtime/writers/shop_base_writer.py",
"category": "source",
"source_sha256": "01aa18955a0ec92f4fb745df916e5b7f1c69646c8a194e29bc0042120f59c722",
"target_sha256": "3ec3d71af95e7d50fa77d7ec684f1e86634eea0eed6be6b5728fe19a3f04ce0d",
"transformed": true
}
],
"entrypoints": [
{
"source_relative_path": "runners/run_shop.py",
"target_relative_path": "runners/run_shop.py",
"classification": "scheduled",
"workflows": [
"shop.metrics.weekly"
]
},
{
"source_relative_path": "runners/run_peer_store.py",
"target_relative_path": "runners/run_peer_store.py",
"classification": "scheduled",
"workflows": [
"shop.competitor.weekly"
]
},
{
"source_relative_path": "collectors/jd_data_collector.py",
"target_relative_path": "collectors/jd_data_collector.py",
"classification": "internal",
"workflows": [
"shop.metrics.weekly"
]
},
{
"source_relative_path": "collectors/jd_peer_store_data_collector.py",
"target_relative_path": "collectors/jd_peer_store_data_collector.py",
"classification": "internal",
"workflows": [
"shop.competitor.weekly"
]
},
{
"source_relative_path": "collectors/dy_store_competitor_store_scraping.py",
"target_relative_path": "collectors/dy_store_competitor_store_scraping.py",
"classification": "internal",
"workflows": [
"shop.metrics.weekly",
"shop.competitor.weekly"
]
},
{
"source_relative_path": "collectors/taobao_sycm.py",
"target_relative_path": "collectors/taobao_sycm.py",
"classification": "internal",
"workflows": [
"shop.metrics.weekly"
]
},
{
"source_relative_path": "scripts/setup_scheduler.ps1",
"target_relative_path": "scripts/setup_scheduler.ps1",
"classification": "maintenance",
"workflows": [
]
},
{
"source_relative_path": "scripts/remove_scheduler.ps1",
"target_relative_path": "scripts/remove_scheduler.ps1",
"classification": "maintenance",
"workflows": [
]
}
],
"intentionally_excluded": [
{
"pattern": ".git/**",
"reason": "runtime, generated, sensitive, or non-business material is not copied into module source"
},
{
"pattern": ".venv/**",
"reason": "runtime, generated, sensitive, or non-business material is not copied into module source"
},
{
"pattern": "**/__pycache__/**",
"reason": "runtime, generated, sensitive, or non-business material is not copied into module source"
},
{
"pattern": ".env",
"reason": "runtime, generated, sensitive, or non-business material is not copied into module source"
},
{
"pattern": "**/*cookies*",
"reason": "runtime, generated, sensitive, or non-business material is not copied into module source"
},
{
"pattern": "**/*profile*/**",
"reason": "runtime, generated, sensitive, or non-business material is not copied into module source"
},
{
"pattern": "**/data/**",
"reason": "runtime, generated, sensitive, or non-business material is not copied into module source"
},
{
"pattern": "**/logs/**",
"reason": "runtime, generated, sensitive, or non-business material is not copied into module source"
},
{
"pattern": "debug/**",
"reason": "runtime, generated, sensitive, or non-business material is not copied into module source"
},
{
"pattern": "uv.lock",
"reason": "runtime, generated, sensitive, or non-business material is not copied into module source"
},
{
"pattern": "README.md",
"reason": "runtime, generated, sensitive, or non-business material is not copied into module source"
},
{
"pattern": "CLAUDE.md",
"reason": "runtime, generated, sensitive, or non-business material is not copied into module source"
},
{
"pattern": "AGENTS.md",
"reason": "runtime, generated, sensitive, or non-business material is not copied into module source"
}
],
"snapshot": "current-filesystem"
}
+535
View File
@@ -0,0 +1,535 @@
{
"schema_version": 1,
"module": "supply_chain",
"source_project": "auto-flow",
"files": [
{
"source_relative_path": ".env.example",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/config.example.env",
"category": "config",
"source_sha256": "ec2df00f43abd9ba570b3882c5331d9b3c09557cccbc9c79e2326df57b680124",
"target_sha256": "1fad168eece306d8df1f72852719dd2c565ef2709608a0c8724d7e43f3c6825a",
"transformed": true
},
{
"source_relative_path": "orchestrator/__init__.py",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/orchestrator/__init__.py",
"category": "source",
"source_sha256": "cf08cfcdbf4332146416e2bfbd0c2890f728bf2db0ed05ccb9fe9c2793d59de2",
"target_sha256": "91fe8485b483d33dd4775a8c2f4acb274ac6d7e58b9701f4967b264579328a05",
"transformed": true
},
{
"source_relative_path": "orchestrator/config.py",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/orchestrator/config.py",
"category": "source",
"source_sha256": "466791caa5439b29e6f37b92ee6afcd4018f2c7e3fbb072efe9c6832955b3400",
"target_sha256": "fed532abdfa44c33745602c317c4fdf349a207980b3ab950c7820fa875d97ad3",
"transformed": true
},
{
"source_relative_path": "orchestrator/feishu_sheets.py",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/orchestrator/feishu_sheets.py",
"category": "source",
"source_sha256": "2654b076393013d090780d4142968154086b5801ae4c981ad0daa0d97bf54b18",
"target_sha256": "a243734fdc055e2aaa54b815de8df834dd75d068eaabb7f0b3e2f9cee74bd5e6",
"transformed": true
},
{
"source_relative_path": "orchestrator/mcp_workflow.py",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/orchestrator/mcp_workflow.py",
"category": "source",
"source_sha256": "286e28c9db042956743d045fe40157d64c58ef70a85301c018a6eaedd8c2984d",
"target_sha256": "00ac9bce675b7c18473678f8624b9f49899eacbfb54f1b8afffd004b9c819bfe",
"transformed": true
},
{
"source_relative_path": "orchestrator/monitor.py",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/orchestrator/monitor.py",
"category": "source",
"source_sha256": "aad7b1de5a9ddacb648a8b080e79eb04271ecb39b1b95e4bf3041373473b8fbd",
"target_sha256": "7d3b59dd6472bb6ecb2a282b22a93ee03ff1af6bc8280232554138d5e8578b5c",
"transformed": true
},
{
"source_relative_path": "orchestrator/pg_writer.py",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/orchestrator/pg_writer.py",
"category": "source",
"source_sha256": "0991bb67f8f00de04b59bb25d7a9c4b8231c2b507589c201192faa1e4eb5711e",
"target_sha256": "472dcc68e0f61b97b258838b04ed51c7fc13efdacd559eb0df50a444b4ce182d",
"transformed": true
},
{
"source_relative_path": "orchestrator/runner.py",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/orchestrator/runner.py",
"category": "launcher",
"source_sha256": "0cfe5e6557e8dee70ec4542c54b53e2153a3651eb2e35cd831e85518aabe0c66",
"target_sha256": "3ea26a6bbd9f4627e6fe1c6711b6fac9e65958c121e6b910efcbdde0b9dd9c7c",
"transformed": true
},
{
"source_relative_path": "orchestrator/scripts/batch_process.py",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/orchestrator/scripts/batch_process.py",
"category": "source",
"source_sha256": "3b0765ebf5b08075425abb3d656c31327e4d8af576d3d00da2035fea95eeec3c",
"target_sha256": "71be3aa41866f3b757ef203f4b83528a248d758d1badb9a37c9e5333186563d0",
"transformed": true
},
{
"source_relative_path": "orchestrator/scripts/collect_confirmation.ps1",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/orchestrator/scripts/collect_confirmation.ps1",
"category": "launcher",
"source_sha256": "90764f8c7fdcaa576f6f8a84a5115cd9fe1487035eb55de3540c8a74011c84be",
"target_sha256": "9a34dc50b0d23e1bd27dc641eb76d170e7c9f451df899d2cb7eb3b822f561a24",
"transformed": true
},
{
"source_relative_path": "orchestrator/scripts/collect_purchase_order_update.ps1",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/orchestrator/scripts/collect_purchase_order_update.ps1",
"category": "launcher",
"source_sha256": "a314db3e3389a56ee62a413056d552f04da546be73ca59e266a998c23fdf5926",
"target_sha256": "88c8ba8d173eecf3655ed955cf54a4da27fdce33fb3186b7f225b6f7fe85a565",
"transformed": true
},
{
"source_relative_path": "orchestrator/scripts/collect_replenishment.ps1",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/orchestrator/scripts/collect_replenishment.ps1",
"category": "launcher",
"source_sha256": "7c59aad10c5c3cb43ccee3d399359fac8c2ba9f444b02f983d3641b194b57c87",
"target_sha256": "c9ebacb106feff90fca27d4770781799e75f8f5640272b9adf92785a3ad8b1da",
"transformed": true
},
{
"source_relative_path": "orchestrator/scripts/config.json",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/orchestrator/scripts/config.example.json",
"category": "config",
"source_sha256": "a293c3f4c69dbfe9c6a723c774f23894c024b38a3b8a4c4327704837743b9815",
"target_sha256": "b6fabd1260d256221cf232a8b89597969e6e1d0c7805847a1dfd395ebc1c6172",
"transformed": true
},
{
"source_relative_path": "orchestrator/scripts/insert_replenishment_bitable.py",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/orchestrator/scripts/insert_replenishment_bitable.py",
"category": "source",
"source_sha256": "6f3bbf5c0b7e8007e3199bf7ce86ac3a71cd90ee3b171e0e800cf7ebedd583e5",
"target_sha256": "b255e3bff003a64010aacf0921d3707c4b76f16113023ae95b979997b223944c",
"transformed": true
},
{
"source_relative_path": "orchestrator/scripts/ProductReplenishment.py",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/orchestrator/scripts/ProductReplenishment.py",
"category": "source",
"source_sha256": "02f6345142ebd84e25dc2f3b0651bc139ef31dd3994ff739efe66344c77ee49e",
"target_sha256": "6e4be0e85a649c683ef4c56cecb638247f26aeee21ab37322304c0eef99238d4",
"transformed": true
},
{
"source_relative_path": "orchestrator/scripts/PurchaseConfirmation.py",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/orchestrator/scripts/PurchaseConfirmation.py",
"category": "source",
"source_sha256": "d400571da971702302b6e426a0ba12981459a5ee7919c771d6f4ff0038617643",
"target_sha256": "18319b26e07b666b29355db24c148f4f0e961965fbe423bd79d8925065da9b7a",
"transformed": true
},
{
"source_relative_path": "orchestrator/scripts/PurchaseOrderUpdate.py",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/orchestrator/scripts/PurchaseOrderUpdate.py",
"category": "source",
"source_sha256": "91617a2854fbf1ef38e9f8ef6fefaa34627b477d7a39098c43d6ee5dba296aa7",
"target_sha256": "dafed7d30c8215f2965cc53dbfefd929e89330bc3a8201fa8f3d4bb30a537dfc",
"transformed": true
},
{
"source_relative_path": "orchestrator/scripts/send_card_notification.py",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/orchestrator/scripts/send_card_notification.py",
"category": "source",
"source_sha256": "1397f5508a15ea7dae3d809aee9b0317b73788f3e7dc3927ff9efba5b7630a7e",
"target_sha256": "8586afcdfa04be83c984fc1be146c8ec2c9df74f7852fb656f854ebdf92a5558",
"transformed": true
},
{
"source_relative_path": "orchestrator/scripts/trigger_purchase_order_update.py",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/orchestrator/scripts/trigger_purchase_order_update.py",
"category": "source",
"source_sha256": "8506001f619f88e887c4ee39684e1f46a8440affdb6ebc31076f64e8d8f973ba",
"target_sha256": "5b6a936f8e7c800fbdbe5626827097a3bfd0d12124b018c2a9e32eba99f21853",
"transformed": true
},
{
"source_relative_path": "orchestrator/sql/001_init.sql",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/orchestrator/sql/001_init.sql",
"category": "sql",
"source_sha256": "a77925bb466af86d1b5e968346a77911b3c439c245be91ef5b97bb1b85152aa5",
"target_sha256": "a77925bb466af86d1b5e968346a77911b3c439c245be91ef5b97bb1b85152aa5",
"transformed": false
},
{
"source_relative_path": "orchestrator/sql/002_workflow_v2.sql",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/orchestrator/sql/002_workflow_v2.sql",
"category": "sql",
"source_sha256": "290fc78180565b79c1327d9ab8a33273d63a71834fd829ecf562b0cd913412e1",
"target_sha256": "290fc78180565b79c1327d9ab8a33273d63a71834fd829ecf562b0cd913412e1",
"transformed": false
},
{
"source_relative_path": "orchestrator/sql/backfill_history.py",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/orchestrator/sql/backfill_history.py",
"category": "source",
"source_sha256": "7f0a4613bb0061da69a743f3a532f5fc791f1c539307d1f7c266cde82e89a2bc",
"target_sha256": "c81b07b1ea1a59baf94e3d68d21ea961a8a318358b96c8087e24a7267eb0e83f",
"transformed": true
},
{
"source_relative_path": "orchestrator/state.py",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/orchestrator/state.py",
"category": "source",
"source_sha256": "d4ea6fe12edc8edadd3e1ecef2d32ce55f0f827580d2df4932899801d0b6f8f6",
"target_sha256": "0cc6d60dbe161b633fa5c0c1af2395b1a73f21b15f692ba3042883d06bf8441b",
"transformed": true
},
{
"source_relative_path": "orchestrator/workflows.py",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/orchestrator/workflows.py",
"category": "source",
"source_sha256": "a851dbcdf9c2b7d3aaca5df8bcce9e7ee325da41114d58813e1447fc5c10ec30",
"target_sha256": "ea26e462ff409ce56ce1191b9aaac8dba6947c429e5eeacf0b08776f8dcf7eca",
"transformed": true
},
{
"source_relative_path": "requirements.txt",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/dependencies.txt",
"category": "dependency",
"source_sha256": "1b636fe51fce642e4d17009643013998e5f2b0670f7c11abe4c62fcf5b10e306",
"target_sha256": "1b636fe51fce642e4d17009643013998e5f2b0670f7c11abe4c62fcf5b10e306",
"transformed": false
},
{
"source_relative_path": "run.py",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/run.py",
"category": "launcher",
"source_sha256": "cac7fbdbb4a47a04c87522e50130510775939fc485ce1ee2fcd2441f70c20777",
"target_sha256": "2dd03c4bdcc49e6fa0c83f816a6f42275dba38ebb5276a64125561e2d0ed13d8",
"transformed": true
},
{
"source_relative_path": "scripts/purchase-confirmation.bat",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/scripts/purchase-confirmation.bat",
"category": "launcher",
"source_sha256": "6bed299064aff0befa214e7648184ed190016eef0b257abc72fb8956bc4892a5",
"target_sha256": "ef3cb48b61243b456185c207e18accb19d044bd877987b627e8a5187d63ebeb1",
"transformed": true
},
{
"source_relative_path": "scripts/replenishment.bat",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/scripts/replenishment.bat",
"category": "launcher",
"source_sha256": "826c34ec5c4bec3a3408d3759c2dd462109746f5a37facb98330c551279d6724",
"target_sha256": "e87ce31edb870fb733feba93d166507917ac1aa7c5c628f017ba91bf9737bdd5",
"transformed": true
},
{
"source_relative_path": "scripts/replenishment-alert.bat",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/scripts/replenishment-alert.bat",
"category": "launcher",
"source_sha256": "e72592cea97eea1af77861cbcb91d8b3b248d36389bf48897f330db664c4b320",
"target_sha256": "0e5726b6ef90b9ab000a1e3460902a70b94c00be9143a8e0e42ce7d4c0ae2252",
"transformed": true
},
{
"source_relative_path": "skills/analyzer/SKILL.md",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/skills/analyzer/SKILL.md",
"category": "resource",
"source_sha256": "eb2ce257dcf3cfdec056bc90bce61c753d89be041d2e6e14521f59fcde1b9512",
"target_sha256": "e00ed56610b84ff94aa227ae77a47736aeb50995b57c0765050137122b3bac18",
"transformed": true
},
{
"source_relative_path": "skills/analyzer/workflow/purchase-order-update/SKILL.md",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/skills/analyzer/workflow/purchase-order-update/SKILL.md",
"category": "resource",
"source_sha256": "3877e9c7363c31f597ee06c2fcf51268b6f2bf73865e02335d8842799bf5d829",
"target_sha256": "3bc15c2798823ba19ac42aa6d38f0d3d8b6100d44756c46d2a01c245611c25a7",
"transformed": true
},
{
"source_relative_path": "skills/collector/SKILL.md",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/skills/collector/SKILL.md",
"category": "resource",
"source_sha256": "2e96c720c16b3e16eb0253af109128cd6df2ed98b72d23bddfb473e36fc5ea2c",
"target_sha256": "dc241106ef22f67098e82b13b78c986102bcfa3498778310a8a1d1ddbba70210",
"transformed": true
},
{
"source_relative_path": "skills/collector/workflow/purchase-confirmation-workflow/SKILL.md",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/skills/collector/workflow/purchase-confirmation-workflow/SKILL.md",
"category": "resource",
"source_sha256": "12b67cfb73059417c053fc6ae2f2b7afe894b0ed4c66160f6d23647a6f7ddf09",
"target_sha256": "3e7fa623f8332e4a99865170cfa44bc2426338ee7369a6a64c90268a74a9fe2f",
"transformed": true
},
{
"source_relative_path": "skills/collector/workflow/purchase-order-update-workflow/SKILL.md",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/skills/collector/workflow/purchase-order-update-workflow/SKILL.md",
"category": "resource",
"source_sha256": "407469efe6129486fd5f21829fd3039a1ab63fcbed8761176a0a0ce61b670167",
"target_sha256": "a7be00de8a21c5087d57c9b4aaa4aff7fd9c5816dc29c5ac0862e1342b870fdd",
"transformed": true
},
{
"source_relative_path": "skills/collector/workflow/replenishment-alert-workflow/SKILL.md",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/skills/collector/workflow/replenishment-alert-workflow/SKILL.md",
"category": "resource",
"source_sha256": "a57f429c4ade7771207905820f4f98edeff6e9a44fcf7957b820a6e5fc70f94b",
"target_sha256": "1c96830cbeb1cedd6d8205044f03a30f50004dc21ff0995e8b67139dd76eaa6e",
"transformed": true
},
{
"source_relative_path": "skills/collector/workflow/replenishment-workflow/SKILL.md",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/skills/collector/workflow/replenishment-workflow/SKILL.md",
"category": "resource",
"source_sha256": "569f7da35c6f50d892bef31d65152d138078053135d0f442416fbebbb2c09561",
"target_sha256": "906ad7b0981bb949631a159c1df4c5221f540f77c70ea494633c8f3b3c786fdf",
"transformed": true
},
{
"source_relative_path": "skills/collector/workflow/workflow-trigger-only/SKILL.md",
"target_relative_path": "src/gyxx_flow/modules/supply_chain/runtime/skills/collector/workflow/workflow-trigger-only/SKILL.md",
"category": "resource",
"source_sha256": "4949170a88d116eb21f7c06da74b73ef4a7a15dc4851c281fd460a73806c102d",
"target_sha256": "810c33bd2f3a17efc2e8728fd7b2bc9164862f0e11c154989d5a42350d6ca7ea",
"transformed": true
}
],
"entrypoints": [
{
"source_relative_path": "scripts/purchase-confirmation.bat",
"target_relative_path": "scripts/purchase-confirmation.bat",
"classification": "scheduled",
"workflows": [
"supply.purchase_confirmation.daily"
]
},
{
"source_relative_path": "scripts/replenishment.bat",
"target_relative_path": "scripts/replenishment.bat",
"classification": "scheduled",
"workflows": [
"supply.replenishment.weekly"
]
},
{
"source_relative_path": "scripts/replenishment-alert.bat",
"target_relative_path": "scripts/replenishment-alert.bat",
"classification": "scheduled",
"workflows": [
"supply.replenishment_alert.daily"
]
},
{
"source_relative_path": "run.py",
"target_relative_path": "run.py",
"classification": "manual",
"workflows": [
"supply.purchase_confirmation.daily",
"supply.replenishment.weekly",
"supply.replenishment_alert.daily",
"supply.purchase_order_update"
]
},
{
"source_relative_path": "orchestrator/runner.py",
"target_relative_path": "orchestrator/runner.py",
"classification": "manual",
"workflows": [
"supply.purchase_confirmation.daily",
"supply.replenishment.weekly",
"supply.replenishment_alert.daily",
"supply.purchase_order_update"
]
},
{
"source_relative_path": "orchestrator/scripts/trigger_purchase_order_update.py",
"target_relative_path": "orchestrator/scripts/trigger_purchase_order_update.py",
"classification": "event",
"workflows": [
"supply.purchase_order_update"
]
},
{
"source_relative_path": "orchestrator/monitor.py",
"target_relative_path": "orchestrator/monitor.py",
"classification": "maintenance",
"workflows": [
]
},
{
"source_relative_path": "orchestrator/sql/backfill_history.py",
"target_relative_path": "orchestrator/sql/backfill_history.py",
"classification": "maintenance",
"workflows": [
]
},
{
"source_relative_path": "orchestrator/mcp_workflow.py",
"target_relative_path": "orchestrator/mcp_workflow.py",
"classification": "internal",
"workflows": [
"supply.purchase_confirmation.daily",
"supply.replenishment.weekly",
"supply.replenishment_alert.daily",
"supply.purchase_order_update"
]
},
{
"source_relative_path": "orchestrator/scripts/collect_confirmation.ps1",
"target_relative_path": "orchestrator/scripts/collect_confirmation.ps1",
"classification": "internal",
"workflows": [
"supply.purchase_confirmation.daily"
]
},
{
"source_relative_path": "orchestrator/scripts/collect_replenishment.ps1",
"target_relative_path": "orchestrator/scripts/collect_replenishment.ps1",
"classification": "internal",
"workflows": [
"supply.replenishment.weekly",
"supply.replenishment_alert.daily"
]
},
{
"source_relative_path": "orchestrator/scripts/collect_purchase_order_update.ps1",
"target_relative_path": "orchestrator/scripts/collect_purchase_order_update.ps1",
"classification": "internal",
"workflows": [
"supply.purchase_order_update"
]
},
{
"source_relative_path": "orchestrator/scripts/PurchaseConfirmation.py",
"target_relative_path": "orchestrator/scripts/PurchaseConfirmation.py",
"classification": "internal",
"workflows": [
"supply.purchase_confirmation.daily"
]
},
{
"source_relative_path": "orchestrator/scripts/ProductReplenishment.py",
"target_relative_path": "orchestrator/scripts/ProductReplenishment.py",
"classification": "internal",
"workflows": [
"supply.replenishment.weekly",
"supply.replenishment_alert.daily"
]
},
{
"source_relative_path": "orchestrator/scripts/PurchaseOrderUpdate.py",
"target_relative_path": "orchestrator/scripts/PurchaseOrderUpdate.py",
"classification": "internal",
"workflows": [
"supply.purchase_order_update"
]
},
{
"source_relative_path": "orchestrator/scripts/batch_process.py",
"target_relative_path": "orchestrator/scripts/batch_process.py",
"classification": "internal",
"workflows": [
"supply.replenishment.weekly",
"supply.replenishment_alert.daily"
]
},
{
"source_relative_path": "orchestrator/scripts/insert_replenishment_bitable.py",
"target_relative_path": "orchestrator/scripts/insert_replenishment_bitable.py",
"classification": "internal",
"workflows": [
"supply.replenishment.weekly"
]
},
{
"source_relative_path": "orchestrator/scripts/send_card_notification.py",
"target_relative_path": "orchestrator/scripts/send_card_notification.py",
"classification": "internal",
"workflows": [
"supply.purchase_confirmation.daily",
"supply.replenishment.weekly",
"supply.replenishment_alert.daily",
"supply.purchase_order_update"
]
}
],
"intentionally_excluded": [
{
"pattern": ".git/**",
"reason": "runtime, generated, sensitive, historical, or machine-local material is not copied into module source"
},
{
"pattern": ".venv/**",
"reason": "runtime, generated, sensitive, historical, or machine-local material is not copied into module source"
},
{
"pattern": "**/__pycache__/**",
"reason": "runtime, generated, sensitive, historical, or machine-local material is not copied into module source"
},
{
"pattern": ".env",
"reason": "runtime, generated, sensitive, historical, or machine-local material is not copied into module source"
},
{
"pattern": "**/*cookies*",
"reason": "runtime, generated, sensitive, historical, or machine-local material is not copied into module source"
},
{
"pattern": "**/*profile*/**",
"reason": "runtime, generated, sensitive, historical, or machine-local material is not copied into module source"
},
{
"pattern": "**/data/**",
"reason": "runtime, generated, sensitive, historical, or machine-local material is not copied into module source"
},
{
"pattern": "**/logs/**",
"reason": "runtime, generated, sensitive, historical, or machine-local material is not copied into module source"
},
{
"pattern": ".cache/**",
"reason": "runtime, generated, sensitive, historical, or machine-local material is not copied into module source"
},
{
"pattern": ".hermes/**",
"reason": "runtime, generated, sensitive, historical, or machine-local material is not copied into module source"
},
{
"pattern": ".hermes_tmp/**",
"reason": "runtime, generated, sensitive, historical, or machine-local material is not copied into module source"
},
{
"pattern": "_tmp/**",
"reason": "runtime, generated, sensitive, historical, or machine-local material is not copied into module source"
},
{
"pattern": "shared-data/**",
"reason": "runtime, generated, sensitive, historical, or machine-local material is not copied into module source"
},
{
"pattern": "orchestrator/state.db*",
"reason": "runtime, generated, sensitive, historical, or machine-local material is not copied into module source"
},
{
"pattern": "memory/**",
"reason": "runtime, generated, sensitive, historical, or machine-local material is not copied into module source"
},
{
"pattern": "orchestrator/scripts/config_*.json",
"reason": "runtime, generated, sensitive, historical, or machine-local material is not copied into module source"
},
{
"pattern": "orchestrator/scripts/config_jd.local.json",
"reason": "runtime, generated, sensitive, historical, or machine-local material is not copied into module source"
}
],
"snapshot": "current-filesystem"
}
+38
View File
@@ -0,0 +1,38 @@
{
"schema_version": 2,
"workflows": [
{"id":"content.metrics.daily","module":"content_marketing","trigger":"scheduled","execution":{"entry":"data/tools/daily_run.bat"},"provenance":{"source_project":"content","task_name":"YingxiaoYunying_DailyRun"}},
{"id":"content.marketing_report.daily","module":"content_marketing","trigger":"scheduled","execution":{"entry":"data/tools/daily_marketing_report.bat"},"provenance":{"source_project":"content","task_name":"YingxiaoYunying_DailyMarketingReport"}},
{"id":"content.relogin.weekly","module":"content_marketing","trigger":"scheduled","execution":{"entry":"data/tools/friday_relogin.bat"},"provenance":{"source_project":"content","task_name":"YingxiaoYunying_FridayRelogin"}},
{"id":"content.self_operated.weekly","module":"content_marketing","trigger":"scheduled","execution":{"entry":"data/tools/monday_self_run.bat"},"provenance":{"source_project":"content","task_name":"YingxiaoYunying_MondaySelf"}},
{"id":"content.creator_report.monthly","module":"content_marketing","trigger":"scheduled","execution":{"entry":"data/tools/monthly_creator_report.bat"},"provenance":{"source_project":"content","task_name":"YingxiaoYunying_MonthlyCreatorReport"}},
{"id":"content.summary.monthly","module":"content_marketing","trigger":"scheduled","execution":{"entry":"data/tools/monthly_summary.bat"},"provenance":{"source_project":"content","task_name":"YingxiaoYunying_MonthlySummary"}},
{"id":"content.cooperations.daily","module":"content_marketing","trigger":"scheduled","execution":{"entry":"data/tools/sync_cooperations.bat"},"provenance":{"source_project":"content","task_name":"YingxiaoYunying_SyncCooperations"}},
{"id":"content.comments.weekly","module":"content_marketing","trigger":"scheduled","execution":{"entry":"data/tools/weekly_comment_scrape.bat"},"provenance":{"source_project":"content","task_name":"YingxiaoYunying_WeeklyCommentScrape"}},
{"id":"content.summary.weekly","module":"content_marketing","trigger":"scheduled","execution":{"entry":"data/tools/weekly_summary.bat"},"provenance":{"source_project":"content","task_name":"YingxiaoYunying_WeeklySummary"}},
{"id":"shop.metrics.weekly","module":"shop_intelligence","trigger":"scheduled","execution":{"entry":"runners/run_shop.py"},"provenance":{"source_project":"shop","task_name":"shop-data-collection"}},
{"id":"shop.competitor.weekly","module":"shop_intelligence","trigger":"scheduled","execution":{"entry":"runners/run_peer_store.py"},"provenance":{"source_project":"shop","task_name":"peer-store-data-collection"}},
{"id":"product.persona.daily","module":"product_commerce","trigger":"scheduled","execution":{"entry":"run_daily_persona.py"},"provenance":{"source_project":"product","task_name":"PersonaDailyCollect"}},
{"id":"product.daily","module":"product_commerce","trigger":"scheduled","execution":{"entry":"orchestrate_daily_collection.py","args":["--stages","collect,analyze,export,insert"]},"provenance":{"source_project":"product","task_name":"ProductCollectorDailyCollect"}},
{"id":"product.alert.daily","module":"product_commerce","trigger":"scheduled","execution":{"entry":"commands/run_alerts.py"},"provenance":{"source_project":"product","task_name":"ProductCollectorSalesAlert"}},
{"id":"product.import.daily","module":"product_commerce","trigger":"scheduled","execution":{"entry":"commands/import_daily.py"},"provenance":{"source_project":"product","task_name":"ProductDailyImport"}},
{"id":"product.style_analysis.interval","module":"product_commerce","trigger":"scheduled","execution":{"entry":"analyze_style_with_hermes.py","args":["--all-styles","--days","3","--min-interval-days","3","--skip-existing"]},"provenance":{"source_project":"product","task_name":"StyleAnalysisEvery3Days"}},
{"id":"product.main_image.jd.weekly","module":"product_commerce","trigger":"scheduled","execution":{"entry":"run_weekly_jd_main_image.py","args":["--headless"]},"provenance":{"source_project":"product","task_name":"WeeklyJdMainImageCollect"}},
{"id":"product.main_image.weekly","module":"product_commerce","trigger":"scheduled","execution":{"entry":"run_weekly_main_image.py","args":["--headless"]},"provenance":{"source_project":"product","task_name":"WeeklyMainImageCollect"}},
{"id":"supply.purchase_confirmation.daily","module":"supply_chain","trigger":"scheduled","execution":{"entry":"run.py","args":["mcp-run","purchase-confirmation"]},"provenance":{"source_project":"supply","task_name":"auto-flow-purchase-confirmation"}},
{"id":"supply.replenishment.weekly","module":"supply_chain","trigger":"scheduled","execution":{"entry":"run.py","args":["mcp-run","replenishment"]},"provenance":{"source_project":"supply","task_name":"auto-flow-replenishment"}},
{"id":"supply.replenishment_alert.daily","module":"supply_chain","trigger":"scheduled","execution":{"entry":"run.py","args":["mcp-run","replenishment-alert"]},"provenance":{"source_project":"supply","task_name":"auto-flow-replenishment-alert"}},
{"id":"content.mapping.refresh","module":"content_marketing","trigger":"manual","execution":{"entry":"data/tools/rebuild_mapping.py"},"provenance":{"source_project":"content"}},
{"id":"content.retry_failed","module":"content_marketing","trigger":"manual","execution":{"entry":"data/tools/retry_failed.py"},"provenance":{"source_project":"content"}},
{"id":"content.metrics.backfill","module":"content_marketing","trigger":"manual","execution":{"entry":"data/tools/daily_run_with_backfill.bat"},"provenance":{"source_project":"content"}},
{"id":"product.backfill","module":"product_commerce","trigger":"manual","execution":{"entry":"backfill_collect.py"},"provenance":{"source_project":"product"}},
{"id":"product.market_rank","module":"product_commerce","trigger":"manual","execution":{"entry":"orchestrate_market_rank_collection.py"},"provenance":{"source_project":"product"},"note":"A launcher exists but no matching system task is registered."},
{"id":"product.review_collection","module":"product_commerce","trigger":"manual","execution":{"entry":"orchestrate_review_collection.py"},"provenance":{"source_project":"product"}},
{"id":"supply.purchase_order_update","module":"supply_chain","trigger":"manual","execution":{"entry":"run.py","args":["mcp-run","purchase-order-update"]},"provenance":{"source_project":"supply"}},
{"id":"product.weekly_aggregate.documented_missing","module":"product_commerce","trigger":"unavailable","execution":{"entry":"run_weekly_collect.py"},"provenance":{"source_project":"product"},"note":"Documented in README but the entry file and scheduled task are absent."}
]
}