Release readiness: docs accuracy, test coverage, and UI code-behind decomposition - #16
Merged
Conversation
…tion - Reconcile CHANGELOG/README with the shipped app; fix the MANDO001 build-guard message - Add automated tests (40 -> 73): config clone/clamp, agent naming, history flattening, request-preamble composition, and the streamed-response loop - Decompose MainWindow (2877 -> 152 core) and ChatTabView (2414 -> 351) into partials - Externalize TranscriptHtmlBuilder CSS/JS into asset files (1258 -> 344) - Add IAiService/AiServiceAdapter, ResponseStreamer, and ITranscriptHtml seams - Factor shared helpers (ProjectDisplay, ShellOpen, ConfigCloning, CrashLog) - Fix MCP editor modal placement; tighten the chat input placeholder The shared MandoCode harness submodule is untouched; refactors are behavior-preserving.
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
Pre-release hardening of MandoCode Desktop. This branch makes the documentation match the shipped app, adds automated tests around the highest-risk logic, and decomposes the two large UI code-behind files into focused, maintainable units — with no changes to the shared MandoCode engine and no behavioral changes to the app.
Why now
The app was functionally solid but carried three sources of release risk:
This pass pays that down so we can tag a release with confidence.
What changed
Documentation accuracy
CHANGELOG.md/README.mdwith the shipped app: removed descriptions of a snapshot data model that no longer exists, and documented three features that shipped but were undocumented (integrated terminal, file-explorer + git awareness, AI skill authoring).Safety net — automated tests raised from 40 to 73
Maintainability — behavior-preserving refactors
MainWindow(2,877 → 152-line core + 12 focused files) andChatTabView(2,414 → 351 + 7 files) via partial-class splits. Same classes, same behavior, far more navigable.IAiServiceinterface so the UI controller depends on an abstraction rather than the concrete engine — this insulates it from engine API changes and is what makes the streaming loop testable.Bug fixes
Risk & verification
Deferred (non-blocking, tracked for after release)