Skip to content

[11/12] test: hardware-free regression suite — 484 tests - #20

Open
Mvkd108 wants to merge 8 commits into
refactor/remove-python-worker-pipelinefrom
test/import-export-and-automation-coverage
Open

[11/12] test: hardware-free regression suite — 484 tests#20
Mvkd108 wants to merge 8 commits into
refactor/remove-python-worker-pipelinefrom
test/import-export-and-automation-coverage

Conversation

@Mvkd108

@Mvkd108 Mvkd108 commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Status: REVIEW ONLY — do not merge. PR 11 of 12 in a stacked series; stacked on #19. This PR shows only its own chunk. Series intro, divergence notes and full map: #10. Next: #21.

This PR (11/12): hardware-free regression suite — 484 tests

Commits:

  • f5e428f test: hardware-free regression test project — windows-native/Muesli.Windows.Tests/ (project, GlobalUsings.cs)
  • 63fd7b1 test: model catalog, runtime status and single-instance behaviour — ModelAndSingleInstanceTests.cs, TranscriptionModelPlatformTests.cs
  • ccfb35c test: dictation state machine, hotkeys, paste and toasts — Phase2DictationTests.cs, HotkeyAndPasteTests.cs, ToastNotificationServiceTests.cs
  • 2d05ee9 test: meeting lifecycle, live transcription, finalisation, detection and notes — Phase3MeetingLifecycleTests.cs, Phase4LiveTranscriptionTests.cs, Phase5FinalizationTests.cs, Phase6DetectionTests.cs, Phase7NotesTests.cs
  • 556d813 test: media import, export, automation, computer use and onboarding — Phase8MediaImportTests.cs, Phase8ImportCancellationTests.cs, Phase8ExportTests.cs, Phase9AutomationTests.cs, Phase9AutomationPersistenceTests.cs, Phase10ComputerUseTests.cs, Phase12ProductExperienceTests.cs
  • Plus: AtomicPersistenceTests.cs, SecretsAndSettingsTests.cs, CapturePrivacyAndRuntimeTests.cs, TextAndSummaryTests.cs

23 files, +6,326.

Review focus

  • Hardware-free design: no microphone, GPU, model downloads or network required; ASR/LLM boundaries are faked at the native-client seams.
  • Coverage map vs the parity phases (PRs 2–8) — anything asserted here overrides prose docs when they disagree.
  • Determinism: no real timers/file paths outside temp, no cross-test state.
  • Phase8ImportCancellationTests — asserts service-level import cancellation/progress contracts (UI affordances are a documented follow-up, see PR 6 Known limits).

Expected — do not flag: tests exercise public service contracts, not internals; some cover features that ship Off by default (PRs 6/7) — that is intentional contract pinning.

Test evidence

This PR is the suite:

  • dotnet build windows-native\Muesli.Windows\Muesli.Windows.csproj --no-restore — clean
  • dotnet test windows-native\Muesli.Windows.Tests\Muesli.Windows.Tests.csproj --no-restore484/484 passing

Previous: #19 | Next: #21

Copilot AI lite review requested due to automatic review settings August 4, 2026 09:04
@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: df78bef0-cfc4-4670-9b7a-61dcf7347b46

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@socket-security

socket-security Bot commented Aug 4, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedmicrosoft.net.test.sdk@​18.8.110010090100100
Addedxunit@​2.9.310010090100100
Addedxunit.runner.visualstudio@​3.1.59610090100100

View full report

@socket-security

socket-security Bot commented Aug 4, 2026

Copy link
Copy Markdown

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
Obfuscated code: nuget system.reflection.metadata is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: windows-native/Muesli.Windows.Tests/Muesli.Windows.Tests.csprojnuget/microsoft.net.test.sdk@18.8.1nuget/system.reflection.metadata@8.0.0

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore nuget/system.reflection.metadata@8.0.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new Muesli.Windows.Tests project containing a large, hardware-free regression suite intended to pin public service contracts and key behaviors across dictation, meetings, model lifecycle, automation, import/export, detection, summaries, computer-use safety, and onboarding/Phase12 preview contracts.

Changes:

  • Introduces windows-native/Muesli.Windows.Tests/ test project (xUnit + WPF support) and shared GlobalUsings.cs.
  • Adds extensive contract/regression tests spanning model catalogs/lifecycle, dictation/hotkeys/paste/toasts, meeting lifecycle/finalization/live transcription/detection/notes, import/export/cancellation, automation + persistence, privacy/retention, and computer-use safety validation.
  • Adds Phase 12 “visual preview” source-contract tests that assert specific XAML/code/script invariants.

Reviewed changes

