diff --git a/README.md b/README.md index 2afb4d2..02fb7ff 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ | **DevinX for iPhone** | `0.1.0 (77)` | [External TestFlight beta](https://testflight.apple.com/join/KBD25apN) · up to 100 testers | | **Public App Store version** | `1.0` | Submitted to Apple and waiting for App Review · manual release after approval | | **DevinX Connector for macOS** | `0.1.4` | [Signed and notarized Apple-silicon release](https://github.com/fenner888/Devinx/releases/latest) | -| **DevinX Connector for Windows** | active release work | Windows 11 x64 installer is implemented; signing and physical release gates remain | +| **DevinX Connector for Windows** | public test track | Store-signed Windows 11 x64 package is live; physical acceptance remains before full support | TestFlight access does not include a Devin account or shared Devin data. Each tester connects their own Devin organization, pairs a local device they control, or uses both. @@ -134,7 +134,7 @@ does not silently install a desktop application. For detailed installation, update, uninstall, development, and notarization information, read [docs/devinx-connector.md](docs/devinx-connector.md). -### Windows 11 x64 active release track +### Windows 11 x64 public test track The native per-user Windows application, DPAPI-protected state helper, notification-area lifecycle, installer, deterministic uninstaller, pinned-runtime package, and automated Windows verification @@ -149,14 +149,14 @@ controls. Cognition's separate are not the Connector runtime. The unsigned EXE and ZIP artifacts produced by ordinary CI are deliberately marked **NOT FOR -RELEASE**. The public Windows distribution is the reserved -[Microsoft Store listing](https://apps.microsoft.com/detail/9N52Z3FVMFH8), whose accepted MSIX is -signed and delivered by Microsoft. DevinX will offer it as a supported download only after the -Store package passes certification and the clean Windows 11 x64 physical matrix in -[spec 037](specs/037-windows-connector.md), including +RELEASE**. The Store-signed Windows 11 x64 package is publicly installable from the +[Microsoft Store listing](https://apps.microsoft.com/detail/9N52Z3FVMFH8) for controlled testing. +It is still a **public test track**, not a completed support claim, until the clean physical matrix +in [spec 037](specs/037-windows-connector.md) passes with the exact Store package. That matrix covers official Devin ACP discovery, Tailscale routing, pairing, read/send/create grants, -AskUserQuestion, sleep/reconnect, update, and uninstall. This prevents an unfinished or unsigned -package from being presented as trustworthy. +AskUserQuestion, sleep/reconnect, update, and uninstall. Testers should follow the +[Windows Connector physical test checklist](docs/windows-connector-test-checklist.md) and must +never sideload the unsigned CI artifacts. ## Why Tailscale is not enough diff --git a/docs/devinx-connector.md b/docs/devinx-connector.md index 4acb7cc..e29882a 100644 --- a/docs/devinx-connector.md +++ b/docs/devinx-connector.md @@ -148,9 +148,11 @@ The Store package declares an opt-in Windows startup task. Connector uses the pa Settings or Task Manager. A separately distributed direct-download installer remains a distinct future gate and would require Authenticode signing for every owned executable and installer. -Public distribution still requires clean-account install/update/uninstall, Store signature -inspection, Windows Firewall validation, official Devin ACP validation, and the complete physical -matrix in `specs/037-windows-connector.md`. +The Store-signed package is publicly installable for controlled testing. A fully supported release +designation still requires clean-account install/update/uninstall, Store signature inspection, +Windows Firewall validation, official Devin ACP validation, and the complete physical matrix in +`specs/037-windows-connector.md`. Use the +[Windows Connector physical test checklist](windows-connector-test-checklist.md) for that evidence. ## Runtime behavior diff --git a/docs/windows-connector-test-checklist.md b/docs/windows-connector-test-checklist.md new file mode 100644 index 0000000..8780917 --- /dev/null +++ b/docs/windows-connector-test-checklist.md @@ -0,0 +1,96 @@ +# DevinX Connector for Windows — physical test checklist + +Status: required acceptance evidence for the Windows 11 x64 public test track. + +## Use only the verified Store package + +Install [DevinX Connector from Microsoft Store](https://apps.microsoft.com/detail/9N52Z3FVMFH8). +Confirm all of the following before pairing: + +- product name: **DevinX Connector** +- publisher: **DevinX Tools** +- Store ID: `9N52Z3FVMFH8` +- version: `0.1.1.0` or newer +- device: Windows 11 x64, build `10.0.22000` or newer + +Do not download, sideload, or run an unsigned MSIX, EXE, or ZIP from GitHub Actions. Never share a +pairing QR, device credential, Devin credential, Tailscale key, or unredacted diagnostic bundle. + +## Prerequisites + +- Install and authenticate the official **Devin for Terminal** CLI. +- Confirm `devin --version` works in a normal, non-administrator terminal for the signed-in user. +- Install Tailscale on the Windows PC and iPhone, sign both into the same tailnet, and leave + Tailscale connected. +- Install the current DevinX TestFlight build on the iPhone. + +Record the Windows build, Connector version, Devin CLI version, and iPhone build before testing. + +## Required acceptance matrix + +### 1. Install and first launch + +- Install from Microsoft Store as a standard user without running as Administrator. +- Open Connector and confirm it detects both Tailscale and Devin for Terminal. +- Confirm the window shows a short-lived pairing code without exposing credentials. +- Close the window and confirm Connector remains available from the notification-area icon. +- Choose **Quit DevinX Connector** and confirm the listener stops. + +### 2. Pairing and permission separation + +- Reopen Connector and generate a fresh code. +- In DevinX, open **Settings → Local devices → Add local device** and scan the code. +- Deny one pairing request and confirm the phone receives a recoverable failure. +- Generate a new code, approve the named iPhone, and grant read access only. +- Confirm session titles/history load but sending and creating remain unavailable. +- Add steering and session-creation grants separately; confirm each capability appears only after + its grant is approved. +- Let one unused code expire and confirm it cannot be replayed. + +### 3. Sessions and interactive work + +- Load the local session list and open an existing session with history. +- Create a new local session in an approved workspace. +- Send a steering message and confirm exactly one response appears. +- Trigger an `AskUserQuestion` request, answer it on the iPhone, and confirm the local session + continues. +- Change or refresh the model catalog and confirm a failed refresh preserves the prior valid list. +- Lock a session from another client and confirm DevinX reports a recoverable in-use state rather + than duplicating work. + +### 4. Connectivity and recovery + +- Put the PC to sleep, wake it, and confirm the same paired iPhone reconnects. +- Disconnect and reconnect Tailscale; confirm Connector never falls back to Wi-Fi, LAN, a wildcard + interface, or a public listener. +- Change the PC's Tailscale address if practical, rescan a fresh code, and confirm the existing + device record refreshes instead of duplicating. +- Disconnect from the iPhone while Connector is running, then pair again. +- Revoke the iPhone from Connector and confirm further protected requests return a generic failure + without revealing session existence. +- Confirm the most recently paired device appears first. + +### 5. Startup, update, and removal + +- Enable **Launch at sign-in**, sign out or reboot, and confirm Connector starts for that user. +- Disable launch at sign-in in Connector and confirm the setting remains off after reboot. +- If Microsoft Store offers an update, install it and confirm pairing and grants remain intact. +- Test **Repair** from Windows settings if available. +- Uninstall Connector and confirm only Connector files/state are removed; Devin CLI and Tailscale + remain installed. +- Reinstall from Microsoft Store and confirm a fresh QR pairing is required after a full reset. +- Sign into a second Windows user and confirm the first user's Connector identity and grants are + unavailable. + +## Report + +Report pass/fail for each numbered section. For any failure, include: + +- the numbered step +- Windows build, Connector version, Devin CLI version, and iPhone build +- the exact visible error text +- a screenshot with QR codes, credentials, account identifiers, repository names, and private + session content redacted +- whether retrying, reopening Connector, or reconnecting Tailscale changed the result + +Passing automated CI and Microsoft Store certification does not replace this physical matrix. diff --git a/specs/037-windows-connector.md b/specs/037-windows-connector.md index 26a2125..8ebdb55 100644 --- a/specs/037-windows-connector.md +++ b/specs/037-windows-connector.md @@ -1,6 +1,6 @@ # 037 — DevinX Connector for Windows -Status: active release implementation. Windows is an in-scope Local target, not a deferred “coming soon” item. It becomes a supported public download only after every release gate below passes on physical Windows hardware. +Status: public test track. The Store-signed Windows 11 x64 package is publicly installable for controlled testing. Windows is an in-scope Local target, not a deferred “coming soon” item, but it becomes a fully supported release only after every physical gate below passes with the exact Store package. ## Product decision @@ -134,4 +134,8 @@ Physical Windows 11 x64: - locked-screen and second-Windows-user isolation; and - confirmation that Connector never binds to LAN, wildcard, or public interfaces. -Until those physical gates pass, the iPhone UI must not use **coming soon** copy or offer a Windows download as working functionality. The signed-release lookup may report that a verified Windows package is not yet available and provide recovery guidance. Once the gates pass, Windows 11 x64 is presented alongside macOS as a supported Local platform. +Until those physical gates pass, the iPhone UI may offer the verified Microsoft Store package only +as a **Windows 11 x64 test track**. It must not use **coming soon** copy, claim full Windows support, +or link to unsigned CI artifacts. Once the gates pass, Windows 11 x64 may be presented alongside +macOS as a fully supported Local platform. Physical testers must follow +`docs/windows-connector-test-checklist.md` and report the exact Store version they exercised.