動作
Feature #443
進行中
SC
ADR-017 實作批全鏈落地:transit 等待分帳機制+qa 37 錨點簽核 1594 綠+L0-b 基準「×4.4」前提更正(第四則)+R3-3 首次呈題 R4-1 知情確認收口
Feature #443:
ADR-017 實作批全鏈落地:transit 等待分帳機制+qa 37 錨點簽核 1594 綠+L0-b 基準「×4.4」前提更正(第四則)+R3-3 首次呈題 R4-1 知情確認收口
狀態:
New
優先權:
Normal
被分派者:
-
開始日期:
2026-08-11
完成日期:
完成比例:
0%
預估工時:
概述
ADR-017 實作批全鏈落地+L0-b 基準前提更正+R3-3 首次呈題收口¶
背景¶
上一批(#442)完成 ADR-016 實作與 dwell 研究線收口後,本批承接兩條主線:
- ADR-017 實作批(任務 #5):業主 D-3 拍板 (B)「首次規劃就抓齊班次」的機制落地——工作預算與 transit 時間分兩本帳,含 devil B1/B2 修訂與 round3 R3-4 授權的 300s 硬上限。
- R3-3 條款首次必然觸發呈題:SOFT_CAP=132 落地後須先取得 L0-b 新基準實測(禁沿用 5.03s 舊基準),再向業主呈題。
變更內容¶
1. 施工前確認(system-architect,ADR-017 第三則修訂+TW-10+SC-6d)¶
- 主協調者核出三處規格疑慮全數成立:
TripItineraryResult欄名真空(定案transit_wait_budget_s/consumed_transit_time_s)、consumed <= estimated不變式在 B2 語義下不成立(廢止改 INV-TW-1~4,INV-TW-4 為負向鎖:consumed 超過 budget 是合法狀態)、wait_budget_s下傳簽章未寫死(新增 SC-6d:兩方法各加 keyword-only 參數,None=無帳可睡、0.0=恆不睡刻意不同)。 - 連帶核出 devil B2 裁定內部兩處自相矛盾:socket timeout 只繫 transit 帳會自我否定(短行程一次請求都發不出/睡滿額度後拒發該請求)→ 改繫「工作帳剩餘+等待帳剩餘」之和;「0.0=零行為變更」不成立 →
TDX_REQUEST_LATENCY_ALLOWANCE_S=0.0之下 (B) 實質不生效,live smoke 由校準問題升級為功能前提。 - 記帳(全部 wall-clock)/補償(僅主動等待)/跨日延長(完整帳本 clamp 於
wait_budget_s)三分工寫死。
2. 實作批(data-integration-engineer,七項全落碼)¶
- adapter:
consumed_transit_time_s()單一累計器(三計時點:限速睡眠/429 退避/每次上游請求往返含 OIDC token);acquire()改讀等待帳、簽章移除工作 deadline;429 共帳;socket timeout 新繫結公式。 - orchestration:
wait_budget_s於build_trip_with_itinerary()階段 1 之後算一次(D_transit與schedule_single_day()同呼叫形式防漂移),下傳鏈每日同值不重算;effective deadline clamp 用該次規劃額度非全域 300;TripItineraryResult/RescheduleResult各加兩 transient 欄位。 - 常量:
TRANSIT_WAIT_HARD_CAP_S=300.0(業主 R3-4 拍板)/TDX_REQUEST_LATENCY_ALLOWANCE_S=0.0誠實佔位。 - N4 可執行守門:
transit_wait_presentation_capable=False預設強制額度歸零(TW-6 呈現層存在前 (B) 不可能靜默生效)。 - 零碎交辦:planning_config「含抵達/離開日」限定句補齊(三度掉落的措辭)。
3. qa 錨點批(qa-engineer,簽核=通過有條件)¶
- 新增
tests/test_adr017_wait_budget_anchors.py(37 測試);ADR 10 項斷言面+INV-TW-1~4+介面錨點表全數有機械斷言。 - 強負向紅綠驗證:五次缺陷注入(clamp 回全域/先睡滿再回報/守門下傳 None/移除補償/跨日不讀累計)全部正確變紅,三窗口 sha256 逐位元核對零殘留。
- 抓出一條恆真測試(工程批分帳不變式被
timeout_s夾住兩側)→ architect 裁處改寫介面錨點表觀測面並補恆真陷阱負向說明;「(B) 雙重不生效」補進 ADR 已知弱點 15(兩道閘解除前提不同、須各自獨立滿足)。 - 簽核落
docs/specs/test-plan-ADR-017-transit-wait-budget.md(含六項射程限制:live 未驗/(B) 未生效/延遲允餘未校準/300s 適切性未驗/端到端接縫未驗/接地上限全 )。
4. L0-b 新基準實測+第四則修訂(基準前提更正)¶
- live 實測(
experiments/l0b-baseline-post-adr016/,單次、$0.42、C-5/C-7 雙查零洩漏):FT-1 同構 4 天場景 wall-clock 5.032s → 4.265s(下降)、Place Details 30 → 21。 - ADR-017 第四則裁定:「×4.4/必然顯著上升」不成立——呼叫量上界=
min(SOFT_CAP, Σ n_total) <= min(132, 10×N),N≤13 天 SOFT_CAP 結構上不可能成為約束(依自家原始碼純算術,非依實測;4.265s 單次觀測不得驅動任何規格升級)。正確措辭=與天數相依;14 天滿載 L0-b 推導增量約 +8s。 - 順帶核出 enrich 單批呼叫不受 L0-b deadline 節流 →
ARCH-2-followup-enrich-batch-budget-gate(P2 條件觸發);另列ARCH-4-followup-legacy-dmain-transit-budget(P2,弱點 14)。
5. R3-3 首次呈題(R4-1 業主拍板收口)¶
- 依第四則呈題形狀裁定:白話知情確認(短行程實測更快/長行程約 +8s 推導值/已核准上限不變),不以「4.4 倍」開場、不造假二選一、不另立 live 批(R3-1 不涵蓋工程試跑費用)。
- 業主 R4-1 拍板「知道了,照常繼續」——知情確認非新授權;R3-3 條款效力延續(未來變化仍逐次問);live 實測批不立(日後要立須另呈含費用授權)。
- 落
docs/owner-tracking/2026-08-11_owner-decision-package-round4-poi-query-time-update.md+tree 節點ow-18-poi-query-time-informed-ack(ow-17 slug 已被佔用,落檔前核對編號避免重複)。
6. 治理連動¶
- tree/adr-017 節點追記第三/四則+實作批(architect 兩輪複驗:3 必修+4 建議落檔後逐項實讀確認方翻 verified,frontmatter 整段重寫不沿用前輪複驗文字)。
- ADR-015 回填:open-questions 四處 (含 architect 自首第四則回填清單首版漏列的
total-wait-owner-reconfirm條目);ADR-017 第四則回填清單補列。 - 00-index NEW section append;雙寫疑慮查證=五檔變動全數可歸屬、無第二寫者(modified-on-disk 為 resume 後 stale read)。
驗收標準¶
- 全套測試綠:1594 passed, exit 0(批前 1522;工程批 +35、qa 錨點批 +37)——qa 簽核附機械證據,主協調者兩度獨立重跑覆核一致
- 紅綠驗證:五次注入全部變紅、三窗口 sha256 零殘留(突變窗口宣告完整)
-
零回歸:
wait_budget_s未注入(None)時行為與批前逐位元相同(錨點 10 釘住) - architect 施工前確認三疑慮全數裁定落規格;qa 三項待裁處全數處置
- 業主 R4-1 拍板落 owner-tracking+tree 節點(architect verified 鏈完整)
- 全部規格項維持 (接地上限條款);未升任何
誠實界線(不隨綠燈消滅)¶
-
機制已落碼 ≠ (B) 首次抓齊已生效:
TDX_REQUEST_LATENCY_ALLOWANCE_S=0.0佔位+呈現守門兩道閘,解除前提各自獨立(live smoke 冷路徑實測+TW-6 呈現層存在),填值時只開一道閘會靜默不生效。 - 「長行程約 +8s」為推導值非實測;TW-8 封頂逐字有效(不得宣稱大眾運輸功能對使用者可用)。
- 300s 適切性未實測(併 Q10-followup-j)。
參考¶
- ADR:
docs/decisions/ADR-017-transit-first-pass-completeness-wait-budget.md(2026-08-11 第三則+第四則修訂) - 簽核:
docs/specs/test-plan-ADR-017-transit-wait-budget.md - 實測:
experiments/l0b-baseline-post-adr016/RESULTS.md - 業主決策:
docs/owner-tracking/2026-08-11_owner-decision-package-round4-poi-query-time-update.md(R4-1)
沒有任何資料可供顯示
動作