# T034 — Run usecase 與 API logic > Status: `done` > Milestone: `M3` > Est. change: `~180 lines` ## Goal 完成後,會員可透過真 usecase 分頁列出自己的 runs/results 並刪除終態 run。 ## Depends on - T033 ## Inputs - 讀取 / 依賴: - 檔案:`apps/backend/internal/module/scout/usecase/service.go`、`internal/logic/scout/*run*_logic.go` - 既有能力 / API:Run repository、UID middleware、response.Biz、converters - Spec 段落:§4 流程 D–F、§5.1 ## Outputs ### 程式變更(預期路徑) | 路徑 | 動作 | 說明 | |------|------|------| | `apps/backend/internal/module/scout/usecase/runs.go` | add | 實作 ListRuns、ListRunPosts、RemoveRun 與 page clamp。 | | `apps/backend/internal/logic/scout/list_scout_runs_logic.go` | edit | 以真 usecase 取代 T022 的 503。 | | `apps/backend/internal/logic/scout/list_scout_run_posts_logic.go` | edit | 回 run+list+pagination。 | | `apps/backend/internal/logic/scout/remove_scout_run_logic.go` | edit | 終態刪除,running 回 409。 | | `apps/backend/internal/logic/scout/run_logic_test.go` | add | 覆蓋 auth、owner、pagination 與 conflict。 | ### 行為變更 - 非 owner 資源對外視為 404;不得洩漏是否存在。 ### API / 契約(若有) - 成功 envelope 由既有 gateway 統一包裝,data 不包含 owner UID。 ## Out of scope - 不建立 run、不執行搜尋或 job。 ## Acceptance - [x] 新端點不再有成功空資料或暫時 503。 - [x] 指令: ```bash cd apps/backend && go test ./internal/module/scout/... ./internal/logic/scout/... -count=1 ``` 驗收結果:Run usecase 與三個 API logic 已接上 owner-scoped repository;列表、結果分頁、終態刪除及授權/跨 owner/衝突測試通過。 ## Notes 刪除 run 不刪 homework;單 post 刪除後更新 run counts。