From 98b62a3ea562f66c50d1886db568aabc7b29b5d2 Mon Sep 17 00:00:00 2001 From: sunrisepeak Date: Mon, 24 Aug 2026 22:43:31 +0800 Subject: [PATCH] docs: the gate on the layer declaration is the index, not this package's floor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 推迟 `provides = ["mcpp:compiler-runtime=…"]` 的注释把判据写成了 「本包的 floor 移到 2026.8.24.2」。判据不是这个 —— 读这份文件的人 手上有什么,由**索引服务哪个版本**决定,和本包声明的 floor 无关。 2026-08-24 实测,依赖各声明一个键,构建工具取索引 `latest` 指向的版本: requires = ["mcpp:compiler=llvm"] 2026.8.24.1 exit 0,静默忽略 provides = ["mcpp:compiler-runtime=…"] 2026.8.24.1 exit 2,整份拒绝 ⭐ 于是两个键的答案是分开的:`requires` 今天就能发,层声明不能。 而 24.2 引入的那份宽容对现实中的任何用户都还不存在 —— **24.2 从未进索引**, 索引的 latest 停在 24.1。「新版本支持了」和「用户拿得到」是两件事。 开门条件改写为:索引的 `latest` 到达 2026.8.24.2 或以上。 --- mcpp.toml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/mcpp.toml b/mcpp.toml index be45f1ae..51417bdb 100644 --- a/mcpp.toml +++ b/mcpp.toml @@ -38,8 +38,19 @@ provides = ["hosted-standard-library", "mcpp:c++-abi=libc++"] # # ⚠️ That refusal is itself fixed in 2026.8.24.2 — an unknown layer name in a # DEPENDENCY's manifest is now ignored with a warning rather than refused — but -# the fix cannot apply retroactively to tools already released. The declaration -# is therefore added once this package's floor moves to 2026.8.24.2. +# the fix cannot apply retroactively to tools already released. +# +# ⚠️ AND THE CRITERION IS NOT THIS PACKAGE'S FLOOR. It is what the index serves, +# because that is what a reader of this file actually has. Measured 2026-08-24 +# against the two keys, with a dependency declaring each and a build tool taken +# from the version the index named `latest`: +# +# requires = ["mcpp:compiler=llvm"] 2026.8.24.1 exit 0, ignored +# provides = ["mcpp:compiler-runtime=…"] 2026.8.24.1 exit 2, refused +# +# So `requires` is safe to publish today and the layer declaration is not. The +# gate on adding it is that the index's `latest` be at 2026.8.24.2 or above — +# not that a newer mcpp exists, and not that this package's floor was raised. # What this package needs of the layer it does not supply. #