Skip to content

Commit b23cc82

Browse files
committed
plan: the two measurements do not overlap in TARGETS either, and that was unwritten
The division of labour said one measures the C surface and the other measures integration. It did not say they ask about different targets: 30-member measurement x86_64-linux-gnu, x86_64-windows-gnu --- no macOS lsp-mcpp-private three targets, including aarch64-macos Measured this round: `archive` is `runs (posix)` on both columns of the 30-member measurement, and the same libarchive fails to link on `lsp-mcpp-private`'s macOS with `memset_pattern16`. Both readings are true. That symbol is an Apple libc function clang emits only for Apple targets; on linux and windows-gnu it cannot appear. So nothing in this ecosystem sweeps macOS at 30-member scale, and E1's criterion --- 10 failures to 5, none newly failing --- holds ON THOSE TWO COLUMNS. A defect of this class is invisible in that number by construction. Adding the column needs a decision first: a Linux host can cross-build aarch64-macos but cannot run it, so that column tops out at `builds`, which RANK places below `runs`. A column that can only reach `builds` makes the regression check permanently looser there than on the other two.
1 parent b0c33f9 commit b23cc82

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

.agents/docs/2026-09-21-openkal-ecosystem-completion-and-acceptance.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -692,6 +692,31 @@ PATH_LIST_SEPARATOR / VSCODE_TARGET / CASE_INSENSITIVE_PATHS
692692

693693
**两者都绿才叫生态闭环。** 任一单独绿都不足以下结论。
694694

695+
### 4.4 两者的**目标集合**也不重叠,而这一条本文原先没写(2026-09-21 补)
696+
697+
分工写成了「30 成员测 C 表面、lsp 测整合」,**没有写它们问的目标不同**
698+
699+
| | 目标 |
700+
|---|---|
701+
| 30 成员测量(`pins.toml`| `x86_64-linux-gnu``x86_64-windows-gnu` —— **没有 macOS** |
702+
| `lsp-mcpp-private` | 三个目标,**`aarch64-macos`** |
703+
704+
**后果是这一轮实测到的**`archive` 在 30 成员测量里两列都是 `runs (posix)`,而同一个 libarchive
705+
`lsp-mcpp-private` 的 macOS 上链接失败于 `memset_pattern16`。两个读数都是真的——
706+
`memset_pattern16` 是 Apple 的 libc 函数,clang 只在 Apple 目标上生成它,linux 与
707+
windows-gnu 上**按构造不会出现**
708+
709+
**所以「openkal 生态里按 30 个成员规模扫 macOS 的东西,不存在」。** macOS 只被
710+
`lsp-mcpp-private` 一个程序、以及各实现包自己的 CI 覆盖。
711+
712+
**这也限定了 E1 判据的适用范围**:「总失败 10→5、新增为零」是**在那两列上**成立的;
713+
macOS 那一列从来没进过这个统计,所以这一类缺陷在那个数字里按构造不可见。
714+
715+
**要补这一列,先有一个决定要拍:** Linux 宿主能为 `aarch64-macos` **交叉构建****跑不了**
716+
所以那一列最多到 `builds`,不是 `runs`。而 `RANK``builds` 低于 `runs`——
717+
**一个只能到 `builds` 的目标列,会让「有没有退步」这个判据在那一列上永远比另外两列松。**
718+
是接受这个不对称、还是给那一列配 runner,是拍板项,不是实现项。
719+
695720
---
696721

697722
## 5. 执行顺序

0 commit comments

Comments
 (0)