diff --git a/docs/superpowers/plans/2026-06-11-trust-workbench-session-plan.md b/docs/superpowers/plans/2026-06-11-trust-workbench-session-plan.md new file mode 100644 index 0000000..40ed43d --- /dev/null +++ b/docs/superpowers/plans/2026-06-11-trust-workbench-session-plan.md @@ -0,0 +1,208 @@ +# Trust Workbench Session Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use subagent-driven-development (recommended) or executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Turn the existing Trust Center into a guided review workbench without adding a new top-level module or changing the semantics of existing review actions. + +**Architecture:** Keep the current `/api/trust/*` endpoints and enrich their existing payloads with deterministic derived fields. Split the Vue Trust Center into small subcomponents for session planning, progress, signals, risk explanation, and decision coaching. + +**Tech Stack:** Python/FastAPI/SQLite backend helpers, Vue 3 ` diff --git a/frontend/src/components/TrustDiagnosticsPanel.vue b/frontend/src/components/TrustDiagnosticsPanel.vue index daad284..a7a53d1 100644 --- a/frontend/src/components/TrustDiagnosticsPanel.vue +++ b/frontend/src/components/TrustDiagnosticsPanel.vue @@ -9,6 +9,7 @@

{{ diagnosticsSummary }}

+

{{ diagnosticsGuidance }}

@@ -64,4 +65,13 @@ const diagnosticsSummary = computed(() => { } return '当前没有诊断警告,信任边界状态稳定。' }) + +const diagnosticsGuidance = computed(() => { + const diagnostics = props.diagnostics + if (!diagnostics) return '刷新工作台后会重新计算队列、open loop 和历史记录。' + if (diagnostics.critical_count) return '先回到上方高风险会话,把 critical 项处理掉。' + if (diagnostics.ai_inferred_unreviewed) return '这些 AI 推断不是错误,但需要用户确认后才适合长期复用。' + if (diagnostics.open_loop_total) return '如果没有急迫审查项,可以继续清理下方 open loop。' + return '当前更适合继续收集材料或从 Recall 里验证旧判断。' +}) diff --git a/frontend/src/components/TrustOpenLoopPanel.vue b/frontend/src/components/TrustOpenLoopPanel.vue index 315fd06..de6e7cf 100644 --- a/frontend/src/components/TrustOpenLoopPanel.vue +++ b/frontend/src/components/TrustOpenLoopPanel.vue @@ -15,6 +15,8 @@ dismissed {{ payload.summary.by_state.dismissed || 0 }}
+

{{ priorityNote }}

+
@@ -53,6 +55,14 @@ const emit = defineEmits<{ const notes = reactive>({}) const visibleLoops = computed(() => props.payload.items.slice(0, 4)) const overflowCount = computed(() => Math.max(props.payload.items.length - visibleLoops.value.length, 0)) +const priorityNote = computed(() => { + const nextCount = props.payload.summary.by_state.next || 0 + const activeCount = props.payload.summary.by_state.active || 0 + if (nextCount) return `${nextCount} 个问题已经标成 next,适合进入下一轮行动。` + if (activeCount) return `${activeCount} 个问题仍然 active,先判断它们是否还值得继续。` + if (props.payload.summary.total) return '剩余问题大多已经处理,可以展开确认是否需要恢复。' + return '当前没有悬而未决的问题。' +}) function setState(loopId: string, state: TrustOpenLoopState) { emit('updateLoop', loopId, { diff --git a/frontend/src/components/TrustReviewDetail.vue b/frontend/src/components/TrustReviewDetail.vue index 96c8d83..5a3c16f 100644 --- a/frontend/src/components/TrustReviewDetail.vue +++ b/frontend/src/components/TrustReviewDetail.vue @@ -22,6 +22,10 @@
+ + + +
证据路径 @@ -65,24 +69,22 @@
-
- 单项动作 -