Repository navigation
2026.10.31.1: features in every envelope, program in self env; #868; #866/#867 follow-ups; canary build steps; --pkg-format polyglot; ldflags files as link inputs - #869
Merged
Conversation
…ect's mcpp, mcppls's contract, entries, test cases, the manifest's rules as LSP, CLion native, distribution; one file for every system (#849): the APE and polyglot probes, the polyglot carrier model Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…rogram` in self env, and how a tool runs mcpp for a project (docs/50) A client gates on a feature (`target-sets`, `pkg-format-list`) rather than a version number; every envelope's `mcpp` field carries the list beside the version, so one `self env` gives both and a job's envelope says when either changed. `self env` names the file that is running, so a tool that ran `mcpp` through a shim in a project's directory reads which mcpp the project uses. Design 2026-10-30 part 2 §4.0, §4.3. Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…mand plans (#868) Two members spelling one dependency two ways (`tinyhttps.workspace = true` and `[dependencies.mcpplibs] tinyhttps.workspace = true`) made `-p` of each write its own key and hash. The key is now the workspace's spelling: its `[dependencies]`, `[workspace.dependencies]`, then every member in the order `members` lists them, selected or not (docs/07, e2e 990). Closes #868 Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…t; the TOML writer escapes every control character #866: a bare requirement is a caret, so "0" and "0.0" take the wildcard bounds as well (<1.0.0, <0.1.0); a unit test pins bare against caret, docs/05 states it in both languages. #867: with \b, \f and \uXXXX read, a value may hold any control character; escape_string escapes U+0000-U+001F and U+007F (short forms where TOML has one, \uXXXX elsewhere, never the reader's \0), so serialize writes TOML. A round trip test covers every control character. Design 2026-10-30 part 2 §17. Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
A canary's time is mostly its project's build (xlings: 1750 s of 47 min); each canary now ends with the 20 longest steps read from every .ninja_log beneath it, and `release_canaries.py steps <dir>` prints them for any tree. Design 2026-10-30 part 2 §11. Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
A replaced prebuilt archive named in [build] ldflags did not relink the program: the word reached the linker but no link edge depended on it, and the clangd ok-image probe deleted its image to take a new library. A word that names an existing file by absolute path is now an implicit input of every non-archive link that carries it (docs/04, e2e 991). Design 2026-10-30 part 2 §25.3 C1. Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
#849) An ok image's single files of every leg and system (--systems all unless stated) are assembled into one <name>-<version>.exe. The Windows program leads: its DOS header is a shell assignment (MZqFpD='...') followed by a two-line script, the PE header moves down by a multiple of the file alignment and the offsets it holds move with it; the other systems' programs follow unchanged, and the POSIX script last. Windows starts the file as the PE it is (Authenticode signs it); Linux and macOS start it through sh, which copies the system's program to the single-file cache by SPEC-014 §5.2's rules, checks its sha256 and executes it. Without Windows the file is a #!/bin/sh script. The carriers are signed before assembly (the Windows one excepted) and the file after. polyglot is not in a --pkg-format list, a native target is refused, and mcpp emit xpkg names the file it refuses. mcpp run --pkg-format single-file and polyglot run the file directly (polyglot through sh on POSIX); they were refused as unknown formats; tar, zip and dir are refused as containers. Design 2026-10-30 part 2 §19.6; e2e 992, unit test_pack_polyglot. Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
… the wine job, where its file runs as a Windows program Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…written The version module still named 2026.10.30.1 (help, version and the subsystem contract test compare it with mcpp.toml). Loading every member through load_member_manifest for its spelling of a dependency also ran the inheritance a planned member receives, whose position-reading notes then reached the root's own build (e2e 911 R5); the manifests are now read as written, the way workspace_members reads them. Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…with the command that removes it A package a browser downloaded carries com.apple.quarantine on every file, and macOS refuses to start an unsigned runner so marked; the launcher says so before it starts the runner (SPEC-014 §4.3; mcpp design 2026-10-30 part 2 §10 D6). Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…how a tool runs mcpp is a noun phrase Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Sunrisepeak
marked this pull request as ready for review
October 30, 2026 11:35
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Design:
.agents/docs/2026-10-30-ecosystem-part2-ide-and-language-service-design.md(rev 7). Committed in checkpoints (§14, §25.2 task M):featuresin--protocol-versionand in every envelope'smcppfield;programinself env; docs/50 states how a tool runs mcpp for a project (§4.0, §4.3).polyglotcarrier model,--pkg-format polyglot(§19.6.2, SPEC-014).Closes #868. Refs #849.
Co-authored-by: speak-agent 248744407+speak-agent@users.noreply.github.com