Repository navigation
mcpp-ide 1.2.0: one series, mcppls payloads by S6, test results as mcpp states them, ok images tested as they run - #5
Merged
Merged
Conversation
…and 5 A version 5 payload (mcppls 0.0.20) names each platform's runner under platforms.<key>.runner; 0.2.1 took server.runner only and ran bin/mcppls.okb itself. The backend now takes this system's entry, the one platform of a version 4 payload, and refuses a payload that does not serve this system, naming the platforms it does serve; with nothing else found the refusal is the status's detail. The mapping from this system to mcppls's platform key is the backend's alone. CLion makes every runner a payload names executable again. The tests read the published 0.0.19 and 0.0.20 manifests. Co-authored-by: speak-agent <[email protected]>
A version is X.Y.Z: X.Y is the series the backend and the VS Code, CLion and Neovim plugins share, Z each component's own patch (design 2026-11-07, D15). Every component is 1.2.0. The backend states its series in the initialize answer; each plugin checks protocol 2 and its own series, and refuses another, naming both versions and the install that matches. VS Code did not check the protocol before. Co-authored-by: speak-agent <[email protected]>
vX.Y.0 releases the backend, the VS Code extension, the CLion plugin and the Neovim plugin; backend-, vscode-, clion- and nvim-vX.Y.Z release one component's patch. .github/scripts/release-plan.sh checks that the tag's version is the component's and that every component states one series; CI runs it on every change. Co-authored-by: speak-agent <[email protected]>
…its output and place The stream mapping read fail and skip, which mcpp never writes, so run_fail and compile_fail were errored and a timeout was never seen. Statuses follow mcpp's contract: pass, run_fail (timedOut), compile_fail (compileFailed), not_run (skipped with mcpp's reason) and built (builtOnly). Every test result carries the program's whole output, passed or not, its head and tail past 1 MiB with outputTruncated, and a failure's location: the first file:line its output names. A case run divides the program's output among its cases by GoogleTest's boundaries, and each case result carries its own output and place (D16). Co-authored-by: speak-agent <[email protected]>
…e (D16) The lenses above main are $(play) Run and $(debug-alt) Debug, and while the active editor is a target's entry the editor title's Run menu runs and debugs it (mcpp.runThisFile, mcpp.debugThisFile). Every test and case result says its output to its own item, passed or not, with a note when the record cut it short; a failure's message sits at the place its output names, else at the item's line (a test's main, a case's macro). A timeout and a compile failure say so. Co-authored-by: speak-agent <[email protected]>
CLion: every test and case sends its own output as testStdOut, passed or not; a failure's details start with the place its output names, which the console filter links; a timeout and a compile failure say so; a file without run entries is logged with why. Neovim: :Mcpp test writes each test and case to mcpp://tests with its status and whole output, puts the failures in the quickfix list at their places, and the sign column shows a program's and a test's main and each case with a ▶, which a result turns into ✓ or ✗. Co-authored-by: speak-agent <[email protected]>
The payloads' platform is openkal-platform@^0.24, its newest patch this mcpp admits, kept in mcpp.lock (0.24.2, whose C++ run-time keeps the volume of a normalized name); os is the compatible range ^0.3.1. Both need mcpp 2026.11.7.1. Co-authored-by: speak-agent <[email protected]>
Co-authored-by: speak-agent <[email protected]>
The backend is distributed only as an ok image. backend-openkal builds its tests as ok images of each system's architecture and runs them through the runner; the native rows other than Linux x64 run with `native`. The mcppls status test names its mock server by a link on POSIX: an ok image creates no executable file. Co-authored-by: speak-agent <[email protected]>
Co-authored-by: speak-agent <[email protected]>
…ogress The backend's launch job builds a program as mcpp run does (with mcpp's launch-stream, its events) and ends with the launch in job/finished. CLion's Run and Debug, Neovim's run and VS Code's build for the debugger follow it: mcpp's own narration as it is written, the steps in the status bar, and no fixed 'building' line. CLion's tool window is on the left and its button is placed on the stripe once. Design 2026-11-07 §4.9 (D19). Co-authored-by: speak-agent <[email protected]>
…pec; smoke over the real mcpp The backend, an ok image, reads a root, a working directory, a parent and a payload an editor names (C:\Users\x\...) through mcpplibs.os into the generic spelling. The tests take their own path and the temporary directory the same way (found running them as images on Windows). mcpp.runThisFile and mcpp.debugThisFile are declared in spec/commands.json, so the generated manifest keeps them. The Neovim smoke's test prints its line, and a run's terminal is closed before the next run. Co-authored-by: speak-agent <[email protected]>
The backend each version ships is built over one version group (design 2026-11-07, D20), whose okrun reserves a thread's stack for an image's main thread on Windows. Co-authored-by: speak-agent <[email protected]>
Sunrisepeak
force-pushed
the
release/1.2.0
branch
from
November 7, 2026 09:57
fb1ff96 to
6ee6a77
Compare
An exclude on an include-only matrix left no backend job at all. Co-authored-by: speak-agent <[email protected]>
Co-authored-by: speak-agent <[email protected]>
…rnal API Co-authored-by: speak-agent <[email protected]>
Co-authored-by: speak-agent <[email protected]>
Co-authored-by: speak-agent <[email protected]>
… names itself whole Co-authored-by: speak-agent <[email protected]>
…en the explanation is absent Co-authored-by: speak-agent <[email protected]>
…ports a header, a preprocessor branch and os::is_<platform> Co-authored-by: speak-agent <[email protected]>
Co-authored-by: speak-agent <[email protected]>
… is on screen The window state the stable runs recorded (visible=false, selected=Module Graph) is the graph opened and then covered by Project, which shares the left side since 1.2.0. Co-authored-by: speak-agent <[email protected]>
…ered, not by a startup activity that raced an early activation Co-authored-by: speak-agent <[email protected]>
…, as it changes Co-authored-by: speak-agent <[email protected]>
…e registered and shown, as CLion 2026.2 registers it after the project opens Co-authored-by: speak-agent <[email protected]>
… the Debug window as the session starts The failures alternated between CLion 2026.1 and 2026.2 run to run, and took the platform's own Debug window as well as the mcpp one: a window shown before the IDE's startup work ends can be hidden by it. Co-authored-by: speak-agent <[email protected]>
…in's are tested over the backend main built from the same inputs Co-authored-by: speak-agent <[email protected]>
openkal-image 0.5.3 enters an image in its convention's floating-point state (openkal SPEC 12.2): on Windows a thread began with the x87 at double precision, under which the image's C library read a decimal number otherwise. Co-authored-by: speak-agent <[email protected]>
Co-authored-by: speak-agent <[email protected]>
…e, results from mcpp's record A program that implements the mtest test protocol is listed and run through mcpp's records whatever framework wrote it; a file of mtest's cases shows its "name"_test literals with their suites before a build. The frameworks without the protocol keep spec/test-frameworks.json. Co-authored-by: speak-agent <[email protected]>
This was referenced Nov 7, 2026
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.
mcpp-ide 1.2.0: the first series of one version for the backend, mcpp-vscode, mcpp-clion and mcpp-nvim (design mcpp 2026-11-07, D13, D15, D16, D18, D19).
Changes
X.Y.Zfor every component;X.Yis the series, shared and checked: the backend states it ininitialize, and each plugin refuses another series or protocol, naming both versions. A series release is taggedv1.2.0;<component>-v1.2.Zpublishes one component's patch (release-plan.sh,release.yml).platformsand starts<runner> <server.path>; version 4 serves its oneplatform. A payload that does not serve this system is refused, naming the ones it serves.pass,compile_fail,run_fail/timed out,not_run,built); every test and case carries its own output (bounded to 1 MiB, head and tail) and the place its failure names; GoogleTest output divided by case. VS Code, CLion and Neovim each show it natively; run entries with icons.backend-openkalbuilds its tests as ok images and runs them through the runner on every system; the native rows other than Linux x64 run withnative.openkal-platform@^0.24inmcpp.lock(0.24.2), mcpplibs.os^0.3.1, mcpp 2026.11.7.1 or later.Verification
x86_64-openkalimages; the protocol test covers the launch job with and without mcpp'slaunch-stream.Co-authored-by: speak-agent [email protected]