Copilot reviewed 23 out of 23 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
windows-native/Muesli.Windows.Tests/TranscriptionModelPlatformTests.cs Offline model catalog/migration assertions plus client switching and lifecycle recovery tests.
windows-native/Muesli.Windows.Tests/ToastNotificationServiceTests.cs Verifies toast placement clamping behavior for multiple monitor/work-area scenarios.
windows-native/Muesli.Windows.Tests/TextAndSummaryTests.cs Covers dictionary/speaker alias boundaries, transcript formatting, and summary fallback behavior.
windows-native/Muesli.Windows.Tests/SecretsAndSettingsTests.cs Pins safe defaults, normalization/bounds, schema-forward-compat behavior, and secret migration guarantees.
windows-native/Muesli.Windows.Tests/Phase9AutomationTests.cs Large suite for post-meeting automation hook execution, redaction, retries, job-object behavior, and auto-export.
windows-native/Muesli.Windows.Tests/Phase9AutomationPersistenceTests.cs Ensures automation diagnostics persist/round-trip correctly with meeting persistence.
windows-native/Muesli.Windows.Tests/Phase8MediaImportTests.cs Validates advertised import formats, guidance messaging, deterministic decoding, and owned-file deletion rules.
windows-native/Muesli.Windows.Tests/Phase8ImportCancellationTests.cs Pins progress mapping/throttling and cancellation propagation across import/transcription/cleanup.
windows-native/Muesli.Windows.Tests/Phase8ExportTests.cs Verifies export mode content, determinism, filenames, PDF/markdown output, and error propagation.
windows-native/Muesli.Windows.Tests/Phase7NotesTests.cs Notes provider contract tests (Ollama/cloud), disclosure rules, templates, and persistence constraints.
windows-native/Muesli.Windows.Tests/Phase6DetectionTests.cs Join-URL parsing + anti-lookalike checks, evidence classification, false-positive suppression, and badge metadata.
windows-native/Muesli.Windows.Tests/Phase5FinalizationTests.cs Finalization pipeline tests: timelines, merge ordering, identity assignment, dedupe, and fixture-gated diarization qualification.
windows-native/Muesli.Windows.Tests/Phase4LiveTranscriptionTests.cs Streaming model verification, live session behavior, bounded queues/gaps, ownership semantics, and fixture-gated real inference.
windows-native/Muesli.Windows.Tests/Phase3MeetingLifecycleTests.cs Meeting state machine determinism, audio health monitoring, recovery, legacy migrations, and retention safeguards.
windows-native/Muesli.Windows.Tests/Phase2DictationTests.cs Dictation hotkey state machine, filler/dictionary behavior, retention bounds, and temp-audio recovery rules.
windows-native/Muesli.Windows.Tests/Phase12ProductExperienceTests.cs Phase 12 onboarding/preview contract tests asserting code/XAML/script invariants and privacy constraints.
windows-native/Muesli.Windows.Tests/Phase10ComputerUseTests.cs Computer-use planner validation, risk gating, privacy rejection, loopback devtools constraints, and trace-store bounds.
windows-native/Muesli.Windows.Tests/Muesli.Windows.Tests.csproj New test project configuration + automation test host copy step.
windows-native/Muesli.Windows.Tests/ModelAndSingleInstanceTests.cs Pins model hashes, safe archive extraction, lock behavior, and single-instance routing rules.
windows-native/Muesli.Windows.Tests/HotkeyAndPasteTests.cs Hotkey parsing/matching plus clipboard/paste behavior and race handling via fakes.
windows-native/Muesli.Windows.Tests/GlobalUsings.cs Shared test usings for xUnit, services, and common BCL namespaces.
windows-native/Muesli.Windows.Tests/CapturePrivacyAndRuntimeTests.cs Capture storage ownership, transient cleanup/idempotence, log redaction/retention, runtime status mapping.
windows-native/Muesli.Windows.Tests/AtomicPersistenceTests.cs Atomic JSON persistence behaviors, corruption quarantine/recovery, concurrent saves, and deletion redaction.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +507 to +511
var firstSpeaker = SpeakerFor(systemSegments[0], segments);
var returningSpeaker = SpeakerFor(systemSegments[^1], segments);
output.WriteLine($"first voice id={firstSpeaker}; returning voice id={returningSpeaker}");
Assert.False(string.IsNullOrEmpty(firstSpeaker));
}
}

[Fact]
public void BadgeAccentsAndLabelsAreDistinctSoPlatformsAreTelledApart()
}

[Fact]
public void Preview_matrix_has_the_complete_128_visual_cells()
@Mvkd108
Mvkd108 force-pushed the test/import-export-and-automation-coverage branch from 556d813 to dd40b79 Compare August 8, 2026 16:34
Mvkd108 and others added 8 commits August 18, 2026 20:51
Wires the dashboard, dictation, meetings, model management, benchmarking,
onboarding, computer-use and diagnostics surfaces onto the native
services introduced in the preceding changes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Scaffolds the xunit test project that runs without a microphone, GPU or
downloaded models, covering atomic persistence and the settings/secret
stores.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Adds coverage for model resolution and platform selection, archive
extraction safety, artifact cleanup, cross-process locking, runtime
status mapping, capture privacy, and text/summary post-processing.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…ction and notes

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…ding

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Git checks source out with CRLF on Windows (core.autocrlf=true), so the
literal "\n" in the Show()/PositionWindow ordering assertion never
matched on a clean clone and the test failed for reasons unrelated to
the invariant it guards. Normalise the file text before asserting.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@Mvkd108
Mvkd108 force-pushed the test/import-export-and-automation-coverage branch from dd40b79 to e43d92b Compare August 18, 2026 15:23
@claude

claude Bot commented Aug 18, 2026

Copy link
Copy Markdown

Claude encountered an error after 0s —— View job


I'll analyze this and get back to you.

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.

2 participants