fix(surface): remove shared CUDA literals from device selection - #139
Merged
Conversation
Helper row: row/ARCH-ONE-SURFACE-DEVICE-LEAKAGE-V2. FOLLOWING_AGENTS_PROTOCOL Assisted-by: Codex:gpt-5 [Codex]
Preserve ABI-v14 device values and public names while removing shared CUDA literals from device selection. Resolve the canonical name through the platform registry and propagate its DeviceType, with mutation-sensitive CPU gates. Helper row: row/ARCH-ONE-SURFACE-DEVICE-LEAKAGE-V2 (PR #139). FOLLOWING_AGENTS_PROTOCOL Assisted-by: Codex:gpt-5 [Codex]
Add a mutation-sensitive ARCH-ONE-SURFACE integration gate that preserves distinctive platform identity, enforces exact canonical names, and exercises the production queue selector. FOLLOWING_AGENTS_PROTOCOL Assisted-by: Codex:gpt-5 [Codex]
Make the PR #139 integration target non-vacuous by pinning its exact executable source and CTest registration in preflight and CI. Clarify that row/ARCH-ONE-SURFACE-DEVICE-LEAKAGE-V2 keeps internal kNamedPlatform distinct from the stable public/wire 2=cuda contract. FOLLOWING_AGENTS_PROTOCOL Assisted-by: Codex:gpt-5 [Codex]
Replace source-text matching with a CPU CMake File-API and CTest query for row/ARCH-ONE-SURFACE-DEVICE-LEAKAGE-V2. Require direct CI argv and ratchet the mutation suite against inert CMake, inert shell, and vacuous assertion survivors. FOLLOWING_AGENTS_PROTOCOL Assisted-by: Codex:gpt-5 [Codex]
Make row/ARCH-ONE-SURFACE-DEVICE-LEAKAGE-V2 prove the exact configured CTest executable, unconditional GitHub Actions ownership, and the preflight arrays actually consumed by their loops. Pin the mutation inventory externally and make assertion-helper deletion semantic. FOLLOWING_AGENTS_PROTOCOL Assisted-by: Codex:gpt-5 [Codex]
Make row/ARCH-ONE-SURFACE-DEVICE-LEAKAGE-V2 observe preflight execution, reject non-gating Actions and disabled CTest, support multi-config Release queries, and pin mutation-suite integrity from the production checker. FOLLOWING_AGENTS_PROTOCOL Assisted-by: Codex:gpt-5 [Codex]
Make row/ARCH-ONE-SURFACE-DEVICE-LEAKAGE-V2 distinguish the canonical path check from the wrapper-shape check with a byte-identical alternate-manifest mutation. FOLLOWING_AGENTS_PROTOCOL Assisted-by: Codex:gpt-5 [Codex]
ARCH-ONE-SURFACE requires M42's exact canonical-manifest path diagnostic to remain asserted, independently of its byte-identity precondition. Add M43 deletion/replacement mutations and refresh the production-owned manifest digest and evidence. FOLLOWING_AGENTS_PROTOCOL Assisted-by: Codex:gpt-5 [Codex]
localai-bot
marked this pull request as ready for review
August 8, 2026 04:55
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.
Scope
Repair the inherited PR #136 device-leakage regression through the platform/backend abstraction. ABI-v14 remains 0=auto, 1=cpu, 2=cuda; public names and loud absent-CUDA failure are unchanged. H3 source is untouched.
Architecture
Device::kNamedPlatform.DeviceName()remains the canonical public spelling (cuda).FindPlatformByNameresolves that name through the platform registry.DeviceType; it does not branch on CUDA.The resolver test supplies
kXPUand requireskXPUback, so a hidden hardcoded CUDA return is mutation-sensitive.RED / GREEN
b44ad337:kcuda=7, total DSR 39 vs baseline 32.kcuda=0) with baseline/allowlist unchanged.-Werror:test_platform: 11/11 cases, 85 assertions.test_loaded_engine_dense: 9/9 cases, 65 assertions.test_capi: 45/45 cases, 428 assertions.No CUDA runtime, model download, service change, benchmark, or release artifact. The existing CUDA-build A/B remains a named residual.
Exact review head:
2f045e1a1ae4d44449e4a0bf262be191cebf0fcf.FOLLOWING_AGENTS_PROTOCOL