Skip to content

Integrate reproducible Windows baseline - #361

Draft
coneilen wants to merge 25 commits into
mainfrom
win/tray-daemon-integration
Draft

coneilen wants to merge 25 commits into
mainfrom
win/tray-daemon-integration

Conversation

@coneilen

Copy link
Copy Markdown
Collaborator

Summary

Integrates the validated Windows baseline from 9767962 onto current origin/main as six coherent, DCO-signed commits while preserving current macOS behavior.

Changes

  • adds the native Zig/Win32 shell, terminal host integration, tray lifecycle, dialogs, and UI Automation surface
  • adds portable Swift paths, named-pipe/v2 daemon IPC, replay, Windows startup/session services, and remote bridge support
  • semantically reconciles current GraphStore, ProjectRegistry, Mailroom persistence, logging, session liveness, app client, and package behavior
  • bootstraps exact public Winghostty/zmx and Zig/Swift toolchains and packages a self-contained Windows ZIP
  • replaces workflow registration stubs with Windows, macOS shared-regression, DCO/TDD, packaging, and hardening gates

Test plan

RED: pwsh -NoProfile -File Tools\windows\validate.ps1 -Task swift-production -SwiftExecutable $env:GRAPHCODE_SWIFT633 -> failed on the unresolved current-main/Windows integration (DaemonLog imported Glibc on Windows and the production remote ensure test did not reach the Windows bridge).
GREEN: the same swift-production command -> pass, including Windows package tests and release builds for graphcoded and graphcode.
REGRESSION: pwsh -NoProfile -File Tools\windows\validate.ps1 -Task all -SwiftExecutable $env:GRAPHCODE_SWIFT633 -SkipTrayLive -SkipWslRemoteE2E -> pass, including portable/contracts/production Swift, remote bridge, shell/UIA, packaging, and repeated deterministic hardening.

Hosted macOS and Windows PR checks are expected to attach to this draft. Full pinned release hardening will be dispatched explicitly after the PR workflows are green.

Checklist

  • I have read the Contributing Guidelines
  • I have signed off my commits (git commit -s) per the DCO
  • Tests pass locally (make test) — requires macOS; covered by the PR workflow
  • Code follows the existing style (make check) — requires macOS; covered by the PR workflow
  • I added the test/contract before the implementation and observed the intended RED failure

Supersedes the integration history in #356. The validated 9767962 tip remains preserved at win/tray-daemon-validated-9767962 and #356 is unchanged while this replacement validates.

Capture the portability decisions, protocol contracts, provider feasibility, and reproducible investigation spikes used by the Windows baseline.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22b76af7-ee5e-4575-ae9c-66eb1e26dfc5
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Add portable paths, named-pipe and replay-aware IPC, Windows startup/session services, and semantic integration with current graph, persistence, Mailroom, logging, and CLI behavior.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22b76af7-ee5e-4575-ae9c-66eb1e26dfc5
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Keep current app behavior while consuming transport-neutral connections, delta events, quick-chat broadcasts, Windows-safe paths, and shared settings/session semantics.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22b76af7-ee5e-4575-ae9c-66eb1e26dfc5
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Introduce the Zig and Win32 application shell, graph canvas, sidebar, terminal workspace, accessibility provider, tray lifecycle, native dialogs, and pinned public provider metadata.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22b76af7-ee5e-4575-ae9c-66eb1e26dfc5
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Fetch and verify pinned public providers and toolchains, build and package the products, and exercise shell, UIA, remote, lifecycle, and deterministic hardening gates.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22b76af7-ee5e-4575-ae9c-66eb1e26dfc5
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Replace registration stubs with hosted Windows validation, add macOS shared regression and TDD evidence checks, and pin checkout to the reviewed Node 24 release.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22b76af7-ee5e-4575-ae9c-66eb1e26dfc5
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Run macOS validation on a Swift 6-capable image and normalize the files rejected by the Linux Swift 6.2 formatter.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22b76af7-ee5e-4575-ae9c-66eb1e26dfc5
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Compile the Unix daemon transport on Glibc as well as Darwin and declare the portable package deployment target required by its shared APIs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22b76af7-ee5e-4575-ae9c-66eb1e26dfc5
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Construct timeval with suseconds_t so the Unix transport compiles against both Darwin and Glibc.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22b76af7-ee5e-4575-ae9c-66eb1e26dfc5
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Prepare external project dependencies before make test generates the macOS workspace.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22b76af7-ee5e-4575-ae9c-66eb1e26dfc5
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Route announce directly and mailbox requests through project rejoin so the macOS switch remains exhaustive after the protocol expansion.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22b76af7-ee5e-4575-ae9c-66eb1e26dfc5
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Keep LoopSummaryDeltas at module scope so the macOS presentation layer can use the shared metric formatting helper.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22b76af7-ee5e-4575-ae9c-66eb1e26dfc5
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Remove the duplicated settings argument and split the rail-height arithmetic into typed components for the Xcode compiler.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22b76af7-ee5e-4575-ae9c-66eb1e26dfc5
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Use the macOS 26 hosted image required by current main's SwiftUI toolbar APIs while retaining the macOS 15 SDK shim for Zig dependencies.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22b76af7-ee5e-4575-ae9c-66eb1e26dfc5
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
@coneilen coneilen closed this Sep 15, 2026
@coneilen coneilen reopened this Sep 15, 2026
Construct the v1 connection channel explicitly so capability-gated delta coverage follows the transport-neutral GraphStore API.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22b76af7-ee5e-4575-ae9c-66eb1e26dfc5
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Use try with the throwing QuickChatStore save in the orphan-session test fixture.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22b76af7-ee5e-4575-ae9c-66eb1e26dfc5
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Run Xcode tests serially with per-test execution allowances and a workflow timeout so a wedged test fails with diagnostics instead of consuming the runner indefinitely.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22b76af7-ee5e-4575-ae9c-66eb1e26dfc5
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Route daemon-side Unix writes through the existing bounded outbound channel, serialize only v2 command preflights, and update persistence tests for hashed graph keys.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22b76af7-ee5e-4575-ae9c-66eb1e26dfc5
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Wake blocked readers during close, route legacy mailbox refusals only to their v1 requester, and restore broadcast diagnostics over buffered channels.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22b76af7-ee5e-4575-ae9c-66eb1e26dfc5
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Carry registry IDs into buffered writers, close app sockets from the cancellation handler, and test backlog accounting below the legacy frame ceiling.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22b76af7-ee5e-4575-ae9c-66eb1e26dfc5
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Keep correlated registry snapshots ordered, close canceled app readers synchronously, and discover hashed persistence files by content in tests.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22b76af7-ee5e-4575-ae9c-66eb1e26dfc5
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Serialize ordinary graph commands while allowing drain recovery, reuse one encoded v1 broadcast across clients, and make stream cancellation close its active socket immediately.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22b76af7-ee5e-4575-ae9c-66eb1e26dfc5
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Round-trip encoded IPv6 remote paths, retry safe reconnect setup, make close detection deterministic in tests, and retry transient zmx dependency fetches.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22b76af7-ee5e-4575-ae9c-66eb1e26dfc5
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Forward nonfatal child errors once while returning rejected command messages to the parent for a single announcement.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22b76af7-ee5e-4575-ae9c-66eb1e26dfc5
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Install zmx before macOS tests, make cancellation teardown race-safe, accept Foundation's bracketed IPv6 host representation, and use valid subgraph edge fixtures.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 22b76af7-ee5e-4575-ae9c-66eb1e26dfc5
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
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