The reasoning behind changes to mcpp: what was measured, what was decided, and what a later measurement refuted. A record describes the moment its change was made and is not edited afterwards, so nothing here is a statement about the present. What mcpp does today is in docs/; what is guaranteed is in docs/specs/.
This file is generated by .github/tools/gen_agents_index.py and is
checked in CI. A new record declares front matter:
---
subject: heterogeneous # a short, reused word
status: landed # active | landed | superseded | abandoned
superseded_by: 2026-09-07-....md # when status is superseded
---282 records.
Records that declare one. Everything else is listed by date below.
- The documentation as a book: a chapter-by-chapter design — active
- A curriculum for the examples, a reference for the documentation, and a check with a denominator — superseded by 2026-09-08-documentation-architecture-three-trees.md
- Three documentation trees, three audiences, and the rule for citing between them — active
- A dlopen surface no closure walks, and a process with two unwinders — landed
- The island boundary's names: one rule for both lanes, and the check that makes it true — active
- Implementation plan: the island boundary's names — active
- Two answers and two silences: the scanner's second grammar, and the manifest keys nothing reads — active
- The category the plugin taxonomy does not name, and what a platform actually decomposes into — active
- A verified Web run that asked the host for node — landed
- Implementation plan: a UI framework on Android, iOS and Web (#622) — active
- A UI framework on Android, iOS and Web: where each item of #622 lands, and the three it does not list — active
- SDK toolchains, the payload/engine seam, and openkal across iOS, Android and Web — landed
- Where a platform's knowledge belongs: iOS, Android and Web across the engine, the index and the plugins — active
- The engine gaps left open after the SDK batch — landed
- Six open issues: what each one actually is, and what would answer it — active
- The engine gaps left open after the SDK batch — landed
- A verified Web run that asked the host for node — landed
- Implementation plan: a UI framework on Android, iOS and Web (#622) — active
- A UI framework on Android, iOS and Web: where each item of #622 lands, and the three it does not list — active
- Six open issues: what each one actually is, and what would answer it — active
- SDK toolchains, the payload/engine seam, and openkal across iOS, Android and Web — landed
- Where a platform's knowledge belongs: iOS, Android and Web across the engine, the index and the plugins — active
- The category the plugin taxonomy does not name, and what a platform actually decomposes into — active
- Two answers and two silences: the scanner's second grammar, and the manifest keys nothing reads — active
- A dlopen surface no closure walks, and a process with two unwinders — landed
- The documentation as a book: a chapter-by-chapter design — active
- The island boundary's names: one rule for both lanes, and the check that makes it true — active
- Implementation plan: the island boundary's names — active
- A curriculum for the examples, a reference for the documentation, and a check with a denominator — superseded by 2026-09-08-documentation-architecture-three-trees.md
- Three documentation trees, three audiences, and the rule for citing between them — active
- 第六轮生态复核:工具平面的目标轴
- 一个包一个版本:xlings 地址的身份,以及 2026.9.6.5 之后的文档对齐
- A module-first surface for graphics acceleration and heterogeneous computing
- mcpp.toml 语义与风格的统一
- 异构计算与图形的跨平台生态:完整矩阵与补齐方案
- 通用构建基础设施:缺口、归属与验证
- Ecosystem review — round 5b
- Ecosystem review — round 5, F1 (llama.cpp on Vulkan)
- The heterogeneous ecosystem, v3: what is built, what is not, and what decides each
- 多设备生态:实施计划与任务表
- 多设备加速生态:载荷、适配面、验证 lane 与框架验证
- Heterogeneous C++ builds and their ecosystem, v2: closing the host surface
- 加速器支持 实施计划
- 加速器支持:完整设计方案
- 具名 runner、通用命令面、部分后端,与生态闭环
- Four gaps left by the ecosystem batch, and what to do about each
- 商业级可用:mcpp × xlings 的裸机与嵌入式总体方案
[xlings]is mcpp's surface for xlings' local project mechanism- The runner beyond bare metal: design
- Issue #544: runner beyond bare metal — implementation plan
- Issue #540, verified: seven filed findings, six confirmed, one misaimed, four more underneath
- Project build hooks as owned intervals (#496)
- Three issues, measured: #532, #533, #534
- Four issues, measured: #527 (workspace half), #529, #535, #537
- Cross-repo fix plan: #532, #533, #534
- The build-rule package: identity enforced, shape documented
- issue #519:依赖的链接形态 —— 一条不变量,两个高度
- 目标侧被解析出来了,只发给了一个编译单元
- openkal 生态:接口判据、面的补全,与端口层的组合
- #516 解决方案:glob walk 在 Windows 上撞到 ANSI 代码页拼不出的目录名就崩
- 支持矩阵:56 格实测,四处待修、一处生态空缺
- 目标矩阵:六张表(载荷体系 / openkal 体系 × 三个构建机)
- 目标矩阵:应该是什么,现在是什么,差在哪
- 已经解析出的答案,没有被用来做决定
- 声明了却没被兑现:第八条,以及文档与词表的一次实测对账
crossTarget非空被当成「系统来自图」- aarch64 Linux:让整个生态可用,并且可测
- 一个谓词族,六处缺陷:目标侧的分层判据
- 目标体系分析:三元组承载了四件事,而它只有三段
- OS × 工具链 × 目标:组合矩阵与理由
- mcpp 目标词表:一套规范,映射到各编译器
- mcpp 目标侧设计
- 目标侧架构:五层、四来源、四规则
- 目标侧来自依赖图之后:七项优化方案
- 目标侧解析:预构建体系与构建期体系的统一架构
- 三项未完成事项的详细方案
- 裸机生态的四项未完成事项:方案
- 裸机方向的优化方案
- mcpp 在内核 / 嵌入式 / freestanding 方向的评估
- PR #455–#459 深度 review:裸机 freestanding 从「能编」到「能用」
mcpp pack生产侧与消费侧模型:整体架构 review- openkal 0.4: what one portable program found, and what it says about the method
- openkal: implementation plan and outcome
- openkal 设计方案:通用内核 ABI 规范
- openkal: plan for industrial completeness
- openarch:接口层与多指令集后端的实现方案
- openarch 实现方案:arch 机制层
mcpp pack的kind = "shared"产物带走了构建机:#460 的实测、根因与优化方案- 裸机 / 嵌入式 / 内核方向的生态定位与缺口(设计方案)
- freestanding 生态实施计划与依赖图
- 裸机:用户面能感受到的变化(场景 + 伪代码)
- 裸机 / freestanding 支持 — 实施计划(2026-08-19)
- mcpp 裸机 / freestanding 支持 — 架构设计方案(2026-08-19)
- 裸机 / freestanding — 第三阶段:从「能跑」到「能用」
- 裸机 / freestanding — 全生态打通实施计划(第二阶段)
- Windows 动态库分发、cl.exe 消费,与
.ixx的默认支持 - 四项遗留的统一分析:判据挂错轴,以及 cl.exe 到底怎么办
- C++ 裸机 / freestanding:深度调研与 mcpp 路线分析(2026-08-18)
- Windows 三条轴:落地报告(mcpp 2026.8.17.1)
- 库分发:
mcpp pack <target>与二进制包(2026-08-17) - mcpp 分发架构:全面分析与方案(2026-08-17)
- Windows 工具链的三条轴:来源、SDK、运行时(2026-08-16)
- 工具链架构 review:两种来源、选择与切换、构建与分发(2026-08-16)
- MSVC × xlings 生态打通 —— 综合报告(2026-08-16)
- MSVC 在 xlings 生态里打通 —— 跨仓库计划、依赖与验收(2026-08-16)
- MSVC 纳入 mcpp 工具链体系 —— 设计 + 验证方案(2026-08-16)
- xmake + clang 的
import std:错误消息把人指向了死路(2026-08-15) - 改一处实现,重编多少?—— 模块写法、编译器、与 BMI 的实际行为(2026-08-15)
- #426 #427 与 main 当前红 —— 核实与修复方案(2026-08-15)
- #412 #415 #416 #417 #418 #421 #422 —— 逐条核实与修复方案(2026-08-15)
- bench 可断续:每个测量点独立落盘,进度可算可显示(2026-08-15)
- bench 改为「本地真跑、CI 不跑」:方案与 Linux 实测计划(2026-08-14)
- mcpp 构建性能:架构层面的分析与方案(2026-08-13)
- 构建性能优化:综合报告(2026-08-13)
- 模块化 C++ 构建性能深度分析与优化方案
- mcpp 冷构建深度优化方案
bench/构建引擎基准套件 —— 架构与实施计划- 源文件角色表 与 build.mcpp 运行上限 —— 把两个硬编码变成两条声明
$ORIGIN被 SubOS farm 遮蔽 —— helloegui 运行期 undefined symbol 分析与修复方案$ORIGIN优先级 + 共享库运行时契约 —— 实施计划- 实施计划:运行期搜索闭包 与 binding 降级
- 图形栈剩下的那一半:链接期看得见、运行期看不见
- PR #400 收尾设计方案 —— 重新判定阻塞点,并把串行收口改成并行
- 图形栈全面不可用 —— 三层独立故障,和一条没有主人的依赖链
- 实施计划:图形栈闭合与分发档位
- 图形栈打通:一个标签、一条没人依赖的边、一个被钉住的 pin
- 验收记录:图形栈闭合与分发档位(2026.8.10.2)
- xlings × mcpp 生态契约收敛与优化设计
- PR #400 中文交接文档
- mcpp Template, Runtime, Graphics, and AUR Validation Ledger
- mcpp Template, Runtime, Graphics, and AUR Convergence Implementation Plan
- mcpp 模板、运行时、图形栈与 AUR 聚焦设计
- mcpp Open Issue 全量深度核验报告
- xlings 运行时底座 —— 实施计划
- 机器可读输出协议 —— 拆分实施计划
- 载荷版本与契约漂移:四个缺陷,一条线
- 机器可读输出协议 —— 对 RFC #379 的核对与修正
- Configure-Only Compile Database Implementation Plan
build --configure-only与可靠 CDB 设计- 编译器是能力 —— 跨仓实施计划
- xlings 作为 mcpp 的运行时底座:运行时身份、链接契约与环境契约
- 两处「模型比生态少一层」:Windows 资源输入 与 版本身份
- 依赖提供物与构建期输入:两个缺口,同一个形状
- 命令长度:把「靠崩溃发现的规模上限」从架构上消掉
- issue #355:依赖产出的 host 工具(codegen 工具链缺口)
- build.mcpp 机制架构设计:一个 hook,多种节点
ci-fresh-install11 个 job 全红 —— 两个独立缺陷的修复方案- Windows → Linux 交叉工具链(路径 A:canadian-cross payload)— 设计方案
- issue #344:全局 build cache 的对象地址必须与消费方无关
- 索引版本下限(E0006)不应让旧客户端不可用 —— 分析与方案
- 索引的可用性不得决定 mcpp 的可用性 —— 纯 mcpp 侧优化方案
- B3 — 产物命名按 target 而非 host(交叉构建每次重链)— 修复方案
- Windows 可用性 — 实施计划
- Windows 可用性设计:裸机无感可用 + build.mcpp 全方言 + 测试面补齐
- 深度分析:issue #336(macOS 静态 libc++)与 mcpp-index PR #142(boost-ext.ut)
- 宿主编译单一生产者:让 build.mcpp 的能力等于 mcpp 的能力
- 宿主编译单一生产者 — 实施计划
- issue #331 逐条核验 + Windows 无 MSVC 默认工具链分析
mcpp test --workspace:跨平台模型一致性、输出差异与 macOS 停滞的根因分析mcpp test可观测性与有界性 —— 实施计划- C++20 作为一等
standard档位:import std全平台可用性设计 - C++20 档位支持 — 实施计划(单 PR,目标 2026.7.31.1)
- 索引刷新策略收敛:从「时间驱动」到「解析驱动」— 设计
- 索引刷新策略收敛 — 实施计划
- BMI staging 原语 + BMI 缓存根收敛 — 实施计划
- BMI staging 原语 + BMI 缓存根收敛 — 设计
- 依赖构建产物的全局缓存收敛 — 设计
- 依赖构建产物的全局缓存收敛 — 实施计划
- 日期版本号 + xlings pin 收敛 — 实施计划
- 日期版本号 + xlings pin 收敛 — 设计
- 裸名 wire address 修复 — Implementation Plan(mcpp 0.0.109)
- 裸名依赖的 wire address 收敛 — Design(mcpp 0.0.109)
- xlings#381 索引键补齐命名空间维度 — 设计/优化方案
- SPEC-001 落地 — Implementation Plan(mcpp 0.0.106)
- mcpp
name/namespace规范实现(定稿) package.name/package.namespace双向验证报告- #278 包身份双侧收敛 — Implementation Plan
- #278 包身份口径收敛 — 索引侧 + 依赖侧完整方案
- mcpp test 演进批次二 — Implementation Plan
- mcpp test 架构评估与设计方案
- 批次三:#273 沙盒围栏 + CI wine 缓存 — Implementation Plan
- 嵌入式平台支持 — 方案设计 (Embedded Platform Support)
- mcpp test: per-test isolation, filter, JSON output — Implementation Plan
- v0.0.102 批次设计 —— #261 / #257 / #258 / #254(+#256 收尾)
- 索引组织迁移 + 采纳 xlings 0.4.68 per-repo artifact 来源 — 设计方案
- Issue #267/#269 索引组织迁移 + artifact 采纳 — 实施计划(0.0.103)
- Issue 分析报告 —— #254 / #256 / #257 / #258 / #259 / #261
- 契约准入(Contract Admission)设计 —— 索引级 + 包级 floor
- Issue #253 —— per-feature
flags+ per-OSfeatures设计 - v0.0.99 批次设计 —— #243 feature 转发 + #238 xlings 升级 + #230 windows 复验
- #233 对象路径消歧的两个后续缺口(#240 / #239)——根因分析与统一修复方案
- 大型源码直编包全平台化:平台三修(#247/#248/#249)+ build.mcpp 构建期生成能力 + 描述符复杂度治理
- #230–#243 批次总账 + 架构评估(治理文档)
- Issue #243 —— feature 依赖转发(
dep/feat)设计 - mcpp 0.0.97 架构级修复 —— 实施设计与任务拆分(单 PR / 逐簇 commit)
- Issue #215+ 分类分析与架构级修复方案
- mcpp 通用构建能力需求清单(G1–G9)
- 汇编源一等公民 + 通用构建能力(G1–G9)设计方案
- 工具链 × 目标 命名统一 — 设计方案(实现 + 显示 + 使用)
- Linux → Windows MinGW 交叉工具链 — 设计方案
- c++fly:一键启用"最新标准 + 全部实验特性"(语言 + 标准库)设计
- c++fly(0.0.91)单 PR 实施计划
- 工具链后端抽象层 + MSVC 原生构建 + MinGW 生态入驻 — 设计方案
- 0.0.90 单 PR 实施计划(post-089 路线图全量)
- 0.0.89 后路线:std 模块方言旗标一致性(#210)+ 遗留优化清单 — 设计方案
- MSVC System-Toolchain Detection — Implementation Plan
- MSVC System-Toolchain Detection — Design
- 编译器方言触点审计(0.0.88 基线)
- 项目本地模式下的索引作用域:别把默认全局的官方索引(xim)注入项目组(架构分析 + 修复设计)
- Scanner backend abstraction: per-package opt-in, P1689 as lingua franca, plan-vs-ddi reconciliation (Design)
- Root-cause remediation for the 0.0.85 rollout incidents (Design)
- Index version semantics + descriptor grammar v2 (long brackets) + single-source-of-truth lint (Design)
- Descriptor & index evolution — 0.0.85 release train roadmap (cross-repo)
- Hermetic toolchain link model — one-shot cross-repo fix for issue #195
- Workspace-aware
mcpp test+ zero-shell self-contained mcpp-index (Design) - Bare OS-alias sugar for
[target.*]conditional tables (Design) - L3
build.mcpp— native imperative build program (implementation design) - The
mcppbuild-module library forbuild.mcpp(Architecture & Design) - Windows Runtime-DLL Deployment &
compat.openblasWindows Support (Design) - mcpp.toml: Build Environment, Platform-Conditional Config, and
build.mcpp(Design) - Feature System v2 — Stage 2: feature-activated optional dependencies (Design)
- Feature System v2 — Capability-Oriented Model (Design)
- 分析报告:
abi:能力检查把「libc ABI」与「C++ stdlib」混为一谈 —— glfw 在 clang/libc++ 下误报 ABI mismatch - 设计:ABI/工具链兼容性「维度化」模型 —— 一步到位的单 PR 方案
- LLVM libatomic 自包含缺口分析与修复设计(libatomic.so.1 cannot open)
- Identity-First Package Resolution — Filename Is Not a Key
- gtest_main 冲突修复:src 轨 feature 控制 + dev 轨 main 检测 +
mcpp add --dev - 依赖入口对象的条件链接(fix
mcpp testduplicatemain)设计方案 - compile_commands.json 测试覆盖缺失:分析报告与设计方案
- 离线优先的索引刷新 + mcpp-index 发布机制
- macOS
mcpp build:library not found for -lSystem根因与修复 - Issue #43 分诊与关闭记录 — macOS 全新安装首跑
- Termux / Android (aarch64) 适配分析报告
- 原生 aarch64 musl-gcc 用 musl 1.2.5 重建(canadian-cross)— 复现指南
- mcpp 后续修复:统一汇总 + 方案设计 + PR 拆分
- aarch64 / Android 支持 —— 跨仓库 MVP 顶层设计方案
- 跨仓库修复方案:残缺/被删依赖被
.mcpp_ok盲区放过 - Package Resolution Architecture — Identity-First Locator Design
- Runtime Launch Hygiene & Multi-Distro Coverage Implementation Plan
- Pack Mode Redesign — Two-Axis Model, Clearer Names,
systemMode - Per-Target 构建配置设计:配置发散归编译单元,目标只携本地标志
- CLI Modularization — Architecture & Implementation Plan
- Library / Component Download Progress — Design
- mcpp.toml Schema 所有权设计:语法封闭 · 词汇开放
- mcpp core: runtime closure (rpath) + toolchain defaults
- mcpp 模板系统(package-based templates)— 设计 v2
- mcpp: GL Runtime Closure Plan
- Module-First Usage Requirements Architecture
- 2026-06-02 imgui mcpp dependency fixes
- Dotted Dependency Selector Architecture
- C++ 标准一等配置设计
- CI 工具链缓存优化分析
- Index Refresh And Dependency Cache Label Fix
- mcpp 0.0.35: Package-Owned Build Metadata Plan
- BMI Cache And Custom Index Build Fix
- mcpp build 报错输出优化方案
- 设计方案:中断安装统一恢复机制
- mcpp 可观察性设计方案
- Bug 分析:LLVM 共享库 RUNPATH 失效的完整链路
- Fix: LLVM shared libraries have stale RUNPATH after install
- Fallback 代码提取方案 — 代码架构重构
- mcpp Fallback 架构设计方案
- 设计方案:ensure_base_init_ok + mcpp self init --force
- 分析:Ctrl+C 中断 bootstrap 后 mcpp 进入不可用状态
- resolve_xpkg_path() 的 copy 优先级问题分析
- 设计方案:Payload-first 工具链环境管理
- Linux sysroot 缺少内核头文件导致 std module 预编译失败
- MSVC STL Discovery — msvc.cppm 模块设计
- Windows 平台成熟度提升方案
- Windows 成熟度提升 V2 方案
- Windows E2E 与 macOS 对齐方案
- Windows Pack Design
- Windows LLVM/Clang 支持设计方案
- mcpp
- macOS Support Design — LLVM/Clang 自含工具链方案
- macOS LLVM 默认工具链跨平台适配方案
[indices]功能增强设计方案- mcpp 功能特性清单
- MCPP 跨平台 Clang/LLVM 支持分析报告
- std.compat 支持 + cxx_scan restat + 增量零重编 E2E
- Fingerprint 稳定性与 Fast-Path 一致性 — 优化方案
- Clang 编译管线平权 + 工具链抽象层设计
- MCPP LLVM/Clang Toolchain Support Analysis and Design
- Workspace Phase 1 Implementation Plan
- mcpp Workspace 设计方案
- compile_commands.json 设计方案
- mcpp 构建优化深度分析报告
- Namespace Field Design — mcpp 0.0.6
- 2026-05-08 — 包索引仓库配置 (Package-Index Repo Configuration)
Records written before the date prefix was the convention.
- Fix: xlings 包内 mcpp 的 MCPP_HOME 检测
- LLVM 工具链安装失败分析
- Platform Abstraction Layer — Architecture & Implementation Plan
- Remaining Platform Macros Outside src/platform/ — Analysis Report
Work items rather than records of a decision.