Repository navigation
fix(537): reject unavailable NVML monitoring before dispatch (C0-05, 4A) - #622
Merged
Merged
Conversation
The 4A fix (fix/537-c0-05-4a, head 791d85d) changed resource_manager.py, dispatcher.py and run_8stream_perception.py, all decision_relevant, so the staleness checker failed closed. This is the republication, captured on the controlled host from a clean tree at 791d85d. The build used the independent build/runtime_identity directory in a dedicated worktree, ran --run-probe --require-complete under the gpu0 lease, and carried nothing over. The delta against the outgoing canonical (#621, implementation 583ede47c5287a65) is fully accounted for: * implementation 583ede47c5287a65 -> d04e0183a9cb36d1, 317 -> 317 files: ~ src/saccade/resource/resource_manager.py (named monitor error, sample validation), ~ src/saccade/perception/dispatcher.py (AsyncDispatcher preflight, monitor status, UNKNOWN level) and ~ scripts/ops/run_8stream_perception.py (report fields). Nothing added or removed. * decision_surface, environment, identity_semantics and runtime_inputs unchanged; each was recomputed and compared, not assumed. The identity probe re-ran on MOT17-09-SDP and returned the published behavior digest 2dabed0bc05e3bc7 unchanged. Probe equality is not equivalence and is not claimed as such; equivalence.state stays unproven. No native source changed; the attested build/libsaccade_scan_torchop.so was not touched (aa84cccd). The outgoing canonical is archived as runtime_identity.2026-10-23.583ede47c5287a65.json (append-only). `check_runtime_identity_staleness.py --mode attested` exits 0. Refs #537 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…#621 main Codex r1 (READY-WITH-CHANGES, 1 MINOR) found that §20 still presented the 2026-10-20 capture (8b89ca8f -> e75f0067) as this tree's coordinate. That capture predates #621 and was never published. Record the fresh capture on the rebased implementation (583ede47 -> d04e0183) and state which evidence ran on the old base and which was re-run on main 50aad5b. Refs #537 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner
Author
獨立審查(Codex,§0A 高風險)
r2 自行執行 |
…dentity docs(runtime): republish the runtime coordinate for #537 C0-05 (4A)
raylei50653
marked this pull request as ready for review
October 23, 2026 09:01
Owner
Author
§0A merge self-check(head
|
This was referenced Oct 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
#537 C0-05(D-537-4A):NVML 不可用時明確拒絕,不再發佈 FRESH NORMAL
方案紀錄:owner 在 2026-10-20 的工作 session 核准 4A(
failure_degradation_537.md§4 D-537-4A、§19)。範圍只到 C0-05;合併依 #550 §0A 常設授權處理(高風險路徑:decision_relevant檔案)。被否決的替代方案 4B(監控失敗時繼續 tracking、回報 unknown)未批准,紀錄在 §19.2。修改
ResourceManager:import 與建構都不擋;NVML init、probe 失敗或 sample 無效時,get_stats()拋ResourceMonitorUnavailable,保留原始 cause,不再回四個 0。init 失敗不會自動重試;要恢復就換一個新的 manager。AsyncDispatcher:start()在建立 writer/worker 前先做一次測量 preflight;這次 preflight 不推進 hysteresis。resource_monitor_status/resource_monitor_error;還沒有有效決策時,current_level顯示"UNKNOWN"。run_8stream_perception.py的 report 顯示 monitor status/error。architecture_degradation.md§7。基線與 rebase
原本在
main@d6724f11實作(6cb6d121、c405c99c)。現在 cherry-pick 到main@50aad5bd(#621 D2-GPU-1 之後):_WorkbenchWorker,4A 只改AsyncDispatcher,原始碼自動合併,沒有衝突。驗證(本機,host + GPU)
pre_push(在c1ae1fc8上,它和最終 tree 只差一段文件):6006 passed、0 failed。gpu標記的 R-1 native smoke 與 D2-GPU-1 GPU 契約:15 passed(resctl gpu0)。d6724f11上跑的,新基線沒有重跑(§20 已註明)。獨立審查
791d85d8:READY-WITH-CHANGES,1 MINOR(§20 座標段落過時)→ 已由3d3df6f2修正。1dc31c63:READY-TO-MERGE,沒有 findings。Runtime identity
三個
decision_relevant檔案改了,這個 PR 單獨看會讓 staleness fail-closed。座標由 stacked PR(base 是本分支)提供,合併進本分支後一起原子落地,不會出現 identity 落後的中間態。不在範圍
不宣稱 online-service 或 WorkbenchPool 已取得線上資格,也不部署。C0-09、C0-01/02、C0-10、O0、health CLI、#538 其餘項目都依 §19.3 分工。沒有在真實 VRAM 壓力下做故障注入。
本機原始輸出(repo 外):
~/.local/state/saccade/evidence/537-c0-05-4a/runtime_identity_20261023T164120/,10-20 的 mutation/控制輸出在 worktree 的 gitignoredresults/537_c0_05_4a/。Refs #537
🤖 Generated with Claude Code