Commit f4529b2
* docs(design): the #646-#649 triage record, its probes, and the implementation plan
* The refresh decision walks the resolver's bare-name rung; the saved stdout is not inherited (#648 L1, L2)
* Refreshes go through one policy; an offline plan that needs a download has its own code (#648 L5, L6)
The fetcher's pre-install and retry refreshes and a project's first
custom-index sync now take the refresh policy's decision, so
[index] auto_refresh = false governs them. The policy half of
mcpp.pm.index_refresh moves to mcpp.pm.refresh_policy, which the fetcher can
import. Every offline refusal records offline-download-required, and
emit build-database reports it as MCPP_OFFLINE_DOWNLOAD_REQUIRED.
* Symbol provision: GNU_UNIQUE is vague linkage, and a definition both images take from one object is not a conflict (#646 F3)
* One process, one C++ runtime; one static package, one image; the llvm row's MSVC runtime record (#646 F1, F3a; #649 E10)
* Features, tools and git sources: forwards over every table, one naming derivation, packages of programs, git members (#647 E4, #649 E6-E8)
- The forward validator reads every dependency table of its manifest, on
every row, including [build-dependencies] (#647 E4.1).
- A [feature-deps] restatement naming another source than the declaration
in effect is refused, naming both (#647 E4.2).
- One derivation names a provider for dep_dir, dep_linkage and dep_bin, so a
namespace + name package's tool is published under its qualified name
(#647 E4.3).
- A package whose declared targets are all programs contributes nothing to a
consumer's graph; package cycles are refused where the graph is resolved
(package-cycle); a tool requested by its own sub-build is refused at the
first repetition (#649 E6).
- A git dependency selects the repository member that declares its key; a
member's in-clone path edge names the same git source; a second declaration
of one dependency merges its requests into the edge; the git banner names
its reference (#649 E7).
- --features <dependency>/<feature> is a forward of the root and never a
macro; mcpp why accepts --features (#649 E8).
* Tests for forwards, feature-deps restatements, tool packages, git members and dependency feature tokens (e2e 710-714, 187)
* docs: forwards and dependency feature tokens, feature-deps restatements, packages of programs, git members, one naming derivation, package-cycle
* xlings children are owned and bounded; the envelope reports observed network access; e2e 730-735 (#648 L3, L4)
* docs: refresh bounds and auto_refresh scope, observed network effects, the offline code (#648)
* e2e 700-705 and 307, and docs 04/20/50: one C++ runtime per process, one image per static package, the llvm row's CRT record, and the cross-image identity measurements (#646, #649 E10)
* Choose the link line by host and target object format (#647 E3)
An Android row built on a macOS host received the Apple SDK line, which names
no --target, so -fuse-ld=lld selected ld64.lld for an ELF object. link_shape
takes the host and the target's object format; a target outside the host's
own family takes the generic line that carries the target. Unit LinkShape.*
states the choice for every host; e2e 721 links the row on macOS.
* Keep [package.metadata] verbatim and report unknown [package] keys (#647 E1, #649 X4)
The metadata table is kept as JSON text for the graph document and is not
interpreted. [package] reports a key the parser does not read the way [build]
does: a warning for the root manifest, an error under --strict.
* The resolved graph for the root build program, pack strips what the graph built, and a machine-readable pack report (#647 E1, #649 E5, E9)
- mcpp::graph_file(): the root package's program reads every package in
dependency order with its manifest directory, features, targets and
[package.metadata]; the document's content joins the re-run key. The same
entry builder produces resolution.json's graph section.
- mcpp pack strips the program on every row that strips (the Android row did
not reach the strip step), every shared library the graph built and the
staged copy of the toolchain's runtime; the Packing line states what the row
does; mcpp::pack_strip() and mcpp::pack_debug_symbols_dir() carry the
decision to a member that stages libraries of its own.
- mcpp pack --message-format json prints one mcpp.pack envelope; pack takes
--release and --dev; build, run, test, emit and pack resolve the profile
with one rule (--profile wins over the shorthands).
e2e 720, 722, 723; unit BuildProfile.*.
* The default mcpplibs artifact is a GLOBAL/CN region object, and existing homes gain the CN half (#648 L7)
mcpplibs/mcpp-index#432 made the GitCode copy of the index artifact the same
bytes as the GitHub copy. With mirror = CN, mcpp index update now reaches only
raw.gitcode.com, gitcode.com and file-cdn.gitcode.com (traced). e2e 151 covers
the fresh seed, the flat-to-region upgrade and its idempotence, and a user base
that keeps its own value.
* Name the PE host link shape by its format
WindowsLld spelled the vocabulary the runtime-contract source scan reserves for
provider selection (RuntimeContract.SourceOwnsNoProviderSpecificSelectionOrProbeBranch).
* CI: e2e 700 on the hermetic llvm job, measurement readings in the macOS and Windows job summaries, 721 as its own macOS step; migration unit tests for the region artifact
* One derivation of the target object format for the contract table and the link shape; version 2026.9.16.1, CHANGELOG, records updated with the implementation's readings
* Mach-O: the measured runtime identity split is reported; the stream-init shim belongs to C++ units; e2e 732 bounds itself portably
The macos-15 run of e2e 704 reads runtime_error=not-matched, errc=unequal under
the payload default and caught/equal under host-coupled, so #646 F2 holds. The
default is unchanged, and such a build is told once. The same run showed the
#336 shim prepended to a C-only shared library, whose link carries no libc++,
and that macOS runners have no `timeout`.
* docs(record): the local verification readings of the integrated branch
---------
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
1 parent 2fc7b5b commit f4529b2
95 files changed
Lines changed: 9503 additions & 526 deletions
File tree
- .agents/docs
- .github/workflows
- docs
- specs
- zh
- modules
- manifest/src
- platform/src
- unix
- windows
- versioning/src
- src
- build
- cli
- fallback
- pack
- pm
- runtime
- xlings
- tests
- e2e
- unit
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
| 21 | + | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| |||
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
| 65 | + | |
| 66 | + | |
65 | 67 | | |
66 | 68 | | |
67 | 69 | | |
| |||
74 | 76 | | |
75 | 77 | | |
76 | 78 | | |
| 79 | + | |
| 80 | + | |
77 | 81 | | |
78 | 82 | | |
79 | 83 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
422 | 422 | | |
423 | 423 | | |
424 | 424 | | |
425 | | - | |
| 425 | + | |
426 | 426 | | |
427 | 427 | | |
428 | 428 | | |
| |||
443 | 443 | | |
444 | 444 | | |
445 | 445 | | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
27 | | - | |
| 27 | + | |
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| |||
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
67 | | - | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
107 | 107 | | |
108 | 108 | | |
109 | 109 | | |
110 | | - | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
8 | 101 | | |
9 | 102 | | |
10 | 103 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
92 | 106 | | |
93 | 107 | | |
94 | 108 | | |
| |||
501 | 515 | | |
502 | 516 | | |
503 | 517 | | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
504 | 558 | | |
505 | 559 | | |
506 | 560 | | |
| |||
525 | 579 | | |
526 | 580 | | |
527 | 581 | | |
528 | | - | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
529 | 590 | | |
530 | 591 | | |
531 | 592 | | |
| |||
0 commit comments