Files
meeting-assistant/openspec/changes/add-macos-desktop-controls/main-sync-completion.md
T

4.8 KiB

macOS main synchronization — 2026-10-03

Candidate and scope

Repository: /Users/dh/Documents/DanielsVault/_ops/meeting-assistant. Authorized delivery: fetch remote main, merge into codex/macos-support, deploy and verify on this Mac. No main push or OpenSpec archive.

Old branch HEAD: bf6e1e7560c6bdfcebf69ad0e3240b4de647adb6. Fetched and rechecked remote main: 7b2bcd36310ae6434a4ee6eeb3a47b6d1d431df4. The initial worktree was clean. Upstream changes are included unchanged except conflict resolution; prior macOS features are preserved.

Substantive review covers the owned merge resolutions and required portable interface adaptation, not an independent review of all upstream or earlier branch features. Reviewed current content manifest:

File SHA-256
MeetingAssistant/Program.cs 1165364aeb846fc164cc875146b8fd70636dbc2c51e47ae3a373dab75330ce2a
MeetingAssistant/MacOs/MacOsWorkflowRulesEditorWindowService.cs b008ef5893dd1caf20f504e3a9bde390dd8f0e4fe6c31f9725d26fd5007b6e23
MeetingAssistant.Tests/MacOsDesktopControlManifestTests.cs 3ff6e8c73830fb350c6f7d89e550a84eacef6acb3c363407ab8eb8a8c2f0dfe5
docs/meeting-workflow-engine.md 9792a398f387a96a4fe1a02bfe13f19a9ca30cc869bbbe393f7341e0cbdb3a9e
openspec/changes/add-macos-desktop-controls/specs/meeting-session/spec.md 5b730cd96bed5e7dff87690272d5755d8b9d0ef5bcc78a674c6688e152ac635d
openspec/changes/add-macos-desktop-controls/tasks.md 877304a11600e513630d495882564dfd083825f163a4c53574f76f3fd2d1f42e

This receipt and generated logs are evidence, excluded from the reviewed behavioral content identity.

Requirements and verification

  • Preserve macOS recording/menu/calendar/screenshot/editor registrations: resolved composition inspected; existing native registration and manifest tests pass. Upstream no-op approval dependency is present without replacing real macOS providers.
  • Reject unavailable automatic approvals without changing the interactive conversation: MacOsApplicationDeclinesUnavailableAutomaticApprovals calls the registered approval service through its public interface and observes false.
  • Never silently discard an automatic workflow prompt: AutomaticWorkflowChangeCannotSilentlyLoseItsPromptOnMacOs observes PlatformNotSupportedException. A compiled red run first reported actual NotImplementedException; the subsequent implementation passes.
  • Existing interactive editor remains available: existing MacOsApplicationRegistersARealInteractiveAgentWindow passes; Show() is unchanged.
  • Full portable regression suite: 576 passed, zero failed, on this Mac. Command: dotnet test MeetingAssistant.Tests/MeetingAssistant.Tests.csproj -f net10.0 -c Release -p:EnableWindowsTargeting=true --logger 'trx;LogFileName=macos-main-sync-green.trx'. Raw red/green receipts: MeetingAssistant.Tests/TestResults/macos-main-sync-{red,green}.trx (generated, not committed).
  • Strict OpenSpec validation passed for add-macos-desktop-controls, add-summary-agent-requests, and prompt-for-new-microphone. git diff --check passed.

The new upstream approval notifications are Windows-only. On portable hosts approval requests are declined as permitted by the upstream notification-unavailable scenario. No new native notification feature is claimed.

Standards and sequential review

Rules: repository AGENTS.md, the active macOS desktop-control scenario, and upstream automatic approval unavailability requirements. Coverage: public-interface tests/duplication → DRY; coherent dependencies, explicit platform failure, lifecycle preservation, source ownership → SOLID; minimal sync scope, naming/readability, spec/docs/task consistency → KISS. Typechecking and whitespace are covered by build/tests and diff check.

  • DRY /root/review_dry: clean; verified all six manifest hashes and surrounding composition/approval code. No duplication needing consolidation. Public-interface tests satisfy repository guidance.
  • SOLID /root/review_solid: clean; verified all six hashes, interface/callers and native registrations. Explicit unsupported handoff is caught by its caller; normal interactive editor is unchanged. No abstraction needed.
  • KISS: pending independent review.

Delivery and runtime evidence

State: review in progress; build and runtime verification pending. The existing updater can skip managed-only bundle changes. This deployment must replace the complete signed bundle, not just the loose runtime. Recoverable backup: /Users/dh/Library/Application Support/MeetingAssistant/backups/main-sync-20261003.DtKbYS. Isolated test/evidence directory: /private/tmp/meeting-assistant-main-sync.gABedp. Configuration and credentials remain external; a temporary root-level smoke overlay is restored byte-for-byte after testing. No genuine meeting artifacts are test cleanup targets.