# R2.2.36 任务报告 ## 交付 由 Artificer task `qt_009a43bec988410398c5b205093fa546` 在独立 worktree `/root/unidesk/.worktree/sub2api-profit-summary` 完成 Sub2API 利润统计 CLI 优化,交付 [Issue #2043](https://github.com/pikasTech/unidesk/issues/2043) 与 [PR #2048](https://github.com/pikasTech/unidesk/pull/2048)。最终源码提交为 `12b13509`,PR preflight 为 `MERGEABLE/CLEAN/ready`。 首次 Artificer runner 因 `agentrun-v02-tool-github-repository-overrides` Secret 尚未受控同步而进入 `CreateContainerConfigError`。原生 worker 在既有 [Issue #2014](https://github.com/pikasTech/unidesk/issues/2014) / MDTODO `R5.8` 边界内完成单对象 `secret-sync`,脱敏验证 `present=true`、fingerprint 匹配、`valuesPrinted=false`;原 runner 原位恢复并继续业务 turn,没有复制 task 或手工写 Secret。 ## CLI 优化结果 - 默认 Kubernetes 风格输出不再先展开全部账号,而是直接返回收入、已确认盈利池/自用成本、未知成本扣除前的利润基数、未知成本 API USD 基数、完整性和两种参数化利润公式。 - 显式 JSON 返回同一稳定紧凑汇总,不嵌入完整账号数组,保留账号总数与语义化下钻命令。 - `--accounts` 固定每页 8 条,使用由分类、分组、账号 ID 和名称构成的 opaque `--page-token`;实测连续两页零重叠,避免同一账号跨分组重复导致游标错误。 - `--missing-costs` 单独返回缺失成本账号的完整名称、ID、分类、分组和 API USD 基数。 - 不提供手工 `limit`,不依赖 dump 或外部 `jq`,账号名称继续完整显示。 - 主代理 review 将误导性的 `confirmedProfitCny` 纠正为 `profitBeforeUnknownCostsCny`;该字段只表示扣除已知成本后的待定利润基数,完整状态下才等于最终利润。 ## 验证 - PK01 7 天默认汇总:约 123 秒,stdout 1161 字节,未触发输出保护。 - PK01 7 天 JSON:2473 字节,可直接解析,不含完整账号数组。 - PK01 7 天账号页:5526 字节,返回 8/32 条及下一页 opaque cursor,未触发输出保护。 - PK01 7 天缺失成本下钻:返回 12 条完整账号名称、ID 与 API USD 基数,未触发输出保护。 - 短窗口复测确认新利润字段和人类表头语义一致;完整状态下待定利润基数与最终利润相等。 - `git diff --check`、相关 Bun 语法检查和 PR preflight 通过。 ## 边界 所有 Sub2API 查询均为原生 admin usage 只读聚合,`mutation=false`。未修改 runtime、账号、分组、优先级、配置、部署或人民币倍率算法。7 天原生聚合仍约需 2 分钟;在 60 秒短连接执行面中使用既有 submit-and-poll 方式验收。