forked from Manuel/meeting-assistant
58 lines
8.7 KiB
Markdown
58 lines
8.7 KiB
Markdown
# Ticket 01 implementation and verification evidence
|
|
|
|
Date: 2026-10-03. The user accepted the implemented scope and requested ticket closure, commit, push and cleanup. Actual Windows test execution remains unverified, so OpenSpec Task 1.1 remains open. The original `add-macos-user-communication` tasks and historical evidence are unchanged. The [completion record](completion.md) records the subsequent reviews and delivery state.
|
|
|
|
## Scope and identity
|
|
|
|
Owning Git root: the `meeting-assistant` repository. Delivery target: `fork/codex/macos-support`. Initial implementation used HEAD `1164c26846686c1912fd1816cd06de80352e9504` plus the existing uncommitted communication implementation. Closeout integrates the five remote commits through `1b19b08`, preserving their Wine 11, SDK trust and core tray package fixes. An isolated checkout prepares the combined candidate; delivery status belongs to the completion record. No deployment or live-service restart is part of this task.
|
|
|
|
The existing `complete-macos-feature-parity` change owns PARITY-TEST-01, PARITY-TEST-02 and PARITY-EVIDENCE-01. OpenSpec apply routing selected this change; no new change or skipped OpenSpec workflow was needed.
|
|
|
|
The [content manifest](windows-test-assurance-content.sha256) identifies 295 application, native-helper, test, fixture, build, CI and verifier files. Current manifest SHA-256: `19d7f4afae918d1fc3df24bb400e27ade2546d00d94d071467191dc3525bed00`. It excludes build outputs and personal local configuration. Documentation/task annotations are outside this code-content identity. The initial manifest was `05f078215a6bdabcc763a131f71544272d1b7bcd72d6b9a0d33295893505ab92`; only the integrated Windows package and CI inputs changed within those entries.
|
|
|
|
Implemented:
|
|
|
|
- Both explicit test TFMs select the matching application TFM; Windows uses x64/WPF with the usual IO/HTTP test imports retained.
|
|
- A passing public composition test checks target/platform assembly metadata, health/capability endpoints and actual platform service registrations; its output identifies target and runtime host.
|
|
- Both false-green early returns are replaced by Windows facts with capability-specific skip reasons. Native macOS facts require the portable macOS target. Portable-only endpoint assertions are excluded from Windows compilation.
|
|
- HTTP fixtures retain production registrations while isolating application background services. Tests explicitly re-enable only the cleanup or temporary-database activity they exercise.
|
|
- CI builds, discovers, executes and retains portable/Windows artifacts separately. The Windows application step uses normal resource generation. The C# file-based verifier validates named discovery against result records, the five exact Outlook cases, real skips/passes and current counters.
|
|
|
|
The entry points, helper dependencies/effects and runner commands are documented in `docs/platform-test-verification.md`.
|
|
|
|
## Executed results
|
|
|
|
Evidence paths below are relative to the repository root, under ignored `artifacts/tests/ticket01/`. These local artifacts retain actual test/build logs and TRX results; they are not a remote CI run.
|
|
|
|
| Surface | Host and target | Actual result | Evidence |
|
|
| --- | --- | --- | --- |
|
|
| Complete portable suite | macOS 26.6, arm64; SDK 10.0.203/runtime 10.0.7; `net10.0` | Initial and final candidate runs each have 641 discovered/results, **639 passed, 2 skipped, 0 failed** | Initial `portable/`; current `closeout/portable/`, `closeout/portable-full-suite.log`, `closeout/focused-proof.txt` |
|
|
| Actual native helper checks | Same macOS portable build | All seven existing desktop-helper self-test groups pass; native packaging/pixel tests also execute in the portable suite | `portable/full-suite.log`, `portable/portable.trx` |
|
|
| Focused HTTP composition | Same macOS portable target | 21 passed, 0 failed/skipped | `isolated-http-focused/isolated-http-focused.trx` |
|
|
| Linux portable CI branch | Cached Ubuntu 24.04/linux-x64 container under amd64 emulation; SDK 10.0.401/runtime 10.0.12; `TZ=Europe/Berlin`; `net10.0` | 22 cases: **15 passed, 7 reasoned skips, 0 failed**; actual Linux Noop composition and HTTP fixtures pass | `linux-focused/receipt.md`, `linux-focused/linux-focused.trx`, `linux-focused/source-hashes.sha256` |
|
|
| Initial Windows compiler check | Initial pre-closeout package graph, macOS cross-compilation; Windows TFM | Application and test assembly compiled, **PRI disabled**; historical limited result | `windows-limited-compile-final.log`, `windows-compiled-outlook-symbols.txt` |
|
|
| Initial Windows application/resource build | Initial graph with `H.NotifyIcon.Uno.WinUI`, macOS host | Historical failure at `MakePri.exe`; superseded by the remote package correction below | `windows-full-build.log` |
|
|
| Current normal Windows application and test build | Integrated `H.NotifyIcon` core package graph, macOS host; Windows TFM | Both normal builds pass, **0 errors**, without disabling resource generation. Current graph has no WindowsAppSDK/MSIX/PRI dependency | `closeout/windows-application-build.log`, `closeout/windows-application-build.binlog`, `closeout/windows-tests-build.log`, `closeout/windows-application-assets.json` |
|
|
| Windows runtime discovery/execution | macOS arm64 lacks a compatible Windows/x64 testhost | **No Windows cases discovered or executed**. Discovery prints a test-platform error despite exit code 0; empty discovery is not successful evidence | `windows-discovery-unavailable.log` |
|
|
|
|
The Linux subset used cache-only restore and no network or downloads. Its first cache miss and successful retry are retained. The tested HTTP/platform sources match the final content; independent verifier-fixture edits were outside that subset. Its temporary containers were removed. macOS Windows-target restore emitted NU1900 for an unavailable NuGet vulnerability feed; compilation succeeded. The final portable run used cached dependencies and disabled NuGet auditing after stopping a stalled restore; this affects feed access rather than test behavior. Its before/after input manifest matched.
|
|
|
|
The current two portable skips are:
|
|
|
|
- `ResolveKeyFallsBackToUserEnvironment`: requires Windows per-user environment variables.
|
|
- `TaskbarIconGlyphsAreVisuallyCentered`: requires Windows System.Drawing bitmap rendering.
|
|
|
|
The earlier focused baseline falsely reported both as passed on macOS (`red-skips/before-skips.trx`). The corrected focused run records one passing composition guard and two reasoned skips (`platform-focused/platform-guard-focused.trx`). Six verifier red/green slices finish with **38 passing synthetic fixture cases** (`helper-green-06.trx`); those fixtures validate the checker, not Windows execution. The final CLI check ran against the actual 641-case portable discovery/TRX and passed.
|
|
|
|
Strict validation passes for `complete-macos-feature-parity` and the unchanged `add-macos-user-communication`; workflow YAML parsing and all embedded Bash syntax checks pass. Evidence: `openspec-validation.log`, `communication-validation.log`, `workflow-syntax.log`.
|
|
|
|
## Remaining acceptance boundaries
|
|
|
|
The real Windows target compiles the existing Outlook test class and methods. All five named cases are required by the CI verifier, but their discovery and executed assertions still need a compatible Windows/Wine runner. Compiled symbols and synthetic verifier fixtures do not satisfy that requirement. The two Windows-only checks likewise need actual assertion execution there.
|
|
|
|
The current normal Windows builds pass on the macOS cross-compilation host. The remote `H.NotifyIcon` core package correction removes the accidental WinUI/WindowsAppSDK/MSIX dependency, so this graph no longer requires the previously failing PRI tool. No resource-suppression property was used for the current build. Actual Windows/Wine execution must still demonstrate the runtime and CI path. No local Wine installation or reachable Windows test runtime was available. Historical Wine results from a different commit or portable TFM were not substituted for current results. CI execution and artifact upload remain unverified.
|
|
|
|
The historical **602 passed / 0 skipped** portable baseline remains dated 2026-10-03 in `add-macos-user-communication/implementation-evidence.md`. Current totals above come from their own TRX records and do not replace that history. This evidence supplements the old communication Task 4.2 without editing or closing it. Task 4.4, real notification/menu interaction, Windows/native crop acceptance, screenshot focus and activated-backend operations remain with their respective owners/tickets.
|
|
|
|
A portable green run, native helper self-tests and normal Windows cross-compilation establish these recorded checks. They do not establish complete Windows runtime or operational platform acceptance. The user-requested ticket closure records acceptance of that bounded result; it does not mark the outstanding OpenSpec criteria passed.
|