{ "schema_version": 1, "module": "product_commerce", "snapshot": "current-filesystem", "files": [ { "category": "production_source", "source_sha256": "071286d2fb8b0516f0f22f0d088eda9e4a85ae4227619eb1217087ad0dbe3db6", "target_sha256": "9ef81a11dcd622aa89fe846fccffe858b740621a4b19ba780910f120391eaae8", "transformed": true, "source_relative_path": "aggregate_daily_final.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/aggregate_daily_final.py" }, { "category": "production_source", "source_sha256": "cff768f79672cfc7db7f6866caf5ab59936b8c51eb2a7d729b81441940124512", "target_sha256": "7b4da4f51cd0945bb9ad144aead5ff96e197fdacc7a3c065e6102e833161992a", "transformed": true, "source_relative_path": "analyze_style_with_hermes.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/analyze_style.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/backfill_poseidon_sales.py" }, { "category": "production_source", "source_sha256": "4d24f0e0cc65be9c2f6ce4047817794a520801f4e6563fbae2c3174c3d411d72", "target_sha256": "66c61171de848eadd81d4a1da1a5f604feebdba5a5144b3dca5baea50d7c1cec", "transformed": true, "source_relative_path": "backfill_collect.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/backfill_collect.py" }, { "category": "production_source", "source_sha256": "d8c093315dfc7825459d0590bf1b19ca2838085b8de4bba2bbd0a18e28bda994", "target_sha256": "0feb340729d5b59a8cd49b24f3c89712c66a4d4ce789bae7b8ed221d1ad2a8b6", "transformed": true, "source_relative_path": "backfill_one_day.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/backfill_one_day.py" }, { "category": "production_source", "source_sha256": "6fb7cd48665c8cb7cf40dd69693408047a85a6abba3cbd410b4e5e9a9a55e9ba", "target_sha256": "72b099e6fa3bc12400f2a635abdeb2e150fc8e69bd2268f5d733cdd27f0dc1c8", "transformed": true, "source_relative_path": "check_nine_day_decline.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/check_nine_day_decline.py" }, { "category": "production_source", "source_sha256": "1493dbbfb3d864812df378d04d006e7de0f9ec4b6ab5812e5c6970c304c2dfe6", "target_sha256": "2d5a6a7bea5e21a5af5f7cdde287acd5b9e7e375469e6d6f85c15aab1cc31d8e", "transformed": true, "source_relative_path": "collect_dy_market_rank.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/collect_dy_market_rank.py" }, { "category": "production_source", "source_sha256": "abd4c82cbd6c41e111e213c174d2fdeba1214568496eaf1dede24bf374b3b052", "target_sha256": "523027ccd4e31bd276bfba3e8944bf43e0e1e67efc0921ef5c72b8bfa4287c28", "transformed": true, "source_relative_path": "collect_dy_persona_to_bitable.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/collect_dy_persona_to_bitable.py" }, { "category": "production_source", "source_sha256": "c7b54d941ab7f056e2d0ea4355543ff4a5c34ad986c8ed32145e988ac9501ea2", "target_sha256": "75cd142aefad9ea54a61e8e11a72e9535ee3a71a0c7b0025a8d030a0a0c0d430", "transformed": true, "source_relative_path": "collect_erp_yesterday_metrics.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/collect_erp_yesterday_metrics.py" }, { "category": "production_source", "source_sha256": "8bb1f17f90a7b9c2db5dfb992cf746329892d19c00ae2ae988e2109c049598b2", "target_sha256": "5f9a754f2293b8b35ce5214ae930350b67abe4d10b8e702b06b68c9c9a4d2d9a", "transformed": true, "source_relative_path": "collect_jd_market_rank.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/collect_jd_market_rank.py" }, { "category": "production_source", "source_sha256": "f9a48c5f89b18472dc3993e340ad858bfecb2fcf59427c7e70db37512c17a6f7", "target_sha256": "17064990b7080969e1907f2e2ae9cf1f49267936746b6db6e6e1a3a689e1b501", "transformed": true, "source_relative_path": "collect_jd_persona_to_bitable.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/collect_jd_persona_to_bitable.py" }, { "category": "production_source", "source_sha256": "3c1858a6ab4f7ce480b3a5f2076e6ec79400e9bfaa75377488c3629e707c7963", "target_sha256": "0d2981d17c86c1881c86810aaf63bfd0261de03bc94d91eaa1b42a66953d3f3e", "transformed": true, "source_relative_path": "collect_persona_to_bitable.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/collect_persona_to_bitable.py" }, { "category": "production_source", "source_sha256": "e93c0a1b579370a66d9e05077e20c9ef015ebf521d58b2f6e88bc00bfc7706a2", "target_sha256": "28547274719cba60ed61639bd57491d1405b79f3c81ea61a3a320830f579bbe9", "transformed": true, "source_relative_path": "collect_retry_utils.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/collect_retry_utils.py" }, { "category": "production_source", "source_sha256": "13b6e68b4872b2e79c1de8ca1617cc4f1249f4ed32f234ad6efb7a04f5948612", "target_sha256": "fb120e9501a1220c3746e0f78a9f639e732764e21b122bf532c0fdea03ec6ed7", "transformed": true, "source_relative_path": "collect_sycm_market_rank.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/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/config/__init__.py" }, { "category": "production_source", "source_sha256": "22dcc9d8b2f1cf598a62e4c71df765a952250694cb26b9a73f477c5ca1a29884", "target_sha256": "e41bc1de359b8f18c25ee38068ab550e5dbbf5c20712d19723915d669f02d6ac", "transformed": true, "source_relative_path": "config/style_config_loader.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/config/style_config_loader.py" }, { "category": "production_source", "source_sha256": "a8900b9f25db6cf2bef3117a1d2cd86283054fea6f5a8590fd91b5cfbbcaf87e", "target_sha256": "7fd65a5b993b5a8b7f681b370e4364411252d6a59b22c7d96d71235daa5fce55", "transformed": true, "source_relative_path": "db/__init__.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/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/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/db/sync_sku_master.py" }, { "category": "production_source", "source_sha256": "78c74c0e52e3651b3b042a2095e596ab250e60309c7ae2de905850822aad4922", "target_sha256": "e7377793895b6176a0bd76df0ce6a3d8927c1f2bb4f3c8b4ca47e7d3dd97dd00", "transformed": true, "source_relative_path": "dy_audience_profile_collect.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/dy_audience_profile_collect.py" }, { "category": "production_source", "source_sha256": "492916088fa5e8c170461cc9eba97a88ed1cc1e50c7b99e5f6a5e49167fea157", "target_sha256": "5f621d4003dbb5ed3c8cd58ae813f371bb0c110aa2fbfff0b6ef559b4eb487b1", "transformed": true, "source_relative_path": "dy_product_scraping.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/dy_product_scraping.py" }, { "category": "production_source", "source_sha256": "26f3448e57a08020de0a96d1df3387819afc47f9319b81dbab27f1afc81bfb01", "target_sha256": "536097c7558c2edb33639ab7ada22b266a1fe14341f6972dc53d3708f7b61fc0", "transformed": true, "source_relative_path": "erp_login_product_analysis.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/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/erp_metric_overrides.py" }, { "category": "production_source", "source_sha256": "b828e1ad566b121bd56f90ef5de9d414cbe8575ec747cd26dfa3e4b66b097a9a", "target_sha256": "c87aac33589bffc004eb83c899ca538529ef94afc8be912dbd8c164c87fc2d4f", "transformed": true, "source_relative_path": "export_bitable_records.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/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/feishu_doc_native.py" }, { "category": "production_source", "source_sha256": "906278aa6fb3578d5dab231bdccc2f5a7c6ec8c85810a3e026fff3c7ba16dc90", "target_sha256": "4f627cb824e9747e1436a5469158d62dd2a17b8442fcb45e64144f35618b27dd", "transformed": true, "source_relative_path": "import_product_daily.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/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/import_product_reviews.py" }, { "category": "production_source", "source_sha256": "057a01e8a22cdd2d1806d290da207209954af89f7da6339e9cdcef3bc0297e63", "target_sha256": "0360bd218db1625088663b8ba509b5f53edd09563b71823006f2d46cdd5367ae", "transformed": true, "source_relative_path": "insert_bitable_records.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/insert_bitable_records.py" }, { "category": "production_source", "source_sha256": "e0f016bafb3f527f1cae46eaf3ef31510184128aaaa7f52024a7c3f978eec42b", "target_sha256": "f30caa8e5925ee9d4c5addf3af651c4c79f94d564612922106f8693ecd7addd1", "transformed": true, "source_relative_path": "jd_main_image_collector.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/jd_main_image_collector.py" }, { "category": "production_source", "source_sha256": "d99ce71a008128549ac83fc3da52d88540b74538e3fe5c85d47c3b985e414353", "target_sha256": "3aeec0f04d2d9d7fccf01632503a56066a58716e7dfc953a72241f1857fc8af4", "transformed": true, "source_relative_path": "jd_product_data_collector.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/jd_product_data_collector.py" }, { "category": "production_source", "source_sha256": "314790f06f7b4ebf9b0ddd5681db9c60e79a3ef16f5546d6e8489531a003c545", "target_sha256": "06cac4bc1635268fec6274891a09344715b6dc38b95307b8d5bcf2e6a250bbf0", "transformed": true, "source_relative_path": "jd_self_inventory_sales_collector.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/jd_self_inventory_sales_collector.py" }, { "category": "production_source", "source_sha256": "15ac68801e4b9f677bcb31d8d64158b3eecaaae3f264353345ed6e5d5f404d47", "target_sha256": "6925c930582d4bfcf83909abc67deda4146e4bd888946fc400c254b7d354a081", "transformed": true, "source_relative_path": "lark_cli_runtime.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/lark_cli_runtime.py" }, { "category": "production_source", "source_sha256": "ec447d182cc186d4610cfee6ae4ce9b9dce924d905c07268b06a3a2ea0332801", "target_sha256": "ac171ccbdeab1103936bfef92b7e35675c16268333476d070f50af957de9a211", "transformed": true, "source_relative_path": "main_image_db.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/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/main_image_paths.py" }, { "category": "production_source", "source_sha256": "355f8051935d458703ab1842beefa74ccbb00d0fbc73af4aa6761ee6f3b4b32a", "target_sha256": "cc0750344d5d64d914e622d3ccbcf888905ca86a991d0b7d8280a2b0714b66da", "transformed": true, "source_relative_path": "market_rank_hermes_notification.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/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/market_rank_report_archive.py" }, { "category": "production_source", "source_sha256": "910e720fab4f47419ad56055f00a8c3fbe3a06c2577d81e35d3d38178a588a45", "target_sha256": "1dd67e2fbb95f08a77460c5b9f7a0cd9b51abae3454abe2ce138c257b00fc577", "transformed": true, "source_relative_path": "market_rank_product_import.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/market_rank_product_import.py" }, { "category": "production_source", "source_sha256": "f200d890e62bb9e387949264f5b518ed22c2bb620a60fcd28b673ff3e513c398", "target_sha256": "b6a3ad04efbe9b42a598caeb67f7408171ef1862f146fce4dc3eeb57fb2ce24c", "transformed": true, "source_relative_path": "market_rank_limits.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/market_rank_limits.py" }, { "category": "production_source", "source_sha256": "37edbfa24dfb126d52992b08fd6aeccae3ee18c83db56426a0fb02934e4541ae", "target_sha256": "cade2f855043e05c1e07b86da81c4864a55e90e999e4441804055b2428e1c92f", "transformed": true, "source_relative_path": "orchestrate_daily_collection.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/orchestrate_daily_collection.py" }, { "category": "production_source", "source_sha256": "0ab99843d30156465876e27f339f74f3e48b0d17f75d74cf5bfeedd513aaa787", "target_sha256": "f2035df7c2ea0ed15587656adb76662e2ed5f124cc54accb00eafda620bc44ee", "transformed": true, "source_relative_path": "orchestrate_market_rank_collection.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/orchestrate_market_rank_collection.py" }, { "category": "production_source", "source_sha256": "0d0f2c0a1533a09e698cd23aca42662b309c865659b86f9b9522de8207c3fb8b", "target_sha256": "47b2943790486ae6a1ca36a7e972467b89547f0ef6c37aa673a3733316277ec8", "transformed": true, "source_relative_path": "orchestrate_review_collection.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/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/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/rebuild_market_rank_documents.py" }, { "category": "production_source", "source_sha256": "47c80d311247f0089a9e30b72679f54875e9c750097c3b71d5aa2ae25ab0a134", "target_sha256": "6d7a2951f75e490d019444cb3019f87be26709747c95ae328f2f49c1113803b2", "transformed": true, "source_relative_path": "run_alerts_with_retry.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/run_alerts_with_retry.py" }, { "category": "production_source", "source_sha256": "c9a51f1d1267b398cf260a86e65a8ee49de873d6c95bf9c90db2abb422005cf7", "target_sha256": "9c8f0e7e686d7198bb231f87f85b074a00d0ffebf5d5d6b44582f59dddeb8abf", "transformed": true, "source_relative_path": "run_daily_persona.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/run_daily_persona.py" }, { "category": "production_source", "source_sha256": "27cd730400b954d1a063f034789f0d9a510c711ebda1e2de95e5a0010bd4751f", "target_sha256": "dc9a2413b8aac548debcaf6bc5cafffa29e321ae44bb82d5df360cb02983e931", "transformed": true, "source_relative_path": "run_weekly_jd_main_image.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/run_weekly_jd_main_image.py" }, { "category": "production_source", "source_sha256": "af9b436a31c3454dc6e0b34b77876962dab0b477e8a561db49911fdfc24eade3", "target_sha256": "4e02f2394bf2b9b108104621b7c015e172002e284e0676ef55dd9c02d2346999", "transformed": true, "source_relative_path": "run_weekly_main_image.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/run_weekly_main_image.py" }, { "category": "production_source", "source_sha256": "34d935efb8dff20afd3ab89ef150c5f8db9cee80c6256c7fe4ef0bae2f72ed63", "target_sha256": "787a207a2c8174518a6465587644937ad6d11b1d86b07488e1c86b07e1410171", "transformed": true, "source_relative_path": "scripts/insert_jd_main_image_records.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/scripts/insert_jd_main_image_records.py" }, { "category": "production_source", "source_sha256": "a1b097ead2a3f7e20ca63d7c15828a8d04030b0d6722934c3bf65d9e975fba76", "target_sha256": "a231ccd2efacefca703a975e6c63e05a36c61a3db0975e46b1fab8d983fe84d2", "transformed": true, "source_relative_path": "scripts/insert_main_image_records.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/scripts/insert_main_image_records.py" }, { "category": "production_source", "source_sha256": "b3e9addd72d8e31292ed948b67018aa9e212d628d7ba39141a81116515ca6721", "target_sha256": "a17c6649f4665a09ae1ba0007936546866b2882b5e296733efd99e37d3120b2e", "transformed": true, "source_relative_path": "taobao_dmp_item_crowd_insight_screenshots.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/taobao_dmp_item_crowd_insight_screenshots.py" }, { "category": "production_source", "source_sha256": "4474dd7d68117247af87e20bbeb6b7c072368ef0f606de5d3e186f459d34a0f5", "target_sha256": "7e881c9a62227a3ec81b761067034055c5f79d02bec69bc23434a5f7aa13b72c", "transformed": true, "source_relative_path": "taobao_sycm_collect.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/taobao_sycm_collect.py" }, { "category": "production_source", "source_sha256": "a881b02c903dc83c7f252d7f53fa9cd721fb562c690271788858ca5782427500", "target_sha256": "d8957d1f93f807eadd1dd7c5a095485a83ce4eb492ec6218ab18cc71cb3cc7a7", "transformed": true, "source_relative_path": "taobao_sycm_collect_backfill.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/taobao_sycm_collect_backfill.py" }, { "category": "production_source", "source_sha256": "9cafa62a03316fd0222f63addd5c209bb0c20fd0b7affa69cd1e256abfa2aa3a", "target_sha256": "e20f104a12b1df763b5fde5ef6b8e2536a7801d70049b55cb84143afae21edf5", "transformed": true, "source_relative_path": "taobao_sycm_products.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/taobao_sycm_products.py" }, { "category": "production_source", "source_sha256": "3f0c32c443c87417c43881da69aa7776828ba973465f8d32f50b3dc698b0a4fe", "target_sha256": "8d34bc9ea810b86e87e6f32404fca534a4dd6276012de4b29c385431c4730670", "transformed": true, "source_relative_path": "taobao_wanxiang_ai_creative_report.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/taobao_wanxiang_ai_creative_report.py" }, { "category": "production_source", "source_sha256": "e4d99956d9649d108baeb3e3a2d1969c227622d1037062bd277af66375556d82", "target_sha256": "ee73ae4d58ba164422698e1bd0dd2da8510a5c059b8eb2d107be144a844fee4b", "transformed": true, "source_relative_path": "upload_video_to_guanghe.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/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/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/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/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/vendors/jd-data-flow/collection_progress.py" }, { "category": "production_source", "source_sha256": "ce37281fcd13e9f94e345a3f659baa8a95d7a95c7a61440ab14223e7a61c88ec", "target_sha256": "dbc7982986834ca208ba3bcdc75027da4a81e809a8abbd0ec9d889d161cb4a81", "transformed": true, "source_relative_path": "vendors/jd-data-flow/config.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/vendors/jd-data-flow/config.py" }, { "category": "production_source", "source_sha256": "6daa16c03989fb2231e54545726f5aa488e4ba80b9b8aa6f937cb9a2fa13ff35", "target_sha256": "2080856b1c463a6a11e8e969ef7ff7d0816170402864526c60df026e40c9dd1d", "transformed": true, "source_relative_path": "vendors/jd-data-flow/jd_data_collector.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/vendors/jd-data-flow/jd_data_collector.py" }, { "category": "production_source", "source_sha256": "a53cc38b0ddeaa0065bc27a1d137ce16c2873ff9bec712483ca87bcedd6baa3a", "target_sha256": "122f57cbdb76bbc366cfe93f50d7c6fbefa091b53664958acb2d142fbf2fa6f9", "transformed": true, "source_relative_path": "vendors/jd-data-flow/jd_peer_product_data_collector.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/vendors/jd-data-flow/jd_peer_product_data_collector.py" }, { "category": "production_source", "source_sha256": "fc65c65939c0324cae1555631bbb0d1f7ce852825195ce14322e7002a2479f61", "target_sha256": "0e2cd19895a00a82bd4b82f2d74420e49dd41537b9d3b89a85be3ed22156e572", "transformed": true, "source_relative_path": "vendors/jd-data-flow/jd_product_data_collector.py", "target_relative_path": "src/gyxx_flow/modules/product_commerce/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/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/weekly_aggregate.py" }, { "category": "runtime_resource", "source_sha256": "589679874b75643d69ea44522e2fe40914a396506ff8e3232150d7e2a96ae2f9", "target_sha256": "dbe5760e9cbcaedadf82a2cfd84733a56a12c21e77d00327e95a8a013a5779ad", "transformed": true, "source_relative_path": ".env.example", "target_relative_path": "src/gyxx_flow/modules/product_commerce/.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/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/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/config/auto-flow-config.example.json" }, { "category": "runtime_resource", "source_sha256": "9739407b61842c598491d3189a32f5f15aa944aed79a164a5cd5b5a34f20c746", "target_sha256": "bfb13c05e4a0c7a85238200e026332f55d85a8022012cfab1db0c8514746def8", "transformed": true, "source_relative_path": "db/schema.sql", "target_relative_path": "src/gyxx_flow/modules/product_commerce/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/styles_input.json" }, { "category": "regression_test", "source_sha256": "88988821d581872afe162853c3e4569e373555a6df5bf8cd7724977a1b398396", "target_sha256": "19519af7bfde1b5f62b63801934864c64f1667112c8932d3e6dfacbd387877e8", "transformed": true, "source_relative_path": "tests/test_db_config.py", "target_relative_path": "tests/modules/product_commerce/test_db_config.py" }, { "category": "regression_test", "source_sha256": "1398806a524beaa203df9b27eed7652180c7ac427522220e88905d9cd827457f", "target_sha256": "c87238015ce88743efa88d4977a0c19d9fd03863741ec9cc41b58702702ebdaa", "transformed": true, "source_relative_path": "tests/test_dy_market_rank.py", "target_relative_path": "tests/modules/product_commerce/test_dy_market_rank.py" }, { "category": "regression_test", "source_sha256": "13774e9c788a495f92a251f01ccccda5a826c951ec7f60808ad88adcba787262", "target_sha256": "d62126f38f52b0cb837f2d51e75a2e8ca61154e2aa34b2f55491c8010931b42a", "transformed": true, "source_relative_path": "tests/test_dy_session_reuse.py", "target_relative_path": "tests/modules/product_commerce/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": "tests/modules/product_commerce/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": "tests/modules/product_commerce/test_erp_no_data_freshness.py" }, { "category": "regression_test", "source_sha256": "504a33d68dc28b93d00bdf720a1551048079f76c97e1ad92359709c460d78c68", "target_sha256": "c4570210e36b1bb906d2ea093e9d1f46f7fc9be6dbcc23be9ff45a41c242c103", "transformed": true, "source_relative_path": "tests/test_erp_slow_skip_codes.py", "target_relative_path": "tests/modules/product_commerce/test_erp_slow_skip_codes.py" }, { "category": "regression_test", "source_sha256": "99bf63855624d4f057351d140c6c33179111e8b59f688c3cd75b91fd0b856a5f", "target_sha256": "2e94cd19d59bd4cdf97573be39155abc94f41cd99a789c89592af6ce61a860aa", "transformed": true, "source_relative_path": "tests/test_feishu_doc_native.py", "target_relative_path": "tests/modules/product_commerce/test_feishu_doc_native.py" }, { "category": "regression_test", "source_sha256": "3d348a8250a2910f6a1c6504e9d1e53b0493d40bdc6c1fd1c8d0404c78681dc6", "target_sha256": "dca35f4b197d2a7f77eb14e969e91974210b31100c5e874c842fd8036c4dd6e1", "transformed": true, "source_relative_path": "tests/test_guanghe_metadata.py", "target_relative_path": "tests/modules/product_commerce/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": "tests/modules/product_commerce/test_guanghe_store_routing.py" }, { "category": "regression_test", "source_sha256": "a649d4ee447c41f458a42ca27d288c974188bf30ded33e9157c2b71883c074de", "target_sha256": "7be8ee1cde1d7abae5a84547d0c659328a1262d881515e53c34a7f8ffed614a2", "transformed": true, "source_relative_path": "tests/test_import_product_daily.py", "target_relative_path": "tests/modules/product_commerce/test_import_product_daily.py" }, { "category": "regression_test", "source_sha256": "3c07d95d858c67b9541c0df91735c872a6abcae56dd08cdac209bc92475a413d", "target_sha256": "8b8450b4b004a7913fe4ae5a68d73815e91cce1298113f896b26b0bebe661a99", "transformed": true, "source_relative_path": "tests/test_jd_enter_shangzhi.py", "target_relative_path": "tests/modules/product_commerce/test_jd_enter_shangzhi.py" }, { "category": "regression_test", "source_sha256": "dd82a77378c84cc8921e88ad43a90675bbf1098aaa702e0ffced377a097ce957", "target_sha256": "9729ab00c778db27c7e42f533140661c152ead0140e8114d21d073b404c4aa40", "transformed": true, "source_relative_path": "tests/test_jd_market_rank.py", "target_relative_path": "tests/modules/product_commerce/test_jd_market_rank.py" }, { "category": "regression_test", "source_sha256": "820e17b910b62a213f0bebafcff72998c2c978307c97f976c074276150ce7c6a", "target_sha256": "1159c9e3f0abdf17183e7d6fa2634c508fe8348ce2926e7d3c58e735b713c2e9", "transformed": true, "source_relative_path": "tests/test_main_image_concurrency.py", "target_relative_path": "tests/modules/product_commerce/test_main_image_concurrency.py" }, { "category": "regression_test", "source_sha256": "0f55af81ae11567c3c5d7943ab74598dd994a7ff193a9e98e7024c7dc4a3a769", "target_sha256": "cb7e93c09f9ed7531b4c72b8254f4f3cf9259c89f414ac935c26f359b0da0958", "transformed": true, "source_relative_path": "tests/test_market_rank_hermes_notification.py", "target_relative_path": "tests/modules/product_commerce/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": "tests/modules/product_commerce/test_market_rank_report_archive.py" }, { "category": "regression_test", "source_sha256": "f1e660d34e21d3cd7a26d3605c82d07982ba6c5002af7b56fb6a876cb706713d", "target_sha256": "025e80fce0ec954abb62119b81f96f40ba725f743badccd662d65f50434f903e", "transformed": true, "source_relative_path": "tests/test_market_rank_product_import.py", "target_relative_path": "tests/modules/product_commerce/test_market_rank_product_import.py" }, { "category": "regression_test", "source_sha256": "1e0f8a519ad3ce0079240fa2b6b1d2f2df1b2c0091da89049f7df9aeec660196", "target_sha256": "72b85f901d43f836cdc5e8eabe9d83f67a89f8bbd49ef8c5267f92e3114d28b1", "transformed": true, "source_relative_path": "tests/test_market_rank_limits.py", "target_relative_path": "tests/modules/product_commerce/test_market_rank_limits.py" }, { "category": "regression_test", "source_sha256": "219630aaa213d2a671acf71acb271cb955b860fa56819db4ccbdb4b28a7d3662", "target_sha256": "19dc0504e5ec83495cee8864c92851e621cdb31aeaeb2a1403374f2826e69769", "transformed": true, "source_relative_path": "tests/test_market_rank_workflow.py", "target_relative_path": "tests/modules/product_commerce/test_market_rank_workflow.py" }, { "category": "regression_test", "source_sha256": "e43712d0eba0213044b685c6162da983be91ee083f7b12ec44a61c5525fe9e36", "target_sha256": "fc8deeb6f02ee9492c0938e6c43bd3e32065873173883438a8c6b40dbf32b7cc", "transformed": true, "source_relative_path": "tests/test_persona_launcher.py", "target_relative_path": "tests/modules/product_commerce/test_persona_launcher.py" }, { "category": "regression_test", "source_sha256": "f9cfbb49fd313444790ac194fbf980dae21912081b9f26ad8e3850912126f09e", "target_sha256": "76a0aeecf17ecea039ab4d81457cb2dc2cc0d0d75f54e500ea0f2a00ccce6f45", "transformed": true, "source_relative_path": "tests/test_style_analysis_orchestration.py", "target_relative_path": "tests/modules/product_commerce/test_style_analysis_orchestration.py" }, { "category": "regression_test", "source_sha256": "17761a5ba93a5387ffa67662424955178058aeec708bbcd3eb0341a859d8a1f1", "target_sha256": "b88b52fb5e68f5ee44aa4f9709fbd2c7dae46126b98f76fdfd12615f284f1494", "transformed": true, "source_relative_path": "tests/test_style_config_loader_erp_source.py", "target_relative_path": "tests/modules/product_commerce/test_style_config_loader_erp_source.py" }, { "category": "regression_test", "source_sha256": "55f55a9658453e6751ed055c6b2d1a43538012ce715835bbef59d88203211696", "target_sha256": "5fc5e15e0356b1438ea158ed1d64b769bfaf8c94bfd9f6b3a8d828a15d53c231", "transformed": true, "source_relative_path": "tests/test_tmp_backfill_poseidon_sales.py", "target_relative_path": "tests/modules/product_commerce/test_backfill_poseidon_sales.py" }, { "category": "regression_test", "source_sha256": "3267f9a366af11ad40e8b8bc80d2c42e08b5a7e84e2c71f265c404389c2cb2c3", "target_sha256": "d7687cd7ef58e4fe1a0d03b7f542321652eba2a57bfeaf0b1897a0435a1fb539", "transformed": true, "source_relative_path": "tests/test_sycm_market_rank.py", "target_relative_path": "tests/modules/product_commerce/test_sycm_market_rank.py" }, { "category": "regression_test", "source_sha256": "f7de702d7d1e641c8778970d5cb1f4e827a2e0ee9b20db2c19f0ed4fd8230e16", "target_sha256": "25c72b4256fc4d0485b491fe691d44d78dac926f02316cc4d1b2bb7c3ee536a2", "transformed": true, "source_relative_path": "tests/test_tm_persona_recovery.py", "target_relative_path": "tests/modules/product_commerce/test_tm_persona_recovery.py" }, { "category": "regression_test", "source_sha256": "5598dcbf6d9a30fb3dc4133e983ed78c2860d90162c6f7750509d4533466917a", "target_sha256": "198cb3979b355a81863683dc357f4152afaf331cca963259d4010ba63778b40b", "transformed": true, "source_relative_path": "tests/test_wanxiang_report_template.py", "target_relative_path": "tests/modules/product_commerce/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": "docs/history/product-commerce/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": "docs/history/product-commerce/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": "docs/history/product-commerce/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": "docs/history/product-commerce/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": "docs/history/product-commerce/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": "docs/history/product-commerce/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": "docs/history/product-commerce/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": "docs/history/product-commerce/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": "docs/history/product-commerce/launchers_reference/run_weekly_market_rank.bat" } ], "intentionally_excluded": [ { "pattern": ".gitignore", "reason": "source-project ignore rules are not module runtime source" }, { "pattern": ".chrome-cdp/**", "reason": "browser profile and CDP state are sensitive machine-local data" }, { "pattern": ".claude/**", "reason": "local assistant state is not runtime source" }, { "pattern": ".learnings/**", "reason": "local learning state is not runtime source" }, { "pattern": ".opencode/**", "reason": "local assistant state is not runtime source" }, { "pattern": ".pytest_cache/**", "reason": "generated test cache is not runtime source" }, { "pattern": ".venv/**", "reason": "machine-specific virtual environments are rebuilt" }, { "pattern": "**/__pycache__/**", "reason": "generated Python bytecode cache is not runtime source" }, { "pattern": "data/**", "reason": "collected and generated data is migrated separately from source" }, { "pattern": "debug/**", "reason": "generated debugging artifacts are not production source" }, { "pattern": "docs/**", "reason": "historical planning documents are not runtime dependencies" }, { "pattern": "logs/**", "reason": "generated logs are not runtime source" }, { "pattern": "tmp_videos/**", "reason": "downloaded and transcoded videos are runtime data" }, { "pattern": "*.md", "reason": "root planning and report documents are not runtime source" }, { "pattern": "*.json", "reason": "root payloads and local configuration snapshots are not runtime source" }, { "pattern": "*.log", "reason": "generated root logs are not runtime source" }, { "pattern": "pyproject.toml", "reason": "dependencies are consolidated in the destination project" }, { "pattern": "uv.lock", "reason": "dependencies are consolidated in the destination project lockfile" }, { "source_relative_path": "scripts/inspect_fields.py", "reason": "manual schema diagnostic is not a production runtime entry" }, { "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": "Keep historical launchers under docs and migrated regressions under the repository test tree, outside the production package." }, { "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_paths.py", "purpose": "portable module, data, state, profile, log, temp, vendor, and subprocess path contract", "target_sha256": "31a658a25cfb32b5081580cd1b7c31b75dbb2580c1805b4d4b3f9a8590185cde" } ] } } ] }