Skip to content

Complete Wave 0 launch foundation and shell decomposition - #23

Open
Mvkd108 wants to merge 74 commits into
mainfrom
codex/wave0-launch-foundation
Open

Complete Wave 0 launch foundation and shell decomposition#23
Mvkd108 wants to merge 74 commits into
mainfrom
codex/wave0-launch-foundation

Conversation

@Mvkd108

@Mvkd108 Mvkd108 commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Establishes the .NET 10 release foundation, authoritative launch ledger, package/installer qualification, meeting lifecycle decomposition, and tested SQLite substrate.
  • Decomposes the WPF shell into feature views with AppServices/navigation boundaries and complete feature-action routing.
  • Keeps SQLite migration disabled; excluded/external blockers remain explicitly documented.

Verification

  • Debug build: 0 warnings, 0 errors.
  • Release build: 0 warnings, 0 errors.
  • Debug tests: 630 passed, 0 failed, 4 explicit qualification skips.
  • Release tests: 630 passed, 0 failed, 4 explicit qualification skips.
  • Phase 12 preview validation: 352/352 cells passed.
  • Visible dashboard, Meetings, Models, Settings, and About navigation checked in dark and light themes.
  • Fresh runtime log slice: 0 ERROR, Unhandled UI exception, or XamlParseException.

The four skips require absent real media, streaming-model, or multi-speaker fixtures and are reported explicitly rather than silently passing.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

@coderabbitai

coderabbitai Bot commented Aug 18, 2026

Copy link
Copy Markdown

Important

Review available on request

  • 🔍 Trigger review

Reviews should be triggered manually for repositories with fewer than 10 stars. Select Trigger review above or comment @coderabbitai review to review the latest changes. For a full review, comment @coderabbitai full review.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 6c73a718-fd4b-4807-a00f-d9b8a41dfb83


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.

Mvkd108 and others added 29 commits August 18, 2026 19:19
Adds ignore rules for .NET build/test/coverage output, downloaded model
weights and native runtimes, local recordings and qualification results,
signing material, packaged installers, and agent-local scratch files.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Adds the full license texts referenced by THIRD-PARTY-NOTICES.md so the
distributed package can ship attribution offline.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Captures the phased delivery plan for the Windows native app and tracks
feature parity against the macOS build.

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

Introduces AtomicJsonFile for crash-safe JSON writes, CrossProcessFileLock
for coordinating access across app instances, and MuesliPathService as the
single source of truth for app data locations.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Stores API keys encrypted at rest with the current user's Windows DPAPI
key rather than in plaintext settings.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Ensures only one Muesli instance owns the hotkeys and capture devices,
handing activation to the running instance instead of starting a second.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Centralises monitor-aware window positioning and restores placement across
DPI and display-topology changes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Adds NativeSherpaRuntime to resolve and load the bundled sherpa-onnx
native libraries (CPU and CUDA), SafeArchiveExtractor for path-traversal
safe model unpacking, and ModelSetupArtifactCleaner to reclaim partial
downloads. Wires the sherpa-onnx and SharpCompress package references and
ships the CUDA runtime manifest.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Introduces a common TranscriptionProgress contract plus a throttling
wrapper so long transcriptions can report progress without flooding the
UI dispatcher.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Adds the sherpa-onnx Parakeet client for streaming recognition, a
timestamp segmenter that turns token timings into readable segments, and
a PCM normaliser that converts capture buffers to the model's expected
sample rate and format.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Describes the supported ASR models, their download sources, on-disk
layout and hardware requirements in one place so download, qualification
and UI all agree on what is installable.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Adds the batch (non-streaming) recognition path used for file imports and
post-meeting finalisation, sharing model resolution and progress
reporting with the streaming client.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Fronts the streaming and offline clients behind a single entry point that
selects the right backend from the catalog and the user's configured
model.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Handles install, verification, repair and removal of ASR models, and
resolves which streaming platform (CPU or CUDA) a given model can run on
for the current machine.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Adds sherpa-onnx segmentation and embedding based diarization, plus a
service for persisting user-assigned speaker names across a meeting.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Adds a LLamaSharp-backed cleanup pass that fixes punctuation and casing
locally, a filler-word filter, and the pipeline that sequences raw ASR
output through filtering and cleanup into final text.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Probes the installed native runtime, models and hardware at startup and
maps the result to a user-facing status so the UI can explain exactly
what is missing.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Adds sherpa-onnx segmentation and embedding based diarization, plus a
service for persisting user-assigned speaker names across a meeting.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Measures accuracy and latency across installed models on a fixed corpus,
and bounds how long benchmark captures are retained on disk.

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

