Merge remote-tracking branch 'origin/dependabot/nuget/coverlet.collec… #67
build-validation.yml
on: push
Quality Gate
5m 4s
Unit Test Suite
4m 40s
Coverage Suite
3m 55s
UI Test Suite
4m 33s
Annotations
12 errors
|
Coverage Suite
Process completed with exit code 1.
|
|
SelectProviderSurfacesGeminiSuggestedAndSupportedModels:
DotPilot.Tests/Settings/ViewModels/SettingsModelTests.cs#L145
Expected details {
DotPilot.Presentation.ProviderDetailItem
{
Label = "Installed version",
Value = "0.34.0"
},
DotPilot.Presentation.ProviderDetailItem
{
Label = "Suggested model",
Value = "gemini-2.5-pro"
},
DotPilot.Presentation.ProviderDetailItem
{
Label = "Supported models",
Value = "gemini-2.5-pro"
}
} to have an item matching ((detail.Label == "Supported models") AndAlso detail.Value.Contains("gemini-2.5-flash", Ordinal)).
|
|
EnabledGeminiProviderReportsReadyRuntimeAndSuggestedModels:
DotPilot.Tests/Providers/Services/AgentProviderStatusReaderTests.cs#L198
Expected provider.SupportedModelNames {
"gemini-2.5-pro"
} to contain "gemini-2.5-flash".
|
|
SendMessageAsyncPersistsTranscriptErrorWhenLocalLlamaRuntimeFailsToLoad:
DotPilot.Tests/ChatSessions/Execution/AgentSessionServiceTests.cs#L524
Expected streamedResults.Where(result => result.IsSuccess).Select(result => result.Value!) {
DotPilot.Core.ChatSessions.Contracts.SessionStreamEntry
{
AccentLabel = <null>,
AgentProfileId = <null>,
Author = "You",
Id = "019d2fa0c825705ab67cabfa7ca83a93",
Kind = SessionStreamEntryKind.UserMessage {value: 0},
SessionId = DotPilot.Core.SessionId
{
Value = {019d2fa0-c821-7ff1-a88c-9752e7efc73a}
},
Text = "trigger the broken llama model",
Timestamp = <2026-03-27 14:09:19.3979277 +0h>
},
DotPilot.Core.ChatSessions.Contracts.SessionStreamEntry
{
AccentLabel = "status",
AgentProfileId = <null>,
Author = "System",
Id = "019d2fa0c8267a3e8cc8aebf66e73087",
Kind = SessionStreamEntryKind.Status {value: 4},
SessionId = DotPilot.Core.SessionId
{
Value = {019d2fa0-c821-7ff1-a88c-9752e7efc73a}
},
Text = "Running Editable Session Agent with LLamaSharp.",
Timestamp = <2026-03-27 14:09:19.3986975 +0h>
},
DotPilot.Core.ChatSessions.Contracts.SessionStreamEntry
{
AccentLabel = "error",
AgentProfileId = <null>,
Author = "System",
Id = "019d2fa0c82874baaed85e96feef8736",
Kind = SessionStreamEntryKind.Error {value: 5},
SessionId = DotPilot.Core.SessionId
{
Value = {019d2fa0-c821-7ff1-a88c-9752e7efc73a}
},
Text = "LLamaSharp failed before responding: Failed to load model 'C:\Users\runneradmin\AppData\Local\Temp\DotPilot.Tests\AgentSessionServiceTests\2dc7fdb9f19d4485930698e93965bfcd\broken-mistral.gguf'.",
Timestamp = <2026-03-27 14:09:19.4004945 +0h>
}
} to have an item matching (((Convert(entry.Kind, Int32) == 5) AndAlso entry.Text.Contains("LlamaSharp failed before responding", Ordinal)) AndAlso entry.Text.Contains("Failed to load model", Ordinal)).
|
|
GetWorkspaceAsyncSeedsDefaultSystemAgentForANewStore:
DotPilot.Tests/ChatSessions/Execution/AgentSessionServiceTests.cs#L33
Expected workspace.Providers to contain 5 item(s), but found 7: DotPilot.Core.ChatSessions.Contracts.ProviderStatusDescriptor
{
Actions = {empty},
CanCreateAgents = True,
CommandName = "debug",
Details = {empty},
DisplayName = "Debug Provider",
Id = DotPilot.Core.ProviderId
{
Value = {badf33d9-9434-8b35-bc0d-ad13fbe96f6f}
},
InstalledVersion = "debug-echo",
IsEnabled = True,
Kind = AgentProviderKind.Debug {value: 0},
Status = AgentProviderStatus.Ready {value: 0},
StatusSummary = "Built in and ready for deterministic local testing.",
SuggestedModelName = "debug-echo",
SupportedModelNames = {"debug-echo"}
},
DotPilot.Core.ChatSessions.Contracts.ProviderStatusDescriptor
{
Actions = DotPilot.Core.ChatSessions.Contracts.ProviderActionDescriptor
{
{
Command = "npm install -g @openai/codex",
Kind = ProviderActionKind.CopyCommand {value: 0},
Label = "Install",
Summary = "Install the CLI, then refresh settings."
}
}
,
CanCreateAgents = False,
CommandName = "codex",
Details = DotPilot.Core.ChatSessions.Contracts.ProviderDetailDescriptor
{
{
Label = "Install command",
Value = "npm install -g @openai/codex"
}
}
,
DisplayName = "Codex",
Id = DotPilot.Core.ProviderId
{
Value = {487f6a88-d438-8239-8153-806c4fe41b28}
},
InstalledVersion = <null>,
IsEnabled = False,
Kind = AgentProviderKind.Codex {value: 1},
Status = AgentProviderStatus.Disabled {value: 2},
StatusSummary = "Provider is disabled for local agent creation. Codex CLI is not installed.",
SuggestedModelName = "",
SupportedModelNames = {empty}
},
DotPilot.Core.ChatSessions.Contracts.ProviderStatusDescriptor
{
Actions = DotPilot.Core.ChatSessions.Contracts.ProviderActionDescriptor
{
{
Command = "npm install -g @anthropic-ai/claude-code",
Kind = ProviderActionKind.CopyCommand {value: 0},
Label = "Install",
Summary = "Install the CLI, then refresh settings."
}
}
,
CanCreateAgents = False,
CommandName = "claude",
Details = DotPilot.Core.ChatSessions.Contracts.ProviderDetailDescriptor
{
{
Label = "Install command",
Value = "npm install -g @anthropic-ai/claude-code"
}
}
,
DisplayName = "Claude Code",
Id = DotPilot.Core.ProviderId
{
Value = {7f8bf571-b16a-8bda-84ee-d925f4dcfe23}
},
InstalledVersion = <null>,
IsEnabled = False,
Kind = AgentProviderKind.ClaudeCode {value: 2},
Status = AgentProviderStatus.Disabled {value: 2},
StatusSummary = "Provider is disabled for local agent creation. Claude Code CLI is not installed.",
SuggestedModelName = "",
SupportedModelNames = {empty}
}DotPilot.Core.ChatSessions.Contracts.ProviderStatusDescriptor
{
Actions = DotPilot.Core.ChatSessions.Contracts.ProviderActionDescriptor
{
{
Command = "npm install -g @github/copilot",
Kind = ProviderActionKind.CopyCommand {value: 0},
Label = "Install",
Summary = "Install the CLI, then refresh settings."
}
}
,
(Output has exceeded the maximum of 100 lines. Increase FormattingOptions.MaxLines on AssertionScope or AssertionConfiguration to include more lines.).
|
|
SendMessageShowsPersistedTranscriptErrorWhenLocalLlamaRuntimeFails:
DotPilot.Tests/Chat/ViewModels/ChatModelTests.cs#L103
Expected activeSession!.Messages {
DotPilot.Presentation.ChatTimelineItem
{
AccentLabel = "status",
Author = "System",
AvatarBrush = <null>,
Content = "Session started with Mutable Agent on Debug Provider. Send a message when ready.",
Id = "019d2fa0a75d719d8372357a395acc02",
Initial = "S",
IsCurrentUser = False,
Kind = SessionStreamEntryKind.Status {value: 4},
Timestamp = "14:09"
},
DotPilot.Presentation.ChatTimelineItem
{
AccentLabel = <null>,
Author = "You",
AvatarBrush = <null>,
Content = "trigger the broken llama model",
Id = "019d2fa0a7657c55aafcead03fc1d379",
Initial = "Y",
IsCurrentUser = True,
Kind = SessionStreamEntryKind.UserMessage {value: 0},
Timestamp = "14:09"
},
DotPilot.Presentation.ChatTimelineItem
{
AccentLabel = "status",
Author = "System",
AvatarBrush = <null>,
Content = "Running Mutable Agent with LLamaSharp.",
Id = "019d2fa0a7657dd0a17344aca0795d87",
Initial = "S",
IsCurrentUser = False,
Kind = SessionStreamEntryKind.Status {value: 4},
Timestamp = "14:09"
},
DotPilot.Presentation.ChatTimelineItem
{
AccentLabel = "error",
Author = "System",
AvatarBrush = <null>,
Content = "LLamaSharp failed before responding: Failed to load model 'C:\Users\runneradmin\AppData\Local\Temp\DotPilot.Tests\ChatModelTests\3aad757af1dc4d368e31b704d105aff3\broken-mistral.gguf'.",
Id = "019d2fa0a7fc73f48a03f50b852c73fc",
Initial = "S",
IsCurrentUser = False,
Kind = SessionStreamEntryKind.Error {value: 5},
Timestamp = "14:09"
}
} to have an item matching (((Convert(message.Kind, Int32) == 5) AndAlso message.Content.Contains("LlamaSharp failed before responding", Ordinal)) AndAlso message.Content.Contains("Failed to load model", Ordinal)).
|
|
Unit Test Suite
Process completed with exit code 1.
|
|
SelectProviderSurfacesGeminiSuggestedAndSupportedModels:
DotPilot.Tests/Settings/ViewModels/SettingsModelTests.cs#L145
Expected details {
DotPilot.Presentation.ProviderDetailItem
{
Label = "Installed version",
Value = "0.34.0"
},
DotPilot.Presentation.ProviderDetailItem
{
Label = "Suggested model",
Value = "gemini-2.5-pro"
},
DotPilot.Presentation.ProviderDetailItem
{
Label = "Supported models",
Value = "gemini-2.5-pro"
}
} to have an item matching ((detail.Label == "Supported models") AndAlso detail.Value.Contains("gemini-2.5-flash", Ordinal)).
|
|
EnabledGeminiProviderReportsReadyRuntimeAndSuggestedModels:
DotPilot.Tests/Providers/Services/AgentProviderStatusReaderTests.cs#L198
Expected provider.SupportedModelNames {
"gemini-2.5-pro"
} to contain "gemini-2.5-flash".
|
|
SendMessageAsyncPersistsTranscriptErrorWhenLocalLlamaRuntimeFailsToLoad:
DotPilot.Tests/ChatSessions/Execution/AgentSessionServiceTests.cs#L524
Expected streamedResults.Where(result => result.IsSuccess).Select(result => result.Value!) {
DotPilot.Core.ChatSessions.Contracts.SessionStreamEntry
{
AccentLabel = <null>,
AgentProfileId = <null>,
Author = "You",
Id = "019d2fa17ec57733b8dfea5bdde38b6c",
Kind = SessionStreamEntryKind.UserMessage {value: 0},
SessionId = DotPilot.Core.SessionId
{
Value = {019d2fa1-7ebf-72da-9ece-3f90d5109230}
},
Text = "trigger the broken llama model",
Timestamp = <2026-03-27 14:10:06.1491226 +0h>
},
DotPilot.Core.ChatSessions.Contracts.SessionStreamEntry
{
AccentLabel = "status",
AgentProfileId = <null>,
Author = "System",
Id = "019d2fa17ec578c39f4e74b64f96c061",
Kind = SessionStreamEntryKind.Status {value: 4},
SessionId = DotPilot.Core.SessionId
{
Value = {019d2fa1-7ebf-72da-9ece-3f90d5109230}
},
Text = "Running Editable Session Agent with LLamaSharp.",
Timestamp = <2026-03-27 14:10:06.1499181 +0h>
},
DotPilot.Core.ChatSessions.Contracts.SessionStreamEntry
{
AccentLabel = "error",
AgentProfileId = <null>,
Author = "System",
Id = "019d2fa17ec77208964bedafdcc5cf76",
Kind = SessionStreamEntryKind.Error {value: 5},
SessionId = DotPilot.Core.SessionId
{
Value = {019d2fa1-7ebf-72da-9ece-3f90d5109230}
},
Text = "LLamaSharp failed before responding: Failed to load model 'C:\Users\runneradmin\AppData\Local\Temp\DotPilot.Tests\AgentSessionServiceTests\f26d5a8e77f646bdbbc50afd2b44fa16\broken-mistral.gguf'.",
Timestamp = <2026-03-27 14:10:06.1518966 +0h>
}
} to have an item matching (((Convert(entry.Kind, Int32) == 5) AndAlso entry.Text.Contains("LlamaSharp failed before responding", Ordinal)) AndAlso entry.Text.Contains("Failed to load model", Ordinal)).
|
|
GetWorkspaceAsyncSeedsDefaultSystemAgentForANewStore:
DotPilot.Tests/ChatSessions/Execution/AgentSessionServiceTests.cs#L33
Expected workspace.Providers to contain 5 item(s), but found 7: DotPilot.Core.ChatSessions.Contracts.ProviderStatusDescriptor
{
Actions = {empty},
CanCreateAgents = True,
CommandName = "debug",
Details = {empty},
DisplayName = "Debug Provider",
Id = DotPilot.Core.ProviderId
{
Value = {badf33d9-9434-8b35-bc0d-ad13fbe96f6f}
},
InstalledVersion = "debug-echo",
IsEnabled = True,
Kind = AgentProviderKind.Debug {value: 0},
Status = AgentProviderStatus.Ready {value: 0},
StatusSummary = "Built in and ready for deterministic local testing.",
SuggestedModelName = "debug-echo",
SupportedModelNames = {"debug-echo"}
},
DotPilot.Core.ChatSessions.Contracts.ProviderStatusDescriptor
{
Actions = DotPilot.Core.ChatSessions.Contracts.ProviderActionDescriptor
{
{
Command = "npm install -g @openai/codex",
Kind = ProviderActionKind.CopyCommand {value: 0},
Label = "Install",
Summary = "Install the CLI, then refresh settings."
}
}
,
CanCreateAgents = False,
CommandName = "codex",
Details = DotPilot.Core.ChatSessions.Contracts.ProviderDetailDescriptor
{
{
Label = "Install command",
Value = "npm install -g @openai/codex"
}
}
,
DisplayName = "Codex",
Id = DotPilot.Core.ProviderId
{
Value = {487f6a88-d438-8239-8153-806c4fe41b28}
},
InstalledVersion = <null>,
IsEnabled = False,
Kind = AgentProviderKind.Codex {value: 1},
Status = AgentProviderStatus.Disabled {value: 2},
StatusSummary = "Provider is disabled for local agent creation. Codex CLI is not installed.",
SuggestedModelName = "",
SupportedModelNames = {empty}
},
DotPilot.Core.ChatSessions.Contracts.ProviderStatusDescriptor
{
Actions = DotPilot.Core.ChatSessions.Contracts.ProviderActionDescriptor
{
{
Command = "npm install -g @anthropic-ai/claude-code",
Kind = ProviderActionKind.CopyCommand {value: 0},
Label = "Install",
Summary = "Install the CLI, then refresh settings."
}
}
,
CanCreateAgents = False,
CommandName = "claude",
Details = DotPilot.Core.ChatSessions.Contracts.ProviderDetailDescriptor
{
{
Label = "Install command",
Value = "npm install -g @anthropic-ai/claude-code"
}
}
,
DisplayName = "Claude Code",
Id = DotPilot.Core.ProviderId
{
Value = {7f8bf571-b16a-8bda-84ee-d925f4dcfe23}
},
InstalledVersion = <null>,
IsEnabled = False,
Kind = AgentProviderKind.ClaudeCode {value: 2},
Status = AgentProviderStatus.Disabled {value: 2},
StatusSummary = "Provider is disabled for local agent creation. Claude Code CLI is not installed.",
SuggestedModelName = "",
SupportedModelNames = {empty}
}DotPilot.Core.ChatSessions.Contracts.ProviderStatusDescriptor
{
Actions = DotPilot.Core.ChatSessions.Contracts.ProviderActionDescriptor
{
{
Command = "npm install -g @github/copilot",
Kind = ProviderActionKind.CopyCommand {value: 0},
Label = "Install",
Summary = "Install the CLI, then refresh settings."
}
}
,
(Output has exceeded the maximum of 100 lines. Increase FormattingOptions.MaxLines on AssertionScope or AssertionConfiguration to include more lines.).
|
|
SendMessageShowsPersistedTranscriptErrorWhenLocalLlamaRuntimeFails:
DotPilot.Tests/Chat/ViewModels/ChatModelTests.cs#L103
Expected activeSession!.Messages {
DotPilot.Presentation.ChatTimelineItem
{
AccentLabel = "status",
Author = "System",
AvatarBrush = <null>,
Content = "Session started with Mutable Agent on Debug Provider. Send a message when ready.",
Id = "019d2fa162d9792e802527e4abcabdbe",
Initial = "S",
IsCurrentUser = False,
Kind = SessionStreamEntryKind.Status {value: 4},
Timestamp = "14:09"
},
DotPilot.Presentation.ChatTimelineItem
{
AccentLabel = <null>,
Author = "You",
AvatarBrush = <null>,
Content = "trigger the broken llama model",
Id = "019d2fa162e3794492c8e61bad4b5735",
Initial = "Y",
IsCurrentUser = True,
Kind = SessionStreamEntryKind.UserMessage {value: 0},
Timestamp = "14:09"
},
DotPilot.Presentation.ChatTimelineItem
{
AccentLabel = "status",
Author = "System",
AvatarBrush = <null>,
Content = "Running Mutable Agent with LLamaSharp.",
Id = "019d2fa162e3759e99597dd0f19f01a5",
Initial = "S",
IsCurrentUser = False,
Kind = SessionStreamEntryKind.Status {value: 4},
Timestamp = "14:09"
},
DotPilot.Presentation.ChatTimelineItem
{
AccentLabel = "error",
Author = "System",
AvatarBrush = <null>,
Content = "LLamaSharp failed before responding: Failed to load model 'C:\Users\runneradmin\AppData\Local\Temp\DotPilot.Tests\ChatModelTests\a387dc8fc07b4d28934a0873d0b383a8\broken-mistral.gguf'.",
Id = "019d2fa163347483add960b173c11cb0",
Initial = "S",
IsCurrentUser = False,
Kind = SessionStreamEntryKind.Error {value: 5},
Timestamp = "14:09"
}
} to have an item matching (((Convert(message.Kind, Int32) == 5) AndAlso message.Content.Contains("LlamaSharp failed before responding", Ordinal)) AndAlso message.Content.Contains("Failed to load model", Ordinal)).
|