8.5 KiB
8.5 KiB
name, description
| name | description |
|---|---|
| unidesk-daddev | UniDesk 分布式敏捷开发流程,覆盖真实运行面探测、最小可逆 patch/热补实验、YAML/Git/自动 CI/CD 持久化和原入口验收。处理跨节点、跨 host、跨 lane 的 bug、HotFix、运行面调试、临时恢复或对接 HWLAB/AgentRun/UniDesk 真实运行面时必须使用。 |
分布式敏捷开发流程
遵循规范: 本 Skill 遵循 Skill(cli-spec) 规范(精简版,仅保留与流程相关的硬约束)。
DAD-DEV SPEC
- 流程与交付
- 现场闭环
- unidesk-daddev 不是固定发布脚本,而是现场修复闭环。
- P1 先在真实 provider / host / pod / lane 上观察事实,再判断根因。
- P2 用最小、可撤、可解释的运行面实验或等价实验验证方向。
- P2 允许按调试需要实施运行面 patch 或热补:
- 只用于验证根因、缩小故障面或临时恢复用户入口;
- 开始前记录目标对象、现状、预期、影响范围和回退方式;
- 选择最小变更,避免数据迁移、Secret 反解、不可逆写入和第二 authority;
- 不得把 patch 制造的状态当作 GitOps desired、自动交付成功或最终验收证据。
- P3 把有效修复收敛回 Git、项目声明的交付路径和可审计 provenance。
- P3 必须把 P2 中成立的变更收敛到正式交付:
- 写回 owning YAML、源码或受控 renderer;
- 通过正常 PR 和自动 CI/CD/GitOps 交付;
- 主动撤销临时 patch,或确认它已被声明式交付覆盖;
- 禁止长期保留隐藏运行面真相。
- P4 用用户报告的同一入口或 Web 等价 CLI 验收;单测、PR、构建和理论推导不能单独关闭 issue。
- 项目适配器
- 本 skill 只规定阶段目标、边界和证据合同。
- 分支、workspace、PR、rollout、git mirror、artifact、issue close 命令属于目标项目适配器。
- 命令细节以目标仓库当前
AGENTS.md、docs/reference/*.md和 CLI help/source 为准。 - 发现 skill 示例与当前 CLI 不一致时,先修正引用或工具,不绕到原生命令。
- UniDesk
trans/tran命令遵循当前 operation 合同:script和shelloperation 已移除;- 跨 host / k3s POSIX shell 示例必须显式使用
sh或bash; - 检索含 Markdown 反引号的命令片段时使用单引号或
rg -F -e; - 禁止让本地 shell command substitution 误触旧命令。
- 固定主 repo 保护
- 执行任何会产生源码、文档、配置、issue closeout、部署脚本或验收产物的 unidesk-daddev 工作前,必须先从目标 fixed repo 的最新 remote/base 创建独立
.worktree/<task>,后续编辑、验证、提交、推送和受控 CLI 都在该 worktree 内执行。 - fixed repo 只用于
git fetch、git status、git worktree add和读取规则;禁止把 fixed repo 当 scratch 区直接编辑,也不要把其中既有未提交修改纳入当前任务。 - fixed repo 若已有并行未提交修改,默认保持不动;用独立 worktree 隔离当前任务,除非用户明确要求合并、清理或提交这些修改。
- 只有 P1 只读探测、运行面热补或目标项目明确声明可直接改 fixed repo 的轻量例外,才允许不创建新
.worktree;例外必须先说明理由并避免触碰并行修改。 - 纯文档编辑可以按
$git-spec的稳定分支快路径由主代理直接 commit/push,不要求独立.worktree或 PR;本地分支分叉、存在并行状态或涉及运行配置时不适用。
- 执行任何会产生源码、文档、配置、issue closeout、部署脚本或验收产物的 unidesk-daddev 工作前,必须先从目标 fixed repo 的最新 remote/base 创建独立
- Skill 自身更新边界
- 本 skill 是流程规范,不是普通任务产物;除非用户明确要求更新
unidesk-daddev/SKILL.md,不得在业务任务、文档收敛、issue closeout 或临时纠偏中自动修改本 skill。 - 发现本 skill 与当前用户要求或项目规则冲突时,先按用户要求和项目规则完成任务;需要改 skill 的事项提 issue 或请示用户,不把 skill 更新夹带进默认交付。
- 本 skill 是流程规范,不是普通任务产物;除非用户明确要求更新
- 交付画像
- 需要运行面发布
pr-rollout:独立 worktree → 分支 → PR → merge → CI/CD / rollout → runtime validation。artifact-deploy:提交后由 CI 产出 commit-pinned artifact,CD 只消费 artifact,不从脏 worktree 构建。
- 轻量或治理交付
pr-lightweight:无服务 CLI、helper、docs、config、CaseRun、trace 和治理类变更的标准画像;独立 worktree → 分支 → PR → 合并,可按项目规则自合并,合并后跳过 CI/CD/rollout。config-docs-only:无运行面 rollout 的文档/配置治理,是pr-lightweight的子类;仍需 Git/PR 证据和必要的渲染、语法或引用验证。
- 恢复后补账
runtime-recovery-followup:紧急运行面恢复后,必须回补 source、runbook 或 remediation issue,不能保留隐藏 runtime truth。
- 需要运行面发布
- 无服务 / CI-CD SKIP
- 适用范围
- 不涉及 cloud-api、web、gateway、GitOps、k3s runtime 或其他常驻服务的改动,默认走
pr-lightweight:独立 worktree、分支、PR,可自合并,可跳过 CI/CD/rollout。 - 典型范围:markdown/reference/runbook/comments、CLI 工具、helper 脚本、CaseRun、harness、trace 语义化、case registry 产物整理、短连接调试 runner、无运行面影响的配置/治理。
- 不涉及 cloud-api、web、gateway、GitOps、k3s runtime 或其他常驻服务的改动,默认走
- 交付边界
- 无服务任务必须直接运行和验证目标工具链;PR 合并后不走 CI/CD、rollout 或服务发布大回环。
pr-lightweightPR 合并后即视为交付完成;关闭 issue 时写明rollout=not-applicable或等价说明。
- CaseRun 单步
- CaseRun 卡在基础设施、hwpod-node、workspace prepare、编译、下载、串口或 artifact 收集时,先拆成同一目标运行面的单步命令验证。
- 只有单步通过且需要验证完整编排、trace 和 registry 产物时,才启动一次完整 CaseRun。
- 完整 CaseRun 仍遵循 cli-spec:异步启动、短轮询、可见 trace;不得把 evidence 自动评价、门禁或自动判断重新加回流程。
- 适用范围
- 现场闭环
- 路径与边界
- 架构收敛
- 分布式修复优先收敛到单一权威路径。
- 先识别 source of truth,再删除或降级会制造分叉的派生缓存、旧入口、兼容路径和 fallback。
- 不用多路径、fallback、feature flag、legacy mode 或额外 guard 掩盖根因。
- 已有多路径造成状态污染、可见性歧义或反复修复无效时,把读写路径统一到权威状态;其他状态只作为可重建派生证据,或直接移除。
- CLI/Web 同路径
- 定位上下文
- CLI 只能作为 Web 的非视觉等价入口,不能变成绕过 Web 的第二条业务路径。
- 先识别 Web 原入口的
origin/lane/account/workspace/session/conversation/trace和实际 route / API family / dispatcher。
- 等价调用
- 正式 CLI 必须调用同一 Web origin、同一后端 dispatcher、同一账号状态和同一 session / trace 语义。
- CLI 输出必须包含
baseUrl、route、method/path、session/trace/job id、runtime endpoint 来源。 - 长任务用 submit-and-poll;CLI 先提交,后续短查询 result / trace / inspect,不为 Web E2E 长挂单个远程命令。
- 不一致处理
- CLI 和 Web 结果不一致时,先分类为
path-mismatch、state-mismatch、auth-mismatch、runtime-mismatch或visibility-gap,把实际上下文写入 issue 证据,再补 CLI 同路径入口或可见性。 - 内部 direct manager、手写 dispatcher、临时 runner job、裸 API、fixture、本地 DOM 结果只能作为 canary / 定位证据,不能替代 Web 同路径验收。
- CLI 和 Web 结果不一致时,先分类为
- 定位上下文
- 架构收敛
- 证据与验证
- Issue 评论
- 正文先行
- Issue 评论不是机器日志归档。
- P1 进展、P2 闭环、P3 rollout、P4 closeout 和 blocker 评论,都先用自然语言说明用户现象、根因、修改、验证状态和剩余边界。
- 审计证据
- 正文之后再列命令、trace、job id、PR、PipelineRun、artifact、SHA 等证据。
- 推荐结构:2-5 段短正文说明"发生了什么 / 怎么修 / 怎么验收 / 现在状态",再用 bullets 列关键命令、trace、job、commit、rollout 耗时和产物信息。
- 阻塞说明
- 正文先行
- Issue 评论
扩展参考
低频细节见 references/details.md。紧凑流程不足以支撑任务时读取该文件。