Skip to content

Commit 1f24320

Browse files
committed
English commits and release notes; no downstream project named in the repository; the #734 sections of the published-release verification
- CHANGELOG entries, and so the release notes, are written in English from 2026.9.28.3 on; the 2026.9.28.3 entry is rewritten in English. The contributing and release skills and docs/92 state the rule for commits, pull requests, CHANGELOG entries and release notes. - The downstream validation project is no longer named: the design records refer to it as the validation project, and the canary-list test states the list of ecosystem repositories instead. - tests/release/verify-published.sh gains the #734 sections: mcpp.core and the build information, the package floor both ways, the fast path resuming after an edit, pack -p with W3's workspace exception, and a consumer of the published mcpp.plugins (PVER).
1 parent 81d277a commit 1f24320

12 files changed

Lines changed: 265 additions & 123 deletions

‎.agents/docs/2026-09-26-compile-database-and-issue-699-design.md‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ status: landed
1212
only; every verdict below is taken against a specification.
1313
- mcpp-community/mcpp#699 (2026-09-25), *emit build-database for IDEs: one failing member
1414
loses the whole database, and build programs cannot tell a plan pass*, from
15-
Sunrisepeak/mcpp-language-server#23 and #24 on the GalTranslPP workspace.
15+
Sunrisepeak/mcpp-language-server#23 and #24 on the validation project workspace.
1616
- mcpp-community/mcpp#701 and pull request #702 (2026-09-25, head `c57c12f2`): a build
1717
program declares a runtime library directory, and a passing check moves its stamp. Their
1818
consumer is mcpp-plugins 0.13.0 (`deps-vcpkg`, `deps-cmake`, `rules-qt`), whose design
@@ -72,7 +72,7 @@ status: landed
7272
| **O1** | deps-cmake and deps-vcpkg run installation as `check` actions | the plugin record | design gap: no action role describes construction whose file names are unknown | §5.4 P: the `prepare` role (D9) |
7373
| **O2** | on Windows, a program started by hand does not find DLLs from a runtime search directory | this review | framework gap | §5.4 W: placement after the link (D11) |
7474
| **S7** | a contract for build plugins | this review | new specification | SPEC-007, draft 0.1 (§5.6, D12) |
75-
| | xmake's database; GalTranslPP's incomplete Qt and its environment checks inside build programs | report §3.4; #699 | not mcpp | §3.7, §4.8 |
75+
| | xmake's database; the validation project's incomplete Qt and its environment checks inside build programs | report §3.4; #699 | not mcpp | §3.7, §4.8 |
7676

7777
Three statements:
7878

@@ -342,7 +342,7 @@ redirect, and §3.2's rule.
342342
### 4.1 The report
343343

344344
mcppls builds its model from `mcpp emit build-database --format json`. On the five-member
345-
GalTranslPP workspace, the member GPPGUI requests the host tool `Updater` of `gpp.updater`, whose
345+
The validation project workspace, the member gui requests the host tool `Updater` of `updater`, whose
346346
build runs a `lupdate` check that failed because the machine's Qt lacked qtdeclarative. `emit`
347347
answered `MCPP_BUILD_DATABASE_PLAN_FAILED` without `data`, the four members that planned lost
348348
their sets, and mcppls fell back to a guessed model on which clangd crashed. The issue asks for

‎.agents/docs/2026-09-27-eight-reports-by-home-and-one-optimisation-plan.md‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ of the same round (§9.3), and the whole round lands in #727.
9595
| #724 §2.3 | Run side-effect-free generators under `emit` | feature | not the engine | decline | none |
9696
| review | An index that requires a newer mcpp prints `error: ... [E0006]` at the start of a run that then succeeds | defect (measured) | engine | a closing tip at most, and only when the run refreshed an index | W12 |
9797
| review | Library, git and index acquisitions show no progress, while toolchains do | gap | engine; xlings if its `update_packages` emits no events | one renderer, more producers; non-terminal output without `\r` | W11 |
98-
| #726 | On Windows an xlings invocation left the registry's shim directory in front of the process `PATH`, kept `XLINGS_HOME` set for the rest of the run, and started xlings in the project's directory | defect (measured on GalTranslPP's Windows CI) | engine | fix, as pull request #727 proposes (§9.3) | W13 |
98+
| #726 | On Windows an xlings invocation left the registry's shim directory in front of the process `PATH`, kept `XLINGS_HOME` set for the rest of the run, and started xlings in the project's directory | defect (measured on the validation project's Windows CI) | engine | fix, as pull request #727 proposes (§9.3) | W13 |
9999
| #721 | GCC 16.1 ICE | upstream | not in scope for this round | excluded | none |
100100

