專案

一般

配置概況

動作

Feature #445

進行中
SC

ADR-017 閘一解除:延遲允餘填值 A=0.8、qa 錨點與生產常量脫鉤、tree 四則追記三輪複驗 verified

Feature #445: ADR-017 閘一解除:延遲允餘填值 A=0.8、qa 錨點與生產常量脫鉤、tree 四則追記三輪複驗 verified

是由 Sashiba Chou 於 約 2 個月 前加入.

狀態:
New
優先權:
Normal
被分派者:
-
開始日期:
2026-08-12
完成日期:
完成比例:

0%

預估工時:

概述

ADR-017 閘一解除:延遲允餘填值 A=0.8、qa 錨點與生產常量脫鉤、tree 四則追記三輪複驗 verified

背景

上一批(#444)完成 live smoke 實測但刻意未填值——當時公式本身正因 devil C1 修訂中,且 M-5 樣本量判定為退回。本批承接三件:

  1. 填值:依 ADR-017 第五則定案的 X-1 算式,把 TDX_REQUEST_LATENCY_ALLOWANCE_S 由誠實佔位 0.0 填為實測換算值,解除 (B) 的閘一。
  2. qa 錨點改寫:Q-a/Q-b/Q-c(第五則裁定)+ Q-d(第六則追加裁定 B),使錨點與生產常量的值脫鉤——否則填值會連帶炸出紅燈,而「順手修紅燈」正是把錨點改成符合新值而非鎖住行為的時刻。
  3. tree 節點複驗:第五~八則四則追記由主協調者代寫,需 architect 實讀複驗方可翻轉 verification_status。

變更內容

1. 填值:A = 0.8(src/travel_helper_core/config/planning_config.py)

X-1 機械代入(主協調者已從 raw_output/ 逐筆獨立複算,非採信轉述):

max(L_data) = 0.719s(round6 TRA 全網整日,M-1′ 帳本增量口徑)
max(L_token) = 0.109s(round5)
A_raw = 0.719 + 0.109/4 = 0.74625 → A = ceil(7.4625)/10 = 0.8

三輪全納未挑輪(RL-4);歷史集依 M-1′-2 排除為下界佐證。填值批自由度為零(RL-1)。

  • T-3 門檻比對:未觸發(0.8 < 1.3636)⇒ 直接落地、不呈業主。
  • X-7 覆蓋門檻:clamp 生效最小 D_transit = 12,與 A=0 時相同——sleep_term 在 D=11→12 之間自身即由 240 跳到 300(floor 量化跳躍),A 僅貢獻 1.6s。
    但門檻位置未變 ≠ 後果未變(ADR 明文要求不得被「門檻相同」掩蓋):A=0 是 min(300,300) 恰等於、削減為零;A=0.8 是 min(300,320.8) 真的削掉 20.8s;14 天雙運具被截斷 24.0s ≈ 1 個限速視窗(弱點 28)。
  • G-1~G-5 五項聲明由執行者完整給出,結論句:本批只解除閘一;(B) 對使用者仍不生效,此為預期狀態非缺陷。
  • M-1′ 的量化效果:若無第六則追加裁定 A(量測窗改繫帳本、涵蓋 UTF-8 解碼),A 會被算成 0.5——低估 0.3s,而低估方向恰是「(B) 看起來能生效」那一側(RL-1 所防)。該疑義由主協調者於 live smoke 回報後核出。

2. qa 錨點批:37 → 50 錨點,全套 1594 → 1607

  • Q-a 雙向參數化錨(取代 :930 的 == 0.0):允餘小於實際 per-request 成本 ⇒ 閘擋下且誠實 miss;不小於 ⇒ 等待成立且呼叫發起。與生產常量值完全脫鉤。
  • Q-b 閘二錨:對允餘值參數化,永不因填值而紅;誰翻守門預設誰紅。
  • Q-c:狀態聲明職責回文件層,第 O 節 docstring 改寫(原文 保留)。
  • Q-d 離散大增量錨:接縫實測顯示替身用線性固定增量、生產是離散大跳躍。未觀測到任何實作缺陷——未觀測 ≠ 有缺陷,不得寫成「修好了一個 bug」。
  • 首版有 11 條測試仍與生產常量耦合(TestLatencyAllowanceDefaultKeepsSleepOnlyFormula 8 條+test_trip_itinerary.py::test_formula_matches_adr017_wait_model_table 3 條),經主協調者退回後修正。與 :930 是同一個病(鎖當下常量值而非鎖行為),且出現在剛改對第 O 節之後。
  • qa 第二輪自行掃出第 13 個耦合(主協調者退回訊息亦未涵蓋):TestInvTw2SingleSourceOfTruth 以減法反推 clamp 值並宣稱逐位元相等,A=0.01 時反推得 60.10000000000002 vs 60.1 ⇒ 紅。原斷言的綠、以及主協調者單值 A=0.8 的驗證通過,都是數值湊巧而非不變式成立。

3. ADR-017 第八則 + architect 自承規格衝突

  • 第八則記載填值全鏈、四項上線前置條件狀態(第二項完成,第一/三/四項逐字不變)。
  • (7) architect 自行核出第六則 C1 裁定 (6)「S-9 觀測缺席為阻擋級」(未指明阻擋標的)與第七則三態「未觀測不阻擋填值」相衝突,而填值已在 S-9 從未被觀測下落地。裁定以三態為準、不回滾(方向保守),並明文「這是我的規格缺陷,不是執行者或主協調者的違規」。列弱點 27。
  • 裁定 (7c) 已執行:RESULTS.md §2.6 補記 S-9 未觀測,E = 0 明標為由執行路徑結構推導、非計數觀測;執行者並自行拆掉一條對自己有利的證據路徑(診斷包裝器未側錄 get_transit_segment(),故「日誌沒出現」不能當證據),誠實記載 stage_d.py:861 另兩個觸發條件未經檢視。

4. tree 四則追記:三輪複驗 verified

  • 第一輪不通過(5 必修+4 建議)。最重的兩條:第六則缺 M-1′/追加裁定 B 與弱點 23/24(射程最廣的機械判準);第八則漏「門檻位置未變 ≠ 後果未變」——正好掩蓋了 ADR 明文要求不得掩蓋之處。另 architect 拒絕接受主協調者替它加的免責理由(時序上不可能被遵守),理由:不在其裁定內、無法核驗、會使免責看起來比裁定本身更強。
  • 第二輪抓出主協調者回報與檔案不符:回報「五處必修全部落實」但必修 2 未落地。architect 只陳述可觀測落差、不推測成因。若當時採信回報,錯誤將帶 verified 標籤進版控。
  • 第三輪定點確認通過,並獨立複做負向檢查(舊措辭 0 次;殘留六字係引號內引述首版錯誤之更正說明)。
  • verified_by 完整記錄三輪含「抓出代寫者假完工回報」一事。

驗收標準

  • python -m pytest tests/ -q ⇒ 1607 passed(exit 0,主協調者獨立重跑)
  • 填值不改變任何測試結果:填值前以突變窗口實測 A=0.8 全套零紅、sha256 逐位元還原零殘留;填值後實際 1607 不變
  • A=0.8/T-3 未觸發/clamp 最小 D_transit=12,三者主協調者從 raw 獨立複算一致
  • tree 四則追記 verification_status: verified(architect 三輪實讀複驗,全程未改該檔任何欄位)
  • qa 簽核落 docs/specs/test-plan-...md,主協調者逐行比對 scratchpad 原文 153 行非空正文零遺漏
  • S1 警示逐行核為假陽性(否定敘述/前置條件完成標記/行尾 LF 使整檔誤判:檔內 總數 27 = hook 報數,git 實際新增 245 行僅 4 行含 且全為否定)
  • **未升任何 **,全部規格項維持 (接地上限條款)

本批揭露的三項方法缺陷(如實記錄,不得修飾)

  1. 單值驗證不足(主協調者):以單一 A=0.8 宣稱「填值後測試不變紅」,而第 13 個耦合只在帶小數尾數時現形。已立紀律:「改某常量後仍綠」須以跨量級參數掃描交付,不得以 grep 命中數或單值代替,掃描範圍是全套。
  2. 聚合檢查掩蓋單項失敗(主協調者):兩度回報「五處必修全部落實」而檔案未變——str.replace 目標字串誤植致靜默無作用+聚合 grep -c;第二次修正腳本因 cp950 崩在寫檔前。已改逐項 PASS/FAIL+負向檢查。
  3. 「未回報」被誤寫成「未執行」(主協調者):連續七次未收到 architect 複驗回報,歸因為「沒做」並寫進節點與訊息;改走 scratchpad 檔後,其報告標註「前次已列、仍未修」⇒ 它一直有做,是通道吞了回報。已明確更正並致歉。

未完成/待辦

  • 閘二仍關(transit_wait_presentation_capable=False,ARCH-5 前不可解)⇒ (B) 對使用者仍不生效
  • 上線前置條件第一(TW-6 呈現)、第三(TW-8 封頂)、第四(C1-b 二擇一,(a) 先修優於 (b) 問業主)逐字不變
  • S-6 結構性不可觀測、S-8/S-9 未觀測,(B) 上線前必補
  • test-plan 行尾仍為 LF(三度未改,診斷已記錄,不再要求)
  • 人類動作:L4 run_external_review.py;GCP Console 用量
  • 日後併批呈業主:R3-2 前提複核(與 T-2 同批)

沒有任何資料可供顯示

動作

匯出至 PDF Atom