Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 44 additions & 2 deletions docs/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,23 @@ ships .NET 10 and .NET 8 builds in the same package, with nothing for users to c
remains in front of every revised plan and file change.

### Added
- **Images can be delivered to models that can actually see them.** A host can hand a captured
image to the assistant, and whether a model accepts image input is now detected rather than
assumed. A text-only model is told plainly that a picture could not be examined, instead of being
handed bytes it would silently discard and then answer around. Screenshots taken during a plan are
delivered to the step that asked for them, rather than arriving with no context attached.
- **Images are counted toward the context estimate.** A picture occupies real space in a model's
window, and leaving it out of the running total meant the estimate drifted low exactly when it
mattered. Image evidence gathered for a retry is dropped when it no longer fits, so a retry cannot
push a conversation over the limit by carrying attachments it can no longer afford.
- **Hosts can supply their own agent tools.** An application embedding MandoCode can register
functions of its own alongside the built-in ones, so capabilities that only the host can provide —
its own windows, panes, or other sessions — are available to the model without changing the
engine. Tool registration survives model switches and settings changes, so a host attaches its
tools once.
- **Conversations can be compacted on demand.** A long session can be condensed deliberately rather
than waiting for the context window to force the issue, keeping the thread of the work while
recovering the room to continue it.
- **Hosts can watch shell commands run.** A host may attach an optional command output sink and
receive each `execute_command` as it happens — the command and its working directory when it
starts, every line of output as it arrives, and the exit code or the reason it was killed. The
Expand All @@ -52,6 +69,19 @@ ships .NET 10 and .NET 8 builds in the same package, with nothing for users to c
skipped, used as the starting point for a replacement suffix, or used to cancel the plan.

### Changed
- **A step no longer needs a second model call to be judged complete.** Every plan step used to be
gated by a separate model that decided whether the step was really done. That doubled the model
calls in a plan run and, in practice, blocked correct work — rejecting a discovery step for
finding no build system in a genuinely empty folder, for example. A step now completes on the
executor's own evidence, measured against acceptance criteria the step carries itself, and the
plan ends with an explicit test-and-repair phase that has to produce real, observable results.
Plans are faster and cheaper to run, and a plan can no longer finish green on work that was
never actually exercised.
- **Strict plan verification is gone rather than kept behind a flag.** The old per-step verifier
survived one release behind an off-by-default `strictPlanVerification` setting. Two execution
modes meant two sets of failure semantics and two resume paths to keep correct, for a flag nobody
was expected to turn on — so executor-owned completion is now the only mode and the setting is no
longer read.
- **Automatic planning now follows task shape instead of message length.** MandoCode plans
high-confidence work such as three-step checklists, cross-cutting changes, and requests with
multiple deliverables. Questions, research, explanations, and narrow edits remain direct, and
Expand Down Expand Up @@ -79,6 +109,14 @@ ships .NET 10 and .NET 8 builds in the same package, with nothing for users to c
exists and when it goes away.

### Fixed
- **Long plans no longer stall when the host stops reading progress.** If the interface exited or
errored while a plan was running, progress reporting could block and the run would hang with no
way forward. Blocked work is now released.
- **A failed verification response no longer discards completed implementation work.** A retry
reuses the evidence already gathered — confirmed still valid by file hash — instead of rerunning
the implementation and re-reading unchanged files, so a plan makes progress toward finishing
rather than repeatedly rechecking itself. File-read results also get more room before clipping,
and checkpoints preserve partial file changes and pending verification.
- **Session token totals now use provider-reported usage only.** The previous display added rough
character-based estimates for file and tool payloads to prompt counts that already included
those payloads. Reads, search, and attachments no longer inflate the visible total or trigger
Expand All @@ -97,11 +135,15 @@ ships .NET 10 and .NET 8 builds in the same package, with nothing for users to c
and navigation state, not settled page content.

### Validation
The engine test suite runs on both .NET 8 and .NET 10. Coverage includes workflow topology,
733/733 tests passing on both .NET 8 and .NET 10. Coverage includes workflow topology,
checkpoint storage, resume context, retry behavior, plan revision, semantic step outcomes, proposal
handoff, input handling, scoped directory references, bounded tool results, and version labels.
Desktop adds host-level coverage, and the planner was also exercised through real CLI and Desktop
sessions, including forced process termination between steps.
sessions, including forced process termination between steps. New coverage for the command output
sink pins the properties a host display depends on: the full lifecycle is reported, a non-zero exit
reads as a failure rather than a kill, a bare `cd` produces no report at all, output past the
model's truncation cap still reaches the sink, and a sink that throws on every call leaves the
command running and reporting normally.

### Internal
- **Moved AI orchestration from Semantic Kernel to Microsoft Agent Framework.** The chat layer now
Expand Down