101101
Everything is one round and one release, in one pull request (#727), in three
@@ -711,7 +711,7 @@ The reasons are structural, not a matter of taste:
711711
- **Every object in an image must agree.** Every object and prebuilt library linked
712712
into one image must use the same CRT: the `RuntimeLibrary` mismatch check fails
713713
the link with LNK2038. The prebuilt ecosystem ships `/MD`, which is the case of
714-
GalTranslPP with Qt and vcpkg.
714+
the validation project with Qt and vcpkg.
715715
- **Each `/MT` image has its own CRT state.** Under `/MT`, each DLL carries its own
716716
heap, `FILE*` table, `errno` and locale. Memory or CRT objects that cross a DLL
717717
boundary are therefore unsound. A program made of several images needs one
@@ -822,7 +822,7 @@ second key would be a second spelling of one fact.
822822
`/MDd`, `/MTd`) is always a second statement. The engine never lets the last
823823
word win.
824824
- A word that agrees with the resolved model is warned as redundant.
825-
GalTranslPP's `-fms-runtime-lib=dll` therefore keeps building.
825+
the validation project's `-fms-runtime-lib=dll` therefore keeps building.
826826
- A word that disagrees is refused. The message names the word, the key, and
827827
the value that corresponds to the word.
828828
- **Upgrade.**
@@ -1045,7 +1045,7 @@ The first and last criteria fail on 2026.9.27.1: the read site is unchanged at
10451045

10461046
### 9.3 #726: an xlings invocation on Windows leaves the process as it found it (W13)
10471047

