動作
Feature #368
進行中
SC
ARCH-1 Stage B D-1(b) 落地批:超距 anchor A2 分散納入 C2 輪流分配+S-1b/§4.5-b 收口+devil E1/E2 裁定(362 測試綠)
Feature #368:
ARCH-1 Stage B D-1(b) 落地批:超距 anchor A2 分散納入 C2 輪流分配+S-1b/§4.5-b 收口+devil E1/E2 裁定(362 測試綠)
狀態:
New
優先權:
Normal
被分派者:
-
開始日期:
2026-07-13
完成日期:
完成比例:
0%
預估工時:
概述
ARCH-1 Stage B D-1(b) 落地批:超距 anchor A2 分散納入 C2 輪流分配¶
背景¶
- 業主於 2026-07-13 透過遠端 AskUserQuestion 就決策包
docs/owner-tracking/2026-07-13_owner-decision-package-anchor-overreach-fairness.mdD-1 拍板:選 (b) 硬塞+分散(超距必去景點維持強制就近歸屬,多個超距 anchor 對同一重複造訪城市時分散到不同造訪日,即 S-1 子問題 (b) 選項 A2)。 - 觸發源:devil-advocate 2026-07-13 D4 挑戰——超距 anchor 強制歸屬 fallback 未套用 C2 輪流分配,多 anchor 並列同一重複座標城市時全數塌陷至 index 較小的造訪日,Band 0 保護節點的公平性反劣於一般節點。
- 業主附註:對決策包內部代號(D-1/ARCH-2/D3/D6)表示不理解,本批僅執行 D-1(b) 對應動作;日後決策包措辭優先用白話。
變更內容¶
1. 治理層(業主決策落檔+規格收口)¶
- 決策包 D-1 業主回覆欄回填(選 (b),含業主附註)
-
data-model.md§4.5-b:超距語義定案升 (掛[evidence: docs/owner-tracking/...]錨點)+「本批實作契約」四點();§4.5-a S-1a(Day 維度承載)維持 延後,「明示排除」抽象層方向依業主否決關閉 -
tree/delayed/s-1-owner-anchor-day-dimension.md子問題 (b) 收口 A2(節點整體維持 Delayed,因 (a) 未決);00-index.md補 D section 漏列的 S-1 條目+修訂歷史行;PM 核對抓到決策包「下一步」表誤寫「§4.5-a/§4.5-b 均收口 」,已修正範圍為僅 §4.5-b
2. 工程層(stage_b.py A2 分散)¶
-
_assign_destination回傳簽名擴為 5-tuple,新增anchor_forced_tie_group:超距 anchor 的最近目標屬重複座標群組時回傳群組全員,延後交呼叫端分散 -
run_stage_b新增pending_anchor_ties獨立通道(與 C2pending_duplicate_ties同構但不混用):依 node_id 字典序 round-robin 分配至群組成員;AnchorForcedAssignment.distance_km對實際歸屬者重新計算;分散節點共用pending_forced走既有 T1 單一記錄源紀律
3. 品質層(qa 兩輪+devil 挑戰+修復)¶
- qa 首輪:7 條新測試(斷言錨點 (d)(e)、單一 anchor、wrap-around、非群組直接歸屬、T1 交互、distance_km 重算),352→359 綠
- devil 挑戰報告
docs/research/devil-advocate/2026-07-13_anchor-dispersal-challenge.md(E1~E6,無致命項): - E1(成立,顯著):「單一 anchor 恆落最小 index=無回歸」聲稱僅在座標位元相同子集成立,微差時為刻意 deterministic 行為變更 → 修復=§4.5-b/stage_b.py/測試 docstring 措辭精確化+顯式微差測試
- E2(成立,顯著非致命):C2/A2 跨通道各自 round-robin 無協調,殘留上限=通道數(2)的弱化版碰撞 → 修復=§4.5-b「已知設計邊界」文件化+architect 裁定不收斂(含被否決替代方案「跨通道共用計數器」)+現狀固定測試
- E3~E6 不成立(E6 順手補多群組 determinism 測試)
- qa 複核:359→362 綠,0 斷言值修改、0 刪除,純新增+純文件精確化
- architect 收口追記於
architecture.md(devil E1/E2 裁定追記;無新 ADR、無新 constraint、成熟度不變,ARCH-1 整體維持 )
驗收標準¶
-
python -m pytest tests/ -q→ 362 passed,exit code 0(主協調者親跑覆核,非僅 agent 聲稱) - 多個超距 anchor 對同一重複座標群組 → 依 node_id 字典序分散至不同造訪 Destination,非全塞最小 index(A1-B0-A-08)
- 分散結果 deterministic,不受輸入序影響,含多群組情境(A1-B0-A-09/A1-B0-B-16)
-
AnchorForcedAssignment逐節點產出、destination_index為分散後實際歸屬者、distance_km重算(A1-B0-B-13) - T1 單一記錄源紀律不因分散破壞,各 anchor 依實際歸屬 dest 的 owned_days 獨立判定(A1-B0-A-10)
- 既有 352 測試零回歸(斷言值全數未動)
- 全程零研究結論升 (唯一 為業主拍板行,掛 owner-tracking 錨點,S1 hook 靜默通過)
關聯¶
- 業主決策包:
docs/owner-tracking/2026-07-13_owner-decision-package-anchor-overreach-fairness.md(D-1 → (b)) - devil 報告:
docs/research/devil-advocate/2026-07-13_anchor-dispersal-challenge.md - 前置批:Feature #366(serializer/D5/D9 批,devil D4 於該批打包業主詢問)
- 遺留:S-1a(Day 維度承載)維持延後;devil D3/D6 記錄不阻擋;E2 殘留邊界若未來通道數擴增需重審
沒有任何資料可供顯示
動作