Centralises where captured audio lives and when it is deleted, adds an
explicit retention policy for dictation scratch audio, surfaces the
Windows microphone privacy setting, and adds per-process loopback capture.

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

Replaces ad-hoc hotkey handling with an explicit gesture type, a probe
that detects conflicts with other applications, and a state machine that
models push-to-talk and toggle dictation deterministically.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Adds parsing for Zoom, Teams and Meet URLs, resolution of the most likely
active meeting from open windows and calendar entries, presence signals
from process and audio state, and platform badges for the UI.

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

Models a meeting session as explicit states with legal transitions, keeps
an ordered transcript timeline, records live-transcript window ownership,
and journals session state to disk so a crash mid-meeting can be recovered.

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

Drives streaming recognition for the duration of a meeting, detects and
backfills gaps where the stream dropped, and monitors capture health so
silent or dead devices are reported rather than silently producing nothing.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Declares the audio and video containers accepted for transcript import
and maps decoder plus recogniser progress onto a single progress bar.

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

Composes structured notes from transcript and summary output, adds
playback of the meeting recording aligned to the transcript, and states
plainly which provider processed a summary and whether it left the device.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Runs an end-to-end readiness check over runtime, models and capture
devices before a meeting starts so failures surface up front.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Runs the configured follow-up actions once a meeting finalises: export,
summarise and hand off notes, with each step independently recoverable.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Adds the planner that turns a requested desktop action into a reviewable
step list, a trace store recording what was actually executed, a UI bridge
for surfacing and confirming steps, and an out-of-process automation test
host so the flow can be exercised without driving the real desktop.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Mvkd108 and others added 26 commits August 18, 2026 20:51
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>
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>
Drops the Python worker payload from the package, bundles the native
runtime and license texts, and updates the Inno Setup script plus the
install, uninstall, signing and package smoke-test scripts to match.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Adds scripts to smoke-test each catalogued model, install the Parakeet
CUDA runtime, and benchmark native transcription and meeting throughput.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Runs dictation against a fixed corpus and per-target suites, and
summarises latency percentiles for release sign-off.

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

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Builds Release, runs the hardware-free regression suite, validates
PowerShell script syntax, and builds and smoke-tests the public win-x64
package on every pull request.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Updates the READMEs, roadmap, native plan, benchmark results and v1
release notes to describe the in-process sherpa-onnx pipeline that
replaced the Python worker, and records the context-transfer notes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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>
Custom ApplicationManifest was replacing the SDK-generated DPI block, so tests now extract RT_MANIFEST from the built EXE and assert PerMonitorV2 plus the true/pm fallback.

Co-authored-by: Cursor <cursoragent@cursor.com>
Public notices claimed a CUDA provider that the zip does not ship. Align notices, licenses, native inventory, and diagnostics so packaging tests fail on CUDA disclosure/runtime disagreement.

Co-authored-by: Cursor <cursoragent@cursor.com>
Give FeatureRuntime a repository-facing boundary without wiring AppServices or the locked runtime files.

Co-authored-by: Cursor <cursoragent@cursor.com>
Lock load/save order, missing and corrupt files, ParentId vs one-level folders, and the absence of a fake migrated-success path.

Co-authored-by: Cursor <cursoragent@cursor.com>
Map every production AppDataStore call, freeze the Wave 1 file lock, and specify rollback, schema, and ParentId rules without marking L27 complete.

Co-authored-by: Cursor <cursoragent@cursor.com>
Keep MTG-03 Partial: save/cancel and accept/reject cannot destroy the prior transcript, while FeatureRuntime wiring remains a later integration slice.

Co-authored-by: Cursor <cursoragent@cursor.com>
…ication

The human corpus and four paste reviews cannot be fabricated. This adds a schema-2 placeholder template that fails ValidateOnly, rehearsal tooling that reports qualified=false, and rejection coverage for empty/model-only references.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@Mvkd108
Mvkd108 force-pushed the codex/wave0-launch-foundation branch from d5032cf to 3bff598 Compare August 18, 2026 15:42
@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.

@socket-security

Copy link
Copy Markdown

@socket-security

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

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