Skip to content

Commit 30383fb

Browse files
committed
docs(design): the cross-repository ordering, walked once and closed
The design states that the ordering between repositories is hard. This records what walking it actually cost. The index package used only keys the current floor supports, so it did not have to wait for the engine to ship and could land independently. What it did have to wait for was not the merge but the artifact publish: xlings consumes the index as artifact:<sha>, so there is a workflow between "merged" and "resolvable". The example's dependency resolves only after that workflow is green on the merged commit. What remains genuinely blocked is the other direction: an index package that uses one of the new engine keys cannot land until the engine ships. This one was lucky in needing none of them.
1 parent 82b8d40 commit 30383fb

1 file changed

Lines changed: 19 additions & 4 deletions

File tree

.agents/docs/2026-09-05-accelerator-support-design.md

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1146,7 +1146,22 @@ xim 的 `hostlib.lua` 还记着这条规则的来历:**四处各自探测,三处
11461146
device link / RDC、含设备代码的静态库、Metal(本机无 macOS)、
11471147
xim 的 CUDA 工具链载荷。每一项在 §12 都有独立判据。
11481148

1149-
⚠️ **一处诚实的缺口**:`examples/09-cuda-kernel` 目前仍需
1150-
`LD_LIBRARY_PATH` 指向 sentinel 才能 `mcpp run`,因为它不能依赖尚未发布的
1151-
`compat.cuda-runtime`。这是跨仓库发布顺序(§8.2 的环)的直接体现,
1152-
索引 PR 合入并发布后即可去掉,示例的 README 已写明这一点。
1149+
### 14.6 §8.2 的环被实际走了一遍,并且闭合了
1150+
1151+
设计说跨仓库顺序是硬的,而这一轮把它走完了:
1152+
1153+
1. 引擎侧改动进 PR #559(未发布);
1154+
2. `compat.cuda-runtime` 只用现有键,因此**不必等引擎发布**,独立进 mcpp-index #346;
1155+
3. #346 合入后,**判据是 `Publish Index Artifact` 在合入的那个 commit 上绿**
1156+
—— 不是「PR 绿」,也不是「main 有这个文件」。实测该 workflow 在 `a6f625e3`
1157+
completed/success 之后,`mcpp index update` 才能解析到它;
1158+
4. 于是示例把 `LD_LIBRARY_PATH` 的绕法换成一条普通依赖,`mcpp run` 无环境变量直接输出
1159+
`12 24 36 48`
1160+
1161+
⭐ 第 3 步是 memory `index-stale-but-marker-fresh` 记的第五层:
1162+
**xlings 消费的是 `artifact:<sha>`**,所以「合入了」与「能用了」之间还隔着一个 workflow。
1163+
本轮没有踩到它,因为事先按那条记忆等了发布再验证。
1164+
1165+
⚠️ 仍未闭合的是另一件事:**引擎侧的新键要等 #559 发布之后,索引里的包才能使用**
1166+
`compat.cuda-runtime` 恰好一个新键都没用到,所以这一轮绕开了;
1167+
下一个用到 `accel` 字段的索引包不会这么幸运。

0 commit comments

Comments
 (0)