diff --git a/.agents/skills/unidesk-selfmedia/SKILL.md b/.agents/skills/unidesk-selfmedia/SKILL.md index ad24b829..77931b12 100644 --- a/.agents/skills/unidesk-selfmedia/SKILL.md +++ b/.agents/skills/unidesk-selfmedia/SKILL.md @@ -27,6 +27,9 @@ description: UniDesk SelfMedia 工厂的 YAML-first 运维技能,覆盖 NC01 3. 确认 `selfmedia-nc01` 的 `consumerRollout` 已声明 `selfmedia` Deployment;应用启动时读取 Secret,缺少 rollout 不能判定新凭据已生效。 4. 代码发布只观察 PR merge 后的自动 PaC/GitOps 收敛;只有自动链失败时才下钻 status/history/debug-step。 5. 最后从 YAML 解析公网地址,验证 `/` 与 `/healthz` 可达、匿名业务 API 返回 `401`,再用用户提供的新账号完成登录。 +6. Temporal/native 开发与部署态作业验收直接使用[运维入口](references/operations.md#temporal-native-与部署态验收): + - 正确的单阶段语法固定为 `step run <阶段>`; + - 不先查源码或试探别名。 ## 验收判定 @@ -45,4 +48,4 @@ description: UniDesk SelfMedia 工厂的 YAML-first 运维技能,覆盖 NC01 ## 详细入口 -- 凭据分发、源码侧制品刷新、自动交付和公网验收命令见[运维入口](references/operations.md)。 +- 凭据分发、源码侧制品刷新、自动交付、Temporal/native 作业和公网验收命令见[运维入口](references/operations.md)。 diff --git a/.agents/skills/unidesk-selfmedia/references/operations.md b/.agents/skills/unidesk-selfmedia/references/operations.md index 5f70d84d..a6b4d269 100644 --- a/.agents/skills/unidesk-selfmedia/references/operations.md +++ b/.agents/skills/unidesk-selfmedia/references/operations.md @@ -59,6 +59,54 @@ bun scripts/cli.ts platform-infra pipelines-as-code debug-step --target NC01 --c - 正常发布只由 `pikainc/selfmedia` 的 GitHub PR merge 触发,不执行 bootstrap、apply、trigger-current、mirror sync、人工 PipelineRun 或 Argo refresh/sync。 +## Temporal native 与部署态验收 + +- native 开发面只使用仓库统一 CLI: + - `native prepare` 准备受控依赖和本地状态; + - `native start|stop|status|logs temporal|worker|api|web` 分别管理四个独立组件; + - `native smoke` 是首选的一键验收,覆盖 local CLI、`--over-api`、Temporal task queue、独立 API/Worker 和 HMR Web; + - 一键 smoke 成功时,不再分别重复提交 local/over-api 作业、查询组件状态或探测 Web。 + +```bash +bun scripts/selfmedia-cli.ts native smoke +``` + +- 部署态从 API Deployment 内使用同一 CLI,不复制 Secret 值: + - 第一步提交轻量 Temporal 作业并记录输出中的 job、workflow 和 run identity; + - 第二步按精确 job ID 查询终态; + - `succeeded` 且 `orchestration.engine=temporal`、`mode=runtime` 才证明 API、Temporal 和独立 Worker 链路可用。 + +```bash +trans :k3s::deployment: exec --cwd /app -- \ + env SELFMEDIA_API_BASE_URL=http://127.0.0.1:4317/api/v1 \ + SELFMEDIA_API_KEY_FILE=/run/secrets/selfmedia-access/api-key \ + bun scripts/selfmedia-cli.ts smoke run --over-api + +trans :k3s::deployment: exec --cwd /app -- \ + env SELFMEDIA_API_BASE_URL=http://127.0.0.1:4317/api/v1 \ + SELFMEDIA_API_KEY_FILE=/run/secrets/selfmedia-access/api-key \ + bun scripts/selfmedia-cli.ts job status --over-api +``` + +- 只有任务明确要求媒体业务回归时才再提交真实阶段: + - 正确语法是 `step run <阶段> --edition <期次> --over-api`; + - 禁止使用不存在的 `step <阶段>` 形式; + - 作业因既有素材或内容质量门禁失败时,分别记录编排链是否完成和业务检查结果,不把内容失败误判为 Temporal 链路故障。 + +```bash +trans :k3s::deployment: exec --cwd /app -- \ + env SELFMEDIA_API_BASE_URL=http://127.0.0.1:4317/api/v1 \ + SELFMEDIA_API_KEY_FILE=/run/secrets/selfmedia-access/api-key \ + bun scripts/selfmedia-cli.ts step run --edition --over-api +``` + +- ``、`` 和 `` 必须从 `config/selfmedia.yaml` 选择,不把一次性运行面事实写回命令模板。 +- rollout 后的判定顺序: + - 先等待 Argo `Synced/Healthy` 和四个 Deployment Ready; + - 再执行部署态 smoke; + - Worker 在 Temporal 尚未监听时重启属于启动依赖竞态,应按产品 issue 处理; + - 不能仅凭最终 Ready 隐去 restart 证据。 + ## 源码侧制品刷新 - 先按任务类型选择入口: