# T312 — outcome-observe-job-72h > Status: `done` > Milestone: `M1` > Kind: `feat` > Est. change: `~180 lines` ## Goal 完成後系統應:Job/worker `outcome_observe` 在 72h 窗內更新訊號;能讀則寫 confirmed/possible;不能讀則跳過;窗結束 expired。 ## Depends on - T311 ## Inputs - Spec:`../spec.md` §3.1、§5.4、§5.5、OC-02~03、OC-08 - 既有 job runner/worker ## Outputs | 路徑 | 動作 | 說明 | |------|------|------| | `apps/backend/internal/**/job/**` 或 worker | edit | template outcome_observe | | `apps/backend/internal/**/outcome/**` | edit | ApplySignals / Expire | | 註記檔或 TESTING 附錄 | add | Threads scope 探測結果 | ### 行為變更 - 對話→confirmed(若可得);followers diff→possible - 全無訊號仍保留事件(觸達);不整域失敗 ## Out of scope - UTM(P2) - 手動成交 API(T313) ## Acceptance - [ ] Spec:OC-02、OC-03、OC-08(降級) - [ ] fake transport 可測「有訊號/無訊號」 - [ ] 指令: ```bash cd apps/backend && go test ./internal/... -run OC_0|Observe -count=1 ``` ## Notes 探測表寫進 notes;缺 scope 不阻塞手動路徑交付。