Skip to content

Commit 05a8fda

Browse files
committed
chore: bind recovery to the isolated OS 0.3 platform group
1 parent 268f6f2 commit 05a8fda

8 files changed

Lines changed: 25 additions & 11 deletions

File tree

‎.agents/docs/2026-11-06-compiler-attempt-recovery.md‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,9 +206,13 @@ No runtime generation becomes a dependency version or build-cache identity.
206206
| C library | 0.28.0 | [musl 86](https://github.com/mcpplibs/openkal-musl/pull/86) |
207207
| C++ runtime | 0.19.0 | [Runtime 66](https://github.com/mcpplibs/openkal-llvm-runtime/pull/66) |
208208
| Platform | 0.24.0 | Publication follows its public lower dependencies |
209-
| OS composition | 0.2.10 | [OS 17](https://github.com/mcpplibs/os/pull/17) |
209+
| OS composition | 0.3.0 | [OS 17](https://github.com/mcpplibs/os/pull/17) |
210210
| Core | 2026.11.5.2 | [mcpp 889](https://github.com/mcpp-community/mcpp/pull/889) |
211211

212+
OS advances to 0.3.0 so an existing 0.2 constraint cannot silently absorb a
213+
different OpenKal minor group. The core updates all four OS requirements
214+
together. Platform 0.24 is the corresponding explicit image/hosted boundary.
215+
212216
Emscripten receives dependency metadata alignment; it does not acquire process
213217
support. The image runner retains its existing generated binding mechanism,
214218
format, prefetch and cache policies. Its generated table retains all 153 prior

‎docs/24-openkal-cross.md‎

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ practice.
111111

112112
```toml
113113
[target.'cfg(any(linux, macos, windows))']
114-
platform = "openkal-platform@0.23.6"
114+
platform = "openkal-platform@0.24.0"
115115
```
116116

117117
One table (2026.10.27.1+). It selects the openkal platform for the host triples,
@@ -411,7 +411,13 @@ Nothing else is declared (2026.10.27.1+): the target table selects
411411
`openkal-platform` for both rows, and the platform states the toolchain, the
412412
layers, the tools, the conventions below and the runner ([35](35-platforms.md)).
413413

414-
In mcpp 2026.11.5.1, both built-in openkal targets select platform 0.23.6 by default. An explicit `platform` configuration overrides that selection. This platform preserves the emulated TLS convention through the final ThinLTO link.
414+
Both built-in openkal targets select platform 0.24.0 by default (2026.11.5.2+).
415+
An explicit `platform` configuration overrides that selection. This platform
416+
preserves the emulated TLS convention through the final ThinLTO link.
417+
418+
OS 0.3 uses the OpenKal 0.24 dependency group. A project retaining OS 0.2
419+
selects a platform from the matching 0.23 group explicitly; incompatible
420+
OpenKal minor requirements are rejected during dependency resolution.
415421

416422
| | the platform's statement | the reason |
417423
|---|---|---|

‎docs/zh/24-openkal-cross.md‎

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ SDK,或者区分 `linux`/`windows`/`macos`。那些是 C 环境层或平台层
9393

9494
```toml
9595
[target.'cfg(any(linux, macos, windows))']
96-
platform = "openkal-platform@0.23.6"
96+
platform = "openkal-platform@0.24.0"
9797
```
9898

9999
一张表(2026.10.27.1+)。它为宿主三元组选择 openkal 平台,平台的宿主部分命名编译器与目标侧三个层的包;
@@ -361,7 +361,11 @@ mcpp run --target x86_64-openkal # okrun bin/app.oke
361361
无需其他声明(2026.10.27.1+):目标表为两行选择 `openkal-platform`,由平台陈述工具链、各层、工具、下表的约定
362362
与 runner([35](35-platforms.md))。
363363

364-
mcpp 2026.11.5.1 的两个内置 openkal 目标默认选择平台 0.23.6。显式 `platform` 配置可覆盖默认选择;该平台的最终 ThinLTO 链接保持 emulated TLS 约定。
364+
两个内置 openkal 目标默认选择平台 0.24.0(2026.11.5.2+)。显式 `platform` 配置可覆盖默认选择;
365+
该平台的最终 ThinLTO 链接保持 emulated TLS 约定。
366+
367+
OS 0.3 使用 OpenKal 0.24 依赖组。保留 OS 0.2 的工程显式选择匹配的 0.23 平台组;
368+
不兼容的 OpenKal 次版本要求在依赖解析阶段被拒绝。
365369

366370
| | 平台的陈述 | 原因 |
367371
|---|---|---|

‎mcpp.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ mcpplibs.cmdline = "0.0.1"
9191
# The operating system is mcpplibs.os's (design 2026-10-26 §25): mcpp keeps no
9292
# layer of its own.
9393
[dependencies.mcpplibs]
94-
os = "0.2.3"
94+
os = "0.3.0"
9595

9696
# The codecs of a package's container (SPEC-014 §5): gzip and raw DEFLATE,
9797
# zstd, xz. The reference libraries, so an archive is written the same way on

‎modules/invocation/mcpp.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@ description = "The environment of one invocation of mcpp: statements over the st
1313
license = "Apache-2.0"
1414

1515
[dependencies.mcpplibs]
16-
os = "0.2.3"
16+
os = "0.3.0"

‎modules/manifest/mcpp.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ versioning = { path = "../versioning" }
2828
# state its contract in isolation; the root `tests/unit/` states the facts two
2929
# layers must agree on.
3030
[dependencies.mcpplibs]
31-
os = "0.2.3"
31+
os = "0.3.0"
3232

3333
[dev-dependencies.compat]
3434
gtest = "1.15.2"

‎modules/toolchain-model/mcpp.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ versioning = { path = "../versioning" }
2727
# state its contract in isolation; the root `tests/unit/` states the facts two
2828
# layers must agree on.
2929
[dependencies.mcpplibs]
30-
os = "0.2.3"
30+
os = "0.3.0"
3131

3232
[dev-dependencies.compat]
3333
gtest = "1.15.2"

‎modules/toolchain-model/src/triple.cppm‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -906,9 +906,9 @@ inline constexpr TargetInfo kKnownTargets[] = {
906906
// `openkal-platform` (SPEC-013), pinned here. The two architectures the
907907
// loader relocates.
908908
{ "x86_64-openkal", "preview", "ok", "llvm@23.1.3","", true,
909-
"mcpplibs.openkal-platform@0.23.6" },
909+
"mcpplibs.openkal-platform@0.24.0" },
910910
{ "aarch64-openkal", "preview", "ok", "llvm@23.1.3","", true,
911-
"mcpplibs.openkal-platform@0.23.6" },
911+
"mcpplibs.openkal-platform@0.24.0" },
912912
};
913913

914914
inline std::span<const TargetInfo> known_targets() { return kKnownTargets; }

0 commit comments

Comments
 (0)