Skip to content

docs(windows): publish capability matrix with native verification - #5964

Open
elCaptnCode wants to merge 2 commits into
sonichi:mainfrom
elCaptnCode:test/5499-windows-parity
Open

elCaptnCode wants to merge 2 commits into
sonichi:mainfrom
elCaptnCode:test/5499-windows-parity

Conversation

@elCaptnCode

@elCaptnCode elCaptnCode commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Windows support claims currently mix implemented adapters with unverified user outcomes. Add a canonical Windows/macOS capability matrix with a dated source baseline, actual native Windows results, explicit limits, and a prioritized backlog. Link it from the README and documentation catalog.

Add a repeatable native FileSystemWatcher test to the Windows runtime workflow. It runs the production watcher in a disposable checkout with a clean child environment: initial, created, and atomically renamed task files emit once; repeated writes and non-task files do not; its PID sentinel identifies the launched process.

Related to #5499; this establishes the matrix and baseline, and intentionally leaves the broad tracker open. Desktop automation, real-account messaging/voice, packaged installations, and macOS behavior are explicitly unverified here. A failing Windows gateway import is recorded, not hidden by passing lock tests.

The first discovered import failure has a separate tested fix in #5963; the matrix also names the next fcntl blocker rather than claiming full gateway recovery.

The shared Windows sandbox fix and its native real-model canary are submitted separately in #5965, stacked on the shared-runner parent #5445. This matrix preserves the inspected main baseline until those fixes land.

Validation on Windows 11 build 26300, PowerShell 7.6.8, Python 3.13.7 and Node 24.19.0:

  • New watcher integration test passed through the real native watcher.
  • Workspace Unicode/encoding and startup argument round trips passed.
  • Native synthetic image resize, Win32 binding loads, voice lock contention/release and cron locking passed.
  • Restart/app-focus/interpreter tests are labeled as mocked contracts, not live proof.
  • outbox-windows.test.py ran 18 methods: 17 passed; two subcases of the import method failed. The matrix names the exact quarantine libc-probe failure and preserves that evidence.
  • Documentation audit passed (57 indexed documents / 60 Markdown files). The committed-diff scanner reports clean applicable checks and PARTIAL because this diff contains no Python comments to scan.

All fixtures used isolated state. No live bot, desktop pixels, clipboard, external messages, or deployed restart was involved. The Windows workflow remains label/schedule/manual gated; Ubuntu CI alone is not presented as native Windows validation.

Reviewer focus: evidence boundaries and backlog priorities. @thinkall

CI follow-up (2026-10-29): main advanced again, with the unrelated product-label change in #5998. Refreshed the existing scoped patches unchanged from d0b2f51e5 onto main d68157f5e; current head b79afec65. Range-diff confirms every author patch is identical. CI run 40820250690 completed successfully at this exact head: all 21 main CI jobs passed. Review approval remains separate.

At this exact head, the native Windows watcher and workspace encoding tests pass, along with the documentation audit (57 indexed documents / 60 Markdown files) and its five regression checks. The whitespace check passes. The full committed-diff scanner has clean applicable checks and reports PARTIAL because there are no in-scope Python files.

The separate Windows runtime workflow remains branch/label gated; native local evidence is distinct from hosted Windows CI. The requested windows-ci label was unavailable when checked, so hosted Windows eligibility remains a maintainer action. No live bot or deployed service was used.

Current status (2026-10-30): latest CI run 40824328117 passed at unchanged head b79afec65, and the raw commit status for license/cla is success. The requested hosted Windows run is still skipped and needs maintainer-enabled eligibility. Required review, including approval from a reviewer with Windows context, remains outstanding. This PR is not merge-ready.

@liususan091219 liususan091219 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Code review found no blocking issue; not approving yet because there is no approval from another reviewer, the required Python CI shard is red, and the new Windows test has not run in CI.

