專案

一般

配置概況

動作

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 測試綠)

是由 Sashiba Chou19 天 前加入.

狀態:
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.md D-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 獨立通道(與 C2 pending_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/ -q362 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 殘留邊界若未來通道數擴增需重審

沒有任何資料可供顯示

動作

匯出至 PDF Atom