chore(config): 工作流配置、清单与文档同步

workflows/schedules/commands/notification-routing 与 source-manifests 四模块
清单同步登录统一化与新工作流(product.hk_anpei_public_inventory.daily 等);
docs 运维手册、控制台与耗时分布文档、CI 关键脚本清单、AGENTS 指南更新;
测试与模块注册对齐。
This commit is contained in:
wangyunlong committed 2026-10-09 13:45:30 +08:00
1 parent 90282ae766
commit dc8be88e60
27 files changed
+1094 -224

No files matched your search

+6 -3
View File
@@ -24,7 +24,7 @@ def test_product_module_registers_scheduled_and_manual_entries() -> None:
WorkflowCatalog.load(PROJECT_ROOT / "config")
)
assert tuple(item.workflow_id for item in module.workflow_definitions()) == PRODUCT_WORKFLOW_IDS
assert len(PRODUCT_SCHEDULED_WORKFLOW_IDS) == 12
assert len(PRODUCT_SCHEDULED_WORKFLOW_IDS) == 14
assert PRODUCT_MANUAL_WORKFLOW_IDS == ()
@@ -78,7 +78,10 @@ def test_product_workflows_use_project_owned_module_commands() -> None:
assert definition.steps
for step in definition.steps:
assert isinstance(step.action, DeferredModuleCommandStep)
assert step.timeout_seconds == PRODUCT_TIMEOUT_SECONDS == 6 * 60 * 60
assert step.timeout_seconds == PRODUCT_TIMEOUT_SECONDS == 6 * 60 * 60 or (
definition.workflow_id == "product.hk_anpei_public_inventory.daily"
and step.timeout_seconds == 900.0
)
assert step.max_attempts == 1
if definition.workflow_id == "product.ecommerce_costs.daily":
assert step.resources == (
@@ -93,6 +96,7 @@ def test_product_workflows_use_project_owned_module_commands() -> None:
"product.video_upload",
"product.jd_video_upload",
"product.tmall_baibu_apply",
"product.hk_anpei_public_inventory.daily",
}:
assert step.resources == (
f"{PRODUCT_RESOURCE}:{definition.workflow_id}",
@@ -219,7 +223,6 @@ def test_jd_video_upload_workflow_allows_idempotent_rescans() -> None:
assert step.action.command_args == (
"--anchor-record-id",
"recvrXTRWWFXeJ",
"--manual-login",
"--execute",
)