@@ -1,839 +0,0 @@
version : 1
updatedAt : "2026-08-23T20:30:26+08:00"
source : "Coordinator (PM) Agent"
ackVersion : "0.18.0"
project:
name : "skills"
repoPath : "/home/ace/orca/workspaces/.skills/record-bug"
baseUrl : "n/a"
devWorktree : "/home/ace/orca/workspaces/.skills/record-bug"
overlayFile : "docs/ack/project.md"
knowledgeFile : "docs/ack/knowledge.yaml"
orchestration:
profileVersion : 1
mode : "orca"
allowedWorktrees:
- "/home/ace/orca/workspaces/.skills/record-bug"
- "/home/ace/.skills"
modelAllowlist:
codex:
developer:
standard : [ "gpt-5.6-terra" ]
strong : [ "gpt-5.6-sol" ]
test:
standard : [ "gpt-5.6-luna" ]
omp:
developer:
standard : [ "opencode-go/gpt-5.6-luna" ]
strong : [ "opencode-go/gpt-5.6-luna" ]
test:
standard : [ "opencode-go/gpt-5.6-luna" ]
profiles:
codex-dev-standard:
role : "developer"
cli : "codex"
tier : "standard"
model : "gpt-5.6-terra"
reasoningEffort : "medium"
permissionMode : "workspace-write"
codex-test-standard:
role : "test"
cli : "codex"
tier : "standard"
model : "gpt-5.6-luna"
reasoningEffort : "low"
permissionMode : "workspace-write"
codex-dev-strong:
role : "developer"
cli : "codex"
tier : "strong"
model : "gpt-5.6-sol"
reasoningEffort : "high"
permissionMode : "workspace-write"
omp-dev-standard:
role : "developer"
cli : "omp"
tier : "standard"
model : "opencode-go/gpt-5.6-luna"
reasoningEffort : "medium"
permissionMode : "workspace-write"
omp-test-standard:
role : "test"
cli : "omp"
tier : "standard"
model : "opencode-go/gpt-5.6-luna"
reasoningEffort : "low"
permissionMode : "workspace-write"
omp-dev-strong:
role : "developer"
cli : "omp"
tier : "strong"
model : "opencode-go/gpt-5.6-luna"
reasoningEffort : "high"
permissionMode : "workspace-write"
defaults:
developer : "codex-dev-standard"
test : "codex-test-standard"
developerUpgraded : "codex-dev-strong"
workerReceipts:
- receiptVersion : 1
id : "WR-1c9755604c0de98ce5ccc5913faa4984e9d975879250095b3553a796bccb261d"
launchId : "1c9755604c0de98ce5ccc5913faa4984e9d975879250095b3553a796bccb261d"
profileId : "codex-dev-standard"
profileHash : "sha256:fd5bc08d5d8a154175675a2de3b29cabbf016fdae0ed5f76167c63bced0bc47b"
launchFingerprint : "sha256:7de2f9ebf3065e7c044150fa87aed39582a8018b63a0dabac22194bf52ad52b7"
slot : 1
createdFor:
taskId : "FEISHU-001"
attemptId : "FEISHU-001-A1"
role : "developer"
worktree:
path : "/home/ace/orca/workspaces/.skills/record-bug"
device : 2049
inode : 1705498
gitCommonDir : "/home/ace/.skills/.git"
gitCommonDevice : 2049
gitCommonInode : 558841
requested:
cli : "codex"
tier : "standard"
model : "gpt-5.6-terra"
reasoningEffort : "medium"
permissionMode : "workspace-write"
executable : "/home/ace/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/bin/codex"
executableDevice : 2049
executableInode : 1453403
cliVersion : "codex-cli 0.146.0"
argv:
- "/home/ace/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/bin/codex"
- "--strict-config"
- "--model"
- "gpt-5.6-terra"
- "--config"
- "model_reasoning_effort=medium"
- "--sandbox"
- "workspace-write"
- "--ask-for-approval"
- "never"
- "--cd"
- "/home/ace/orca/workspaces/.skills/record-bug"
argvHash : "sha256:a17f4a56e4324a6c170773dffdf0b986c4f070e04fe404ba8395135c686182ee"
environmentPolicy : "per-cli-allowlist-v1"
binding:
orchestrator : "orca"
runtimeId : "30613bea-9f1e-4d6b-949f-58e43f77688a"
handle : "term_4d6278c9-83ac-4876-a29d-022adc346e6c"
incarnationId : "6daffb4c-e705-47f3-b7c2-d1ee1fb16c56"
observedWorktreePath : "/home/ace/orca/workspaces/.skills/record-bug"
connected : true
writable : true
boundAt : "2026-08-01T04:46:51.629061Z"
createdAt : "2026-08-01T04:46:42.869861Z"
receiptHash : "sha256:93e7e4454438a4d1c9a64eb7429563bb4b71348715cc4cb3e42c96cb9ca75fa4"
- receiptVersion : 1
id : "WR-035285dde990c7f59be5842a6c98eab8f715dd9c4400fba79aba341fab53ffc3"
launchId : "035285dde990c7f59be5842a6c98eab8f715dd9c4400fba79aba341fab53ffc3"
profileId : "codex-test-standard"
profileHash : "sha256:30a1cf4d0f1b180ca1aebd759cf8a9425047ed9563f4cf3eb3fe8b3935ca2078"
launchFingerprint : "sha256:981fe3c23594573f564de9ab321e724324962958ed689ad3c0c98d7d165c1aa9"
slot : 2
createdFor:
taskId : "FEISHU-001"
attemptId : "FEISHU-001-A1"
role : "test"
worktree:
path : "/home/ace/orca/workspaces/.skills/record-bug"
device : 2049
inode : 1705498
gitCommonDir : "/home/ace/.skills/.git"
gitCommonDevice : 2049
gitCommonInode : 558841
requested:
cli : "codex"
tier : "standard"
model : "gpt-5.6-luna"
reasoningEffort : "low"
permissionMode : "workspace-write"
executable : "/home/ace/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/bin/codex"
executableDevice : 2049
executableInode : 1453403
cliVersion : "codex-cli 0.146.0"
argv:
- "/home/ace/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/bin/codex"
- "--strict-config"
- "--model"
- "gpt-5.6-luna"
- "--config"
- "model_reasoning_effort=low"
- "--sandbox"
- "workspace-write"
- "--ask-for-approval"
- "never"
- "--cd"
- "/home/ace/orca/workspaces/.skills/record-bug"
argvHash : "sha256:ad1991c9d70fc574c856a2f7cb51a7e93eca5d286dfc689b09b414f7144f6369"
environmentPolicy : "per-cli-allowlist-v1"
binding:
orchestrator : "orca"
runtimeId : "30613bea-9f1e-4d6b-949f-58e43f77688a"
handle : "term_ab858ba7-b972-45fb-bf50-61e96ced2830"
incarnationId : "9e20c158-7ac3-4a18-8dca-f9fec50126d6"
observedWorktreePath : "/home/ace/orca/workspaces/.skills/record-bug"
connected : true
writable : true
boundAt : "2026-08-01T04:57:33.909375Z"
createdAt : "2026-08-01T04:57:25.086609Z"
receiptHash : "sha256:1245532d66814f5d3b2a6a3b22293ead597f04390e628333569a7ba8763d0a84"
- receiptVersion : 1
id : "WR-3202fbd30c60dfc6614787e82d0f8e10701f811fdc3d43af54b8cc269d8165f1"
launchId : "3202fbd30c60dfc6614787e82d0f8e10701f811fdc3d43af54b8cc269d8165f1"
profileId : "codex-dev-standard"
profileHash : "sha256:fd5bc08d5d8a154175675a2de3b29cabbf016fdae0ed5f76167c63bced0bc47b"
launchFingerprint : "sha256:8264af6531e9828c0f994845b3a24931e22abea72d8a1d54a7c764577e544873"
slot : 3
createdFor:
taskId : "FEISHU-001"
attemptId : "FEISHU-001-A2"
role : "developer"
worktree:
path : "/home/ace/orca/workspaces/.skills/record-bug"
device : 2049
inode : 1705498
gitCommonDir : "/home/ace/.skills/.git"
gitCommonDevice : 2049
gitCommonInode : 558841
requested:
cli : "codex"
tier : "standard"
model : "gpt-5.6-terra"
reasoningEffort : "medium"
permissionMode : "workspace-write"
executable : "/home/ace/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/bin/codex"
executableDevice : 2049
executableInode : 1453403
cliVersion : "codex-cli 0.146.0"
argv:
- "/home/ace/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/bin/codex"
- "--strict-config"
- "--model"
- "gpt-5.6-terra"
- "--config"
- "model_reasoning_effort=medium"
- "--sandbox"
- "workspace-write"
- "--ask-for-approval"
- "never"
- "--cd"
- "/home/ace/orca/workspaces/.skills/record-bug"
argvHash : "sha256:a17f4a56e4324a6c170773dffdf0b986c4f070e04fe404ba8395135c686182ee"
environmentPolicy : "per-cli-allowlist-v1"
binding:
orchestrator : "orca"
runtimeId : "30613bea-9f1e-4d6b-949f-58e43f77688a"
handle : "term_d1b02227-6bd6-4bd3-a432-bb50f64fca8c"
incarnationId : "f77f05ff-fb2b-4099-ab03-070f61671673"
observedWorktreePath : "/home/ace/orca/workspaces/.skills/record-bug"
connected : true
writable : true
boundAt : "2026-08-01T05:01:26.824435Z"
createdAt : "2026-08-01T05:01:17.965038Z"
receiptHash : "sha256:c20c47c7491b5b399d2c29fce67a7035b432969bda0ccb74948eb03c3d085380"
- receiptVersion : 1
id : "WR-12c3784e1719302b77728917b913c3233ef022f811a94050d1842e2d54971ebd"
launchId : "12c3784e1719302b77728917b913c3233ef022f811a94050d1842e2d54971ebd"
profileId : "codex-test-standard"
profileHash : "sha256:30a1cf4d0f1b180ca1aebd759cf8a9425047ed9563f4cf3eb3fe8b3935ca2078"
launchFingerprint : "sha256:621c7d5d6b7182d9a1ebf211fa11a80d7b100a3b682f8800f61031a651f5bf2a"
slot : 4
createdFor:
taskId : "FEISHU-001"
attemptId : "FEISHU-001-A2"
role : "test"
worktree:
path : "/home/ace/orca/workspaces/.skills/record-bug"
device : 2049
inode : 1705498
gitCommonDir : "/home/ace/.skills/.git"
gitCommonDevice : 2049
gitCommonInode : 558841
requested:
cli : "codex"
tier : "standard"
model : "gpt-5.6-luna"
reasoningEffort : "low"
permissionMode : "workspace-write"
executable : "/home/ace/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/bin/codex"
executableDevice : 2049
executableInode : 1453403
cliVersion : "codex-cli 0.146.0"
argv:
- "/home/ace/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/bin/codex"
- "--strict-config"
- "--model"
- "gpt-5.6-luna"
- "--config"
- "model_reasoning_effort=low"
- "--sandbox"
- "workspace-write"
- "--ask-for-approval"
- "never"
- "--cd"
- "/home/ace/orca/workspaces/.skills/record-bug"
argvHash : "sha256:ad1991c9d70fc574c856a2f7cb51a7e93eca5d286dfc689b09b414f7144f6369"
environmentPolicy : "per-cli-allowlist-v1"
binding:
orchestrator : "orca"
runtimeId : "30613bea-9f1e-4d6b-949f-58e43f77688a"
handle : "term_1ec9d2e1-a1b6-45db-8477-097e39a93ee4"
incarnationId : "a6f79ac3-9cc6-40a1-a38a-e7b7c2a49b02"
observedWorktreePath : "/home/ace/orca/workspaces/.skills/record-bug"
connected : true
writable : true
boundAt : "2026-08-01T05:05:36.189001Z"
createdAt : "2026-08-01T05:05:27.500696Z"
receiptHash : "sha256:824227bda0e78558807e10da9d89ec32ee4d7f37d782b866bca4629c5ac9e8fb"
- receiptVersion : 1
id : "WR-90c5c8a69173ce07d1db3f6065eaf956ca6cacbdc5396ac3a224e04a7fe8ed21"
launchId : "90c5c8a69173ce07d1db3f6065eaf956ca6cacbdc5396ac3a224e04a7fe8ed21"
profileId : "codex-dev-standard"
profileHash : "sha256:fd5bc08d5d8a154175675a2de3b29cabbf016fdae0ed5f76167c63bced0bc47b"
launchFingerprint : "sha256:97ef498caf4a5f0d48fef22773c942a5065dfcf5cecefa22a6ad21df8d04bcd1"
slot : 5
createdFor:
taskId : "FEISHU-001"
attemptId : "FEISHU-001-A3"
role : "developer"
worktree:
path : "/home/ace/orca/workspaces/.skills/record-bug"
device : 2049
inode : 1705498
gitCommonDir : "/home/ace/.skills/.git"
gitCommonDevice : 2049
gitCommonInode : 558841
requested:
cli : "codex"
tier : "standard"
model : "gpt-5.6-terra"
reasoningEffort : "medium"
permissionMode : "workspace-write"
executable : "/home/ace/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/bin/codex"
executableDevice : 2049
executableInode : 1453403
cliVersion : "codex-cli 0.146.0"
argv:
- "/home/ace/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/bin/codex"
- "--strict-config"
- "--model"
- "gpt-5.6-terra"
- "--config"
- "model_reasoning_effort=medium"
- "--sandbox"
- "workspace-write"
- "--ask-for-approval"
- "never"
- "--cd"
- "/home/ace/orca/workspaces/.skills/record-bug"
argvHash : "sha256:a17f4a56e4324a6c170773dffdf0b986c4f070e04fe404ba8395135c686182ee"
environmentPolicy : "per-cli-allowlist-v1"
binding:
orchestrator : "orca"
runtimeId : "30613bea-9f1e-4d6b-949f-58e43f77688a"
handle : "term_88079d90-29a3-48ac-9b97-bec011abc249"
incarnationId : "5d4f785f-e0b5-4ab3-9de3-72ebc2da3b06"
observedWorktreePath : "/home/ace/orca/workspaces/.skills/record-bug"
connected : true
writable : true
boundAt : "2026-08-01T05:16:40.565911Z"
createdAt : "2026-08-01T05:16:31.788668Z"
receiptHash : "sha256:c62417b2ee8e9815228a18b2ee1be84b2844dada50eb9703a061e08e51e57eb7"
- receiptVersion : 1
id : "WR-8d81f78e66ba7c82c7a6a734b35e5941ef0aa3f03f8ef694baae75eeaf9ebfd7"
launchId : "8d81f78e66ba7c82c7a6a734b35e5941ef0aa3f03f8ef694baae75eeaf9ebfd7"
profileId : "codex-test-standard"
profileHash : "sha256:30a1cf4d0f1b180ca1aebd759cf8a9425047ed9563f4cf3eb3fe8b3935ca2078"
launchFingerprint : "sha256:6c7a45f7dd119bb6ef3bfaed7961c30f257285d940f248e0b16678dcad1bd19d"
slot : 6
createdFor:
taskId : "FEISHU-001"
attemptId : "FEISHU-001-A3"
role : "test"
worktree:
path : "/home/ace/orca/workspaces/.skills/record-bug"
device : 2049
inode : 1705498
gitCommonDir : "/home/ace/.skills/.git"
gitCommonDevice : 2049
gitCommonInode : 558841
requested:
cli : "codex"
tier : "standard"
model : "gpt-5.6-luna"
reasoningEffort : "low"
permissionMode : "workspace-write"
executable : "/home/ace/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/bin/codex"
executableDevice : 2049
executableInode : 1453403
cliVersion : "codex-cli 0.146.0"
argv:
- "/home/ace/.codex/packages/standalone/releases/0.146.0-x86_64-unknown-linux-musl/bin/codex"
- "--strict-config"
- "--model"
- "gpt-5.6-luna"
- "--config"
- "model_reasoning_effort=low"
- "--sandbox"
- "workspace-write"
- "--ask-for-approval"
- "never"
- "--cd"
- "/home/ace/orca/workspaces/.skills/record-bug"
argvHash : "sha256:ad1991c9d70fc574c856a2f7cb51a7e93eca5d286dfc689b09b414f7144f6369"
environmentPolicy : "per-cli-allowlist-v1"
binding:
orchestrator : "orca"
runtimeId : "30613bea-9f1e-4d6b-949f-58e43f77688a"
handle : "term_44ab2675-445a-4f51-a0f5-83960bc1ca3b"
incarnationId : "6e37ac75-5725-410c-87af-63f8bb42a911"
observedWorktreePath : "/home/ace/orca/workspaces/.skills/record-bug"
connected : true
writable : true
boundAt : "2026-08-01T05:25:08.564556Z"
createdAt : "2026-08-01T05:24:59.720042Z"
receiptHash : "sha256:dcbed5b2a3fa99312deba61951253992741eca885068e8f649613bd97eb3f59f"
- {"binding" : {"boundAt" : "2026-08-23T12:28:51.112660Z" , "connected" : true , "handle" : "term_10563050-a88d-4b59-b5c5-78c734185605" , "incarnationId" : "b7dee6bb-8b2f-4385-8592-bc9bf44c1f5e" , "observedWorktreePath" : "/home/ace/.skills" , "orchestrator" : "orca" , "runtimeId" : "76fbdbba-9fef-42d8-97be-94c9892b859c" , "writable" : true }, "boardHash" : "sha256:88926bb895a370b2f6fcf7a3f7945fd00c40ad9e719e7da47b7d65605f63f16d" , "createdAt" : "2026-08-23T12:28:43.628960Z" , "createdFor" : {"attemptId" : "ACK-OMP-001-A1" , "role" : "developer" , "taskId" : "ACK-OMP-001" }, "id" : "WR-446b1eb450c160509eea68eae4ad3aedcc730876cb5cbcfa5097ddd739c97212" , "launchFingerprint" : "sha256:4e9bb7e8ec6035d175429f7b728ea45e01018b54d834950c6d2f6eacf8962d2a" , "launchId" : "446b1eb450c160509eea68eae4ad3aedcc730876cb5cbcfa5097ddd739c97212" , "profileHash" : "sha256:fd5bc08d5d8a154175675a2de3b29cabbf016fdae0ed5f76167c63bced0bc47b" , "profileId" : "codex-dev-standard" , "projectRoot" : "/home/ace/.skills" , "receiptHash" : "sha256:2caf851ffbf84c82352915068d9740ebf2868aadbe083475b025f0e627c69e27" , "receiptVersion" : 1 , "requested" : {"argv" : [ "/home/ace/.codex/packages/standalone/releases/0.149.0-x86_64-unknown-linux-musl/bin/codex" , "--strict-config" , "--model" , "gpt-5.6-terra" , "--config" , "model_reasoning_effort=medium" , "--sandbox" , "workspace-write" , "--ask-for-approval" , "never" , "--cd" , "/home/ace/.skills" ] , "argvHash" : "sha256:81ef379bd5cfad3e178e2936873d4ed342c2b33bbf05feb2d47da38dc20fe829" , "cli" : "codex" , "cliVersion" : "codex-cli 0.149.0" , "environmentPolicy" : "per-cli-allowlist-v1" , "executable" : "/home/ace/.codex/packages/standalone/releases/0.149.0-x86_64-unknown-linux-musl/bin/codex" , "executableDevice" : 2049 , "executableInode" : 1979460 , "model" : "gpt-5.6-terra" , "permissionMode" : "workspace-write" , "reasoningEffort" : "medium" , "tier" : "standard" }, "slot" : 3 , "worktree" : {"device" : 2049 , "gitCommonDevice" : 2049 , "gitCommonDir" : "/home/ace/.skills/.git" , "gitCommonInode" : 558841 , "inode" : 558835 , "path" : "/home/ace/.skills" }}
summary:
verified : [ "FEISHU-001" ]
open : [ "ACK-OMP-002" , "ACK-OMP-003" ]
failedRetest : [ ]
leftovers : [ ]
tasks:
- id : "FEISHU-001"
type : "feature"
title : "ACK 从飞书多维表格按项目 profile 读取并整理 Bug"
priority : "P1"
status : "verified"
assignee : "test"
component : "skills/ack"
specRefs:
- "docs/ack-feishu-bug-intake.md"
testRefs:
- "tests/test_ack_feishu_intake_unit.py"
- "tests/test_ack_feishu_intake_e2e.py"
knowledgeRefs : [ ]
knowledgeApplied : [ ]
knowledgeCandidates : [ ]
knowledgeChecks : [ ]
description : >
扩展完整 ACK Skill,使项目可以在 tasks.yaml 中声明飞书多维表格 Bug 收件箱和
lark-cli profile。ACK 通过可信、无 shell 的读取器读取 ACK Ready 视图、按需
下载截图并输出可幂等整理的标准化记录;不同项目不会串用飞书租户。
stepsToReproduce:
- "创建两个假 lark-cli profile: tenant-a 为 active,项目配置 tenant-b"
- "在 tenant-b 的 ACK Ready 视图返回一条带截图附件的 Bug 记录"
- "运行 ACK 飞书读取器 check/fetch,并重复提交同一标准化结果"
expected : >
读取器每次显式使用 tenant-b,仅读取配置 view,正确标准化文字与截图附件,
对所有错误 fail closed; ACK 按稳定 source.ref 整理,重复来源不产生新任务,
未配置飞书的旧项目保持兼容。
actual : >
当前 ACK 没有飞书 Bug 数据源、CLI profile 配置、附件读取或来源幂等规则。
evidence:
browser : "飞书多维表格记录可包含文字字段和截图附件;本次使用假 CLI 离线复现"
api : "官方 lark-cli base +record-list 与 +record-download-attachment"
logs : "本机当前没有 lark-cli,验证必须通过隔离假 CLI 完成"
verification:
commands:
- "python3 -m unittest discover -s tests -p 'test_ack_feishu_intake_unit.py'"
- "python3 -m unittest discover -s tests -p 'test_ack_feishu_intake_e2e.py'"
- "python3 -m unittest discover -s tests -p 'test_ack*.py'"
- "python3 skills/ack/scripts/validate_tasks.py docs/ack/tasks.yaml"
browser:
page : "n/a"
checks:
- "假 CLI 记录证明所有数据命令显式使用 tenant-b profile"
- "标准化输出包含唯一 sourceRef 与本地截图路径"
- "重复来源整理结果只对应一个 ACK 任务"
dispatch:
developer:
profileId : "codex-dev-standard"
receiptId : "WR-90c5c8a69173ce07d1db3f6065eaf956ca6cacbdc5396ac3a224e04a7fe8ed21"
attemptId : "FEISHU-001-A3"
taskId : "task_9bc1dba1e21a"
dispatchId : "ctx_0791582a526f"
test:
profileId : "codex-test-standard"
receiptId : "WR-8d81f78e66ba7c82c7a6a734b35e5941ef0aa3f03f8ef694baae75eeaf9ebfd7"
attemptId : "FEISHU-001-A3"
taskId : "task_4f70d2496d13"
dispatchId : "ctx_66ab3460dda2"
rounds:
- round : 1
attemptId : "FEISHU-001-A1"
result : failed
evidence : >
Isolated fake tenant and screenshot intake passed profile isolation,
download containment, fail-closed behavior, organization rules and
legacy validation, but normalized output leaked baseToken inside
sourceRef and exposed the attachment file token.
- round : 2
attemptId : "FEISHU-001-A2"
result : failed
evidence : >
Strengthened isolated E2E passed after the secret-output fix, but
Coordinator final gate compared the adapter with official lark-cli
source : profile list returns a raw JSON array and has no --format
flag, while the adapter requires an object and sends --format.
Executable lookup also trusts arbitrary PATH instead of the fixed
trusted directories required by the product spec; template source
reference still documents the obsolete raw form.
- round : 3
attemptId : "FEISHU-001-A3"
result : passed
evidence : >
Fresh Test ran a file-backed fake Feishu submission containing all
Bug text fields and a screenshot through the production check/fetch
entry points. Six focused E2E tests and five unit tests passed. The
run verified the official raw profile array and data.data matrix,
explicit tenant-b selection, trusted executable resolution,
screenshot containment, stable opaque sourceRef deduplication and
fail-closed handling for malformed, ambiguous, non-progressing and
over-limit responses. Validators, skiff check, compileall and diff
checks also passed.
resolution:
fixedBy : "term_88079d90-29a3-48ac-9b97-bec011abc249"
verifiedBy : "term_44ab2675-445a-4f51-a0f5-83960bc1ca3b"
verifiedAt : "2026-08-01T13:31:40+08:00"
leftoverReason : null
evidence:
developer : >
FEISHU-001-A1 implemented ACK 0.12.0 Feishu Base intake. Focused unit
tests, ACK contract tests, compileall, task validation and diff check
passed. The fresh worker could not deliver worker_done through its
workspace-write sandbox because Orca relay/FUSE was unavailable;
Coordinator preserved the terminal evidence in Orca task
task_ed87b3386a80 and did not treat it as final verification.
testRound1 : >
Fresh Test term_ab858ba7-b972-45fb-bf50-61e96ced2830 created the
isolated E2E fixture and found secret-safe output failing while all
other targeted signals passed. Evidence is retained in Orca task
task_251a9b5265cd; Test relay was unavailable for the same sandbox
reason, so this remains a failed retest rather than verification.
developerRound2 : >
Fresh Developer term_d1b02227-6bd6-4bd3-a432-bb50f64fca8c changed
sourceRef to a domain-separated SHA-256 digest and kept file tokens
internal to download calls. Focused unit, ACK contract, read-only E2E,
compileall and diff checks passed; independent round-2 Test is still
required.
coordinatorGateRound2 : >
Targeted Test evidence was green, but final source-contract review
against official larksuite/cli cmd/profile/list.go rejected the round:
actual profile list output is a JSON array, the command exposes no
format flag, and the current reader resolves lark-cli through caller
PATH rather than fixed trusted directories.
developerRound3 : >
Fresh Developer term_88079d90-29a3-48ac-9b97-bec011abc249 added the
trusted resolver, official raw profile-list and data.data parsing,
strict envelopes, sanitized execution PATH, revised unit coverage and
complete setup/source examples. Five focused unit tests, 34 ACK
contracts (one skipped), compileall, task validation and diff check
passed; final independent Test remains required.
testRound3 : >
Fresh Test term_44ab2675-445a-4f51-a0f5-83960bc1ca3b passed six
isolated E2E cases and all five Feishu unit tests. It exercised the
production entry points with a real fake-CLI subprocess and a separate
submitted-bug JSON file, downloaded a screenshot into a temporary
directory, repeated the fetch to prove a stable opaque sourceRef, and
simulated ACK source.ref organization without duplicates. The four
failures in the wider legacy suite reproduce unchanged on base commit
f08edb6 and are classified as existing environment/layout failures.
Orca worker_done transport was unavailable inside the worker sandbox
because FUSE was absent; the full fresh-terminal evidence is retained
in Orca task task_4f70d2496d13.
- id : "ACK-OMP-001"
type : "feature"
title : "支持 OMP worker CLI"
priority : "P1"
status : "blocked"
assignee : "developer"
component : "skills/ack/scripts"
specRefs:
- "docs/PRD-ack-omp-worker.md#范围"
testRefs:
- "tests/test_ack_omp_worker.py"
knowledgeRefs : [ ]
knowledgeApplied : [ ]
knowledgeCandidates : [ ]
knowledgeChecks : [ ]
description : >
ACK 当前 worker CLI allowlist 只支持 codex、cursor-agent 和 grok,无法使用当前
Oh My Pi( OMP) CLI 启动 Developer 或 Test worker。增加 omp CLI 支持,Orca 继续
负责 terminal orchestration,模型仍由 profile 明确指定。
fixLogic : >
扩展结构化 CLI allowlist、模型 allowlist 校验、可信 executable 解析、按 CLI
隔离的 worker 环境和固定 argv 渲染。OMP argv 使用精确 provider/model、thinking、
approval mode、绝对 cwd 和 no-session; workspace-write 映射 yolo, read-only
映射 always-ask(用户已明确授权),禁止 auto-approve、plan-yolo 与会话复用。CLI、模型、版本、
审批模式和 worktree 继续进入 launch fingerprint 与 receipt。
acceptanceCriteria:
- "合法 omp profile 可通过路由校验,模型必须命中 omp/role/tier allowlist"
- "OMP worker argv 固定包含 model、thinking、approval-mode、cwd 和 no-session"
- "auto-approve、plan-yolo、会话复用和不可信 executable 均 fail closed; workspace-write yolo 需显式授权"
- "既有 codex、cursor-agent、grok 的路由与 receipt 行为保持不变"
stepsToReproduce:
- "在 ACK profile 中声明 cli 为 omp,模型为 opencode-go/gpt-5.6-luna"
- "运行 worker profile 校验或 launcher plan"
- "观察当前实现将 omp 判定为不支持的 CLI"
expected : >
ACK 可以通过结构化 profile 安全选择 OMP worker,并为 Orca terminal 生成可核对的
交互式启动计划;不允许借配置注入任意命令或绕过审批。
actual : >
当前 worker_profiles.CLIS、launcher 支持集合和凭据策略没有 omp,launcher 会拒绝
OMP worker。
evidence:
browser : "n/a"
api : "本机 omp 17.2.11 支持 --model、--thinking、--cwd、--approval-mode 和 --no-session;当前 ACK 不接受 omp"
logs : "当前 ACK 路由单元测试 44 项通过,但只覆盖 codex/cursor-agent/grok"
verification:
commands:
- "python3 -m unittest tests.test_ack_omp_worker tests.test_ack_worker_profiles tests.test_ack_launch_worker"
- "python3 skills/ack/scripts/validate_tasks.py docs/ack/tasks.yaml"
browser:
page : "n/a"
checks:
- "OMP profile plan 输出 cli、model、版本、审批模式和固定 argv"
- "危险参数与不可信 executable 不会进入启动计划"
dispatch:
developer:
profileId : "codex-dev-standard"
receiptId : "WR-446b1eb450c160509eea68eae4ad3aedcc730876cb5cbcfa5097ddd739c97212"
attemptId : "ACK-OMP-001-A1"
taskId : "task_35bbcdbeeb1f"
dispatchId : "ctx_abeb35c059a8"
test:
profileId : "codex-test-standard"
receiptId : null
attemptId : null
taskId : null
dispatchId : null
rounds : [ ]
environmentIncidents:
- id : "ACK-OMP-001-ENV-1"
attemptId : "ACK-OMP-001-A1"
role : "coordinator"
phase : "launch"
status : "resolved"
summary : "配置中的旧 worker worktree 已不存在,Developer 启动计划被拒绝"
evidence : "/home/ace/orca/workspaces/.skills/record-bug 不存在;git worktree list 仅列出 /home/ace/.skills 和 agent-swarm"
impact : "首次 Developer 派发未创建终端,不消耗产品复验轮次"
recoveryAction : "核对 Git worktree,登记当前项目根 /home/ace/.skills 到 allowedWorktrees,并重新校验任务板"
userAction : "无需操作;Coordinator 将使用当前已登记项目根重新生成并审阅启动计划"
reportedAt : "2026-08-23T20:27:41+08:00"
resolvedAt : "2026-08-23T20:27:41+08:00"
- id : "ACK-OMP-001-ENV-2"
attemptId : "ACK-OMP-001-A1"
role : "coordinator"
phase : "launch"
status : "resolved"
summary : "移除不存在的旧 worktree 会使历史 receipt 无法通过 allowlist 校验"
evidence : "validate_tasks 报告 6 个历史 receipt.worktree.path 不在 allowlist;历史 receipt 均绑定 /home/ace/orca/workspaces/.skills/record-bug"
impact : "配置收紧后 Developer 计划仍无法生成,未创建终端且不消耗产品复验轮次"
recoveryAction : "按历史 receipt 恢复旧路径为同一 Git 仓库的 detached worktree,并保留当前项目根作为本轮 worker 路径"
userAction : "无需操作;旧路径仅为历史 receipt 校验保留,本轮 worker 使用 /home/ace/.skills"
reportedAt : "2026-08-23T20:27:41+08:00"
resolvedAt : "2026-08-23T20:27:41+08:00"
- id : "ACK-OMP-001-ENV-3"
attemptId : "ACK-OMP-001-A1"
role : "developer"
phase : "tooling"
status : "open"
summary : "Codex Developer worker 命中 OpenAI 使用额度限制,无法执行任务"
evidence : "worker terminal 显示 You've hit your usage limit;仅提供切换到 gpt-5.6-luna 或等待额度恢复,当前 profile 固定为 gpt-5.6-terra"
impact : "Developer 尚未修改代码或运行验证;任务未产生产品失败,不消耗复验轮次"
recoveryAction : "停止当前阻塞等待,保留 terminal 与 dispatch 供协调;需改用已授权且有额度的 profile 后重新 plan/launch"
userAction : "请决定等待额度恢复,或授权 Coordinator 将本次 Developer profile 切换到可用的已配置 CLI/model;不能把当前 worker 自行改成 Luna"
reportedAt : "2026-08-23T20:30:26+08:00"
resolvedAt : null
resolution:
fixedBy : null
verifiedBy : null
verifiedAt : null
leftoverReason : null
- id : "ACK-OMP-002"
type : "feature"
title : "补充 OMP 路由回归测试"
priority : "P1"
status : "open"
assignee : "developer"
component : "tests/test_ack_omp_worker.py"
specRefs:
- "docs/PRD-ack-omp-worker.md#可观测验收标准"
testRefs:
- "tests/test_ack_omp_worker.py"
knowledgeRefs : [ ]
knowledgeApplied : [ ]
knowledgeCandidates : [ ]
knowledgeChecks : [ ]
description : >
新增 OMP profile、argv、可信 executable、审批模式和环境隔离的白盒覆盖,并确保
现有 CLI 路由回归测试继续通过。
fixLogic : >
测试合法与非法 OMP profile、provider/model 精确 allowlist、thinking 映射、审批
模式边界、no-session、恶意参数、可信路径、版本记录和凭据隔离;只测试可观察
行为,不测试源代码文本或偶然默认值。
acceptanceCriteria:
- "测试覆盖 OMP 的合法 profile、模型 allowlist、thinking、argv 和环境策略"
- "测试覆盖危险审批模式、非法模型、恶意 executable 和自由参数拒绝"
- "既有 ACK worker profile、launcher 与任务板测试全部通过"
stepsToReproduce:
- "运行现有 ACK worker profile 和 launcher 测试"
- "检查测试没有 OMP profile、argv 或环境断言"
expected : >
OMP 支持具有可执行的回归护栏,后续路由或安全边界回退会被测试捕获。
actual : >
当前测试矩阵只包含 codex、cursor-agent 和 grok,没有 OMP 覆盖。
evidence:
browser : "n/a"
api : "n/a"
logs : "现有 worker profile 测试 44 项通过"
verification:
commands:
- "python3 -m unittest tests.test_ack_omp_worker tests.test_ack_worker_profiles tests.test_ack_launch_worker tests.test_ack_tasks_validation"
- "python3 -m compileall -q skills/ack/scripts"
browser:
page : "n/a"
checks:
- "白盒测试对每个 OMP 安全边界给出确定 pass/fail"
dispatch:
developer:
profileId : "codex-dev-standard"
receiptId : null
attemptId : null
taskId : null
dispatchId : null
test:
profileId : "codex-test-standard"
receiptId : null
attemptId : null
taskId : null
dispatchId : null
rounds : [ ]
environmentIncidents : [ ]
resolution:
fixedBy : null
verifiedBy : null
verifiedAt : null
leftoverReason : null
- id : "ACK-OMP-003"
type : "verification"
title : "独立复测 OMP worker 派发"
priority : "P1"
status : "open"
assignee : "test"
component : "skills/ack"
specRefs:
- "docs/PRD-ack-omp-worker.md#可观测验收标准"
testRefs:
- "tests/test_ack_omp_e2e.py"
knowledgeRefs : [ ]
knowledgeApplied : [ ]
knowledgeCandidates : [ ]
knowledgeChecks : [ ]
description : >
在独立临时项目和隔离 OMP 配置目录中验证 fresh OMP worker 的 Orca terminal 绑定、
任务注入、工作目录对齐和 lifecycle 回报。
fixLogic : >
Test 只使用隔离配置和受控测试入口,不读取真实凭据;先核对 worktree、CLI 版本、
profile 和服务状态,再验证任务输入确实被 OMP worker 接收。协议、审批或环境阻塞
必须记录为环境事件,不转写成产品失败。
acceptanceCriteria:
- "fresh OMP worker 绑定到指定 worktree 且 receipt 记录 cli、model、版本和 argv"
- "Orca dispatch 的任务输入被 OMP worker 接收并产生可核对 lifecycle 证据"
- "测试不读取或持久化真实 OMP 凭据,协议/环境失败有明确证据"
stepsToReproduce:
- "创建临时项目、隔离 OMP 配置目录和受控 profile"
- "按 ACK launcher plan/launch 创建 OMP worker"
- "通过 Orca dispatch 注入任务并观察 worker 回报"
expected : >
OMP worker 可在 ACK 安全边界内完成一次独立派发和回报;若当前 Orca 注入协议或
OMP 审批模式无法完成,则明确暴露阻塞点而不伪报通过。
actual : >
当前尚未有 OMP worker profile、launcher 分支或独立黑盒演练。
evidence:
browser : "n/a"
api : "n/a"
logs : "OMP CLI 17.2.11 支持交互式启动参数;实际 Orca 注入兼容性待验证"
verification:
commands:
- "python3 -m unittest discover -s tests -p 'test_ack_omp_e2e.py'"
- "python3 skills/ack/scripts/validate_tasks.py docs/ack/tasks.yaml"
- "python3 skills/ack/scripts/validate_knowledge.py docs/ack/knowledge.yaml --tasks docs/ack/tasks.yaml"
browser:
page : "n/a"
checks:
- "独立测试记录 worker worktree、模型、argv、注入结果和 lifecycle 证据"
dispatch:
developer:
profileId : "codex-dev-standard"
receiptId : null
attemptId : null
taskId : null
dispatchId : null
test:
profileId : "codex-test-standard"
receiptId : null
attemptId : null
taskId : null
dispatchId : null
rounds : [ ]
environmentIncidents : [ ]
resolution:
fixedBy : null
verifiedBy : null
verifiedAt : null
leftoverReason : null