What I checked at a28e6fc:

  • tests/windows-watcher-live.test.ps1 runs the production src/watch-tasks-stream.ps1 in a disposable fixture with a cleared environment. Its dependencies (workspace_default.ps1, sutando_config.py) match what the watcher dot-sources (line 23). The PID-sentinel path it asserts matches watch-tasks-stream.ps1:30. Its cleanup refuses to delete anything outside the temp root.
  • Spot-checked matrix claims against main. forHostPlatform exists in src/inline-tools.ts. The voice-agent.ts:52 warning does still list switch_app. The quarantine-probe failure is the one #5963 fixes.
  • The doc keeps evidence types separate (native fixture, mocked contract, live) and says what was not exercised (macOS, packaged builds, real accounts).
  • No hardcoded workspace paths in added lines. CLA is green.

Still missing / notes:

  • PowerShell + Windows runtime was skipped on this PR (it is label-gated), so the new watcher test has only been run on the author's machine. Please add the windows-ci label once so it runs in CI.
  • python standalone tests (4/9) failed in pool-restart-deliveries.test.py, which this PR does not touch. A maintainer needs to rerun it.
  • docs/platform-support.md states that #5963 is unmerged and that the gateway is blocked. Those rows need updating when #5963, #5965 and the fcntl fix land.
  • Approval from a reviewer with Windows context.

— Sutando (susans-MacBook-Pro)

@elCaptnCode
elCaptnCode force-pushed the test/5499-windows-parity branch from a28e6fc to 9762081 Compare October 29, 2026 02:38
@github-actions

Copy link
Copy Markdown
Contributor

Coverage Gate

✅ No Python changes — nothing to gate (bar: 95% on changed lines).

@elCaptnCode
elCaptnCode force-pushed the test/5499-windows-parity branch from 9762081 to d0b2f51 Compare October 29, 2026 04:04
@elCaptnCode
elCaptnCode force-pushed the test/5499-windows-parity branch from d0b2f51 to b79afec Compare October 29, 2026 04:53
@github-actions

Copy link
Copy Markdown
Contributor

@cla-assistant check

@elCaptnCode elCaptnCode reopened this Oct 29, 2026

@liususan091219 liususan091219 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Reviewed at b79afec6. No blocking finding; not approving yet because the approval bar is not met.

Checked

  • Docs + one new native test, no production change. docs/platform-support.md is linked from the README and docs/catalog.json, and the body is careful to label mocked contracts and unverified surfaces as such rather than claiming them.
  • tests/windows-watcher-live.test.ps1 drives the real watch-tasks-stream.ps1 in a throwaway checkout with a cleared environment: initial, created and atomically renamed task files each emit once; a second write and a non-task file emit nothing; the PID sentinel names the launched process. Cleanup refuses to delete outside the temp root. It skips cleanly off Windows.
  • No added ~/.sutando / SUTANDO_WORKSPACE literal. CI green at this head; license/cla is success.

Missing for approval: no approval at this head. It needs one substantive approval from a reviewer with Windows context (the body asks @thinkall), and the hosted Windows workflow has not run (it needs a maintainer to make the PR eligible).

— Sutando (susans-MacBook-Pro)

@liususan091219 liususan091219 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Commenting at b79afec6. No blocking finding; not approving because the approval bar is not met. The head has not moved since my previous review.

Checked

  • Docs plus one native test, no production change. docs/platform-support.md is linked from the README, docs/README.md and docs/built-in-tools.md, and registered in docs/catalog.json.
  • The matrix keeps native fixtures, mocked contracts and live round trips apart and records the failing outbox-windows result instead of hiding it; it points at #5963 for the quarantine-probe fix.
  • tests/windows-watcher-live.test.ps1 runs the real watch-tasks-stream.ps1 against a disposable fixture with a cleared environment, checks initial/created/renamed tasks once, no duplicate or non-task event, and the PID sentinel; cleanup refuses paths outside the temp dir. It skips off Windows and is added to the windows-runtime workflow, which only runs on schedule, dispatch or the windows-ci label.
  • CI: no failing check; license/cla success (1 context); no unresolved threads; added-line hardcoded-path scan 0 hits.

Missing: one approval at this head (no APPROVED review at any head yet), preferably from a reviewer with Windows context. Not blocking: the new watcher test has not yet run on hosted Windows CI.

— Sutando (susans-MacBook-Pro)

This branch has not been deployed

No deployments
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