本卡屬 FR-192(母卡 FR-192 母案(同清單上一張)),卡 A-4,批 4。只改 FE(compliance-manager-fe)。依賴:A-2。
主控台回饋頁的瀏覽對話框底部加「編輯」「刪除」(編輯開 A-2 同一個表單對話框帶入現值);附件清單裡存在主系統的檔標「存於主系統」且沒有預覽鈕;被主系統覆寫或回「過期」的那筆頂部一列提示;多一行「最後更新:誰在哪一邊改的」。
extend:Feedback.vue 瀏覽對話框底部加兩鈕(編輯開同一個表單對話框帶現值;刪除走既有 ConfirmDialog 形狀);附件列 where=cloud 顯示「存於主系統」標籤且無預覽;sync_error 為 stale 時頂部提示
repo:~/Projects/Billows/Audit-Manager/compliance-manager-fe
改既有:console/views/Feedback.vue
改既有:console/feedbackApi.js(PUT/DELETE/刪附件)
改既有:console/feedback.js
改既有:src/config/locales/i18n/zh-tw/agent-console-feedback.json、en/agent-console-feedback.json
Feedback.vue 瀏覽對話框底部改三鈕:左「刪除」(ConfirmDialog 確認後 DELETE)、右「關閉」「編輯」;編輯=開 A-2 的表單對話框帶入現值(existing 附件從 files 帶、remove_file_uids 收集後 PUT)。where=cloud 顯示 Tag「存於主系統」、無預覽鈕;where=agent 照舊。sync_error 為 stale 鍵 → hint-bar--warn「主系統已有較新版本,已以主系統為準」;被覆寫(本機有 overwritten_at,A-3 若有回)→ 同一列。多一行「最後更新:{時間} · {誰}(主系統/這台)」。feedbackApi.js 加 PUT/DELETE/刪附件;i18n 補鍵;npm run build:CONSOLE、lint;grep 兩條為 0。npm run build:CONSOLE 過;瀏覽對話框有「編輯」「刪除」,編輯帶入現值、儲存後清單那筆變「待回傳」;刪除確認後清單消失;存於主系統的附件標籤正確且無預覽鈕;stale 那筆頂部有提示;grep border-left console/ 為 0
~/Projects/Billows/Audit-Manager/compliance-manager-be/docs/features/FR-192-2611-agent-console-feedback/design.md §3 決策定案、§5 詳細設計(本卡那節)、§6 拆卡表本卡那列、§8 風險;討論稿 discussion.md §4 只在想知道「為什麼這樣裁」時看~/Projects/Billows/Audit-Manager/compliance-manager-be/docs/features/FR-192-2611-agent-console-feedback/prototype/index.html(純畫面,只取結構與資訊順序;文案依 i18n 重寫)guidant_agent/scan/app/local_runs.py(本機先存+同步欄位)、sync/app/outbox.py(待回傳佇列)、console/api/runs_routes.py(清單/404/resend)、files/app/blob_ops.py(附件存本機);主系統 api/source_scan/routes/agent_manual_scan_route.py(Agent 收單端點先例)、infra/upload_file/remote_agent_adapter.py(Agent 檔參照)、core/plugins/_agent_config_sections.py+_agent_config_notify.py(設定通道)、core/plugins/issue.py(jedi-issue 接線);jedi-issue app/feedback/service/feedback_service.py、api/routes/feedback_route.py、plugin/contract.py(SchemaExtensions);jedi-remote-agent app/service/local_run_service.py(ingest 形狀)、migrations/011-remote-agent-offline-operators.sql(RLS/GRANT 先例);FE src/views/feedback/system/SystemFeedbackForm.vue、console/views/Runs.vue、console/views/Logs.vue(Dialog)、src/views/source-scan/SourceFilePicker.vue(拖放)docs/system-design/system-integration/04-Agent到主系統API.md、05-主系統到Agent指令.md