Chore: pin the engine to the 0.15.0 release commit - #72
Merged
Merged
Conversation
Adds a fourth bundled background and makes it the one a brand-new install opens on, replacing Golden Gate as the first impression of the app. The gallery's NN- prefix does double duty: it orders the tiles and it picks the first-run default (ThemeManager.ApplyFirstRunBackground takes whatever sorts first). So making the new image the default means renumbering, and the three existing backgrounds move down one position each. That renaming is deliberate but not free. The file name is the durable identity persisted in ui-settings.json, so someone who had explicitly picked one of the three keeps their background working — the image is a copy in their own data folder — but its tile may stop showing as selected until they pick it again. Users on a custom background, or on none, are unaffected either way; the first-run path is guarded on a missing settings file and cannot fire for anyone who has launched the app before. No code change: BuiltInBackgrounds discovers the folder at startup and the csproj globs it by extension, so shipping an image is a file drop.
An audit of the 0.15.0 section against every pull request merged since v0.14.1 found three user-visible changes that shipped without an entry. Adds /compact and the persisted compacted context, with the clarified /clear wording that shipped alongside it; the deletion fix that keeps the snapshot, history, and note lists from resetting; and the high-contrast notice cards that keep status, plan, approval, and recovery messages readable over an image-heavy chat background. Documentation only; no code or behaviour changes.
Points the submodule at engine main (d50bfb7), the commit that ships with this release. Desktop recorded f4e0556 — the branch commit of engine #95 rather than its merge commit — so the pin was two engine merges behind. Also corrects the changelog's pin line, which still named 5aea416 and had gone three pin moves stale. Nothing verifies that SHA against the tree, so it drifted silently; it is now the commit the submodule actually records, and the list of what the pin carries is brought up to date with what has since landed.
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.
Summary
Points the engine submodule at
d50bfb7— enginemain, the commit that ships with this release —and corrects the changelog line that names it. This is the last piece of release prep before
0.15.0 is tagged.
What was happening
Two separate drifts, both silent.
The pin itself was two engine merges behind. Desktop recorded
f4e0556, which is the branchcommit of engine #95 rather than its merge commit. That kind of drift is normally harmless — a
branch tip and its merge commit have identical trees, so Desktop was building the right engine
code — but it means the release would have shipped pinned to a commit that is not on engine
main,which is confusing to anyone auditing what shipped.
The changelog's pin line was worse: it named
5aea416, three pin moves stale. Nothing checksthat SHA against the tree, so it went wrong quietly and stayed wrong across several releases' worth
of PRs. It is the one line in the changelog a reader would trust to tell them exactly which engine
a release contains.
What changed
d50bfb7. Enginemain, which now includes the 0.15.0 changelog audit(engine #96) on top of the command output sink (#95).
carries is brought up to date — it had never been updated for host-supplied agent tools, the
command output sink behind the agent's read-only terminal tab, or executor-owned step completion
replacing per-step verification by a second model.
No version bump is needed: both
MandoCode.Desktop.csprojand the engine'sMandoCode.csprojalready carry
<Version>0.15.0</Version>.Scope and risk
Medium. A pin move is one line in the tree, but it swaps the entire engine underneath Desktop,
so the blast radius is every agent behaviour rather than any one feature.
What is actually moving is narrow: from
f4e0556tod50bfb7is engine #95's merge commit plus#96, and #96 is documentation only. So the engine code Desktop compiles against is unchanged
from what it was already building — this corrects which commit is named, not what runs.
Worth a reviewer's attention: the
[Unreleased]heading is deliberately left as-is rather thanretitled to
## [0.15.0] — <date>. That retitle belongs with the release PR immediately beforethe tag, which keeps a dated section from sitting on
mainwhile further work can still land.Verification
dotnet build src/MandoCode.Desktopagainst the new pin — succeeded, 0 warnings, 0 errors.dotnet test src/MandoCode.Desktop.Testsagainst the new pin — 489 passed, 0 failed.git ls-treeon this branch now reportsd50bfb7, matching both the changelog lineand engine
origin/main— the check that would have caught the5aea416drift years earlier.Not covered: no runtime exercise of the agent against the new engine. Since the only code
difference from the previously pinned tree is nil (#96 is docs), the risk of that gap is low, but
a smoke run before tagging is still the honest recommendation — the
RELEASING.mdsandbox stepcovers it.
Dependency
Stacked on #71, which is itself stacked on #70, because all three edit
CHANGELOG.md.Merge order: #70 → #71 → this. Reviewing just the last commit (
f61bcb9) shows this change onits own.