来源: docs/WIRING_GAP_LEDGER.md W4 (功能接线欠债审计, 2026-07-19)。
后端 + client wrapper 已全就绪, 纯前端接线活。
skill correction 人审闭环 (ADR-0003 D7/D8) 后端全通, 只差最后一公里 UI:
- producer 已接:
maybe_propose_correction 在真实 skill 跑时被调 (skill_channel.py:546,678), 追加 correction_proposed evidence
GET /skills/{id} 全详情含 evidence log (docstring: "the dock needs this to review a correction_proposed entry")
POST /skills/{id}/dismiss-correction / POST /skills/{id}/rollback (回滚到 redistill 前)
- client wrapper
getSkill/dismissCorrection/rollbackSkill 已在 endpoints.ts
现状: frontend/app/(app)/skills/ 只有扁平 page.tsx (列表)。无 per-skill 详情路由, 无 dismiss/rollback 按钮。文档提的 AgentDock.tsx 前端根本不存在。只有 redistill (重跑) 可达。
期望: 加 skill 详情页/抽屉 frontend/app/(app)/skills/[id], 接 getSkill + dismiss/rollback 按钮。零后端改动。
证据: backend/api/v1/skills.py (get_skill/dismiss_correction/rollback_skill handler + docstring); frontend/app/(app)/skills/page.tsx (目录唯一文件); grep getSkill/dismissCorrection/rollbackSkill/AgentDock → 0 命中 (AgentDock 全仓 0)。
来源: docs/WIRING_GAP_LEDGER.md W4 (功能接线欠债审计, 2026-07-19)。
后端 + client wrapper 已全就绪, 纯前端接线活。
skill correction 人审闭环 (ADR-0003 D7/D8) 后端全通, 只差最后一公里 UI:
maybe_propose_correction在真实 skill 跑时被调 (skill_channel.py:546,678), 追加correction_proposedevidenceGET /skills/{id}全详情含 evidence log (docstring: "the dock needs this to review a correction_proposed entry")POST /skills/{id}/dismiss-correction/POST /skills/{id}/rollback(回滚到 redistill 前)getSkill/dismissCorrection/rollbackSkill已在 endpoints.ts现状:
frontend/app/(app)/skills/只有扁平page.tsx(列表)。无 per-skill 详情路由, 无 dismiss/rollback 按钮。文档提的AgentDock.tsx前端根本不存在。只有 redistill (重跑) 可达。期望: 加 skill 详情页/抽屉
frontend/app/(app)/skills/[id], 接 getSkill + dismiss/rollback 按钮。零后端改动。证据:
backend/api/v1/skills.py(get_skill/dismiss_correction/rollback_skill handler + docstring);frontend/app/(app)/skills/page.tsx(目录唯一文件); grep getSkill/dismissCorrection/rollbackSkill/AgentDock → 0 命中 (AgentDock 全仓 0)。