1048-
**Observation (measured on GalTranslPP's Windows CI).** A `vcpkg install` action
1048+
**Observation (measured on the validation project's Windows CI).** A `vcpkg install` action
10491049
failed with `'C:\Program' is not recognized ...` in a build that installed a
10501050
toolchain or a payload itself; a second build passed.
10511051

@@ -1097,7 +1097,7 @@ the build. On Windows two differences existed:
10971097
- `NeitherPathNorTheHomeOutlivesTheInvocation`;
10981098
- `TheWindowsPrefixStartsInTheHome`.
10991099
- The Windows legs of the pull request's CI.
1100-
- GalTranslPP's Windows CI against the branch, which is a real project with a
1100+
- The validation project's Windows CI against the branch, which is a real project with a
11011101
`.xlings.json` at its root and 22 vcpkg ports.
11021102

11031103
## 10. What is not done, and why
@@ -1200,7 +1200,7 @@ gate (§8).
12001200
- The S1 addition for W10 (D6).
12011201
- After the release, its nightly run is green again (W1), and it may read the
12021202
generated-output record.
1203-
- **GalTranslPP.** After the release it needs:
1203+
- **The validation project.** After the release it needs:
12041204
- no CRT flag at all, because W9's default is its choice;
12051205
- the updater back on an `artifacts` edge (W6);
12061206
- `lib.path` may point at `gpp-build.ixx` (W2).

‎.agents/docs/2026-09-28-build-cost-foreign-toolsets-and-library-surface-design.md‎

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ records their implementation.
4040
so revision 2's compatibility argument is corrected. `[lib]` accepts an
4141
unknown key without any warning, which is a defect (E12).
4242

43-
**Input.** The Windows CI of Sunrisepeak/GalTranslPP#3 (runs 36324593343,
43+
**Input.** The Windows CI of the validation project's pull request (runs 36324593343,
4444
36378870254 and 36396398845; windows-2025, 4 vCPU, mcpp 2026.9.28.2, mcpp:plugins
4545
0.16.0), the sources of mcpp at `dbf71941`, of mcpp-plugins at `8e0362d`, of
4646
vcpkg-tool and of mcpp-index at `e9b80c5`, vcpkg's documentation of triplets and
@@ -49,7 +49,7 @@ of §2.2.
4949

5050
## 0. Scope and the rule that selects the items
5151

52-
GalTranslPP is a validation project: a five-member workspace on Windows with a core
52+
The validation project is a five-member workspace on Windows with a core
5353
library of 76 translation units, a Qt GUI, 22 vcpkg ports and one CMake project.
5454
It is evidence, not a requirement.
5555

@@ -92,14 +92,14 @@ Project-specific items are listed in §9 with the reason they stay with the proj
9292
| Reading | Value | Source |
9393
|---|---|---|
9494
| `mcpp build --workspace`, vcpkg binaries cached | 1726 s | run 36378870254 |
95-
| of which: member `GalTranslPP` (core) | 285 s | same |
96-
| of which: `GPPCLI`, including a second compilation of core | 315 s | same |
97-
| of which: `GPPGUI`, including a third compilation of core | 1039 s | same |
95+
| of which: the core member | 285 s | same |
96+
| of which: `cli`, including a second compilation of core | 315 s | same |
97+
| of which: `gui`, including a third compilation of core | 1039 s | same |
9898
| core's 76 compile commands in the three positions | identical except the output directory (76/76) | `mcpp emit build-database`, same run |
9999
| `mcpp build --workspace`, no vcpkg cache | 69.7 min, of which about 43 min are the 22 ports | run 36324593343 |
100100
| `mcpp pack --format release`, two members | 168 s, of which about 70 s are 2675 single-file copy actions | run 36378870254 |
101101
| files deployed beside each program by `mcpp build` | about 1270 per program, each one `stage_file` edge | `release-files.txt`, run 36396398845; `ninja_backend.cppm` |
102-
| a no-op `mcpp run -p GPPCLI` on Windows | about 3 s; the project fast path is not taken | run 36378870254 |
102+
| a no-op `mcpp run -p cli` on Windows | about 3 s; the project fast path is not taken | run 36378870254 |
103103
| build systems of the 22 ports at baseline `ee6a47d` | 18 CMake, 3 header-only, 1 make under msys (icu); none MSBuild | the ports' `portfile.cmake` |
104104
| `mcpp pack` of a library exporting `Alpha` and `Beta`, no lib root | exit 0, "Interface (headers only)", "Withheld (nothing)", `sources = []` | local, mcpp 2026.9.28.2 |
105105
| mcpp-plugins with `deps-*` among its default features | its own build fails: `deps/deps.cppm: module 'mcpp' not found` (and the same for `src/declare.cppm`) | local copy of mcpp-plugins `8e0362d`, mcpp 2026.9.28.2 |
@@ -351,7 +351,7 @@ workspace in which several members share a library.
351351
across projects.
352352
- **The tool store** keys a path package by `tree_stamp`, which covers the files
353353
under the package root. A library's inputs are not confined to its root:
354-
GalTranslPP's core compiles `../3rdParty/3rdModule/*.ixx` and includes headers
354+
the validation project's core compiles `../3rdParty/3rdModule/*.ixx` and includes headers
355355
from `../3rdParty/...`. A key that sees only the root would serve stale objects.
356356

357357
**Design.**
@@ -740,7 +740,7 @@ package whose author can act on it.
740740
| Report | `mcpp pack` | always | "Interface" lists the shipped closure, and "Withheld" lists every other unit. This replaces the "(nothing)" that the local reading of §2 shows |
741741

742742
W3 fires only for dependencies that declare a root, so libraries without a root,
743-
such as GalTranslPP's core, cause none.
743+
such as the validation project's core, cause none.
744744

745745
### 5.5 Phase 2 (conditions, no design)
746746

@@ -982,7 +982,7 @@ The existing Linux libc++ row covers `resolve({resolved, row})`.
982982
| E1 | mcpp | none; can ship alone | V or a following release |
983983
| P0 to P4, P6 | mcpp-plugins | V released; `[package] mcpp = ">=V"` | plugins 0.17.0 |
984984
| I1 | mcpp-index | E10 released (the engine and the index state one rule) | none |
985-
| Validation | Sunrisepeak/GalTranslPP | plugins 0.17.0 | `resolved` on the masked row; `pack -p` |
985+
| Validation | The validation project | plugins 0.17.0 | `resolved` on the masked row; `pack -p` |
986986
| I2 | mcpp-index | E6 phase 1 released | input to E6 phase 2 |
987987
988988
## 9. Outside this design, and why
@@ -993,7 +993,7 @@ The existing Linux libc++ row covers `resolve({resolved, row})`.
993993
| Two `-p` invocations instead of `--workspace`; Updater as an `artifacts` dependency; hoisting repeated `[target.windows.build]` values to the root | the project's manifests; each is available today |
994994
| A CI job for the `release` profile | the project's CI |
995995
| Re-running build programs under `mcpp pack` | by design: the pack context (`pack_format`) is an input of the build program; the recompilation it prints costs about 1 s |
996-
| Flat module names (`Tool`, `Dictionary`) in GalTranslPP's core | the project's naming; I3 and the facade form of I2 are the remedy when the library is published |
996+
| Flat module names (`Tool`, `Dictionary`) in the validation project's core | the project's naming; I3 and the facade form of I2 are the remedy when the library is published |
997997
| Deriving `host-module` from a build program's imports (a consumer writes no `host-module = true` when `build.mcpp` imports the module) | a usability improvement, independent of every item here; it has its own evaluation, with its own criterion, so that it is not lost by being folded into another item |
998998
| Payloads provisioned when a build program uses them | unnecessary once families are enabled by feature (§3.4) |
999999
| An index resolver that skips versions above the engine's floor | a follow-up of E9 in mcpp-index and xlings |
@@ -1041,7 +1041,7 @@ states them together, so that one slow build is not read as a regression.
10411041
10421042
| Case | 0.16.0 (`detected`) | 0.17.0 default (`resolved`) | Evidence |
10431043
|---|---|---|---|
1044-
| Windows with Visual Studio; mcpp resolves `msvc@system` (the usual machine, and GalTranslPP's CI) | vcpkg picks an instance itself | the same instance, named; **no rebuild**; MSBuild ports build | M1, M2a |
1044+
| Windows with Visual Studio; mcpp resolves `msvc@system` (the usual machine, and the validation project's CI) | vcpkg picks an instance itself | the same instance, named; **no rebuild**; MSBuild ports build | M1, M2a |
10451045
| the same, but the machine has several instances or toolsets and mcpp resolves another one than vcpkg would | ports built by a toolset other than the program's | ports built by the program's toolset; **one rebuild** | M1 (mechanism), vcpkg `get_toolset` |
10461046
| Windows without Visual Studio; managed toolset | deps-vcpkg fails: no instance | CMake and make ports build; MSBuild ports fail with the named error | M3a, M3c, M2c |
10471047
| Windows with Visual Studio, and the project pins a managed toolset | ports built by Visual Studio's toolset, the program by the managed one (inconsistent) | CMake and make ports rebuilt once by the managed toolset; **an MSBuild port now stops with the named error** | M2c |
@@ -1120,7 +1120,7 @@ Items checked and found in order:
11201120
- no item makes the engine learn a foreign tool;
11211121
- every warning has a reader;
11221122
- every criterion names its denominator or its reading;
1123-
- no item is justified by GalTranslPP alone;
1123+
- no item is justified by the validation project alone;
11241124
- every changed generated command line has a stated one-time cost;
11251125
- every decision in §11 has a state.
11261126
@@ -1166,7 +1166,7 @@ green with V.
11661166
- **Sandbox.** A fresh xlings sandbox with the CN mirror configured for mcpp and
11671167
xlings. It checks that the released V and plugins 0.17.0 install, build and run
11681168
the index members and the examples of this design.
1169-
- **GalTranslPP.** PR #3 is rebased onto the latest upstream and adopts the
1169+
- **The validation project.** PR #3 is rebased onto the latest upstream and adopts the
11701170
results: `plugins-core` through the family features, `mcpp pack -p` from the
11711171
root, and `resolved` in its CI. Its Windows CI measures the build again against
11721172
the readings of §2.

0 commit comments

Comments
 (0)