Files
dingtalk-workspace-cli/docs/shortcut-real-write-results.json
Dennis 8687d68567 feat: gate unverified shortcuts for release
Hide shortcuts that did not pass real testing from public help/list discovery while keeping commands available for internal retest.

Record real shortcut inputs/outputs, backend issue summaries, next-release hidden list, and refresh skill guidance to mirror the lark-cli shortcut integration pattern.
2026-07-15 16:45:51 +08:00

4456 lines
235 KiB
JSON
Raw Permalink 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.
{
"generated_at": "2026-07-15T16:04:54.178709",
"summary": {
"total": 162,
"ok": 48,
"error": 114,
"timeout": 0,
"held": 0
},
"failure_categories": {
"missing-real-aitable-fixture": 31,
"backend-or-mcp-error": 24,
"missing-real-resource": 23,
"input-or-business-validation": 20,
"auth-or-permission": 16
},
"results": [
{
"service": "todo",
"command": "+assign",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test todo +assign --to '冬翔' --task 'DWS shortcut 真实测试 20260715 assign,可忽略' --due 2026-07-16T10:00:00+08:00 --yes --format json",
"args": [
"todo",
"+assign",
"--to",
"冬翔",
"--task",
"DWS shortcut 真实测试 20260715 assign,可忽略",
"--due",
"2026-07-16T10:00:00+08:00",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"result\": {\n \"subject\": \"DWS shortcut 真实测试 20260715 assign,可忽略\",\n \"taskId\": \"55037683708\"\n },\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 1651,
"recorded_at": "2026-07-15T10:12:09.374178"
},
{
"service": "todo",
"command": "+assign-multi",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test todo +assign-multi --to '冬翔,克谨,怒龙' --task 'DWS shortcut 真实测试 20260715 assign-multi,可忽略' --yes --format json",
"args": [
"todo",
"+assign-multi",
"--to",
"冬翔,克谨,怒龙",
"--task",
"DWS shortcut 真实测试 20260715 assign-multi,可忽略",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"result\": {\n \"subject\": \"DWS shortcut 真实测试 20260715 assign-multi,可忽略\",\n \"taskId\": \"55037747621\"\n },\n \"success\": true\n}\n{\n \"count\": 3,\n \"executors\": [\n \"夏东翔(103262)\",\n \"黄渊卓(519019)\",\n \"刘力(075771)\"\n ],\n \"subject\": \"DWS shortcut 真实测试 20260715 assign-multi,可忽略\"\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 2445,
"recorded_at": "2026-07-15T10:12:11.927124"
},
{
"service": "calendar",
"command": "+book",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test calendar +book --title 'DWS shortcut 真实测试 20260715 日程,可忽略' --start 2026-07-16T11:00:00+08:00 --end 2026-07-16T11:15:00+08:00 --with '冬翔,克谨,怒龙' --yes --format json",
"args": [
"calendar",
"+book",
"--title",
"DWS shortcut 真实测试 20260715 日程,可忽略",
"--start",
"2026-07-16T11:00:00+08:00",
"--end",
"2026-07-16T11:15:00+08:00",
"--with",
"冬翔,克谨,怒龙",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"result\": {\n \"attendees\": [\n {\n \"displayName\": \"怒龙\",\n \"optional\": false,\n \"responseStatus\": \"needsAction\",\n \"self\": false\n },\n {\n \"displayName\": \"冬翔\",\n \"optional\": false,\n \"responseStatus\": \"needsAction\",\n \"self\": false\n },\n {\n \"displayName\": \"念晨\",\n \"optional\": false,\n \"responseStatus\": \"accepted\",\n \"self\": true\n },\n {\n \"displayName\": \"黄渊卓(克谨)\",\n \"optional\": false,\n \"responseStatus\": \"needsAction\",\n \"self\": false\n }\n ],\n \"categories\": [],\n \"createTime\": \"2026-07-15 10:12:30\",\n \"end\": {\n \"dateTime\": \"2026-07-16T11:15:00+08:00\",\n \"timeZone\": \"Asia/Shanghai\"\n },\n \"extendedProperties\": {\n \"sharedProperties\": {\n \"belongCorpId\": \"ding8196cd9a2b2405da24f2f5cc6abecb85\"\n }\n },\n \"freeBusy\": \"BUSY\",\n \"iCalUID\": \"c0YxQWVyWDFiTjB6MHdmczVvNUZ5dz09\",\n \"id\": \"c0YxQWVyWDFiTjB6MHdmczVvNUZ5dz09\",\n \"isAllDay\": false,\n \"meetingRooms\": [],\n \"onlineMeetingInfo\": {\n \"conferenceId\": \"c76abd52-29bb-4183-85d3-bcf91debe3e4\",\n \"extraInfo\": {\n \"phones\": \"[\\\"+862381045152\\\",\\\"+862381045153\\\"]\",\n \"roomCode\": \"131 508 161\"\n },\n \"internalExtraInfo\": {\n \"urlForCalDAV\": \"dingtalk://dingtalkclient/page/videoConfFromSystemCalendar?confId=c76abd52-29bb-4183-85d3-bcf91debe3e4\\u0026calendarId=24714119393\"\n },\n \"type\": \"dingtalk\",\n \"url\": \"dingtalk://dingtalkclient/page/videoConfFromCalendar?confId=c76abd52-29bb-4183-85d3-bcf91debe3e4\\u0026calendarId=24714119393\"\n },\n \"organizer\": {\n \"displayName\": \"念晨\",\n \"optional\": false,\n \"self\": true\n },\n \"reminders\": [\n {\n \"method\": \"dingtalk\",\n \"minutes\": 15\n }\n ],\n \"start\": {\n \"dateTime\": \"2026-07-16T11:00:00+08:00\",\n \"timeZone\": \"Asia/Shanghai\"\n },\n \"status\": \"confirmed\",\n \"summary\": \"DWS shortcut 真实测试 20260715 日程,可忽略\",\n \"updateTime\": \"2026-07-15 10:12:31\"\n },\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 2909,
"recorded_at": "2026-07-15T10:12:31.399705"
},
{
"service": "calendar",
"command": "+reschedule",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test calendar +reschedule --event c0YxQWVyWDFiTjB6MHdmczVvNUZ5dz09 --start 2026-07-16T11:30:00+08:00 --end 2026-07-16T11:45:00+08:00 --yes --format json",
"args": [
"calendar",
"+reschedule",
"--event",
"c0YxQWVyWDFiTjB6MHdmczVvNUZ5dz09",
"--start",
"2026-07-16T11:30:00+08:00",
"--end",
"2026-07-16T11:45:00+08:00",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 1960,
"recorded_at": "2026-07-15T10:13:18.426070"
},
{
"service": "calendar",
"command": "+invite",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test calendar +invite --event c0YxQWVyWDFiTjB6MHdmczVvNUZ5dz09 --with '冬翔' --yes --format json",
"args": [
"calendar",
"+invite",
"--event",
"c0YxQWVyWDFiTjB6MHdmczVvNUZ5dz09",
"--with",
"冬翔",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {},\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 2033,
"recorded_at": "2026-07-15T10:13:23.127843"
},
{
"service": "calendar",
"command": "+cancel-event",
"risk": "high-risk-write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test calendar +cancel-event --event c0YxQWVyWDFiTjB6MHdmczVvNUZ5dz09 --yes --format json",
"args": [
"calendar",
"+cancel-event",
"--event",
"c0YxQWVyWDFiTjB6MHdmczVvNUZ5dz09",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"action\": \"about_to_cancel\",\n \"eventId\": \"c0YxQWVyWDFiTjB6MHdmczVvNUZ5dz09\",\n \"title\": \"DWS shortcut 真实测试 20260715 日程,可忽略\"\n}\n{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {},\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 1369,
"recorded_at": "2026-07-15T10:13:40.867196"
},
{
"service": "chat",
"command": "+category-create",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test chat +category-create --title 'DWS测0715' --yes --format json",
"args": [
"chat",
"+category-create",
"--title",
"DWS测0715",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"categoryId\": 1784081668329\n },\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 959,
"recorded_at": "2026-07-15T10:14:28.325931"
},
{
"service": "chat",
"command": "+category-rename",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test chat +category-rename --category-id 1784081668329 --title 'DWS改0715' --yes --format json",
"args": [
"chat",
"+category-rename",
"--category-id",
"1784081668329",
"--title",
"DWS改0715",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {},\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 1225,
"recorded_at": "2026-07-15T10:14:58.751623"
},
{
"service": "chat",
"command": "+category-delete",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test chat +category-delete --category-id 1784081668329 --yes --format json",
"args": [
"chat",
"+category-delete",
"--category-id",
"1784081668329",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"success\": true\n },\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 1378,
"recorded_at": "2026-07-15T10:15:00.095333"
},
{
"service": "chat",
"command": "+send-to-group",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test chat +send-to-group --group 'DWS测0715' --text 'DWS shortcut 真实测试 20260715:验证 chat +send-to-group,请忽略。' --yes --format json",
"args": [
"chat",
"+send-to-group",
"--group",
"DWS测0715",
"--text",
"DWS shortcut 真实测试 20260715:验证 chat +send-to-group,请忽略。",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"openTaskId\": \"tECwJpPL2sAnZwUZhjTFhNWleCgSp0GSMPlGkMUIL5Q=\"\n },\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 1854,
"recorded_at": "2026-07-15T10:16:22.214033"
},
{
"service": "chat",
"command": "+chat-update-nick",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test chat +chat-update-nick --group cidXgIVDDzZE7kdQ+bcp3gWNw== --nick 'DWS测试' --yes --format json",
"args": [
"chat",
"+chat-update-nick",
"--group",
"cidXgIVDDzZE7kdQ+bcp3gWNw==",
"--nick",
"DWS测试",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {},\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 1478,
"recorded_at": "2026-07-15T10:16:22.730031"
},
{
"service": "chat",
"command": "+chat-update-alias",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test chat +chat-update-alias --group cidXgIVDDzZE7kdQ+bcp3gWNw== --alias-title 'DWS群备注' --yes --format json",
"args": [
"chat",
"+chat-update-alias",
"--group",
"cidXgIVDDzZE7kdQ+bcp3gWNw==",
"--alias-title",
"DWS群备注",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {},\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 1298,
"recorded_at": "2026-07-15T10:16:23.398622"
},
{
"service": "chat",
"command": "+chat-mute",
"risk": "write",
"method": "real-backend-manual-write cleanup/unmute; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test chat +chat-mute --group cidXgIVDDzZE7kdQ+bcp3gWNw== --off --yes --format json",
"args": [
"chat",
"+chat-mute",
"--group",
"cidXgIVDDzZE7kdQ+bcp3gWNw==",
"--off",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {},\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 1252,
"recorded_at": "2026-07-15T10:16:43.375260"
},
{
"service": "chat",
"command": "+chat-set-history",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test chat +chat-set-history --group cidXgIVDDzZE7kdQ+bcp3gWNw== --option RECENT_100 --yes --format json",
"args": [
"chat",
"+chat-set-history",
"--group",
"cidXgIVDDzZE7kdQ+bcp3gWNw==",
"--option",
"RECENT_100",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {},\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 1219,
"recorded_at": "2026-07-15T10:17:31.670629"
},
{
"service": "chat",
"command": "+chat-role-add",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test chat +chat-role-add --group cidXgIVDDzZE7kdQ+bcp3gWNw== --name 'DWS测试角色' --yes --format json",
"args": [
"chat",
"+chat-role-add",
"--group",
"cidXgIVDDzZE7kdQ+bcp3gWNw==",
"--name",
"DWS测试角色",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"openRoleId\": \"role9G67RdPFmhF1VxBpguhr1QiEiE\"\n },\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 1281,
"recorded_at": "2026-07-15T10:17:33.706668"
},
{
"service": "chat",
"command": "+chat-set-admin",
"risk": "write",
"method": "real-backend-manual-write cleanup/unset-admin; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test chat +chat-set-admin --group cidXgIVDDzZE7kdQ+bcp3gWNw== --users 103262 --off --yes --format json",
"args": [
"chat",
"+chat-set-admin",
"--group",
"cidXgIVDDzZE7kdQ+bcp3gWNw==",
"--users",
"103262",
"--off",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {},\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 1554,
"recorded_at": "2026-07-15T10:17:54.361957"
},
{
"service": "chat",
"command": "+chat-role-update",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test chat +chat-role-update --group cidXgIVDDzZE7kdQ+bcp3gWNw== --role-id role9G67RdPFmhF1VxBpguhr1QiEiE --name 'DWS角色改' --yes --format json",
"args": [
"chat",
"+chat-role-update",
"--group",
"cidXgIVDDzZE7kdQ+bcp3gWNw==",
"--role-id",
"role9G67RdPFmhF1VxBpguhr1QiEiE",
"--name",
"DWS角色改",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {},\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 1366,
"recorded_at": "2026-07-15T10:18:16.042372"
},
{
"service": "chat",
"command": "+chat-role-set-user",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test chat +chat-role-set-user --group cidXgIVDDzZE7kdQ+bcp3gWNw== --user 103262 --role-ids role9G67RdPFmhF1VxBpguhr1QiEiE --yes --format json",
"args": [
"chat",
"+chat-role-set-user",
"--group",
"cidXgIVDDzZE7kdQ+bcp3gWNw==",
"--user",
"103262",
"--role-ids",
"role9G67RdPFmhF1VxBpguhr1QiEiE",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {},\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 1355,
"recorded_at": "2026-07-15T10:18:18.422186"
},
{
"service": "doc",
"command": "+version-save",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test doc +version-save --node P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO --yes --format json",
"args": [
"doc",
"+version-save",
"--node",
"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"message\": \"文档版本已成功保存。\",\n \"savedVersion\": 1,\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 1853,
"recorded_at": "2026-07-15T10:22:15.539141"
},
{
"service": "doc",
"command": "+comment-create",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test doc +comment-create --node P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO --content 'DWS shortcut 真实测试 20260715:验证 doc +comment-create,可忽略。' --yes --format json",
"args": [
"doc",
"+comment-create",
"--node",
"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO",
"--content",
"DWS shortcut 真实测试 20260715:验证 doc +comment-create,可忽略。",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"commentKey\": \"1784082136009b316ba6c48ad41ad92a8b6905406a17c\",\n \"logId\": \"2132f5ca17840821358717098e08d7\",\n \"message\": \"评论创建成功。commentKey: 1784082136009b316ba6c48ad41ad92a8b6905406a17c\",\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 2263,
"recorded_at": "2026-07-15T10:22:16.077531"
},
{
"service": "doc",
"command": "+doc-append",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test doc +doc-append --doc P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO --text 'DWS shortcut 真实测试 20260715:验证 doc +doc-append。' --yes --format json",
"args": [
"doc",
"+doc-append",
"--doc",
"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO",
"--text",
"DWS shortcut 真实测试 20260715:验证 doc +doc-append。",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"logId\": \"213ee25c17840821367055154e08a0\",\n \"message\": \"内容已成功追加到文档末尾,原有内容保持不变。\",\n \"mode\": \"append\",\n \"nodeId\": \"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO\",\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 2892,
"recorded_at": "2026-07-15T10:22:17.006167"
},
{
"service": "doc",
"command": "+comment-reply",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test doc +comment-reply --node P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO --comment-key 1784082136009b316ba6c48ad41ad92a8b6905406a17c --content 'DWS shortcut 真实测试 20260715:验证 doc +comment-reply,可忽略。' --yes --format json",
"args": [
"doc",
"+comment-reply",
"--node",
"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO",
"--comment-key",
"1784082136009b316ba6c48ad41ad92a8b6905406a17c",
"--content",
"DWS shortcut 真实测试 20260715:验证 doc +comment-reply,可忽略。",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"commentKey\": \"1784082170012979f5c547f7a49e88a6c1dd718bbb304\",\n \"logId\": \"2106d98117840821697518379e089c\",\n \"message\": \"回复评论成功。commentKey: 1784082170012979f5c547f7a49e88a6c1dd718bbb304\",\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 1553,
"recorded_at": "2026-07-15T10:22:50.048965"
},
{
"service": "doc",
"command": "+copy",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test doc +copy --node P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO --folder Amq4vjg89ZOAdqyaSMKpApXdW3kdP0wQ --yes --format json",
"args": [
"doc",
"+copy",
"--node",
"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO",
"--folder",
"Amq4vjg89ZOAdqyaSMKpApXdW3kdP0wQ",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"docUrl\": \"https://alidocs.dingtalk.com/i/nodes/7dx2rn0Jbakrq9O5tZvQ1bG9VMGjLRb3\",\n \"message\": \"节点复制成功,已复制到目标文件夹。sourceNodeId: P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO,targetFolderId: Amq4vjg89ZOAdqyaSMKpApXdW3kdP0wQ,新节点 ID: 7dx2rn0Jbakrq9O5tZvQ1bG9VMGjLRb3\",\n \"nodeId\": \"7dx2rn0Jbakrq9O5tZvQ1bG9VMGjLRb3\",\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 1531,
"recorded_at": "2026-07-15T10:23:13.821964"
},
{
"service": "doc",
"command": "+move",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test doc +move --node P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO --folder Amq4vjg89ZOAdqyaSMKpApXdW3kdP0wQ --yes --format json",
"args": [
"doc",
"+move",
"--node",
"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO",
"--folder",
"Amq4vjg89ZOAdqyaSMKpApXdW3kdP0wQ",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"docUrl\": \"https://alidocs.dingtalk.com/i/nodes/P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO\",\n \"message\": \"节点移动成功,已移动到目标文件夹。nodeId: P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO,targetFolderId: Amq4vjg89ZOAdqyaSMKpApXdW3kdP0wQ\",\n \"nodeId\": \"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO\",\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 1087,
"recorded_at": "2026-07-15T10:23:15.362080"
},
{
"service": "doc",
"command": "+version-revert",
"risk": "high-risk-write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test doc +version-revert --node P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO --version 1 --yes --format json",
"args": [
"doc",
"+version-revert",
"--node",
"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO",
"--version",
"1",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"message\": \"文档已成功回滚到指定版本。\",\n \"revertedToVersion\": 1,\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 2065,
"recorded_at": "2026-07-15T10:23:20.422266"
},
{
"service": "chat",
"command": "+chat-dismiss",
"risk": "high-risk-write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test chat +chat-dismiss --group cidXgIVDDzZE7kdQ+bcp3gWNw== --yes --format json",
"args": [
"chat",
"+chat-dismiss",
"--group",
"cidXgIVDDzZE7kdQ+bcp3gWNw==",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {},\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 1120,
"recorded_at": "2026-07-15T10:30:27.746562"
},
{
"service": "devapp",
"command": "+create",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test devapp +create --name 'DWS测试应用0715' --desc 'DWS shortcut 真实测试,可删除' --yes --format json",
"args": [
"devapp",
"+create",
"--name",
"DWS测试应用0715",
"--desc",
"DWS shortcut 真实测试,可删除",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"appKey\": \"dingyqsdchocxp3xrfm3\",\n \"desc\": \"DWS shortcut 真实测试,可删除\",\n \"icon\": \"@lADPDfmVQafoVxrMyMzI\",\n \"iconUrl\": \"https://i01.lw.aliimg.com/media/lADPDfmVQafoVxrMyMzI_200_200.jpg\",\n \"name\": \"DWS测试应用0715\",\n \"unifiedAppId\": \"c5a8e611-1555-44a0-ba8d-9617ab599692\"\n },\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 1464,
"recorded_at": "2026-07-15T10:31:40.493231"
},
{
"service": "devapp",
"command": "+update",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test devapp +update --unified-app-id c5a8e611-1555-44a0-ba8d-9617ab599692 --name 'DWS测试应用0715改' --desc 'DWS shortcut 真实测试已更新' --yes --format json",
"args": [
"devapp",
"+update",
"--unified-app-id",
"c5a8e611-1555-44a0-ba8d-9617ab599692",
"--name",
"DWS测试应用0715改",
"--desc",
"DWS shortcut 真实测试已更新",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"appKey\": \"dingyqsdchocxp3xrfm3\",\n \"desc\": \"DWS shortcut 真实测试已更新\",\n \"icon\": \"@lADPDfmVQafoVxrMyMzI\",\n \"iconUrl\": \"https://i01.lw.aliimg.com/media/lADPDfmVQafoVxrMyMzI_200_200.jpg\",\n \"message\": \"应用基础信息更新成功。\",\n \"name\": \"DWS测试应用0715改\",\n \"success\": true,\n \"unifiedAppId\": \"c5a8e611-1555-44a0-ba8d-9617ab599692\",\n \"updatedFields\": [\n \"name\",\n \"desc\"\n ],\n \"versionStatus\": \"INIT\"\n },\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 5611,
"recorded_at": "2026-07-15T10:32:10.163399"
},
{
"service": "devapp",
"command": "+disable",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test devapp +disable --unified-app-id c5a8e611-1555-44a0-ba8d-9617ab599692 --yes --format json",
"args": [
"devapp",
"+disable",
"--unified-app-id",
"c5a8e611-1555-44a0-ba8d-9617ab599692",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"message\": \"应用已停用。\",\n \"success\": true,\n \"unifiedAppId\": \"c5a8e611-1555-44a0-ba8d-9617ab599692\"\n },\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 2583,
"recorded_at": "2026-07-15T10:32:10.606118"
},
{
"service": "devapp",
"command": "+member-add",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test devapp +member-add --unified-app-id c5a8e611-1555-44a0-ba8d-9617ab599692 --user-ids 103262 --member-type DEVELOPER --yes --format json",
"args": [
"devapp",
"+member-add",
"--unified-app-id",
"c5a8e611-1555-44a0-ba8d-9617ab599692",
"--user-ids",
"103262",
"--member-type",
"DEVELOPER",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"memberType\": \"DEVELOPER\",\n \"operation\": \"ADDED\",\n \"success\": true,\n \"unifiedAppId\": \"c5a8e611-1555-44a0-ba8d-9617ab599692\",\n \"userIds\": [\n \"103262\"\n ]\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 2393,
"recorded_at": "2026-07-15T10:32:10.630577"
},
{
"service": "devapp",
"command": "+enable",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test devapp +enable --unified-app-id c5a8e611-1555-44a0-ba8d-9617ab599692 --yes --format json",
"args": [
"devapp",
"+enable",
"--unified-app-id",
"c5a8e611-1555-44a0-ba8d-9617ab599692",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"message\": \"应用已启用。\",\n \"success\": true,\n \"unifiedAppId\": \"c5a8e611-1555-44a0-ba8d-9617ab599692\"\n },\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 1506,
"recorded_at": "2026-07-15T10:32:41.282567"
},
{
"service": "devapp",
"command": "+member-remove",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test devapp +member-remove --unified-app-id c5a8e611-1555-44a0-ba8d-9617ab599692 --user-ids 103262 --member-type DEVELOPER --yes --format json",
"args": [
"devapp",
"+member-remove",
"--unified-app-id",
"c5a8e611-1555-44a0-ba8d-9617ab599692",
"--user-ids",
"103262",
"--member-type",
"DEVELOPER",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"memberType\": \"DEVELOPER\",\n \"operation\": \"REMOVED\",\n \"success\": true,\n \"unifiedAppId\": \"c5a8e611-1555-44a0-ba8d-9617ab599692\",\n \"userIds\": [\n \"103262\"\n ]\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 1188,
"recorded_at": "2026-07-15T10:32:45.215035"
},
{
"service": "devapp",
"command": "+webapp-config",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test devapp +webapp-config --unified-app-id c5a8e611-1555-44a0-ba8d-9617ab599692 --h5-page-type pc --homepage-url https://example.invalid/dws --pc-homepage-url https://example.invalid/dws-pc --omp-url https://example.invalid/omp --yes --format json",
"args": [
"devapp",
"+webapp-config",
"--unified-app-id",
"c5a8e611-1555-44a0-ba8d-9617ab599692",
"--h5-page-type",
"pc",
"--homepage-url",
"https://example.invalid/dws",
"--pc-homepage-url",
"https://example.invalid/dws-pc",
"--omp-url",
"https://example.invalid/omp",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"configured\": true,\n \"h5PageType\": \"pc\",\n \"homepageUrl\": \"https://example.invalid/dws\",\n \"message\": \"网页应用配置成功。\",\n \"ompUrl\": \"https://example.invalid/omp\",\n \"pcHomepageUrl\": \"https://example.invalid/dws-pc\",\n \"success\": true,\n \"unifiedAppId\": \"c5a8e611-1555-44a0-ba8d-9617ab599692\"\n },\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 4926,
"recorded_at": "2026-07-15T10:33:17.930444"
},
{
"service": "devapp",
"command": "+delete",
"risk": "high-risk-write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test devapp +delete --unified-app-id c5a8e611-1555-44a0-ba8d-9617ab599692 --yes --format json",
"args": [
"devapp",
"+delete",
"--unified-app-id",
"c5a8e611-1555-44a0-ba8d-9617ab599692",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"deleted\": true,\n \"message\": \"应用删除成功。\",\n \"success\": true,\n \"unifiedAppId\": \"c5a8e611-1555-44a0-ba8d-9617ab599692\"\n },\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 2868,
"recorded_at": "2026-07-15T10:33:37.241949"
},
{
"service": "drive",
"command": "+move",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test drive +move --node P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO --folder Amq4vjg89ZOAdqyaSMKpApXdW3kdP0wQ --yes --format json",
"args": [
"drive",
"+move",
"--node",
"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO",
"--folder",
"Amq4vjg89ZOAdqyaSMKpApXdW3kdP0wQ",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"docUrl\": \"https://alidocs.dingtalk.com/i/nodes/P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO\",\n \"message\": \"节点移动成功,已移动到目标文件夹。nodeId: P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO,targetFolderId: Amq4vjg89ZOAdqyaSMKpApXdW3kdP0wQ\",\n \"nodeId\": \"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO\",\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 3380,
"recorded_at": "2026-07-15T10:34:07.475044"
},
{
"service": "drive",
"command": "+copy",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test drive +copy --node P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO --folder Amq4vjg89ZOAdqyaSMKpApXdW3kdP0wQ --yes --format json",
"args": [
"drive",
"+copy",
"--node",
"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO",
"--folder",
"Amq4vjg89ZOAdqyaSMKpApXdW3kdP0wQ",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"docUrl\": \"https://alidocs.dingtalk.com/i/nodes/np9zOoBVBy2AdzEjuP40bzg4W1DK0g6l\",\n \"message\": \"节点复制成功,已复制到目标文件夹。sourceNodeId: P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO,targetFolderId: Amq4vjg89ZOAdqyaSMKpApXdW3kdP0wQ,新节点 ID: np9zOoBVBy2AdzEjuP40bzg4W1DK0g6l\",\n \"nodeId\": \"np9zOoBVBy2AdzEjuP40bzg4W1DK0g6l\",\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 1329,
"recorded_at": "2026-07-15T10:34:08.215467"
},
{
"service": "ding",
"command": "+send-personal",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test ding +send-personal --users 103262 --content 'DWS shortcut 真实测试 20260715:验证 ding +send-personal,请忽略。' --type app --uuid dws-shortcut-ding-20260715-001 --yes --format json",
"args": [
"ding",
"+send-personal",
"--users",
"103262",
"--content",
"DWS shortcut 真实测试 20260715:验证 ding +send-personal,请忽略。",
"--type",
"app",
"--uuid",
"dws-shortcut-ding-20260715-001",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"openDingId\": \"8508193BEA49427AA9FFE94EB9D6B28E\"\n },\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 1338,
"recorded_at": "2026-07-15T10:34:35.058320"
},
{
"service": "ding",
"command": "+recall-personal",
"risk": "high-risk-write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test ding +recall-personal --id 8508193BEA49427AA9FFE94EB9D6B28E --yes --format json",
"args": [
"ding",
"+recall-personal",
"--id",
"8508193BEA49427AA9FFE94EB9D6B28E",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {},\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 1415,
"recorded_at": "2026-07-15T10:34:51.767409"
},
{
"service": "minutes",
"command": "+record-start",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test minutes +record-start --session-id __DWS_SHORTCUT_REAL_TEST_NO_SUCH_ID__ --yes --format json",
"args": [
"minutes",
"+record-start",
"--session-id",
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_ID__",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"cmd\": \"create\",\n \"operatorUid\": 512653609,\n \"sessionId\": \"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_ID__\",\n \"uid\": 512653609\n },\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 821
},
{
"service": "minutes",
"command": "+replace-batch",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test minutes +replace-batch --id __DWS_SHORTCUT_REAL_TEST_NO_SUCH_ID__ --pair '测试=>测试' --yes --format json",
"args": [
"minutes",
"+replace-batch",
"--id",
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_ID__",
"--pair",
"测试=>测试",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"applied\": 0,\n \"failed\": 1,\n \"results\": [\n {\n \"error\": \"[UNCLASSIFIED] business error: success=false\\n hint: Use --verbose for detailed error logs\",\n \"originalText\": \"测试\",\n \"replacedText\": \"测试\"\n }\n ],\n \"taskUuid\": \"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_ID__\",\n \"total\": 1\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 941
},
{
"service": "chat",
"command": "+messages-send-by-webhook",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test chat +messages-send-by-webhook --token __DWS_SHORTCUT_REAL_TEST_NO_SUCH_WEBHOOK_TOKEN__ --title 'DWS shortcut 真实测试 20260715-104025' --text 'DWS shortcut 真实测试 20260715-104025,安全负向输入,请忽略。' --at-all --at-mobiles x --at-users __DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__ --yes --format json",
"args": [
"chat",
"+messages-send-by-webhook",
"--token",
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_WEBHOOK_TOKEN__",
"--title",
"DWS shortcut 真实测试 20260715-104025",
"--text",
"DWS shortcut 真实测试 20260715-104025,安全负向输入,请忽略。",
"--at-all",
"--at-mobiles",
"x",
"--at-users",
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"errcode\": \"300005\",\n \"errmsg\": \"token is not exist\",\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 925
},
{
"service": "chat",
"command": "+messages-update-card",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test chat +messages-update-card --biz-id __DWS_SHORTCUT_REAL_TEST_NO_SUCH_ID__ --content 'DWS shortcut 真实测试 20260715-104025,安全负向输入,请忽略。' --flow-status 1 --yes --format json",
"args": [
"chat",
"+messages-update-card",
"--biz-id",
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_ID__",
"--content",
"DWS shortcut 真实测试 20260715-104025,安全负向输入,请忽略。",
"--flow-status",
"1",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {},\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 934
},
{
"service": "chat",
"command": "+conversation-clear-all-red-point",
"risk": "high-risk-write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test chat +conversation-clear-all-red-point --yes --format json",
"args": [
"chat",
"+conversation-clear-all-red-point",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {},\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 13459,
"recorded_at": "2026-07-15T10:45:08.066989"
},
{
"service": "chat",
"command": "+dm",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test chat +dm --to '冬翔' --text 'DWS shortcut 修复复测 20260715:验证 chat +dm,请忽略。' --yes --format json",
"args": [
"chat",
"+dm",
"--to",
"冬翔",
"--text",
"DWS shortcut 修复复测 20260715:验证 chat +dm,请忽略。",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"openTaskId\": \"y/wM6Lo+9GbIqtILYPv1BZDcMW+2FgnqskgcpdOiMdM=\"\n },\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 2547,
"recorded_at": "2026-07-15T11:01:34.725515"
},
{
"service": "chat",
"command": "+broadcast",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test chat +broadcast --to '冬翔,克谨,怒龙' --text 'DWS shortcut 修复复测 20260715:验证 chat +broadcast,请忽略。' --yes --format json",
"args": [
"chat",
"+broadcast",
"--to",
"冬翔,克谨,怒龙",
"--text",
"DWS shortcut 修复复测 20260715:验证 chat +broadcast,请忽略。",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"failedCount\": 0,\n \"sent\": [\n \"夏东翔\",\n \"黄渊卓\",\n \"刘力\"\n ],\n \"sentCount\": 3\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 2388,
"recorded_at": "2026-07-15T11:01:50.250374"
},
{
"service": "doc",
"command": "+share-doc",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test doc +share-doc --to '冬翔' --url https://alidocs.dingtalk.com/i/nodes/P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO --note 'DWS shortcut 修复复测 20260715:验证 doc +share-doc,请忽略。' --yes --format json",
"args": [
"doc",
"+share-doc",
"--to",
"冬翔",
"--url",
"https://alidocs.dingtalk.com/i/nodes/P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO",
"--note",
"DWS shortcut 修复复测 20260715:验证 doc +share-doc,请忽略。",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"openTaskId\": \"30ETViSW+9qhs7fBO9cbeSocHjj2iUZL4firJPz/h/I=\"\n },\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 1943,
"recorded_at": "2026-07-15T11:02:04.791099"
},
{
"service": "todo",
"command": "+remind",
"risk": "write",
"method": "real-backend-manual-write; no --mock; no --dry-run; cleanup: taskId 55042039022 deleted successfully",
"status": "real-ok",
"input": "/private/tmp/dws-real-test todo +remind --task 'DWS shortcut 修复复测 20260715 remind,可忽略' --at 2026-07-16T10:00:00+08:00 --yes --format json",
"args": [
"todo",
"+remind",
"--task",
"DWS shortcut 修复复测 20260715 remind,可忽略",
"--at",
"2026-07-16T10:00:00+08:00",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"arguments\": [],\n \"result\": {\n \"subject\": \"DWS shortcut 修复复测 20260715 remind,可忽略\",\n \"taskId\": \"55042039022\"\n },\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 4240,
"recorded_at": "2026-07-15T11:02:27.012678",
"cleanup": {
"input": "/private/tmp/dws-real-test todo task delete --task-id 55042039022 --yes --format json",
"stdout": "{\n \"result\": {\n \"success\": true\n },\n \"success\": true\n}",
"exit_code": 0,
"note": "真实复测创建的临时待办已删除"
}
},
{
"service": "aitable",
"command": "+advperm-disable",
"risk": "high-risk-write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +advperm-disable --base-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"aitable",
"+advperm-disable",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to set advanced permission for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2106d98117840998455921653e08de\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1447,
"failure_category": "auth-or-permission",
"fixability": "not-cli-fixable",
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
},
{
"service": "aitable",
"command": "+advperm-enable",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +advperm-enable --base-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"aitable",
"+advperm-enable",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to set advanced permission for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"0bab027317840998469916877e08c8\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1358,
"failure_category": "auth-or-permission",
"fixability": "not-cli-fixable",
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
},
{
"service": "aitable",
"command": "+attachment-upload",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +attachment-upload --base-id DWSREALTESTNOSUCHID0000000000000 --file-name dws-shortcut-real-20260715-151724.txt --size 1 --mime-type text/plain --yes --format json",
"args": [
"aitable",
"+attachment-upload",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--file-name",
"dws-shortcut-real-20260715-151724.txt",
"--size",
"1",
"--mime-type",
"text/plain",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"BASE_NOT_FOUND\\\",\\\"message\\\":\\\"Specified base does not exist, has been deleted, or is inaccessible\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to prepare attachment upload: base does not exist or is inaccessible\\\",\\\"trace_id\\\":\\\"213ee25c17840998481228948e087f\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1131,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+base-copy",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +base-copy --base-id DWSREALTESTNOSUCHID0000000000000 --target-folder-id x --only-struct --yes --format json",
"args": [
"aitable",
"+base-copy",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--target-folder-id",
"x",
"--only-struct",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":null,\\\"message\\\":\\\"Invalid source baseId: DWSREALTESTNOSUCHID0000000000000\\\",\\\"retryable\\\":null,\\\"type\\\":\\\"USER_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Invalid source baseId\\\",\\\"trace_id\\\":\\\"213ee25c17840998493715617e08e2\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1318,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+base-delete",
"risk": "high-risk-write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +base-delete --base-id DWSREALTESTNOSUCHID0000000000000 --reason 'DWS shortcut 真实测试安全负向清理' --yes --format json",
"args": [
"aitable",
"+base-delete",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--reason",
"DWS shortcut 真实测试安全负向清理",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"52600003\\\",\\\"message\\\":\\\"Data not found\\\",\\\"retryable\\\":true,\\\"type\\\":\\\"SYSTEM_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to delete base DWSREALTESTNOSUCHID0000000000000. Check whether the base still exists, the caller still has access, and the baseId is from get_base/search_bases before retrying.\\\",\\\"trace_id\\\":\\\"2132f5ca17840998505858640e0874\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1124,
"failure_category": "missing-real-resource",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
},
{
"service": "aitable",
"command": "+base-update",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +base-update --base-id DWSREALTESTNOSUCHID0000000000000 --name 'DWS shortcut 真实测试 20260715-151724' --desc 'DWS shortcut 真实测试描述,可删除' --yes --format json",
"args": [
"aitable",
"+base-update",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--name",
"DWS shortcut 真实测试 20260715-151724",
"--desc",
"DWS shortcut 真实测试描述,可删除",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"BASE_NOT_FOUND\\\",\\\"message\\\":\\\"Specified base does not exist, has been deleted, or is inaccessible\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to update base because base does not exist or is inaccessible\\\",\\\"trace_id\\\":\\\"2132f5ca17840998518767946e08b6\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1318,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+chart-delete",
"risk": "high-risk-write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +chart-delete --base-id DWSREALTESTNOSUCHID0000000000000 --dashboard-id DWSREALTESTNOSUCHID0000000000000 --chart-id DWSREALTESTNOSUCHID0000000000000 --reason 'DWS shortcut 真实测试安全负向清理' --yes --format json",
"args": [
"aitable",
"+chart-delete",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--dashboard-id",
"DWSREALTESTNOSUCHID0000000000000",
"--chart-id",
"DWSREALTESTNOSUCHID0000000000000",
"--reason",
"DWS shortcut 真实测试安全负向清理",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to delete chart DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"0bab027317840998530143696e08c9\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1154,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+chart-share-update",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +chart-share-update --base-id DWSREALTESTNOSUCHID0000000000000 --dashboard-id DWSREALTESTNOSUCHID0000000000000 --chart-id DWSREALTESTNOSUCHID0000000000000 --enabled --share-type PUBLIC --allow-back-to-doc --yes --format json",
"args": [
"aitable",
"+chart-share-update",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--dashboard-id",
"DWSREALTESTNOSUCHID0000000000000",
"--chart-id",
"DWSREALTESTNOSUCHID0000000000000",
"--enabled",
"--share-type",
"PUBLIC",
"--allow-back-to-doc",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to update chart share for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"0bab027317840998541842968e094d\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1175,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+chart-update",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +chart-update --base-id DWSREALTESTNOSUCHID0000000000000 --dashboard-id DWSREALTESTNOSUCHID0000000000000 --chart-id DWSREALTESTNOSUCHID0000000000000 --config '{}' --layout '{}' --yes --format json",
"args": [
"aitable",
"+chart-update",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--dashboard-id",
"DWSREALTESTNOSUCHID0000000000000",
"--chart-id",
"DWSREALTESTNOSUCHID0000000000000",
"--config",
"{}",
"--layout",
"{}",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_PARAMS\\\",\\\"message\\\":\\\"config is required\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to update chart because config is missing\\\",\\\"trace_id\\\":\\\"2106d98117840998553244877e08df\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1102,
"failure_category": "backend-or-mcp-error",
"fixability": "not-cli-fixable-first",
"diagnosis": "后端/MCP 服务返回内部错误;CLI 无法直接修复,但报告保留 trace/stdout 供服务端排查。"
},
{
"service": "aitable",
"command": "+dashboard-arrange",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +dashboard-arrange --base-id DWSREALTESTNOSUCHID0000000000000 --dashboard-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"aitable",
"+dashboard-arrange",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--dashboard-id",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to align dashboard for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2132f5ca17840998564478222e08d8\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1141,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+dashboard-delete",
"risk": "high-risk-write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +dashboard-delete --base-id DWSREALTESTNOSUCHID0000000000000 --dashboard-id DWSREALTESTNOSUCHID0000000000000 --reason 'DWS shortcut 真实测试安全负向清理' --yes --format json",
"args": [
"aitable",
"+dashboard-delete",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--dashboard-id",
"DWSREALTESTNOSUCHID0000000000000",
"--reason",
"DWS shortcut 真实测试安全负向清理",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to delete dashboard DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2106d98117840998577042546e0941\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1247,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+dashboard-share-update",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +dashboard-share-update --base-id DWSREALTESTNOSUCHID0000000000000 --dashboard-id DWSREALTESTNOSUCHID0000000000000 --enabled --share-type PUBLIC --allow-back-to-doc --yes --format json",
"args": [
"aitable",
"+dashboard-share-update",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--dashboard-id",
"DWSREALTESTNOSUCHID0000000000000",
"--enabled",
"--share-type",
"PUBLIC",
"--allow-back-to-doc",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to update dashboard share for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2132f5ca17840998588081246e0853\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1115,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+dashboard-update",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +dashboard-update --base-id DWSREALTESTNOSUCHID0000000000000 --dashboard-id DWSREALTESTNOSUCHID0000000000000 --config '{}' --name 'DWS shortcut 真实测试 20260715-151724' --yes --format json",
"args": [
"aitable",
"+dashboard-update",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--dashboard-id",
"DWSREALTESTNOSUCHID0000000000000",
"--config",
"{}",
"--name",
"DWS shortcut 真实测试 20260715-151724",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to update dashboard DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2106d98117840998599403187e08b8\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1157,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+field-delete",
"risk": "high-risk-write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +field-delete --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --field-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"aitable",
"+field-delete",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--table-id",
"DWSREALTESTNOSUCHID0000000000000",
"--field-id",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"404\\\",\\\"message\\\":\\\"getDentryDTO returns null\\\",\\\"retryable\\\":true,\\\"type\\\":\\\"SYSTEM_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to get current field info before delete\\\",\\\"trace_id\\\":\\\"0bab027317840998611338768e08c8\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1157,
"failure_category": "backend-or-mcp-error",
"fixability": "not-cli-fixable-first",
"diagnosis": "后端/MCP 服务返回内部错误;CLI 无法直接修复,但报告保留 trace/stdout 供服务端排查。"
},
{
"service": "aitable",
"command": "+field-update",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +field-update --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --field-id DWSREALTESTNOSUCHID0000000000000 --name 'DWS shortcut 真实测试 20260715-151724' --config '{}' --ai-config '{}' --yes --format json",
"args": [
"aitable",
"+field-update",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--table-id",
"DWSREALTESTNOSUCHID0000000000000",
"--field-id",
"DWSREALTESTNOSUCHID0000000000000",
"--name",
"DWS shortcut 真实测试 20260715-151724",
"--config",
"{}",
"--ai-config",
"{}",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"404\\\",\\\"message\\\":\\\"getDentryDTO returns null\\\",\\\"retryable\\\":true,\\\"type\\\":\\\"SYSTEM_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to get current field info for update\\\",\\\"trace_id\\\":\\\"213ee25c17840998623207342e08e2\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1196,
"failure_category": "backend-or-mcp-error",
"fixability": "not-cli-fixable-first",
"diagnosis": "后端/MCP 服务返回内部错误;CLI 无法直接修复,但报告保留 trace/stdout 供服务端排查。"
},
{
"service": "aitable",
"command": "+form-delete",
"risk": "high-risk-write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +form-delete --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --view-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"aitable",
"+form-delete",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--table-id",
"DWSREALTESTNOSUCHID0000000000000",
"--view-id",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to delete form view for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"213ee25c17840998636217552e08e2\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1290,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+form-field-hide",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +form-field-hide --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --view-id DWSREALTESTNOSUCHID0000000000000 --field-id DWSREALTESTNOSUCHID0000000000000 --hidden --yes --format json",
"args": [
"aitable",
"+form-field-hide",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--table-id",
"DWSREALTESTNOSUCHID0000000000000",
"--view-id",
"DWSREALTESTNOSUCHID0000000000000",
"--field-id",
"DWSREALTESTNOSUCHID0000000000000",
"--hidden",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to update form field hidden for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2106d98117840998649456212e08df\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1312,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+form-field-update",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +form-field-update --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --view-id DWSREALTESTNOSUCHID0000000000000 --field-id DWSREALTESTNOSUCHID0000000000000 --required --field-description 'DWS shortcut 真实测试字段说明' --yes --format json",
"args": [
"aitable",
"+form-field-update",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--table-id",
"DWSREALTESTNOSUCHID0000000000000",
"--view-id",
"DWSREALTESTNOSUCHID0000000000000",
"--field-id",
"DWSREALTESTNOSUCHID0000000000000",
"--required",
"--field-description",
"DWS shortcut 真实测试字段说明",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to update form field config for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"213ee25c17840998660847932e08e2\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1153,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+form-share-update",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +form-share-update --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --view-id DWSREALTESTNOSUCHID0000000000000 --enabled true --yes --format json",
"args": [
"aitable",
"+form-share-update",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--table-id",
"DWSREALTESTNOSUCHID0000000000000",
"--view-id",
"DWSREALTESTNOSUCHID0000000000000",
"--enabled",
"true",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to update share form for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"213ee25c17840998675755538e087d\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1573,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+form-update",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +form-update --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --view-id DWSREALTESTNOSUCHID0000000000000 --title 'DWS shortcut 真实测试 20260715-151724' --description 'DWS shortcut 真实测试描述,可删除' --yes --format json",
"args": [
"aitable",
"+form-update",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--table-id",
"DWSREALTESTNOSUCHID0000000000000",
"--view-id",
"DWSREALTESTNOSUCHID0000000000000",
"--title",
"DWS shortcut 真实测试 20260715-151724",
"--description",
"DWS shortcut 真实测试描述,可删除",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to update form info for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2132f5ca17840998688302645e0853\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1141,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+import-data",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +import-data --import-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --timeout 1 --header-row 1 --src-sheet-name x --field-mapping '{}' --yes --format json",
"args": [
"aitable",
"+import-data",
"--import-id",
"DWSREALTESTNOSUCHID0000000000000",
"--table-id",
"DWSREALTESTNOSUCHID0000000000000",
"--timeout",
"1",
"--header-row",
"1",
"--src-sheet-name",
"x",
"--field-mapping",
"{}",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_IMPORT_ID\\\",\\\"message\\\":\\\"importId not found: either invalid or expired\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"importId「DWSREALTESTNOSUCHID0000000000000」无效或已过期(有效期 1 小时)。请勿重试相同 importId。需重新上传:① 调用 prepare_import_upload 获取新的 uploadUrl 和 importId;② 通过 HTTP PUT 将原始文件字节流上传至 uploadUrl;除非 uploadUrl 明确要求,否则不要额外附带 Content-Type 等自定义请求头;③ 调用 import_data 传入新的 importId。\\\",\\\"trace_id\\\":\\\"213ee25c17840998700326443e0944\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1227,
"failure_category": "missing-real-resource",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
},
{
"service": "aitable",
"command": "+import-upload",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +import-upload --base-id DWSREALTESTNOSUCHID0000000000000 --file-name dws-shortcut-real-20260715-151724.txt --file-size 1 --yes --format json",
"args": [
"aitable",
"+import-upload",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--file-name",
"dws-shortcut-real-20260715-151724.txt",
"--file-size",
"1",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"无法解析 baseId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"无效的 baseId\\\",\\\"trace_id\\\":\\\"0bab027317840998713075490e096e\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1302,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+record-delete",
"risk": "high-risk-write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +record-delete --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --record-ids DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"aitable",
"+record-delete",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--table-id",
"DWSREALTESTNOSUCHID0000000000000",
"--record-ids",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"404\\\",\\\"message\\\":\\\"getDentryDTO returns null\\\",\\\"retryable\\\":true,\\\"type\\\":\\\"SYSTEM_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to delete records\\\",\\\"trace_id\\\":\\\"2132f5ca17840998724753149e0853\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1159,
"failure_category": "backend-or-mcp-error",
"fixability": "not-cli-fixable-first",
"diagnosis": "后端/MCP 服务返回内部错误;CLI 无法直接修复,但报告保留 trace/stdout 供服务端排查。"
},
{
"service": "aitable",
"command": "+record-primary-doc-create",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +record-primary-doc-create --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --field-id DWSREALTESTNOSUCHID0000000000000 --record-id 999999999999 --yes --format json",
"args": [
"aitable",
"+record-primary-doc-create",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--table-id",
"DWSREALTESTNOSUCHID0000000000000",
"--field-id",
"DWSREALTESTNOSUCHID0000000000000",
"--record-id",
"999999999999",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"RESOLVE_DOC_ID_ERROR\\\",\\\"message\\\":\\\"Failed to resolve docId from baseId\\\",\\\"retryable\\\":true,\\\"type\\\":\\\"SYSTEM_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to create cell doc because baseId cannot be resolved to docId\\\",\\\"trace_id\\\":\\\"213ee25c17840998736256985e0944\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1150,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+record-update",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +record-update --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --records '[{\"recordId\":\"recDWSREALTEST\",\"cells\":{}}]' --yes --format json",
"args": [
"aitable",
"+record-update",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--table-id",
"DWSREALTESTNOSUCHID0000000000000",
"--records",
"[{\"recordId\":\"recDWSREALTEST\",\"cells\":{}}]",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_RECORDS\\\",\\\"message\\\":\\\"records must contain at least one writable record\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to update records because no valid writable records remain for table DWSREALTESTNOSUCHID0000000000000. Skipped records with empty cells (1): recDWSREALTEST\\\",\\\"trace_id\\\":\\\"0bab027317840998747383236e090b\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1144,
"failure_category": "backend-or-mcp-error",
"fixability": "not-cli-fixable-first",
"diagnosis": "后端/MCP 服务返回内部错误;CLI 无法直接修复,但报告保留 trace/stdout 供服务端排查。"
},
{
"service": "aitable",
"command": "+record-upsert",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +record-upsert --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --records '[]' --yes --format json",
"args": [
"aitable",
"+record-upsert",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--table-id",
"DWSREALTESTNOSUCHID0000000000000",
"--records",
"[]",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_PARAMETER\\\",\\\"message\\\":\\\"records is required and must not be empty\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"records is required and must not be empty\\\",\\\"trace_id\\\":\\\"2106d98117840998759832182e087b\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1173,
"failure_category": "backend-or-mcp-error",
"fixability": "not-cli-fixable-first",
"diagnosis": "后端/MCP 服务返回内部错误;CLI 无法直接修复,但报告保留 trace/stdout 供服务端排查。"
},
{
"service": "aitable",
"command": "+role-create",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +role-create --base-id DWSREALTESTNOSUCHID0000000000000 --name 'DWS shortcut 真实测试 20260715-151724' --role-type x --flow-type x --sub-roles '[]' --yes --format json",
"args": [
"aitable",
"+role-create",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--name",
"DWS shortcut 真实测试 20260715-151724",
"--role-type",
"x",
"--flow-type",
"x",
"--sub-roles",
"[]",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to create role for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"0bab027317840998770933580e090b\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1130,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+role-delete",
"risk": "high-risk-write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +role-delete --base-id DWSREALTESTNOSUCHID0000000000000 --role-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"aitable",
"+role-delete",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--role-id",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_PARAMS\\\",\\\"message\\\":\\\"roleId is required\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to delete role because roleId is missing\\\",\\\"trace_id\\\":\\\"2106d98117840998782482701e089c\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1150,
"failure_category": "backend-or-mcp-error",
"fixability": "not-cli-fixable-first",
"diagnosis": "后端/MCP 服务返回内部错误;CLI 无法直接修复,但报告保留 trace/stdout 供服务端排查。"
},
{
"service": "aitable",
"command": "+role-update",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +role-update --base-id DWSREALTESTNOSUCHID0000000000000 --role-id DWSREALTESTNOSUCHID0000000000000 --name 'DWS shortcut 真实测试 20260715-151724' --role-type x --flow-type x --sub-roles '[]' --yes --format json",
"args": [
"aitable",
"+role-update",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--role-id",
"DWSREALTESTNOSUCHID0000000000000",
"--name",
"DWS shortcut 真实测试 20260715-151724",
"--role-type",
"x",
"--flow-type",
"x",
"--sub-roles",
"[]",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_PARAMS\\\",\\\"message\\\":\\\"roleId is required\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to patch role because roleId is missing\\\",\\\"trace_id\\\":\\\"2132f5ca17840998794483634e08d8\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1209,
"failure_category": "backend-or-mcp-error",
"fixability": "not-cli-fixable-first",
"diagnosis": "后端/MCP 服务返回内部错误;CLI 无法直接修复,但报告保留 trace/stdout 供服务端排查。"
},
{
"service": "aitable",
"command": "+section-create",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +section-create --base-id DWSREALTESTNOSUCHID0000000000000 --name 'DWS shortcut 真实测试 20260715-151724' --parent-section-id DWSREALTESTNOSUCHID0000000000000 --index 1 --yes --format json",
"args": [
"aitable",
"+section-create",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--name",
"DWS shortcut 真实测试 20260715-151724",
"--parent-section-id",
"DWSREALTESTNOSUCHID0000000000000",
"--index",
"1",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to create section for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2132f5ca17840998805556786e08d9\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1117,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+section-delete",
"risk": "high-risk-write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +section-delete --base-id DWSREALTESTNOSUCHID0000000000000 --section-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"aitable",
"+section-delete",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--section-id",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to delete section for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2106d98117840998817023336e087a\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1111,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+section-move-node",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +section-move-node --base-id DWSREALTESTNOSUCHID0000000000000 --node-id DWSREALTESTNOSUCHID0000000000000 --new-parent-section-id DWSREALTESTNOSUCHID0000000000000 --target-index 1 --yes --format json",
"args": [
"aitable",
"+section-move-node",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--node-id",
"DWSREALTESTNOSUCHID0000000000000",
"--new-parent-section-id",
"DWSREALTESTNOSUCHID0000000000000",
"--target-index",
"1",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to move node for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2106d98117840998828667800e0920\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1186,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+section-rename",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +section-rename --base-id DWSREALTESTNOSUCHID0000000000000 --section-id DWSREALTESTNOSUCHID0000000000000 --new-name 'DWS shortcut 真实测试 20260715-151724' --yes --format json",
"args": [
"aitable",
"+section-rename",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--section-id",
"DWSREALTESTNOSUCHID0000000000000",
"--new-name",
"DWS shortcut 真实测试 20260715-151724",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to rename section for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"213ee25c17840998840692547e08e2\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1259,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+section-reorder",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +section-reorder --base-id DWSREALTESTNOSUCHID0000000000000 --section-id DWSREALTESTNOSUCHID0000000000000 --target-index 1 --yes --format json",
"args": [
"aitable",
"+section-reorder",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--section-id",
"DWSREALTESTNOSUCHID0000000000000",
"--target-index",
"1",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to reorder section for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2132f5ca17840998853157434e08d9\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1193,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+table-delete",
"risk": "high-risk-write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +table-delete --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --reason 'DWS shortcut 真实测试安全负向清理' --yes --format json",
"args": [
"aitable",
"+table-delete",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--table-id",
"DWSREALTESTNOSUCHID0000000000000",
"--reason",
"DWS shortcut 真实测试安全负向清理",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"BASE_NOT_FOUND\\\",\\\"message\\\":\\\"Specified base does not exist, has been deleted, or is inaccessible\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to delete table because base does not exist or is inaccessible\\\",\\\"trace_id\\\":\\\"2132f5ca17840998865048372e0852\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1199,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+table-update",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +table-update --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --name 'DWS shortcut 真实测试 20260715-151724' --description 'DWS shortcut 真实测试描述,可删除' --record-name-key task --yes --format json",
"args": [
"aitable",
"+table-update",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--table-id",
"DWSREALTESTNOSUCHID0000000000000",
"--name",
"DWS shortcut 真实测试 20260715-151724",
"--description",
"DWS shortcut 真实测试描述,可删除",
"--record-name-key",
"task",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"404\\\",\\\"message\\\":\\\"getDentryDTO returns null\\\",\\\"retryable\\\":true,\\\"type\\\":\\\"SYSTEM_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to update table DWSREALTESTNOSUCHID0000000000000 in base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"213ee25c17840998877246229e087f\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1249,
"failure_category": "backend-or-mcp-error",
"fixability": "not-cli-fixable-first",
"diagnosis": "后端/MCP 服务返回内部错误;CLI 无法直接修复,但报告保留 trace/stdout 供服务端排查。"
},
{
"service": "aitable",
"command": "+view-delete",
"risk": "high-risk-write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +view-delete --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --view-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"aitable",
"+view-delete",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--table-id",
"DWSREALTESTNOSUCHID0000000000000",
"--view-id",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to delete view DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2106d98117840998889051250e08df\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1236,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+view-duplicate",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +view-duplicate --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --view-id DWSREALTESTNOSUCHID0000000000000 --new-name 'DWS shortcut 真实测试 20260715-151724' --yes --format json",
"args": [
"aitable",
"+view-duplicate",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--table-id",
"DWSREALTESTNOSUCHID0000000000000",
"--view-id",
"DWSREALTESTNOSUCHID0000000000000",
"--new-name",
"DWS shortcut 真实测试 20260715-151724",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to duplicate view DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2132f5ca17840998901765467e0853\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1160,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+view-lock",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +view-lock --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --view-id DWSREALTESTNOSUCHID0000000000000 --off --yes --format json",
"args": [
"aitable",
"+view-lock",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--table-id",
"DWSREALTESTNOSUCHID0000000000000",
"--view-id",
"DWSREALTESTNOSUCHID0000000000000",
"--off",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to lock_or_unlock view DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2106d98117840998913717245e0941\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1215,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+view-set-fill-color-rule",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +view-set-fill-color-rule --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --view-id DWSREALTESTNOSUCHID0000000000000 --json '{}' --yes --format json",
"args": [
"aitable",
"+view-set-fill-color-rule",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--table-id",
"DWSREALTESTNOSUCHID0000000000000",
"--view-id",
"DWSREALTESTNOSUCHID0000000000000",
"--json",
"{}",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_PARAMS\\\",\\\"message\\\":\\\"conditionalFormats is required\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to set fill color rule because conditionalFormats is missing\\\",\\\"trace_id\\\":\\\"2106d98117840998924181709e08df\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1046,
"failure_category": "backend-or-mcp-error",
"fixability": "not-cli-fixable-first",
"diagnosis": "后端/MCP 服务返回内部错误;CLI 无法直接修复,但报告保留 trace/stdout 供服务端排查。"
},
{
"service": "aitable",
"command": "+view-set-frozen-cols",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +view-set-frozen-cols --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --view-id DWSREALTESTNOSUCHID0000000000000 --count 1 --yes --format json",
"args": [
"aitable",
"+view-set-frozen-cols",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--table-id",
"DWSREALTESTNOSUCHID0000000000000",
"--view-id",
"DWSREALTESTNOSUCHID0000000000000",
"--count",
"1",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to set frozen columns for view DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2106d98117840998935988648e08de\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1149,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+view-set-row-height",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +view-set-row-height --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --view-id DWSREALTESTNOSUCHID0000000000000 --cell-height 1 --yes --format json",
"args": [
"aitable",
"+view-set-row-height",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--table-id",
"DWSREALTESTNOSUCHID0000000000000",
"--view-id",
"DWSREALTESTNOSUCHID0000000000000",
"--cell-height",
"1",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to set cell height for view DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2106d98117840998949428245e08b8\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1345,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+view-update",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +view-update --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --view-id DWSREALTESTNOSUCHID0000000000000 --name 'DWS shortcut 真实测试 20260715-151724' --desc '{}' --config '{}' --yes --format json",
"args": [
"aitable",
"+view-update",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--table-id",
"DWSREALTESTNOSUCHID0000000000000",
"--view-id",
"DWSREALTESTNOSUCHID0000000000000",
"--name",
"DWS shortcut 真实测试 20260715-151724",
"--desc",
"{}",
"--config",
"{}",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to update view DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"213ee25c17840998961487395e087f\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1331,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+workflow-disable",
"risk": "high-risk-write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +workflow-disable --base-id DWSREALTESTNOSUCHID0000000000000 --workflow-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"aitable",
"+workflow-disable",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--workflow-id",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"BASE_NOT_FOUND\\\",\\\"message\\\":\\\"Cannot resolve base 'DWSREALTESTNOSUCHID0000000000000', please check if the baseId is valid\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to disable workflow because base 'DWSREALTESTNOSUCHID0000000000000' could not be found\\\",\\\"trace_id\\\":\\\"213ee25c17840998975738372e087e\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1320,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "aitable",
"command": "+workflow-enable",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test aitable +workflow-enable --base-id DWSREALTESTNOSUCHID0000000000000 --workflow-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"aitable",
"+workflow-enable",
"--base-id",
"DWSREALTESTNOSUCHID0000000000000",
"--workflow-id",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"BASE_NOT_FOUND\\\",\\\"message\\\":\\\"Cannot resolve base 'DWSREALTESTNOSUCHID0000000000000', please check if the baseId is valid\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to enable workflow because base 'DWSREALTESTNOSUCHID0000000000000' could not be found\\\",\\\"trace_id\\\":\\\"0bab027317840998987508899e094d\\\"}\"\n }\n}",
"exit_code": 1,
"duration_ms": 1171,
"failure_category": "missing-real-aitable-fixture",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
},
{
"service": "attendance",
"command": "+boss-check",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test attendance +boss-check --plan-id 999999999999 --result-id 999999999999 --time 2026-07-22T10:00:00+08:00 --result Normal --absent-min 1 --remark 'DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。' --yes --format json",
"args": [
"attendance",
"+boss-check",
"--plan-id",
"999999999999",
"--result-id",
"999999999999",
"--time",
"2026-07-22T10:00:00+08:00",
"--result",
"Normal",
"--absent-min",
"1",
"--remark",
"DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: attendance-wukong/boss_check)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"C0002\",\n \"server_key\": \"attendance-wukong\",\n \"trace_id\": \"213ee25c17840998998942184e087d\"\n }\n}",
"exit_code": 1,
"duration_ms": 1136,
"failure_category": "input-or-business-validation",
"fixability": "test-input-or-backend-rule",
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
},
{
"service": "attendance",
"command": "+create-class",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test attendance +create-class --name 'DWS shortcut 真实测试 20260715-151724' --owner __DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__ --class-vo '{\"sections\":[{\"times\":[{\"checkType\":\"OnDuty\",\"checkTime\":\"09:00\",\"across\":0},{\"checkType\":\"OffDuty\",\"checkTime\":\"18:00\",\"across\":0}]}]}' --yes --format json",
"args": [
"attendance",
"+create-class",
"--name",
"DWS shortcut 真实测试 20260715-151724",
"--owner",
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__",
"--class-vo",
"{\"sections\":[{\"times\":[{\"checkType\":\"OnDuty\",\"checkTime\":\"09:00\",\"across\":0},{\"checkType\":\"OffDuty\",\"checkTime\":\"18:00\",\"across\":0}]}]}",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: attendance-wukong/create_class_setting)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"S0001\",\n \"server_key\": \"attendance-wukong\",\n \"trace_id\": \"0bab027317840999009926838e090b\"\n }\n}",
"exit_code": 1,
"duration_ms": 1148,
"failure_category": "input-or-business-validation",
"fixability": "test-input-or-backend-rule",
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
},
{
"service": "attendance",
"command": "+create-group",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test attendance +create-group --name 'DWS shortcut 真实测试 20260715-151724' --type FIXED --owner __DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__ --group-vo '{\"defaultClassId\":999999999999,\"workDayClassList\":[999999999999,999999999999,999999999999,999999999999,999999999999,0,0]}' --yes --format json",
"args": [
"attendance",
"+create-group",
"--name",
"DWS shortcut 真实测试 20260715-151724",
"--type",
"FIXED",
"--owner",
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__",
"--group-vo",
"{\"defaultClassId\":999999999999,\"workDayClassList\":[999999999999,999999999999,999999999999,999999999999,999999999999,0,0]}",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: attendance-wukong/create_group_setting)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"S0001\",\n \"server_key\": \"attendance-wukong\",\n \"trace_id\": \"2106d98117840999021121258e08b8\"\n }\n}",
"exit_code": 1,
"duration_ms": 1201,
"failure_category": "input-or-business-validation",
"fixability": "test-input-or-backend-rule",
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
},
{
"service": "attendance",
"command": "+import-schedule",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test attendance +import-schedule --group-id 999999999999 --schedules '[{\"userId\":\"202397\",\"workDate\":\"2026-07-16 09:00:00\",\"classId\":999999999999,\"isRest\":\"N\"}]' --yes --format json",
"args": [
"attendance",
"+import-schedule",
"--group-id",
"999999999999",
"--schedules",
"[{\"userId\":\"202397\",\"workDate\":\"2026-07-16 09:00:00\",\"classId\":999999999999,\"isRest\":\"N\"}]",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: attendance-wukong/generateTurnSchedule)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"S0003\",\n \"server_key\": \"attendance-wukong\",\n \"trace_id\": \"2104a64c17840999034845189e085e\"\n }\n}",
"exit_code": 1,
"duration_ms": 1271,
"failure_category": "input-or-business-validation",
"fixability": "test-input-or-backend-rule",
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
},
{
"service": "attendance",
"command": "+save-leave-balance",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test attendance +save-leave-balance --target __DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__ --leave-code DWSREALTESTNOSUCHID0000000000000 --num 1 --reason 'DWS shortcut 真实测试安全负向清理' --start 2026-07-16 --end 2026-08-14 --yes --format json",
"args": [
"attendance",
"+save-leave-balance",
"--target",
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__",
"--leave-code",
"DWSREALTESTNOSUCHID0000000000000",
"--num",
"1",
"--reason",
"DWS shortcut 真实测试安全负向清理",
"--start",
"2026-07-16",
"--end",
"2026-08-14",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] 无权更新指定员工的假期余额 (operation: attendance-wukong/update_leave_balance)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PERMISSION_DENIED\",\n \"server_key\": \"attendance-wukong\",\n \"trace_id\": \"2127d89817840999045751134e079c\"\n }\n}",
"exit_code": 1,
"duration_ms": 1081,
"failure_category": "auth-or-permission",
"fixability": "not-cli-fixable",
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
},
{
"service": "attendance",
"command": "+update-class",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test attendance +update-class --class-id 999999999999 --name 'DWS shortcut 真实测试 20260715-151724' --owner __DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__ --class-vo '{\"sections\":[{\"times\":[{\"checkType\":\"OnDuty\",\"checkTime\":\"09:00\",\"across\":0},{\"checkType\":\"OffDuty\",\"checkTime\":\"18:00\",\"across\":0}]}]}' --yes --format json",
"args": [
"attendance",
"+update-class",
"--class-id",
"999999999999",
"--name",
"DWS shortcut 真实测试 20260715-151724",
"--owner",
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__",
"--class-vo",
"{\"sections\":[{\"times\":[{\"checkType\":\"OnDuty\",\"checkTime\":\"09:00\",\"across\":0},{\"checkType\":\"OffDuty\",\"checkTime\":\"18:00\",\"across\":0}]}]}",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: attendance-wukong/update_class_setting)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"S0001\",\n \"server_key\": \"attendance-wukong\",\n \"trace_id\": \"0b5deb3217840999058236471e08b5\"\n }\n}",
"exit_code": 1,
"duration_ms": 1248,
"failure_category": "input-or-business-validation",
"fixability": "test-input-or-backend-rule",
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
},
{
"service": "attendance",
"command": "+update-group",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test attendance +update-group --group-id 999999999999 --name 'DWS shortcut 真实测试 20260715-151724' --type FIXED --owner __DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__ --enable-outside-check true --class-ids '[999999999999]' --group-vo '{\"defaultClassId\":999999999999,\"workDayClassList\":[999999999999,999999999999,999999999999,999999999999,999999999999,0,0]}' --yes --format json",
"args": [
"attendance",
"+update-group",
"--group-id",
"999999999999",
"--name",
"DWS shortcut 真实测试 20260715-151724",
"--type",
"FIXED",
"--owner",
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__",
"--enable-outside-check",
"true",
"--class-ids",
"[999999999999]",
"--group-vo",
"{\"defaultClassId\":999999999999,\"workDayClassList\":[999999999999,999999999999,999999999999,999999999999,999999999999,0,0]}",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: attendance-wukong/update_group_setting)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"S0001\",\n \"server_key\": \"attendance-wukong\",\n \"trace_id\": \"0b5deb3217840999068826691e087a\"\n }\n}",
"exit_code": 1,
"duration_ms": 1175,
"failure_category": "input-or-business-validation",
"fixability": "test-input-or-backend-rule",
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
},
{
"service": "attendance",
"command": "+update-group-members",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test attendance +update-group-members --group-id 999999999999 --add-users __DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__ --remove-users '' --add-extra-users '' --remove-extra-users '' --add-depts '' --remove-depts '' --yes --format json",
"args": [
"attendance",
"+update-group-members",
"--group-id",
"999999999999",
"--add-users",
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__",
"--remove-users",
"",
"--add-extra-users",
"",
"--remove-extra-users",
"",
"--add-depts",
"",
"--remove-depts",
"",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: attendance-wukong/update_group_member)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"S0002\",\n \"server_key\": \"attendance-wukong\",\n \"trace_id\": \"2127d89817840999081094644e07dd\"\n }\n}",
"exit_code": 1,
"duration_ms": 1170,
"failure_category": "input-or-business-validation",
"fixability": "test-input-or-backend-rule",
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
},
{
"service": "attendance",
"command": "+update-leave-type",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test attendance +update-leave-type --leave-code DWSREALTESTNOSUCHID0000000000000 --name 'DWS shortcut 真实测试 20260715-151724' --unit day --paid --per-hours 1 --when-can-leave entry --visibility-rules '[{\"type\":\"dept\",\"visible\":[\"-1\"]}]' --yes --format json",
"args": [
"attendance",
"+update-leave-type",
"--leave-code",
"DWSREALTESTNOSUCHID0000000000000",
"--name",
"DWS shortcut 真实测试 20260715-151724",
"--unit",
"day",
"--paid",
"--per-hours",
"1",
"--when-can-leave",
"entry",
"--visibility-rules",
"[{\"type\":\"dept\",\"visible\":[\"-1\"]}]",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[RESOURCE_NOT_FOUND] Requested resource not found (operation: attendance-wukong/save_leave_type)\\n hint: Check if the resource exists or if your account has permission\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"INVALID_PARAMS\",\n \"server_key\": \"attendance-wukong\",\n \"trace_id\": \"0bb7c36217840999093924897e07fe\"\n }\n}",
"exit_code": 1,
"duration_ms": 1208,
"failure_category": "auth-or-permission",
"fixability": "not-cli-fixable",
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
},
{
"service": "calendar",
"command": "+respond-event",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test calendar +respond-event --event x --response accept --yes --format json",
"args": [
"calendar",
"+respond-event",
"--event",
"x",
"--response",
"accept",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] code: 300000, developerMessage: Event does not exist. (operation: calendar/respond)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"300000\",\n \"server_key\": \"calendar\",\n \"trace_id\": \"0bb7c36217840999105062121e07db\"\n }\n}",
"exit_code": 1,
"duration_ms": 1217,
"failure_category": "missing-real-resource",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
},
{
"service": "chat",
"command": "+category-add-conversation",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +category-add-conversation --group cidDWSREALTESTNOSUCHCONV --category-ids 999999999999 --yes --format json",
"args": [
"chat",
"+category-add-conversation",
"--group",
"cidDWSREALTESTNOSUCHCONV",
"--category-ids",
"999999999999",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[RESOURCE_NOT_FOUND] Requested resource not found (operation: im/add_conv_to_categories)\\n hint: Check if the resource exists or if your account has permission\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"0b5deb3217840999117776203e08f9\"\n }\n}",
"exit_code": 1,
"duration_ms": 1213,
"failure_category": "auth-or-permission",
"fixability": "not-cli-fixable",
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
},
{
"service": "chat",
"command": "+category-remove-conversation",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +category-remove-conversation --group cidDWSREALTESTNOSUCHCONV --category-ids 999999999999 --yes --format json",
"args": [
"chat",
"+category-remove-conversation",
"--group",
"cidDWSREALTESTNOSUCHCONV",
"--category-ids",
"999999999999",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[RESOURCE_NOT_FOUND] Requested resource not found (operation: im/remove_conv_from_categories)\\n hint: Check if the resource exists or if your account has permission\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"2104a64c17840999130466520e085e\"\n }\n}",
"exit_code": 1,
"duration_ms": 1309,
"failure_category": "auth-or-permission",
"fixability": "not-cli-fixable",
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
},
{
"service": "chat",
"command": "+chat-add-bot",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +chat-add-bot --robot-code __DWS_SHORTCUT_REAL_TEST_NO_SUCH_ROBOT__ --id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"chat",
"+chat-add-bot",
"--robot-code",
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_ROBOT__",
"--id",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[RESOURCE_NOT_FOUND] Requested resource not found (operation: bot/add_robot_to_group)\\n hint: Check if the resource exists or if your account has permission\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"500025\",\n \"server_key\": \"bot\",\n \"trace_id\": \"2104a64c17840999144193460e08c7\"\n }\n}",
"exit_code": 1,
"duration_ms": 1273,
"failure_category": "auth-or-permission",
"fixability": "not-cli-fixable",
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
},
{
"service": "chat",
"command": "+chat-audit-join",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +chat-audit-join --group cidDWSREALTESTNOSUCHCONV --record-id 999999999999 --applicant 103262 --inviter 519019 --status AuditApprove --description 'DWS shortcut 真实测试描述,可删除' --yes --format json",
"args": [
"chat",
"+chat-audit-join",
"--group",
"cidDWSREALTESTNOSUCHCONV",
"--record-id",
"999999999999",
"--applicant",
"103262",
"--inviter",
"519019",
"--status",
"AuditApprove",
"--description",
"DWS shortcut 真实测试描述,可删除",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] applicantUid is required (operation: im/audit_join_group)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"0bb7c36217840999154832733e0758\"\n }\n}",
"exit_code": 1,
"duration_ms": 1073,
"failure_category": "backend-or-mcp-error",
"fixability": "not-cli-fixable-first",
"diagnosis": "dry-run 已证明 CLI 装配了 applicantUid/inviterUid;真实后端仍报 applicantUid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
},
{
"service": "chat",
"command": "+chat-mute-member",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +chat-mute-member --group cidDWSREALTESTNOSUCHCONV --users __DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__ --mute-time 1 --off --yes --format json",
"args": [
"chat",
"+chat-mute-member",
"--group",
"cidDWSREALTESTNOSUCHCONV",
"--users",
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__",
"--mute-time",
"1",
"--off",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openConversationId or cid is required (operation: im/set_group_member_mute_list)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"2104a64c17840999166036583e08a3\"\n }\n}",
"exit_code": 1,
"duration_ms": 1139,
"failure_category": "backend-or-mcp-error",
"fixability": "not-cli-fixable-first",
"diagnosis": "fake MCP 已证明 CLI 已装配会话 ID 字段;真实后端仍报 openConversationId/openCid/cid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
},
{
"service": "chat",
"command": "+chat-quit",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +chat-quit --group cidDWSREALTESTNOSUCHCONV --yes --format json",
"args": [
"chat",
"+chat-quit",
"--group",
"cidDWSREALTESTNOSUCHCONV",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] listBaseConversationByIds error (operation: im/quit_group)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"0bb7c36217840999176728426e0779\"\n }\n}",
"exit_code": 1,
"duration_ms": 1162,
"failure_category": "input-or-business-validation",
"fixability": "test-input-or-backend-rule",
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
},
{
"service": "chat",
"command": "+chat-remove-bot",
"risk": "high-risk-write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +chat-remove-bot --id DWSREALTESTNOSUCHID0000000000000 --bot-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"chat",
"+chat-remove-bot",
"--id",
"DWSREALTESTNOSUCHID0000000000000",
"--bot-id",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] 无效的会话 (operation: bot/remove_robot_in_group)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"500009\",\n \"server_key\": \"bot\",\n \"trace_id\": \"0b5deb3217840999189888305e08b5\"\n }\n}",
"exit_code": 1,
"duration_ms": 1220,
"failure_category": "missing-real-resource",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
},
{
"service": "chat",
"command": "+chat-role-remove",
"risk": "high-risk-write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +chat-role-remove --group cidDWSREALTESTNOSUCHCONV --role-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"chat",
"+chat-role-remove",
"--group",
"cidDWSREALTESTNOSUCHCONV",
"--role-id",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] listBaseConversationByIds error (operation: im/remove_custom_group_role)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"2127d89817840999200483204e079c\"\n }\n}",
"exit_code": 1,
"duration_ms": 1054,
"failure_category": "input-or-business-validation",
"fixability": "test-input-or-backend-rule",
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
},
{
"service": "chat",
"command": "+chat-role-remove-user",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +chat-role-remove-user --group cidDWSREALTESTNOSUCHCONV --user __DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__ --role-ids DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"chat",
"+chat-role-remove-user",
"--group",
"cidDWSREALTESTNOSUCHCONV",
"--user",
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__",
"--role-ids",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] listBaseConversationByIds error (operation: im/remove_custom_user_roles)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"2127d89817840999211317952e0757\"\n }\n}",
"exit_code": 1,
"duration_ms": 1104,
"failure_category": "input-or-business-validation",
"fixability": "test-input-or-backend-rule",
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
},
{
"service": "chat",
"command": "+chat-transfer-owner",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +chat-transfer-owner --group cidDWSREALTESTNOSUCHCONV --new-owner __DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__ --yes --format json",
"args": [
"chat",
"+chat-transfer-owner",
"--group",
"cidDWSREALTESTNOSUCHCONV",
"--new-owner",
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openConversationId is required (operation: im/transfer_group_owner)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"0b5deb3217840999222318863e087a\"\n }\n}",
"exit_code": 1,
"duration_ms": 1054,
"failure_category": "backend-or-mcp-error",
"fixability": "not-cli-fixable-first",
"diagnosis": "fake MCP 已证明 CLI 已装配会话 ID 字段;真实后端仍报 openConversationId/openCid/cid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
},
{
"service": "chat",
"command": "+chat-update-icon",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +chat-update-icon --group cidDWSREALTESTNOSUCHCONV --icon-media-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"chat",
"+chat-update-icon",
"--group",
"cidDWSREALTESTNOSUCHCONV",
"--icon-media-id",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] listBaseConversationByIds error (operation: im/update_group_icon)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"2104a64c17840999232478654e0819\"\n }\n}",
"exit_code": 1,
"duration_ms": 1023,
"failure_category": "input-or-business-validation",
"fixability": "test-input-or-backend-rule",
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
},
{
"service": "chat",
"command": "+chat-update-settings",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +chat-update-settings --group cidDWSREALTESTNOSUCHCONV --setting-key x --status 1 --yes --format json",
"args": [
"chat",
"+chat-update-settings",
"--group",
"cidDWSREALTESTNOSUCHCONV",
"--setting-key",
"x",
"--status",
"1",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] unsupported setting key: x (operation: im/update_group_settings)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"2127d89817840999244326971e07dd\"\n }\n}",
"exit_code": 1,
"duration_ms": 1184,
"failure_category": "input-or-business-validation",
"fixability": "test-input-or-backend-rule",
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
},
{
"service": "chat",
"command": "+conversation-clear-messages",
"risk": "high-risk-write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +conversation-clear-messages --conversation-id cidDWSREALTESTNOSUCHCONV --yes --format json",
"args": [
"chat",
"+conversation-clear-messages",
"--conversation-id",
"cidDWSREALTESTNOSUCHCONV",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openConversationId or cid is required (operation: im/clear_conversation_messages)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"2127d89817840999254816721e079b\"\n }\n}",
"exit_code": 1,
"duration_ms": 1065,
"failure_category": "backend-or-mcp-error",
"fixability": "not-cli-fixable-first",
"diagnosis": "fake MCP 已证明 CLI 已装配会话 ID 字段;真实后端仍报 openConversationId/openCid/cid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
},
{
"service": "chat",
"command": "+conversation-clear-red-point",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +conversation-clear-red-point --conversation-id cidDWSREALTESTNOSUCHCONV --yes --format json",
"args": [
"chat",
"+conversation-clear-red-point",
"--conversation-id",
"cidDWSREALTESTNOSUCHCONV",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openConversationId or cid is required (operation: im/clear_conversation_red_point)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"2104a64c17840999265511295e085f\"\n }\n}",
"exit_code": 1,
"duration_ms": 1044,
"failure_category": "backend-or-mcp-error",
"fixability": "not-cli-fixable-first",
"diagnosis": "fake MCP 已证明 CLI 已装配会话 ID 字段;真实后端仍报 openConversationId/openCid/cid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
},
{
"service": "chat",
"command": "+conversation-hide",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +conversation-hide --conversation-id cidDWSREALTESTNOSUCHCONV --yes --format json",
"args": [
"chat",
"+conversation-hide",
"--conversation-id",
"cidDWSREALTESTNOSUCHCONV",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openConversationId or cid is required (operation: im/hide_conversation)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"2127d89817840999276117140e079b\"\n }\n}",
"exit_code": 1,
"duration_ms": 1064,
"failure_category": "backend-or-mcp-error",
"fixability": "not-cli-fixable-first",
"diagnosis": "fake MCP 已证明 CLI 已装配会话 ID 字段;真实后端仍报 openConversationId/openCid/cid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
},
{
"service": "chat",
"command": "+conversation-mark-read",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +conversation-mark-read --conversation-id cidDWSREALTESTNOSUCHCONV --message-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"chat",
"+conversation-mark-read",
"--conversation-id",
"cidDWSREALTESTNOSUCHCONV",
"--message-id",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openConversationId无效,无法解析为cid (operation: im/mark_message_read)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"2127d89817840999287654280e07bd\"\n }\n}",
"exit_code": 1,
"duration_ms": 1162,
"failure_category": "missing-real-resource",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
},
{
"service": "chat",
"command": "+conversation-mark-unread",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +conversation-mark-unread --conversation-id cidDWSREALTESTNOSUCHCONV --yes --format json",
"args": [
"chat",
"+conversation-mark-unread",
"--conversation-id",
"cidDWSREALTESTNOSUCHCONV",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openConversationId or cid is required (operation: im/mark_conversation_unread)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"0bb7c36217840999298744910e0758\"\n }\n}",
"exit_code": 1,
"duration_ms": 1090,
"failure_category": "backend-or-mcp-error",
"fixability": "not-cli-fixable-first",
"diagnosis": "fake MCP 已证明 CLI 已装配会话 ID 字段;真实后端仍报 openConversationId/openCid/cid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
},
{
"service": "chat",
"command": "+conversation-mute",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +conversation-mute --conversation-id cidDWSREALTESTNOSUCHCONV --off --yes --format json",
"args": [
"chat",
"+conversation-mute",
"--conversation-id",
"cidDWSREALTESTNOSUCHCONV",
"--off",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openConversationId is required (operation: im/update_notification_off)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"2104a64c17840999309241865e085f\"\n }\n}",
"exit_code": 1,
"duration_ms": 1052,
"failure_category": "backend-or-mcp-error",
"fixability": "not-cli-fixable-first",
"diagnosis": "fake MCP 已证明 CLI 已装配会话 ID 字段;真实后端仍报 openConversationId/openCid/cid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
},
{
"service": "chat",
"command": "+conversation-mute-at-all",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +conversation-mute-at-all --conversation-id cidDWSREALTESTNOSUCHCONV --off --yes --format json",
"args": [
"chat",
"+conversation-mute-at-all",
"--conversation-id",
"cidDWSREALTESTNOSUCHCONV",
"--off",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openConversationId is required (operation: im/update_at_all_notification_off)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"2127d89817840999320028068e07dd\"\n }\n}",
"exit_code": 1,
"duration_ms": 1110,
"failure_category": "backend-or-mcp-error",
"fixability": "not-cli-fixable-first",
"diagnosis": "fake MCP 已证明 CLI 已装配会话 ID 字段;真实后端仍报 openConversationId/openCid/cid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
},
{
"service": "chat",
"command": "+conversation-mute-red-envelope",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +conversation-mute-red-envelope --conversation-id cidDWSREALTESTNOSUCHCONV --off --yes --format json",
"args": [
"chat",
"+conversation-mute-red-envelope",
"--conversation-id",
"cidDWSREALTESTNOSUCHCONV",
"--off",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openConversationId is required (operation: im/update_red_env_notification_off)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"0bb7c36217840999330228283e07fe\"\n }\n}",
"exit_code": 1,
"duration_ms": 1001,
"failure_category": "backend-or-mcp-error",
"fixability": "not-cli-fixable-first",
"diagnosis": "fake MCP 已证明 CLI 已装配会话 ID 字段;真实后端仍报 openConversationId/openCid/cid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
},
{
"service": "chat",
"command": "+conversation-set-top",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +conversation-set-top --conversation-id cidDWSREALTESTNOSUCHCONV --off --yes --format json",
"args": [
"chat",
"+conversation-set-top",
"--conversation-id",
"cidDWSREALTESTNOSUCHCONV",
"--off",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openConversationId or cid is required (operation: im/set_top_conversation)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"2127d89817840999341302961e07fe\"\n }\n}",
"exit_code": 1,
"duration_ms": 1102,
"failure_category": "backend-or-mcp-error",
"fixability": "not-cli-fixable-first",
"diagnosis": "fake MCP 已证明 CLI 已装配会话 ID 字段;真实后端仍报 openConversationId/openCid/cid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
},
{
"service": "chat",
"command": "+messages-add-emoji",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +messages-add-emoji --conversation-id cidDWSREALTESTNOSUCHCONV --msg-id DWSREALTESTNOSUCHID0000000000000 --emoji '👍' --yes --format json",
"args": [
"chat",
"+messages-add-emoji",
"--conversation-id",
"cidDWSREALTESTNOSUCHCONV",
"--msg-id",
"DWSREALTESTNOSUCHID0000000000000",
"--emoji",
"👍",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] invalid openMsgId: DWSREALTESTNOSUCHID0000000000000 (operation: im/add_emoji_reaction)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"2127d89817840999352941910e0756\"\n }\n}",
"exit_code": 1,
"duration_ms": 1170,
"failure_category": "missing-real-resource",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
},
{
"service": "chat",
"command": "+messages-add-text-emotion",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +messages-add-text-emotion --conversation-id cidDWSREALTESTNOSUCHCONV --msg-id DWSREALTESTNOSUCHID0000000000000 --emotion-id DWSREALTESTNOSUCHID0000000000000 --emotion-name 'DWS测试表情' --text 'DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。' --background-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"chat",
"+messages-add-text-emotion",
"--conversation-id",
"cidDWSREALTESTNOSUCHCONV",
"--msg-id",
"DWSREALTESTNOSUCHID0000000000000",
"--emotion-id",
"DWSREALTESTNOSUCHID0000000000000",
"--emotion-name",
"DWS测试表情",
"--text",
"DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。",
"--background-id",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] invalid openMsgId: DWSREALTESTNOSUCHID0000000000000 (operation: im/add_text_emotion)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"0b5deb3217840999362862711e08b5\"\n }\n}",
"exit_code": 1,
"duration_ms": 992,
"failure_category": "missing-real-resource",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
},
{
"service": "chat",
"command": "+messages-batch-recall-by-bot",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +messages-batch-recall-by-bot --robot-code __DWS_SHORTCUT_REAL_TEST_NO_SUCH_ROBOT__ --keys DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"chat",
"+messages-batch-recall-by-bot",
"--robot-code",
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_ROBOT__",
"--keys",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: bot/batch_recall_robot_users_msg)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"retryable\": true,\n \"server_error_code\": \"ERROR\",\n \"server_key\": \"bot\",\n \"technical_detail\": \"iPaaS 调用失败: 调用远程服务业务异常, 出参校验不通过。root.success当前值:false, 预期值:true,所有值:{\\\"success\\\":false,\\\"dingOpenErrcode\\\":400014,\\\"errorMsg\\\":\\\"错误描述: robot 不存在;解决方案:请确认 robotCode 是否正确;\\\"} \",\n \"trace_id\": \"2104a64c17840999373456305e0817\"\n }\n}",
"exit_code": 1,
"duration_ms": 1085,
"failure_category": "missing-real-resource",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
},
{
"service": "chat",
"command": "+messages-batch-send-by-bot",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +messages-batch-send-by-bot --robot-code __DWS_SHORTCUT_REAL_TEST_NO_SUCH_ROBOT__ --title 'DWS shortcut 真实测试 20260715-151724' --text 'DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。' --users __DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__ --open-dingtalk-ids '' --at-all --yes --format json",
"args": [
"chat",
"+messages-batch-send-by-bot",
"--robot-code",
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_ROBOT__",
"--title",
"DWS shortcut 真实测试 20260715-151724",
"--text",
"DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。",
"--users",
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__",
"--open-dingtalk-ids",
"",
"--at-all",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: bot/batch_send_robot_msg_to_users)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"retryable\": true,\n \"server_error_code\": \"ERROR\",\n \"server_key\": \"bot\",\n \"technical_detail\": \"iPaaS 调用失败: 调用远程服务业务异常, 出参校验不通过。root.success当前值:false, 预期值:true,所有值:{\\\"success\\\":false,\\\"dingOpenErrcode\\\":400106,\\\"errorMsg\\\":\\\"错误描述: robot 不存在;解决方案:请确认 robotCode 是否正确;\\\"} \",\n \"trace_id\": \"0bb7c36217840999385748776e0757\"\n }\n}",
"exit_code": 1,
"duration_ms": 1211,
"failure_category": "missing-real-resource",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
},
{
"service": "chat",
"command": "+messages-combine-forward",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +messages-combine-forward --src-conversation-id cidDWSREALTESTNOSUCHCONV --msg-ids DWSREALTESTNOSUCHID0000000000000 --dest-conversation-id cidDWSREALTESTNOSUCHCONV --uuid dws-shortcut-real-negative-20260715-151724 --yes --format json",
"args": [
"chat",
"+messages-combine-forward",
"--src-conversation-id",
"cidDWSREALTESTNOSUCHCONV",
"--msg-ids",
"DWSREALTESTNOSUCHID0000000000000",
"--dest-conversation-id",
"cidDWSREALTESTNOSUCHCONV",
"--uuid",
"dws-shortcut-real-negative-20260715-151724",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] srcOpenCid无效,无法解析为cid (operation: im/combine_forward_messages)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"2104a64c17840999396596163e08ee\"\n }\n}",
"exit_code": 1,
"duration_ms": 1075,
"failure_category": "missing-real-resource",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
},
{
"service": "chat",
"command": "+messages-create-text-emotion",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +messages-create-text-emotion --emotion-name 'DWS测试表情' --text 'DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。' --background-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"chat",
"+messages-create-text-emotion",
"--emotion-name",
"DWS测试表情",
"--text",
"DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。",
"--background-id",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] 暂不支持保存该文字表情 (operation: im/create_text_emotion)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"400519\",\n \"server_key\": \"im\",\n \"trace_id\": \"0b5deb3217840999407422891e08cd\"\n }\n}",
"exit_code": 1,
"duration_ms": 1054,
"failure_category": "input-or-business-validation",
"fixability": "test-input-or-backend-rule",
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
},
{
"service": "chat",
"command": "+messages-forward",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +messages-forward --src-conversation-id cidDWSREALTESTNOSUCHCONV --msg-id DWSREALTESTNOSUCHID0000000000000 --dest-conversation-id cidDWSREALTESTNOSUCHCONV --uuid dws-shortcut-real-negative-20260715-151724 --yes --format json",
"args": [
"chat",
"+messages-forward",
"--src-conversation-id",
"cidDWSREALTESTNOSUCHCONV",
"--msg-id",
"DWSREALTESTNOSUCHID0000000000000",
"--dest-conversation-id",
"cidDWSREALTESTNOSUCHCONV",
"--uuid",
"dws-shortcut-real-negative-20260715-151724",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openMessageId解密失败 (operation: im/forward_message)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"2104a64c17840999417966407e08ee\"\n }\n}",
"exit_code": 1,
"duration_ms": 1090,
"failure_category": "missing-real-resource",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
},
{
"service": "chat",
"command": "+messages-forward-topic",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +messages-forward-topic --src-msg-id DWSREALTESTNOSUCHID0000000000000 --src-conversation-id cidDWSREALTESTNOSUCHCONV --src-thread-id DWSREALTESTNOSUCHID0000000000000 --dest-conversation-id cidDWSREALTESTNOSUCHCONV --yes --format json",
"args": [
"chat",
"+messages-forward-topic",
"--src-msg-id",
"DWSREALTESTNOSUCHID0000000000000",
"--src-conversation-id",
"cidDWSREALTESTNOSUCHCONV",
"--src-thread-id",
"DWSREALTESTNOSUCHID0000000000000",
"--dest-conversation-id",
"cidDWSREALTESTNOSUCHCONV",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openMessageId解密失败 (operation: im/forward_topic)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"2127d89817840999428541474e07dd\"\n }\n}",
"exit_code": 1,
"duration_ms": 1043,
"failure_category": "missing-real-resource",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
},
{
"service": "chat",
"command": "+messages-recall",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +messages-recall --conversation-id cidDWSREALTESTNOSUCHCONV --msg-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"chat",
"+messages-recall",
"--conversation-id",
"cidDWSREALTESTNOSUCHCONV",
"--msg-id",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openConversationId无效,无法解析为cid (operation: im/recall_message)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"2104a64c17840999441138103e08c7\"\n }\n}",
"exit_code": 1,
"duration_ms": 1247,
"failure_category": "missing-real-resource",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
},
{
"service": "chat",
"command": "+messages-recall-by-bot",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +messages-recall-by-bot --robot-code __DWS_SHORTCUT_REAL_TEST_NO_SUCH_ROBOT__ --group cidDWSREALTESTNOSUCHCONV --keys DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"chat",
"+messages-recall-by-bot",
"--robot-code",
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_ROBOT__",
"--group",
"cidDWSREALTESTNOSUCHCONV",
"--keys",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: bot/recall_robot_group_message)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"bot\",\n \"technical_detail\": \"iPaaS 调用失败: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前值:false, 预期值:true,所有值:{\\\"success\\\":false,\\\"dingOpenErrcode\\\":400012,\\\"errorMsg\\\":\\\"错误描述:无效的openConversationId此参数的示例值如\\\\\\\"cidl1B8RVUFmkXXXXXX\\\\\\\";解决方案:请检查拼写是否正确;参考链接:请参考本接口对应文档查看参数的获取方式,或者在https://open.dingtalk.com/ 查询如何获取对应的参数\\\"} \",\n \"trace_id\": \"2104a64c17840999454382709e08a3\"\n }\n}",
"exit_code": 1,
"duration_ms": 1317,
"failure_category": "input-or-business-validation",
"fixability": "test-input-or-backend-rule",
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
},
{
"service": "chat",
"command": "+messages-remove-emoji",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +messages-remove-emoji --conversation-id cidDWSREALTESTNOSUCHCONV --msg-id DWSREALTESTNOSUCHID0000000000000 --emoji '👍' --yes --format json",
"args": [
"chat",
"+messages-remove-emoji",
"--conversation-id",
"cidDWSREALTESTNOSUCHCONV",
"--msg-id",
"DWSREALTESTNOSUCHID0000000000000",
"--emoji",
"👍",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] invalid openMsgId: DWSREALTESTNOSUCHID0000000000000 (operation: im/remove_emoji_reaction)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"0b5deb3217840999467733059e08f9\"\n }\n}",
"exit_code": 1,
"duration_ms": 1347,
"failure_category": "missing-real-resource",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
},
{
"service": "chat",
"command": "+messages-remove-text-emotion",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +messages-remove-text-emotion --conversation-id cidDWSREALTESTNOSUCHCONV --msg-id DWSREALTESTNOSUCHID0000000000000 --emotion-id DWSREALTESTNOSUCHID0000000000000 --emotion-name 'DWS测试表情' --text 'DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。' --background-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"chat",
"+messages-remove-text-emotion",
"--conversation-id",
"cidDWSREALTESTNOSUCHCONV",
"--msg-id",
"DWSREALTESTNOSUCHID0000000000000",
"--emotion-id",
"DWSREALTESTNOSUCHID0000000000000",
"--emotion-name",
"DWS测试表情",
"--text",
"DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。",
"--background-id",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] invalid openMsgId: DWSREALTESTNOSUCHID0000000000000 (operation: im/remove_text_emotion)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"0b5deb3217840999478923406e087f\"\n }\n}",
"exit_code": 1,
"duration_ms": 1210,
"failure_category": "missing-real-resource",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
},
{
"service": "chat",
"command": "+messages-send-by-bot",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +messages-send-by-bot --robot-code __DWS_SHORTCUT_REAL_TEST_NO_SUCH_ROBOT__ --group cidDWSREALTESTNOSUCHCONV --title 'DWS shortcut 真实测试 20260715-151724' --text 'DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。' --at-user-ids __DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__ --at-open-dingtalk-ids '' --at-all --yes --format json",
"args": [
"chat",
"+messages-send-by-bot",
"--robot-code",
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_ROBOT__",
"--group",
"cidDWSREALTESTNOSUCHCONV",
"--title",
"DWS shortcut 真实测试 20260715-151724",
"--text",
"DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。",
"--at-user-ids",
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__",
"--at-open-dingtalk-ids",
"",
"--at-all",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: bot/send_robot_group_message)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"BUSINESS_ERROR\",\n \"server_key\": \"bot\",\n \"technical_detail\": \"iPaaS 调用失败: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前值:false, 预期值:true,所有值:{\\\"success\\\":false,\\\"errorCode\\\":\\\"400004\\\",\\\"errorMsg\\\":\\\"robotCode对应的机器人模板不存在\\\"} \",\n \"trace_id\": \"0b5deb3217840999494005921e08ef\"\n }\n}",
"exit_code": 1,
"duration_ms": 1436,
"failure_category": "missing-real-resource",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
},
{
"service": "chat",
"command": "+messages-send-card",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +messages-send-card --receiver 103262 --yes --format json",
"args": [
"chat",
"+messages-send-card",
"--receiver",
"103262",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] receiverUid和openConversationId不能同时为空 (operation: im/create_and_send_card)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"2104a64c17840999509255753e081a\"\n }\n}",
"exit_code": 1,
"duration_ms": 1502,
"failure_category": "backend-or-mcp-error",
"fixability": "not-cli-fixable-first",
"diagnosis": "dry-run 已证明 CLI 装配了 receiverUid;真实后端仍报 receiverUid/openConversationId 为空,优先按 MCP schema/服务端字段映射问题处理。"
},
{
"service": "chat",
"command": "+messages-set-pin",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +messages-set-pin --open-conversation-id cidDWSREALTESTNOSUCHCONV --msg-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"chat",
"+messages-set-pin",
"--open-conversation-id",
"cidDWSREALTESTNOSUCHCONV",
"--msg-id",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openConversationId or cid is required (operation: im/set_pin_message)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"0bb7c36217840999521117991e0758\"\n }\n}",
"exit_code": 1,
"duration_ms": 1217,
"failure_category": "backend-or-mcp-error",
"fixability": "not-cli-fixable-first",
"diagnosis": "fake MCP 已证明 CLI 已装配会话 ID 字段;真实后端仍报 openConversationId/openCid/cid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
},
{
"service": "chat",
"command": "+messages-set-top",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +messages-set-top --open-conversation-id cidDWSREALTESTNOSUCHCONV --msg-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"chat",
"+messages-set-top",
"--open-conversation-id",
"cidDWSREALTESTNOSUCHCONV",
"--msg-id",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openMessageId解密失败 (operation: im/set_top_message)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"2104a64c17840999532438476e0817\"\n }\n}",
"exit_code": 1,
"duration_ms": 1121,
"failure_category": "missing-real-resource",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
},
{
"service": "chat",
"command": "+messages-unset-pin",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +messages-unset-pin --open-conversation-id cidDWSREALTESTNOSUCHCONV --msg-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"chat",
"+messages-unset-pin",
"--open-conversation-id",
"cidDWSREALTESTNOSUCHCONV",
"--msg-id",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openConversationId or cid is required (operation: im/unset_pin_message)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"2104a64c17840999544428103e08ee\"\n }\n}",
"exit_code": 1,
"duration_ms": 1185,
"failure_category": "backend-or-mcp-error",
"fixability": "not-cli-fixable-first",
"diagnosis": "fake MCP 已证明 CLI 已装配会话 ID 字段;真实后端仍报 openConversationId/openCid/cid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
},
{
"service": "chat",
"command": "+messages-unset-top",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test chat +messages-unset-top --open-conversation-id cidDWSREALTESTNOSUCHCONV --msg-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"chat",
"+messages-unset-top",
"--open-conversation-id",
"cidDWSREALTESTNOSUCHCONV",
"--msg-id",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openMessageId解密失败 (operation: im/unset_top_message)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"0b5deb3217840999554154221e08f9\"\n }\n}",
"exit_code": 1,
"duration_ms": 963,
"failure_category": "missing-real-resource",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
},
{
"service": "devapp",
"command": "+event-subscribe",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test devapp +event-subscribe --unified-app-id DWSREALTESTNOSUCHID0000000000000 --event-codes '[]' --yes --format json",
"args": [
"devapp",
"+event-subscribe",
"--unified-app-id",
"DWSREALTESTNOSUCHID0000000000000",
"--event-codes",
"[]",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] 当前用户没有应用事件订阅权限 (operation: devapp/subscribe_dev_app_events)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"503\",\n \"server_key\": \"devapp\",\n \"trace_id\": \"2104a64c17840999564022020e08c7\"\n }\n}",
"exit_code": 1,
"duration_ms": 1034,
"failure_category": "auth-or-permission",
"fixability": "not-cli-fixable",
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
},
{
"service": "devapp",
"command": "+event-unsubscribe",
"risk": "high-risk-write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test devapp +event-unsubscribe --unified-app-id DWSREALTESTNOSUCHID0000000000000 --event-codes '[]' --yes --format json",
"args": [
"devapp",
"+event-unsubscribe",
"--unified-app-id",
"DWSREALTESTNOSUCHID0000000000000",
"--event-codes",
"[]",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: devapp/unsubscribe_dev_app_events)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"AUTH_ERROR\",\n \"server_key\": \"devapp\",\n \"technical_detail\": \"iPaaS 调用失败: 调用远程服务业务异常, 出参校验不通过。ServiceResult.success当前值:false, 预期值:true,所有值:{\\\"success\\\":false,\\\"errorCode\\\":\\\"503\\\",\\\"errorMsg\\\":\\\"当前用户没有应用事件订阅权限\\\"} \",\n \"trace_id\": \"0bb7c36217840999575698500e07db\"\n }\n}",
"exit_code": 1,
"duration_ms": 1134,
"failure_category": "auth-or-permission",
"fixability": "not-cli-fixable",
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
},
{
"service": "devapp",
"command": "+permission-add",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test devapp +permission-add --unified-app-id DWSREALTESTNOSUCHID0000000000000 --scope-values '[]' --yes --format json",
"args": [
"devapp",
"+permission-add",
"--unified-app-id",
"DWSREALTESTNOSUCHID0000000000000",
"--scope-values",
"[]",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] 当前用户没有开发者身份 (operation: devapp/apply_dev_app_permissions)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"503\",\n \"server_key\": \"devapp\",\n \"trace_id\": \"2127d89817840999587758457e079c\"\n }\n}",
"exit_code": 1,
"duration_ms": 1186,
"failure_category": "auth-or-permission",
"fixability": "not-cli-fixable",
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
},
{
"service": "devapp",
"command": "+permission-remove",
"risk": "high-risk-write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test devapp +permission-remove --unified-app-id DWSREALTESTNOSUCHID0000000000000 --scope-values '[]' --yes --format json",
"args": [
"devapp",
"+permission-remove",
"--unified-app-id",
"DWSREALTESTNOSUCHID0000000000000",
"--scope-values",
"[]",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] 当前用户没有开发者身份 (operation: devapp/remove_dev_app_permissions)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"503\",\n \"server_key\": \"devapp\",\n \"trace_id\": \"2104a64c17840999598445247e085e\"\n }\n}",
"exit_code": 1,
"duration_ms": 1061,
"failure_category": "auth-or-permission",
"fixability": "not-cli-fixable",
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
},
{
"service": "devapp",
"command": "+robot-config",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test devapp +robot-config --unified-app-id DWSREALTESTNOSUCHID0000000000000 --name 'DWS shortcut 真实测试 20260715-151724' --brief x --desc 'DWS shortcut 真实测试描述,可删除' --icon-media-id DWSREALTESTNOSUCHID0000000000000 --outgoing-url https://example.invalid/dws-shortcut-real-test --event-callback-url https://example.invalid/dws-shortcut-real-test --mode HTTPS --skills '[]' --add-scope --disable-ssl-verify --yes --format json",
"args": [
"devapp",
"+robot-config",
"--unified-app-id",
"DWSREALTESTNOSUCHID0000000000000",
"--name",
"DWS shortcut 真实测试 20260715-151724",
"--brief",
"x",
"--desc",
"DWS shortcut 真实测试描述,可删除",
"--icon-media-id",
"DWSREALTESTNOSUCHID0000000000000",
"--outgoing-url",
"https://example.invalid/dws-shortcut-real-test",
"--event-callback-url",
"https://example.invalid/dws-shortcut-real-test",
"--mode",
"HTTPS",
"--skills",
"[]",
"--add-scope",
"--disable-ssl-verify",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: devapp/set_extension_robot_config)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"AUTH_ERROR\",\n \"server_key\": \"devapp\",\n \"technical_detail\": \"iPaaS 调用失败: 调用远程服务业务异常, 出参校验不通过。ServiceResult.success当前值:false, 预期值:true,所有值:{\\\"success\\\":false,\\\"errorCode\\\":\\\"503\\\",\\\"errorMsg\\\":\\\"当前用户没有应用机器人配置权限\\\"} \",\n \"trace_id\": \"0bb7c36217840999609828961e07db\"\n }\n}",
"exit_code": 1,
"duration_ms": 1167,
"failure_category": "auth-or-permission",
"fixability": "not-cli-fixable",
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
},
{
"service": "devapp",
"command": "+robot-disable",
"risk": "high-risk-write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test devapp +robot-disable --unified-app-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"devapp",
"+robot-disable",
"--unified-app-id",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: devapp/disable_dev_app_robot)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"AUTH_ERROR\",\n \"server_key\": \"devapp\",\n \"technical_detail\": \"iPaaS 调用失败: 调用远程服务业务异常, 出参校验不通过。ServiceResult.success当前值:false, 预期值:true,所有值:{\\\"success\\\":false,\\\"errorCode\\\":\\\"503\\\",\\\"errorMsg\\\":\\\"当前用户没有应用机器人配置权限\\\"} \",\n \"trace_id\": \"2104a64c17840999620461113e08ee\"\n }\n}",
"exit_code": 1,
"duration_ms": 1062,
"failure_category": "auth-or-permission",
"fixability": "not-cli-fixable",
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
},
{
"service": "devapp",
"command": "+robot-enable",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test devapp +robot-enable --unified-app-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"devapp",
"+robot-enable",
"--unified-app-id",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: devapp/enable_dev_app_robot)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"AUTH_ERROR\",\n \"server_key\": \"devapp\",\n \"technical_detail\": \"iPaaS 调用失败: 调用远程服务业务异常, 出参校验不通过。ServiceResult.success当前值:false, 预期值:true,所有值:{\\\"success\\\":false,\\\"errorCode\\\":\\\"503\\\",\\\"errorMsg\\\":\\\"当前用户没有应用机器人配置权限\\\"} \",\n \"trace_id\": \"0bb7c36217840999632641525e0758\"\n }\n}",
"exit_code": 1,
"duration_ms": 1306,
"failure_category": "auth-or-permission",
"fixability": "not-cli-fixable",
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
},
{
"service": "devapp",
"command": "+security-config",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test devapp +security-config --unified-app-id DWSREALTESTNOSUCHID0000000000000 --ip-whitelist 127.0.0.1 --redirect-urls https://example.invalid/dws-shortcut-real-test --sso-urls https://example.invalid/dws-shortcut-real-test --yes --format json",
"args": [
"devapp",
"+security-config",
"--unified-app-id",
"DWSREALTESTNOSUCHID0000000000000",
"--ip-whitelist",
"127.0.0.1",
"--redirect-urls",
"https://example.invalid/dws-shortcut-real-test",
"--sso-urls",
"https://example.invalid/dws-shortcut-real-test",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] 当前用户没有开发者身份 (operation: devapp/update_dev_app_security_config)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"503\",\n \"server_key\": \"devapp\",\n \"trace_id\": \"2104a64c17840999645522046e0817\"\n }\n}",
"exit_code": 1,
"duration_ms": 1205,
"failure_category": "auth-or-permission",
"fixability": "not-cli-fixable",
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
},
{
"service": "devapp",
"command": "+version-create",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test devapp +version-create --unified-app-id DWSREALTESTNOSUCHID0000000000000 --version 0.0.1-dws-real-test --desc 'DWS shortcut 真实测试描述,可删除' --yes --format json",
"args": [
"devapp",
"+version-create",
"--unified-app-id",
"DWSREALTESTNOSUCHID0000000000000",
"--version",
"0.0.1-dws-real-test",
"--desc",
"DWS shortcut 真实测试描述,可删除",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: devapp/create_dev_app_version)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"BUSINESS_ERROR\",\n \"server_key\": \"devapp\",\n \"technical_detail\": \"iPaaS 调用失败: 调用远程服务业务异常, 出参校验不通过。ServiceResult.success当前值:false, 预期值:true,所有值:{\\\"success\\\":false,\\\"errorCode\\\":\\\"450001\\\"} \",\n \"trace_id\": \"0b5deb3217840999656705920e0853\"\n }\n}",
"exit_code": 1,
"duration_ms": 1157,
"failure_category": "input-or-business-validation",
"fixability": "test-input-or-backend-rule",
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
},
{
"service": "devapp",
"command": "+version-publish",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test devapp +version-publish --unified-app-id DWSREALTESTNOSUCHID0000000000000 --version-id DWSREALTESTNOSUCHID0000000000000 --confirmed-sensitive --approver-user-id __DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__ --yes --format json",
"args": [
"devapp",
"+version-publish",
"--unified-app-id",
"DWSREALTESTNOSUCHID0000000000000",
"--version-id",
"DWSREALTESTNOSUCHID0000000000000",
"--confirmed-sensitive",
"--approver-user-id",
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: devapp/publish_dev_app_version)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"BUSINESS_ERROR\",\n \"server_key\": \"devapp\",\n \"technical_detail\": \"iPaaS 调用失败: 调用远程服务业务异常, 出参校验不通过。ServiceResult.success当前值:false, 预期值:true,所有值:{\\\"success\\\":false,\\\"errorCode\\\":\\\"450001\\\"} \",\n \"trace_id\": \"2127d89817840999667906017e075d\"\n }\n}",
"exit_code": 1,
"duration_ms": 1071,
"failure_category": "input-or-business-validation",
"fixability": "test-input-or-backend-rule",
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
},
{
"service": "ding",
"command": "+send-by-message",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test ding +send-by-message --group cidDWSREALTESTNOSUCHCONV --message-id DWSREALTESTNOSUCHID0000000000000 --users __DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__ --type FIXED --uuid dws-shortcut-real-negative-20260715-151724 --yes --format json",
"args": [
"ding",
"+send-by-message",
"--group",
"cidDWSREALTESTNOSUCHCONV",
"--message-id",
"DWSREALTESTNOSUCHID0000000000000",
"--users",
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__",
"--type",
"FIXED",
"--uuid",
"dws-shortcut-real-negative-20260715-151724",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] remindType非法,合法值:APP/SMS/PHONE (operation: im/send_ding_by_message)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"0b5deb3217840999678466213e0853\"\n }\n}",
"exit_code": 1,
"duration_ms": 1058,
"failure_category": "input-or-business-validation",
"fixability": "test-input-or-backend-rule",
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
},
{
"service": "doc",
"command": "+comment-create-inline",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test doc +comment-create-inline --node DWSREALTESTNOSUCHID0000000000000 --content 'DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。' --block-id DWSREALTESTNOSUCHID0000000000000 --start 0 --end 1 --selected-text 'DWS测试' --mention x --yes --format json",
"args": [
"doc",
"+comment-create-inline",
"--node",
"DWSREALTESTNOSUCHID0000000000000",
"--content",
"DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。",
"--block-id",
"DWSREALTESTNOSUCHID0000000000000",
"--start",
"0",
"--end",
"1",
"--selected-text",
"DWS测试",
"--mention",
"x",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[TABLE_NOT_FOUND] Requested resource not found (operation: doc-comment/create_inline_comment)\\n hint: Document may have been deleted or moved\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"invalidRequest.inputArgs.invalid\",\n \"server_key\": \"doc-comment\",\n \"trace_id\": \"2127d89817840999689931893e079c\"\n }\n}",
"exit_code": 1,
"duration_ms": 1183,
"failure_category": "missing-real-resource",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
},
{
"service": "doc",
"command": "+template-apply",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test doc +template-apply --template-id DWSREALTESTNOSUCHID0000000000000 --name 'DWS shortcut 真实测试 20260715-151724' --folder DWSREALTESTNOSUCHID0000000000000 --workspace DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"doc",
"+template-apply",
"--template-id",
"DWSREALTESTNOSUCHID0000000000000",
"--name",
"DWS shortcut 真实测试 20260715-151724",
"--folder",
"DWSREALTESTNOSUCHID0000000000000",
"--workspace",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[RESOURCE_NOT_FOUND] Requested resource not found (operation: doc/apply_doc_template)\\n hint: Check if the resource exists or if your account has permission\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"invalidRequest.inputArgs.invalid\",\n \"server_key\": \"doc\",\n \"trace_id\": \"2127d89817840999701186954e0757\"\n }\n}",
"exit_code": 1,
"duration_ms": 1093,
"failure_category": "auth-or-permission",
"fixability": "not-cli-fixable",
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
},
{
"service": "minutes",
"command": "+record-pause",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test minutes +record-pause --id DWSREALTESTNOSUCHID0000000000000 --session-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"minutes",
"+record-pause",
"--id",
"DWSREALTESTNOSUCHID0000000000000",
"--session-id",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] aiAgentTestRunCmdUnknownError (operation: minutes/执行听记指令-发起AI听记录音)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"aiAgentTestRunCmdUnknownError\",\n \"server_key\": \"minutes\",\n \"trace_id\": \"0bb7c36217840999713124987e0757\"\n }\n}",
"exit_code": 1,
"duration_ms": 1233,
"failure_category": "input-or-business-validation",
"fixability": "test-input-or-backend-rule",
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
},
{
"service": "minutes",
"command": "+record-resume",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test minutes +record-resume --id DWSREALTESTNOSUCHID0000000000000 --session-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"minutes",
"+record-resume",
"--id",
"DWSREALTESTNOSUCHID0000000000000",
"--session-id",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] aiAgentTestRunCmdUnknownError (operation: minutes/执行听记指令-发起AI听记录音)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"aiAgentTestRunCmdUnknownError\",\n \"server_key\": \"minutes\",\n \"trace_id\": \"0bb7c36217840999724452848e0758\"\n }\n}",
"exit_code": 1,
"duration_ms": 1074,
"failure_category": "input-or-business-validation",
"fixability": "test-input-or-backend-rule",
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
},
{
"service": "minutes",
"command": "+record-stop",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test minutes +record-stop --id DWSREALTESTNOSUCHID0000000000000 --session-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"minutes",
"+record-stop",
"--id",
"DWSREALTESTNOSUCHID0000000000000",
"--session-id",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] aiAgentTestRunCmdUnknownError (operation: minutes/执行听记指令-发起AI听记录音)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"aiAgentTestRunCmdUnknownError\",\n \"server_key\": \"minutes\",\n \"trace_id\": \"2127d89817840999735397508e0757\"\n }\n}",
"exit_code": 1,
"duration_ms": 1130,
"failure_category": "input-or-business-validation",
"fixability": "test-input-or-backend-rule",
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
},
{
"service": "oa",
"command": "+approve-by",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test oa +approve-by --keyword __DWS_SHORTCUT_REAL_TEST_NO_SUCH_APPROVAL_20260715-151724__ --comment 'DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。' --yes --format json",
"args": [
"oa",
"+approve-by",
"--keyword",
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_APPROVAL_20260715-151724__",
"--comment",
"DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"validation\",\n \"code\": 3,\n \"message\": \"没找到待审批单据:待我处理的审批里没有标题/单号包含 \\\"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_APPROVAL_20260715-151724__\\\" 的单据。\"\n }\n}",
"exit_code": 3,
"duration_ms": 1318,
"failure_category": "missing-real-resource",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
},
{
"service": "wiki",
"command": "+node-copy",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test wiki +node-copy --workspace DWSREALTESTNOSUCHID0000000000000 --node DWSREALTESTNOSUCHID0000000000000 --folder DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"wiki",
"+node-copy",
"--workspace",
"DWSREALTESTNOSUCHID0000000000000",
"--node",
"DWSREALTESTNOSUCHID0000000000000",
"--folder",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[TABLE_NOT_FOUND] Requested resource not found (operation: doc/copy_document)\\n hint: Document may have been deleted or moved\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"invalidRequest.inputArgs.invalid\",\n \"server_key\": \"doc\",\n \"trace_id\": \"0bb7c36217840999769818495e0779\"\n }\n}",
"exit_code": 1,
"duration_ms": 1000,
"failure_category": "missing-real-resource",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
},
{
"service": "wiki",
"command": "+node-move",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test wiki +node-move --workspace DWSREALTESTNOSUCHID0000000000000 --node DWSREALTESTNOSUCHID0000000000000 --folder DWSREALTESTNOSUCHID0000000000000 --yes --format json",
"args": [
"wiki",
"+node-move",
"--workspace",
"DWSREALTESTNOSUCHID0000000000000",
"--node",
"DWSREALTESTNOSUCHID0000000000000",
"--folder",
"DWSREALTESTNOSUCHID0000000000000",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[TABLE_NOT_FOUND] Requested resource not found (operation: doc/move_document)\\n hint: Document may have been deleted or moved\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"invalidRequest.inputArgs.invalid\",\n \"server_key\": \"doc\",\n \"trace_id\": \"0bb7c36217840999780286509e07fe\"\n }\n}",
"exit_code": 1,
"duration_ms": 1053,
"failure_category": "missing-real-resource",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
},
{
"service": "wiki",
"command": "+wiki-new-doc",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-error",
"input": "/private/tmp/dws-real-test wiki +wiki-new-doc --space __DWS_SHORTCUT_REAL_TEST_NO_SUCH_SPACE__ --title 'DWS shortcut 真实测试 20260715-151724' --yes --format json",
"args": [
"wiki",
"+wiki-new-doc",
"--space",
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_SPACE__",
"--title",
"DWS shortcut 真实测试 20260715-151724",
"--yes",
"--format",
"json"
],
"stdout": "",
"stderr": "{\n \"error\": {\n \"category\": \"validation\",\n \"code\": 3,\n \"message\": \"没找到名为 \\\"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_SPACE__\\\" 的知识库;换个更完整/精确的空间名再试。\"\n }\n}",
"exit_code": 3,
"duration_ms": 1152,
"failure_category": "missing-real-resource",
"fixability": "not-cli-fixable-without-fixture",
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
},
{
"service": "todo",
"command": "+todo-done",
"risk": "write",
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
"status": "real-ok",
"input": "/private/tmp/dws-real-test todo +todo-done --task 'DWS shortcut 真实测试待办 20260715-160449' --yes --format json",
"args": [
"todo",
"+todo-done",
"--task",
"DWS shortcut 真实测试待办 20260715-160449",
"--yes",
"--format",
"json"
],
"stdout": "{\n \"result\": {\n \"success\": true\n },\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 1771,
"setup": {
"purpose": "为 todo +todo-done 创建当前账号自己的临时待办 fixture",
"input": "/private/tmp/dws-real-test todo +remind --task 'DWS shortcut 真实测试待办 20260715-160449' --at 2026-07-22T10:15:00+08:00 --yes --format json",
"stdout": "{\n \"arguments\": [],\n \"result\": {\n \"subject\": \"DWS shortcut 真实测试待办 20260715-160449\",\n \"taskId\": \"55055639461\"\n },\n \"success\": true\n}",
"stderr": "",
"exit_code": 0,
"duration_ms": 2611
}
}
]
}