Skip to content

Chore: pin the engine to the 0.15.0 release commit - #72

Merged
DevMando merged 3 commits into
mainfrom
chore/pin-engine-0.15.0
Sep 11, 2026
Merged

DevMando merged 3 commits into
mainfrom
chore/pin-engine-0.15.0

Conversation

@DevMando

Copy link
Copy Markdown
Owner

Summary

Points the engine submodule at d50bfb7 — engine main, 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 branch
commit 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 checks
that 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

  • Submodule pinned to d50bfb7. Engine main, which now includes the 0.15.0 changelog audit
    (engine #96) on top of the command output sink (#95).
  • The changelog pin line now names the commit actually recorded, and its list of what the pin
    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.csproj and the engine's MandoCode.csproj
already 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 f4e0556 to d50bfb7 is 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 than
retitled to ## [0.15.0] — <date>. That retitle belongs with the release PR immediately before
the tag, which keeps a dated section from sitting on main while further work can still land.

Verification

  • dotnet build src/MandoCode.Desktop against the new pin — succeeded, 0 warnings, 0 errors.
  • dotnet test src/MandoCode.Desktop.Tests against the new pin — 489 passed, 0 failed.
  • Confirmed git ls-tree on this branch now reports d50bfb7, matching both the changelog line
    and engine origin/main — the check that would have caught the 5aea416 drift 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.md sandbox step
covers 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 on
its own.

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.
@DevMando
DevMando merged commit 8c684c1 into main Sep 11, 2026
1 check passed
@DevMando
DevMando deleted the chore/pin-engine-0.15.0 branch September 11, 2026 03:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant