Files
pikasTech-unidesk/docs/MDTODO/cli-output-progressive-disclosure.md
T
Codex 82e7da6b25
Pipelines as Code CI / hwlab-web-probe-sentinel-nc01- Success
Pipelines as Code CI / platform-infra-gitea-nc01- Success
Pipelines as Code CI / unidesk-host- Success
docs(mdtodo): close runner admission visibility task
2026-07-12 10:56:57 +02:00

8.2 KiB
Raw Blame History

CLI 输出渐进披露

本文件长期跟踪 UniDesk 高频 CLI 的紧凑默认输出、语义化逐级披露、显式原始输出与错误可见性合同。单个命令、一次 dump 或一个 issue 作为 ITEM 纳入,不以临时故障扩散文件。

R1 [completed]

解决 UniDesk #1809:收敛 Gitea webhook status、trans --help 及未知/错误命令的高频 dump,建立 compact 默认输出、语义化 drill-down、显式 raw 和无 stack 错误合同;只改只读 CLI 可见性,不新增 mirror、sync、flush、trigger 或 apply,完成任务后将详细报告写入任务报告

R1.1 [completed]

复现并冻结 #1809 的输出合同:默认输出有界、repository key/deliveryId drill-down 语义化、--full 域聚合、--raw 显式;trans --help、未知子命令和可预测 option 错误不得回显内部 stack,完成任务后将详细报告写入任务报告

R1.2 [completed]

实现共享 CLI 错误边界与 Gitea webhook 有界逐级披露,复用既有 formatter/命令路由;默认输出给出可执行的语义化 next,不依赖临时 dump,且不增加任何交付或 mirror 写入口,完成任务后将详细报告写入任务报告

R1.3 [completed]

覆盖 compact/full/raw、repository/deliveryId、错误参数和 trans --help 回归,完成静态验证、非草稿 PR、架构审查与自动交付后原入口验收,完成任务后将详细报告写入任务报告

R2 [completed]

依据 UniDesk #1817 收敛 AgentRun event 高频摘要的输出爆炸,只改 UniDesk render-only CLI,不改变 AgentRun/Kafka durable event facts,完成任务后将详细报告写入任务报告

R2.1 [completed]

默认 human 与 -o json|yaml 只展示有界 tool_call/event summary,保留 seq/type/status/commandId、命令首行、exit/duration 和 output bytes/hash/截断标记,完成任务后将详细报告写入任务报告

R2.2 [completed]

显式 --full|--raw 或稳定 event identity 保持完整下钻,并用固定 run_d7f1cbb11ab04a75ad435ee462c2e60d 和大 output 离线夹具证明默认不再触发 dump,完成任务后将详细报告写入任务报告

R3 [in_progress]

完善 AgentRun/Artificer 调试资源的语义化逐级披露,使 task 输入、资源引用与脱敏 provenance 可独立读取,不依赖完整资源 dump,完成任务后将详细报告写入任务报告

R3.1 [completed]

解决 UniDesk #1819:为两个固定 Artificer task 增加 input/spec 的有界 id-specific CLI 下钻和默认 Next;只改 UniDesk render-only CLI,不提高 stdout 阈值、不修改 AgentRun/Queue/Kafka durable facts,并以真实 task 只读复现验收,完成任务后将详细报告写入任务报告

R3.1.1 [completed]

UniDesk PR #1821 内修复 --input--full|--raw 的组合歧义:组合使用必须稳定 fail closed,不能绕过 TaskInput 的 SecretRef-only/valuesPrinted=false 合同;补 CLI 解析测试和两项固定 task 有界只读复验后再合并,完成任务后将详细报告写入任务报告

R3.2 [completed]

解决 UniDesk #1822:将 aipodspec/ 默认 text/json/yaml 收敛为同构、有界且 SecretRef-only 的合同摘要,固定 Artificer 样本不再触发临时 dump;显式 --full|--raw 保持完整下钻,不提高全局 stdout 阈值、不修改 AgentRun 服务端或 AipodSpec 业务配置,完成任务后将详细报告写入任务报告

R3.3 [completed]

解决 UniDesk #1824:为 AgentRun 精确 run+seq 事件增加通用有界详情投影,使 resource-bundle-materialized 可直接验收 primary workspace lifecycle、commit、writable 与 provenance/contract hash;默认列表保持有界,JSON/YAML/human 同构,exhaustive 仅由显式 raw/完整入口提供,禁止读取 dump 二次裁剪、提高阈值或修改 durable event,完成任务后将详细报告写入任务报告

R3.4 [completed]

解决 UniDesk #1831:收敛 AgentRun control-plane secret-sync --dry-run 的默认输出,直接披露脱敏计划与 activation fence 资源 identity/状态/语义化下钻,保证 text/JSON/YAML 同构且 valuesPrinted=false;不得读取 dump 二次裁剪、提高 stdout 阈值、改变 Secret 同步语义或手工触发 CI/CD,完成任务后将详细报告写入任务报告

R3.5 [completed]

解决 UniDesk #1834Artificer session send dry-run 的 Next 被渲染为 [object Object]live runner admission failure 又丢失 typed reason、已写资源 identity/mutation 状态和正式下钻。建立 text/JSON/YAML 同构的有界 session-send plan/error 投影,展示 decision、run reuse/runner create、session/run/command identity 与安全 Next;只做 render-only,不在 UniDesk 实现 session 状态机、retry/cleanup,不提高 stdout 阈值或改变 AgentRun durable facts,完成任务后将详细报告写入任务报告

R3.6

记录 UniDesk #1835gh issue view --json body 对 13 KiB 大正文仍触发 stdout dump,而技能要求理解 issue 前读取全文。增加 body-only 或按 section/cursor 的稳定语义化下钻,保留 body SHA 且不复制 envelope/compatibility 大字段;更新 unidesk-gh skill 清理跟随 dump 的旧 Next。不得读取 dump 二次裁剪、提高 stdout 阈值或手写 API;本支线暂不阻塞 Artificer 主线,完成任务后将详细报告写入任务报告

R3.7 [completed]

解决 UniDesk #1837:前向兼容 AgentRun #319 的 durable runnerAdmission 成功响应,在 text/JSON/YAML 有界投影中展示 mode/state/reason/disposition、run/command/dispatchIntent/plannedRunner identity、mutation/partialWrite/recoveredPriorPartialWrite、retryability 与正式只读下钻;明确 planned runner 不等于 Kubernetes Job 已创建。旧 manager 未返回该字段时保持现有合同;只做 render-only,不在 UniDesk 实现 dispatcher/session 状态机,先合并 consumer 再合并 AgentRun producer,最终用原 Artificer session 验收,完成任务后将详细报告写入任务报告

R3.8 [in_progress]

解决 UniDesk #1838:清理 gh pr create 默认输出中与自动 PR monitor/自动 CI/CD 冲突的手工 merge 和 preflight --full Next;默认只展示有界 PR observe/preflight/status,并以 typed 状态区分等待自动合并、review/check blocker 与自动链异常。手工 merge、--full/--raw 只在用户明确授权或显式披露时出现;同步修正相关 skill、长期参考和测试 fixture,禁止用错误提示诱导人工补链,完成任务后将详细报告写入任务报告