Files
pikasTech-unidesk/docs/MDTODO/cli-output-progressive-disclosure.md
T
2026-07-12 09:10:22 +00:00

73 lines
8.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# CLI 输出渐进披露
本文件长期跟踪 UniDesk 高频 CLI 的紧凑默认输出、语义化逐级披露、显式原始输出与错误可见性合同。单个命令、一次 dump 或一个 issue 作为 ITEM 纳入,不以临时故障扩散文件。
## R1 [completed]
解决 [UniDesk #1809](https://github.com/pikasTech/unidesk/issues/1809):收敛 Gitea webhook status、trans --help 及未知/错误命令的高频 dump,建立 compact 默认输出、语义化 drill-down、显式 raw 和无 stack 错误合同;只改只读 CLI 可见性,不新增 mirror、sync、flush、trigger 或 apply,完成任务后将详细报告写入[任务报告](./details/cli-output-progressive-disclosure/R1_Task_Report.md)。
### R1.1 [completed]
复现并冻结 [#1809](https://github.com/pikasTech/unidesk/issues/1809) 的输出合同:默认输出有界、repository key/deliveryId drill-down 语义化、--full 域聚合、--raw 显式;trans --help、未知子命令和可预测 option 错误不得回显内部 stack,完成任务后将详细报告写入[任务报告](./details/cli-output-progressive-disclosure/R1.1_Task_Report.md)。
### R1.2 [completed]
实现共享 CLI 错误边界与 Gitea webhook 有界逐级披露,复用既有 formatter/命令路由;默认输出给出可执行的语义化 next,不依赖临时 dump,且不增加任何交付或 mirror 写入口,完成任务后将详细报告写入[任务报告](./details/cli-output-progressive-disclosure/R1.2_Task_Report.md)。
### R1.3 [completed]
覆盖 compact/full/raw、repository/deliveryId、错误参数和 trans --help 回归,完成静态验证、非草稿 PR、架构审查与自动交付后原入口验收,完成任务后将详细报告写入[任务报告](./details/cli-output-progressive-disclosure/R1.3_Task_Report.md)。
## R2 [completed]
依据 [UniDesk #1817](https://github.com/pikasTech/unidesk/issues/1817) 收敛 AgentRun event 高频摘要的输出爆炸,只改 UniDesk render-only CLI,不改变 AgentRun/Kafka durable event facts,完成任务后将详细报告写入[任务报告](./details/cli-output-progressive-disclosure/R2_Task_Report.md)。
### R2.1 [completed]
默认 human 与 -o json|yaml 只展示有界 tool_call/event summary,保留 seq/type/status/commandId、命令首行、exit/duration 和 output bytes/hash/截断标记,完成任务后将详细报告写入[任务报告](./details/cli-output-progressive-disclosure/R2.1_Task_Report.md)。
### R2.2 [completed]
显式 --full|--raw 或稳定 event identity 保持完整下钻,并用固定 run_d7f1cbb11ab04a75ad435ee462c2e60d 和大 output 离线夹具证明默认不再触发 dump,完成任务后将详细报告写入[任务报告](./details/cli-output-progressive-disclosure/R2.2_Task_Report.md)。
## R3 [in_progress]
完善 AgentRun/Artificer 调试资源的语义化逐级披露,使 task 输入、资源引用与脱敏 provenance 可独立读取,不依赖完整资源 dump,完成任务后将详细报告写入[任务报告](./details/cli-output-progressive-disclosure/R3_Task_Report.md)。
### R3.1 [completed]
解决 [UniDesk #1819](https://github.com/pikasTech/unidesk/issues/1819):为两个固定 Artificer task 增加 input/spec 的有界 id-specific CLI 下钻和默认 Next;只改 UniDesk render-only CLI,不提高 stdout 阈值、不修改 AgentRun/Queue/Kafka durable facts,并以真实 task 只读复现验收,完成任务后将详细报告写入[任务报告](./details/cli-output-progressive-disclosure/R3.1_Task_Report.md)。
#### R3.1.1 [completed]
在 [UniDesk PR #1821](https://github.com/pikasTech/unidesk/pull/1821) 内修复 `--input``--full|--raw` 的组合歧义:组合使用必须稳定 fail closed,不能绕过 TaskInput 的 SecretRef-only/valuesPrinted=false 合同;补 CLI 解析测试和两项固定 task 有界只读复验后再合并,完成任务后将详细报告写入[任务报告](./details/cli-output-progressive-disclosure/R3.1.1_Task_Report.md)。
### R3.2 [completed]
解决 [UniDesk #1822](https://github.com/pikasTech/unidesk/issues/1822):将 aipodspec/<name> 默认 text/json/yaml 收敛为同构、有界且 SecretRef-only 的合同摘要,固定 Artificer 样本不再触发临时 dump;显式 --full|--raw 保持完整下钻,不提高全局 stdout 阈值、不修改 AgentRun 服务端或 AipodSpec 业务配置,完成任务后将详细报告写入[任务报告](./details/cli-output-progressive-disclosure/R3.2_Task_Report.md)。
### R3.3 [completed]
解决 [UniDesk #1824](https://github.com/pikasTech/unidesk/issues/1824):为 AgentRun 精确 run+seq 事件增加通用有界详情投影,使 resource-bundle-materialized 可直接验收 primary workspace lifecycle、commit、writable 与 provenance/contract hash;默认列表保持有界,JSON/YAML/human 同构,exhaustive 仅由显式 raw/完整入口提供,禁止读取 dump 二次裁剪、提高阈值或修改 durable event,完成任务后将详细报告写入[任务报告](./details/cli-output-progressive-disclosure/R3.3_Task_Report.md)。
### R3.4 [completed]
解决 [UniDesk #1831](https://github.com/pikasTech/unidesk/issues/1831):收敛 AgentRun control-plane secret-sync --dry-run 的默认输出,直接披露脱敏计划与 activation fence 资源 identity/状态/语义化下钻,保证 text/JSON/YAML 同构且 valuesPrinted=false;不得读取 dump 二次裁剪、提高 stdout 阈值、改变 Secret 同步语义或手工触发 CI/CD,完成任务后将详细报告写入[任务报告](./details/cli-output-progressive-disclosure/R3.4_Task_Report.md)。
### R3.5 [completed]
解决 [UniDesk #1834](https://github.com/pikasTech/unidesk/issues/1834)Artificer 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,完成任务后将详细报告写入[任务报告](./details/cli-output-progressive-disclosure/R3.5_Task_Report.md)。
### R3.6
记录 [UniDesk #1835](https://github.com/pikasTech/unidesk/issues/1835)gh 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 主线,完成任务后将详细报告写入[任务报告](./details/cli-output-progressive-disclosure/R3.6_Task_Report.md)。
### R3.7 [in_progress]
解决 [UniDesk #1837](https://github.com/pikasTech/unidesk/issues/1837):前向兼容 [AgentRun #319](https://github.com/pikasTech/agentrun/issues/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 验收,完成任务后将详细报告写入[任务报告](./details/cli-output-progressive-disclosure/R3.7_Task_Report.md)。
### R3.8 [completed]
解决 [UniDesk #1838](https://github.com/pikasTech/unidesk/issues/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,禁止用错误提示诱导人工补链,完成任务后将详细报告写入[任务报告](./details/cli-output-progressive-disclosure/R3.8_Task_Report.md)。