wangyunlong
|
6f1c193f4b
|
feat(product-commerce): 款式主键统一 style_id 并下线评价采集
采集端与 data-hub 统一用 style_id (= dim_style.id) 关联款式,style_name 降级为显示冗余。
款式主键:
- 14 张采集表加 style_id BIGINT + style_match_method + *_style_id_idx 索引
- 一律逻辑外键:不建 FOREIGN KEY,早期 10 个 *_style_id_fk 在 schema.sql 里幂等 DROP
- loader 下发 dim_style.id;db 层 attach_style_ids / resolve_style_ids_by_product 兜底
- 新增 backfill_style_id.py 三段回填(款名 / 日报按商品 ID / 广告表按 spu_id)
- 新增视图 v_style_id_coverage、v_style_unmatched_product、v_style_unmatched_source
- 实库补录 199 个商品 ID 到 67 款 spus;日报 style_id 覆盖 49.1% -> 79.0%,
tm 广告 99.4% / jd 92.4% / dy 83.2%,其余 11 张 100%
评价采集下线:
- product_reviews 归档为 product_reviews_archived_20261101
- 差评改由 shop.{tmall,jd,dy}_negative_reviews.daily 采集,消费方读 v_negative_reviews
- 删除 import_product_reviews.py / orchestrate_review_collection.py 及相关命令与绑定
- dy_product_scraping 默认流程摘除评论采集,保留 --reviews-only
天猫广告:
- 迁移到独立表 tm_product_ad_daily_metrics,不再写 product_daily_metrics.raw_data
同批附带:
- 光合上传支持天猫新店 new_bag(仅黑曜石系列)
- 京东商智双月日历排除 -diff-month 补位格
- 万相主体搜索词覆盖 STYLE_SEARCH_KEYWORDS
- ERP 部分编码失败时用已成功编码销量兜底,避免整款归零
|
2026-11-01 16:43:27 +08:00 |
|
wangyunlong
|
622a609800
|
feat(product-commerce): 系列聚合去重与采集开关两层语义
配置来源收敛
- 系列平台编码 tm/jd/dy/jd_self 与 9 类飞书地址改为整系列并集去重后挂锚点,
子款编码保留在 series.platform_ids 备查;多表冲突保留最高优先级并告警
- 写表脚本(当日/天猫主图/京东主图)去掉本地 JSON 回退,地址缺失或读取失败
直接 fail closed,避免库与表地址不一致被静默掩盖
- 测试注入 records_provider 时禁用配置缓存读写,防止假数据写入生产快照
采集开关(dim_style.collect_enabled)
- 锚点为系列总开关:false 则整系列不采
- 锚点为 true 时,子款自身 false 仅把自己的 ERP 编码排除出聚合,其余子款照常
- 排除结果记录在 series.erp_excluded 并在运行时提示
聚水潭全店铺日报防错
- 列布局 fail closed、行 td 数校验、满页判定 + 总页数兜底、值域交叉校验
- 新增单日总量闸:超近 14 天中位数 8 倍拒绝落库
其他
- 新增电商费用归集配置 ad_cost_rollup.json 与积分兑换周报采集
- 店铺情报、供应链到货同步、通知路由与相关配置/文档同步更新
- 忽略本地 dsh workbench 脚手架(含 node_modules)
|
2026-10-30 11:49:31 +08:00 |
|
wangyunlong
|
2f31d5872f
|
chore(product): 废弃并删除 db/sync_sku_master.py
与上一并废弃的 sync_dim_style.py 同类问题,且更彻底:
- 身份列自投影:脚本读 runtime_workflow_configs()(现已直读 dim_style),
再把 jd_spus/dy_spus/tm_spus/jd_self_skus/erp_codes 全量 EXCLUDED 覆盖写回
dim_style。对「同系列只填主款平台编码」的子款,它会走动态配置兜底把旧商品 ID
反写,绕过系列共享规则
- 唯一还写的 bitable_sku_master_url/base/table 是 sales_bitable_url 的副本:
生产库 24 行与 bitable_weekly_* 完全相同、无一行独有,且采集端、data-hub
后端、运维脚本均无任何读取点(data-hub 审计文档标注「flow 只写,全生态不读」)
删除后款式身份的唯一写入口是 data-hub「产品生命进程」建档页。
bitable_sku_master_* 三列保留在库中不删(存量值不动,需要时可低成本恢复)。
- 删除 src/gyxx_flow/modules/product_commerce/db/sync_sku_master.py(170 行)
- 移除 config/runtime-bindings.json 绑定(cdp_port 22071)与 source-manifests 条目
- 测试计数同步:PRODUCTION_PYTHON 64 -> 63,集成绑定 157 -> 156
- docs/dynamic-workflow-config.md 合并两个废弃脚本的说明
验证:tests 根级套件 11 failed / 820 passed / 1 skipped,与改动前一致。
|
2026-10-28 14:51:44 +08:00 |
|
wangyunlong
|
423f8d1f75
|
chore(product): 废弃并删除 db/sync_dim_style.py
采集端运行时身份已改为直接读 dim_style,这个脚本的投影方向变成"自己写自己":
既补不了旧 cmt_styles 台账数据,upsert 又是 EXCLUDED 全量覆盖,跑一次有可能把
空值写回 dim_style。款式新增与改款统一走 data-hub「产品生命进程」建档页。
- 删除 src/gyxx_flow/modules/product_commerce/db/sync_dim_style.py(390 行)
- 移除 config/runtime-bindings.json 绑定(cdp_port 22070)与 source-manifests 条目
- 测试计数同步:PRODUCTION_PYTHON 65 -> 64,集成绑定 158 -> 157
- docs/dynamic-workflow-config.md 补废弃说明;运行时路径图与表说明由 cmt_styles
更正为 dim_style
- db/__init__.py 表来源说明同步
验证:tests 根级套件 11 failed / 820 passed,与改动前完全一致(失败均为清单
sha256 与既有环境问题,非本次引入)。
|
2026-10-28 14:39:50 +08:00 |
|
wangyunlong
|
b1861f69cd
|
chore(workbench): 移除 dsh 工作台集成
工作台以 deepseek-harness 为 agent 底座,把现有工作流以 dsh 插件接入 Web UI。
该路线已停用,移除整个 workbench/ 与配套文档,避免留下点了启动不起来的死入口。
- 删除 workbench/:宿主插件 gyxx-workbench.mjs、侧边栏面板前端、cordis 配置
模板、启动脚本、独立面板与 node 冒烟测试
- 删除 docs/workbench.md 与 README 的「智能工作台」章节
- .gitignore 去掉 workbench 本地产物两条规则
- 基线结构测试的 docs 白名单同步移除 workbench.md
工作流能力不受影响:gyxx console、调度器、运行记录与诊断接口均未改动。
|
2026-10-19 11:19:31 +08:00 |
|
wangyunlong
|
e5761bd828
|
feat(deploy): Windows 自动登录自启脚本与运行手册补章
autologon.ps1 交互输密码启用/撤销 AutoAdminLogon(DefaultPassword 仅
Administrators 可读),补齐「开机自动登录 → Startup keepalive → 控制台+
调度器」自启链唯一缺口;采集依赖 CDP 交互会话,不能用服务/SYSTEM 任务
替代。runbook 增补开机自启与重启验收章节。
|
2026-10-14 18:40:11 +08:00 |
|
wangyunlong
|
dc8be88e60
|
chore(config): 工作流配置、清单与文档同步
workflows/schedules/commands/notification-routing 与 source-manifests 四模块
清单同步登录统一化与新工作流(product.hk_anpei_public_inventory.daily 等);
docs 运维手册、控制台与耗时分布文档、CI 关键脚本清单、AGENTS 指南更新;
测试与模块注册对齐。
|
2026-10-09 13:45:30 +08:00 |
|
wangyunlong
|
01f3d7aaf7
|
chore: [workflow] 提交工作区代码
|
2026-09-30 10:46:15 +08:00 |
|
wangyunlong
|
2ff588a65d
|
chore: [workflow] 提交工作区改动
|
2026-09-07 15:14:54 +08:00 |
|
wangyunlong
|
485e77ee74
|
feat: [workflow] 统一飞书款式身份配置
|
2026-09-07 15:01:04 +08:00 |
|
wangyunlong
|
01218b2907
|
feat: add deepseek-harness workbench plugin and console diagnosis API
- console: GET /api/workflows/{id}, /runs/{run_id}, /runs/{run_id}/diagnosis
(journal trace + sanitized bounded log tails, workflow/run pairing enforced)
- workbench/: dsh 宿主插件(7 个工作流工具、中文系统提示词、失败监控器、
本机回环桥接服务)+ 侧边栏面板客户端包(sidebar.footer.action 与
shell.overlay 追加插槽)+ 降级独立面板 + 一键启动脚本
- adapters/browser: 收敛 looks_like_login_url 到共享层,修复
jd_main_image_collector 对 gyxx_flow.accounts 的越层导入
- tests: 新端点覆盖;replay_policy 断言对齐已迁移的 catalog(repeatable)
|
2026-09-04 11:10:16 +08:00 |
|
wangyunlong
|
b124d757b0
|
feat: expand module workflows, dynamic config, notifications and console API
|
2026-09-04 09:49:37 +08:00 |
|
wangyunlong
|
8df5266abb
|
feat: complete production workflow migration
|
2026-08-06 14:29:57 +08:00 |
|
wangyunlong
|
c23b62a8c8
|
feat: consolidate legacy workflows into gyxx-flow
|
2026-07-28 14:51:15 +08:00 |
|