{ "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/bilibili_comment_scraper.py", "source_sha256": "c7f116f30889125c668e7f4dd796e7249ba7ea8621d5ab5fb518028f56c7f8dc", "target_sha256": "109a01a6dc2b79261cff68ff42818a7561f3319b6be3788d9300bb5ce0217a96", "transformed": true, "category": "source" }, { "source_relative_path": "bilibili_scraper.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/bilibili_scraper.py", "source_sha256": "c3df15f317ce073f84a59609f83e2723a21a43e37cfcfc2f17b3cbf3a17df73e", "target_sha256": "c6c985c860f0b9ab742a66786fb3576a71767bbf897969d9539d7c780303a201", "transformed": true, "category": "source" }, { "source_relative_path": "chanmama_scraper.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/chanmama_scraper.py", "source_sha256": "2edc26879b57d73ec5992c80e5ef74d76a509f09bff7284b1ae17e90df543e07", "target_sha256": "72634b4f042f8506bcccadf4512dcbe9f92e9aced3e9b1fc7718483b7c802ebf", "transformed": true, "category": "source" }, { "source_relative_path": "collection_completeness.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/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/creator_task_grouping.py", "source_sha256": "d4ef307039726b325bbb1267d6e711bdb1c254f06cdbc967c8b4878dfdd7bad8", "target_sha256": "d4ef307039726b325bbb1267d6e711bdb1c254f06cdbc967c8b4878dfdd7bad8", "transformed": false, "category": "source" }, { "source_relative_path": "daily_creator_exposure_scope.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/daily_creator_exposure_scope.py", "source_sha256": "3aa717f29032bcbb8517bdce6b0896e80acd3337780c2e54192b439230b13281", "target_sha256": "c3d01d557f3979940b14d5dbe2bfe78f81ee588240c0bf940cabaccaae199338", "transformed": true, "category": "source" }, { "source_relative_path": "daily_marketing_report.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/daily_marketing_report.py", "source_sha256": "b59252594c7d3c0fd1473d14611346e4b64672ef6c263fea8a2da53017ab8675", "target_sha256": "78fb871c14eb73ec3e0d0986554cad318f8a0ee8a66c2a0981f02a65cded8a26", "transformed": true, "category": "source" }, { "source_relative_path": "data/config/analyze.env.example", "target_relative_path": "src/gyxx_flow/modules/content_marketing/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/data/config/db.env.example", "source_sha256": "15f9f181ecae6dfc4eedb03a18ed3379ac8a55b83a32ee169b339427acb712d7", "target_sha256": "52cd5399aa602b6e6a5d20c32ec0a92a93d9e60953158caf53a5a3d13e5a1a4e", "transformed": true, "category": "config" }, { "source_relative_path": "data/config/款式_多维表格_对照.json", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/config/款式_多维表格_对照.json", "source_sha256": "6cf1771833e4cf0e3065ff24aab15389f91439b3d63a4ab8c0a38cb61d569dfd", "target_sha256": "96e2793cfae6f068ec8fe65f67b4074a414d1d17bc49ebb2c969cd8a69c0cd00", "transformed": true, "category": "config" }, { "source_relative_path": "data/config/款式_多维表格_对照_自营.json", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/config/款式_多维表格_对照_自营.json", "source_sha256": "24752e0628d5888abb8c9afe33e01839aaa40d870d5d78862771db01342ccc22", "target_sha256": "f844f69e09f5c2248414f54df1d1eaf2e04538c2b33c1f02834b8046bf5f02b7", "transformed": true, "category": "config" }, { "source_relative_path": "data/tools/analyze_comments.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/analyze_comments.py", "source_sha256": "61677e64d3e864b73573e3e59b7a247bcfddcde93f78f81a20ee27257c326107", "target_sha256": "bf47911ae7c47510262618ea8698813013555a5c40c19c89c56225cfb207825b", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/analyze_note.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/analyze_note.py", "source_sha256": "f9a71dcd34657d3e70af84160bd04afa73325c9ddeee0e669d98d6758ed6b13e", "target_sha256": "3c62dcac6e5c877c1a5b55f4960244052a124c2e50c61571cc726d2ca916109b", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/batch_rescrape_bilibili.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/batch_rescrape_bilibili.py", "source_sha256": "5b07fe27f1b76714ca3f3feae34e3d719277ed0cfe124d76cacd8e3c904b1fca", "target_sha256": "10e5dee90c591201daa7a7b0eb13a40ed1c97d7d51b1b93ef8f1d5d4b8e09580", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/batch_rescrape_douyin.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/batch_rescrape_douyin.py", "source_sha256": "15b1438513f8216a6c7a103744e8a1ca6bc63b32c111d7c9bce31c18be9e84a6", "target_sha256": "3233a7840e07a87535a8df065562a7cb681dbc140e002d82970598de3d9768cf", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/batch_rescrape_xiaohongshu.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/batch_rescrape_xiaohongshu.py", "source_sha256": "6d85f7dfd52c7a92b951ac29e7ee3377aebdb743af2a362d1f38366188dcad08", "target_sha256": "01be5d1ba260ccd46e01b9e72b6f7dd3d08577615455fc9010de4efe8a710aea", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/check_id_filled.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/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/data/tools/check_status.py", "source_sha256": "b8aff93d9a4925bda966f1b458f974131827b59a62e85b73a10bac9d6afee072", "target_sha256": "376a2201912f524aab55eaae32ef889dacbb5fcbb332be14094d0d7c75d92dbb", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/collect_note_metrics.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/collect_note_metrics.py", "source_sha256": "30f40ae47baaf520001a20a0f1ef85472a999fca69127ad06d07bd697d3353bc", "target_sha256": "406c4f8f7c5cae02aa9993143d8101651e39d6ba542c2ae4286424e0c29b55e7", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/daily_dashboard_analytics.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/daily_dashboard_analytics.py", "source_sha256": "7f50c79d8ffe8d744627d5102305868b49076333ef8dfec5cea14c4f5db5d5a6", "target_sha256": "5c73287ed0e860c377859a918beb05b4f2a1ecba0c011c417c1a6d6a2243f7f8", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/daily_report_card.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/daily_report_card.py", "source_sha256": "a34523c07478a61044811c153835a73bbe03f2b69b841499c85d050e6064ac3c", "target_sha256": "fd13143a85d99fbcc2fccca1793e1a419ee74b33f9d49a00f23f872663890133", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/daily_report_charts.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/daily_report_charts.py", "source_sha256": "0fc15ec6114bcd46c51d7e21df23f850943a24acce2df408d795f077241c7ec4", "target_sha256": "90f5033cf7550241c6891b5927cf1b1811bb65913aa8a8793db4571bbe71897b", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/db.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/db.py", "source_sha256": "83f158a78841244c1f02255d1500018b5a9dbe1f282cbdb937acc344b08abc25", "target_sha256": "62ffad854cc2bc3a3ae4f2a28b4ee345bc9eecf72101b647c3aa165c691b456a", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/feishu_comment_batch.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/feishu_comment_batch.py", "source_sha256": "2b04fde410eec1dece0b995d0b74bfad4bdc1a53669f19ead2a6fc13ecdd00b7", "target_sha256": "598a26e1dcc65702ad154ec3dcc84b4d5c8fecf45196e7e8301ca5b77544ae23", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/feishu_doc_writer.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/feishu_doc_writer.py", "source_sha256": "0ec54d855ae842b52d0897c782d2f4d9d696182bc6b8ffaf2e7973b615ac814f", "target_sha256": "4a24f87b487681edd8b684b1abe375fa134588a4a115f7f652d3ad462ee00e6b", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/friday_relogin_parallel.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/friday_relogin_parallel.py", "source_sha256": "affed4ab6e5e179c85dc92999502b98e007c71243ed26977b3c5eeba23b9e3dc", "target_sha256": "438bedfb874c7eb566e1998815a22ca72b7d177cee221fd39625a96872bd450b", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/generate_creator_report.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/generate_creator_report.py", "source_sha256": "ceb74e953d02a0b4275380117b19e564c0057625d3b5eda626bc3ca780f25542", "target_sha256": "29f916d0bbb4eb0202663c20299e54b7d3dfadcaa508132ab052a53a0a70212d", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/init_db.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/init_db.py", "source_sha256": "5dd41fcd437d957b24ecaf4579672dd2317145b44c44bbe308fdcfa8a94ec667", "target_sha256": "8c1f5336c42ca9be00eff79adc319f62b85234cdbd6089317672be6cc91bedb1", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/migrations/001_creators_and_cooperations.sql", "target_relative_path": "src/gyxx_flow/modules/content_marketing/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/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/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/data/tools/migrations/005_style_product_profile.sql", "source_sha256": "8f9c4d25681e84e582d3cdcd9108ebb16c2f5b777b766a5c3653a21c0baf6d91", "target_sha256": "8f9c4d25681e84e582d3cdcd9108ebb16c2f5b777b766a5c3653a21c0baf6d91", "transformed": false, "category": "sql" }, { "source_relative_path": "data/tools/migrations/006_note_inventory.sql", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/migrations/006_note_inventory.sql", "source_sha256": "d013841571f272e6013893d2bb455578bdba83141c80d97aec42eda8a87bdf3b", "target_sha256": "d013841571f272e6013893d2bb455578bdba83141c80d97aec42eda8a87bdf3b", "transformed": false, "category": "sql" }, { "source_relative_path": "data/tools/pull_all_tables.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/pull_all_tables.py", "source_sha256": "be331541a235be1ffb0f1d2f8583d2f5a7aa66ac324631ec6adeb0aaf988dd0c", "target_sha256": "59e57a1ce9ff0b5e8ef78e60778a46ce69ba2edc215d301b5059113847619e71", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/rebuild_mapping.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/rebuild_mapping.py", "source_sha256": "fe946418ebeb30d982ed667c4b7b08052a3fe9aba291eb62c1e726dc53854a3c", "target_sha256": "9c5cd95826e28e535d9dc421d1ebaf51644688804ef5b31a31ab0d6fa67fd394", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/refresh_self_mapping.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/refresh_self_mapping.py", "source_sha256": "c83ca6e10677fe6c09cb46c0d9a9a785b5c2ee6f9ac7fa3fd82438bd9f4fee7a", "target_sha256": "ae5805ffd37dd728f035c3126b789d54d230fb4f916321b598abd4e31fc96816", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/relogin_bilibili.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/relogin_bilibili.py", "source_sha256": "b8dc12539bcd6f1a368d50ead1f5d33d6577a75c92f0b7bafa75a67edd7a73fa", "target_sha256": "d47f26f62fbe3262128327b916151385e527125a18f27f7455b8382aa5a77ecb", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/relogin_douyin.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/relogin_douyin.py", "source_sha256": "3c2017f8a801528ff17e4c4bae24615256b8788c185f9a797fe87470e35b1645", "target_sha256": "82a0ecf4101f2eaded94cc4cd9054cb08e1e27519a58cfc0d3126888cc1ce5d4", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/relogin_pgy.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/relogin_pgy.py", "source_sha256": "759c6a68a0851b4c87d8febfc5d94925831a3b2d7cdf1e6a6e74dcd52b83ae3f", "target_sha256": "d75697ae2b6ac1f23bb79077a4df0af33113813a46525a6f3980b04391857cac", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/relogin_transaction.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/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/data/tools/relogin_xiaohongshu.py", "source_sha256": "fcdea30adecb066c4f3699ded457df0bc763d978248276ddbffa9f18bc9bdf2c", "target_sha256": "e700dd57e5cf87d68529bcd6c062e73d6bd9f1e6ef06ef3122e2b16c288aaf1a", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/relogin_xingtu.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/relogin_xingtu.py", "source_sha256": "c9d434cb02a57ebd7b884598563077d733d56e45dad59ed30774eb7e1c668cb0", "target_sha256": "06ec1088677d69511057008acb2b05cca2da015a8219aee10bf19bbae3c25d79", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/retry_failed.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/retry_failed.py", "source_sha256": "90c6dbc47317cc48e28071d452d75c95913138fc885a5963f9eb58986cd99086", "target_sha256": "b4c85e8319bfd0a3071ffdfaff05ea030e426cb3d384a978fdc4d14545ccd679", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/schema_gyxx_super_data.sql", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/schema_gyxx_super_data.sql", "source_sha256": "43d202d7d0452b7d0671ee9c40149c21328db4b2863fa4d030af456f89defe3c", "target_sha256": "43d202d7d0452b7d0671ee9c40149c21328db4b2863fa4d030af456f89defe3c", "transformed": true, "category": "sql" }, { "source_relative_path": "data/tools/style_analyzer.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/style_analyzer.py", "source_sha256": "f58aa4ed597c225dcc105fad712e28c2c60a7dcd3edc93cf29b905c3d9e7e3c9", "target_sha256": "5e6d1a19cb749d788596e28d42a397fd93e57b81c7cc29edc3ae42546e59e901", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/sync_metrics_to_cmt_notes.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/sync_metrics_to_cmt_notes.py", "source_sha256": "3b97cab0740c5c97b47a0fbe763acb5391d7c8e47c95f4675720b4f716f6432f", "target_sha256": "4e630a79bd2a9742ad19d1955b88f3f12cc7e741b445196e53c07440c0f3749d", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/sync_style_categories.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/sync_style_categories.py", "source_sha256": "931e70550275ffb33161bbc4cbe527d5b8eff49b4265fda53aa9a5f46947f204", "target_sha256": "f0c238dfef078297d48086118c06101eba581a4026fe078b3258fe5700b9d0b6", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/v2_filename.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/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/data/tools/validate_mapping.py", "source_sha256": "1e5b792da893b7dd1a29d6f6a73146a4d25079ac8bf37cf15ab4816d64d72cfe", "target_sha256": "379276a67718cf1baced677135bb2880d1072574479fcbc66598093a760a274a", "transformed": true, "category": "tool" }, { "source_relative_path": "data/tools/write_notes_to_doc.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/write_notes_to_doc.py", "source_sha256": "7c2eec1d8e89d9eb4c90e7cb4903eb50233c5b6932c18c727bbc2d211828230d", "target_sha256": "a1f9985ed6fb21f00be7a7acf6c0c57d83cd36a25a828a4dd54572a01411d3a8", "transformed": true, "category": "tool" }, { "source_relative_path": "douyin_comment_scraper.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/douyin_comment_scraper.py", "source_sha256": "ec785ead9c95c5de65c00b06212b1f03d0159fed475a95a2b593d3b24e486e43", "target_sha256": "e36ec226b06bae4940f0d2432ae7de0d9a0b56199ab6cd8ee7d34fbfc060ec51", "transformed": true, "category": "source" }, { "source_relative_path": "feishu_mapping.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/feishu_mapping.py", "source_sha256": "d389fd59f5e49208ffa12d04c1ca6202f51dc5d89321a50e52fadad747239749", "target_sha256": "56af85da94c8eff1f1e0c27f13df56860cc959328524a059b6a374d55eb32e20", "transformed": true, "category": "source" }, { "source_relative_path": "login_helper.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/login_helper.py", "source_sha256": "15c2563e224b7d8e6eb6ba40eb5da8f91125fb6d99f11e6bd028c0dd546812ac", "target_sha256": "1ab830a6d868bcd786ead95ea93620136b6a5477f025a9f1b3f94e208cd0d85a", "transformed": true, "category": "source" }, { "source_relative_path": "monthly_summary_all.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/monthly_summary_all.py", "source_sha256": "50f18d62e8fb1a7c8a04dc746326a4763f64ba4b99b29a6fda5878aa05f290fa", "target_sha256": "ea2729e1976426d497b69006c63b5ba7d74ce530731efa5a2946a4671593aed7", "transformed": true, "category": "source" }, { "source_relative_path": "pgy_xhs_scraper.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/pgy_xhs_scraper.py", "source_sha256": "7d9cd66b80cf602127541cfdd9589f2d8870ca4a25bac3587478482064aae8f4", "target_sha256": "c1ee83cc68464d5b0b33e010b388abd2adab8a6608846b47d509e9ea0a783f81", "transformed": true, "category": "source" }, { "source_relative_path": "pgy_xhs_scraper_v2.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/pgy_xhs_scraper_v2.py", "source_sha256": "2be78ef76df38e80da2099a76e6e3fd9dcdc2e8875afb44279f54003ccb5f563", "target_sha256": "21c3647faa01a335af2c5984f87bc0d8968361cae73352146279bd9027e82c5f", "transformed": true, "category": "source" }, { "source_relative_path": "requirements.txt", "target_relative_path": "src/gyxx_flow/modules/content_marketing/requirements.txt", "source_sha256": "64250b6eb39be48a87fcd79cd962306eb825d8c302f0c3f5f73d79928be602ad", "target_sha256": "703a190b03c28bce765367f8fb92a09cfde068cbbfced13f32dba4444f7fcd7b", "transformed": true, "category": "dependency" }, { "source_relative_path": "run_all.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/run_all.py", "source_sha256": "7a2529b1d043297171aeb88518fac8753234540992042f922172219b2b233dd4", "target_sha256": "0ea60854f1bb1ca293a073c57c9e19a1aa9c5710ff9575dc7c430c4e480525d9", "transformed": true, "category": "source" }, { "source_relative_path": "self_bilibili_scraper.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/self_bilibili_scraper.py", "source_sha256": "2ef650a16dde61697101bb219a8c3adcd682fec1529bb9c5312dc5b384d83a72", "target_sha256": "42e6b9ac81077b37ff4607b3565d98cac1027eff3ac39a8776e640503d590820", "transformed": true, "category": "source" }, { "source_relative_path": "self_douyin_scraper.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/self_douyin_scraper.py", "source_sha256": "4aba1264dee052521e5712d7219916e534db5705e3cec75caaa1b025a4bc2506", "target_sha256": "62307df115c8d7336b470baba074163ab3f3468bae8b0af266af370e2e42d9f1", "transformed": true, "category": "source" }, { "source_relative_path": "weekly_summary_all.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/weekly_summary_all.py", "source_sha256": "b93c04c543a8c65418ec122a2713239d0ed857bc169b87ef718cf73348c189b0", "target_sha256": "a5c866d0720f20fe78bf8f8039a24101fc58e3a81fb107beb7f6499e9782d559", "transformed": true, "category": "source" }, { "source_relative_path": "weekly_summary_xingyun2.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/weekly_summary_xingyun2.py", "source_sha256": "637361e637e357c5727b9eb5bc7a8fa2eb0e67f819d81aef51672e54a4301d33", "target_sha256": "d240e648ab46175afd07edbdaa81d6b1fd17a3e0c20d69e5668a5fb290c1294d", "transformed": true, "category": "source" }, { "source_relative_path": "xiaohongshu_comment_scraper.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/xiaohongshu_comment_scraper.py", "source_sha256": "58bc07bb2fd67897e18a9981f931df8fadf24a6cc5f09d55bd3aaa2e3c6756a4", "target_sha256": "5e1e306cb1a089c187dc31bc598939304990b3039a5eb91d9da8a71a023b6e69", "transformed": true, "category": "source" }, { "source_relative_path": "xingtu_scraper.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/xingtu_scraper.py", "source_sha256": "a5f101bf7bbd0f3475491eaadb5e42467f3bf3e8c79de343642e6b5b0c5ccfa9", "target_sha256": "a52933b0863416b170ef3805cafe678cda8b86e9656c06d009d8b8a4bb551404", "transformed": true, "category": "source" }, { "source_relative_path": "xingtu_scraper_v2.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/xingtu_scraper_v2.py", "source_sha256": "0d4eb87779064e13b8d78daa6dba13698f1149a26b3a1de2e064c117a29cf49a", "target_sha256": "e694f3ca9126a99123d0941068dbd102f0fdb4b84160ebdbb51cd56c3f3aa32a", "transformed": true, "category": "source" }, { "source_relative_path": "data/tools/sync_notes_master.py", "target_relative_path": "src/gyxx_flow/modules/content_marketing/data/tools/sync_notes_master.py", "source_sha256": "94edc9b55bfc0106101af30897a68b4f0513d04b8ed4a07a99daf6fce5447f45", "target_sha256": "2d90abb7e73ec420bdfdb03fba01ec497e6c2a5fd3b7c1fe8848e486da08f2f8", "transformed": true, "category": "tool" } ], "intentionally_excluded": [ { "pattern": ".gitignore", "category": "vcs", "reason": "source-project ignore rules are not module runtime source" }, { "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" }, { "pattern": "tests/**", "category": "test", "reason": "tests live in the repository test suite and are not production source-sync entries" }, { "pattern": "**/*.bat", "category": "legacy-launcher", "reason": "Windows batch launchers are archived history; production scheduling uses Python" }, { "pattern": "**/*.ps1", "category": "legacy-launcher", "reason": "Windows PowerShell launchers are archived history; production scheduling uses Python" } ], "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 source and tools with portable 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_paths.py", "target_sha256": "417848beffe8768c51e83af07eac91bf090d2301d8ff120316db8b86a441f4f3", "category": "compatibility", "reason": "single portable module/data path boundary retained after flattening" } ] }