Fruitctlxoxd.ai

Compatibility

Compatibility has three separate dimensions: the agent seat, the Darwin controller, and the target desktop. A working MCP configuration does not prove screen capture or input worked. Record the exact combination before promoting it to qualified status.

Platforms

RoleBaselineStatus
Native controllerApple Silicon; macOS 15+Inherited build target; Fruitctl release qualification pending
Public Node relayBundled Node.js 24.21.0Immutable runtime preview; synthetic MCP checks on Linux x64 and Darwin arm64
Linux x64 runtimeRootless preview bundleActual seven-adapter bootstrap checks passed
Linux arm64 runtimePreview bundle availableArchive integrity checked; runtime execution pending
Linux agent seatSSH bridge to Darwin controllerInitial supported design; acceptance pending
Rocky Linux agent seatSame SSH bridgeRuntime bootstrap checked on Rocky Linux 10.2; SSH/desktop journey pending
Native Linux VNC controllerNo native binary promisedOutside initial release
Intel macOS controllerNo x86_64 artifact promisedRequires separate build and runtime qualification
macOS targetOwner-configured Screen Sharing/VNCRecord target OS and capture/input results
Other VNC targetProtocol capability variesNo blanket target-OS claim
Purple target indicatorQualified filtered macOS capture onlySeparate prototype and exclusion-proof lane

project.yml targets macOS 15.0 and arm64. This is a build baseline, not a claim that every later OS version is tested. The immutable v0.1.0-alpha.1 preview publishes Darwin arm64, Linux x64 and Linux arm64 runtime archives. It needs an existing Darwin native controller; it contains no newly qualified signed native distribution. versions.json records scoped preview checks separately from fully qualified product releases. The current fully qualified release count is zero.

Agents

AgentAdoption surfaceRelease status
CodexSkill plus stdio MCP adapterPreview bootstrap checked; real frontend acceptance pending
Claude CodeSkill plus stdio MCP adapterPreview bootstrap checked; real frontend acceptance pending
PiShared skill plus native MCP in 0.99.0+Configuration documented; runtime experimental
Junie CLIShared skill plus supported MCP settingsConfiguration documented; runtime experimental
IntelliJ JunieStandalone IDE plugin MCP settings and instructionsSeparate IDE/plugin version qualification pending
OpenCodeShared skill plus MCP configurationConfiguration documented; runtime experimental
VS Code / GitHub CopilotShared skill plus portable MCP configurationConfiguration documented; runtime experimental
KimiShared skill plus native CLI MCP configurationConfiguration documented; runtime experimental
Other MCP clientsStandards-compatible stdio adapterDiscover capabilities; no blanket qualification

Each supported adapter must install without replacing unrelated MCP servers or agent instructions. Junie setup must use the supported surface for the installed IDE and plugin version; the presence of an IntelliJ plugin is not proof that its agent consumes an MCP configuration or discovers this skill.

The adapter registry owns configuration paths and upstream references. The adoption contract owns frontend qualification state. This matrix summarizes those records; generated configuration does not promote runtime status.

All seven installer adapters have been exercised with the released Linux x64 bundle. Synthetic MCP checks cover protocol and PNG exchange using the bundled runtime on Linux x64 and Darwin arm64. Those checks do not start the real agent frontends, render their returned images, connect the Linux SSH journey or prove physical overlay exclusion. Each of those remains a separate acceptance lane.

Qualification record

A public record names the release, full source revision, adapter and version, controller OS/architecture, target OS, capture mode, connection/authentication mode, frame-mapping proof, reversible input result, stop behavior, and outcome. It contains no credentials, private host inventories, transcripts, or screenshots of private desktops.

Separate passing build checks, notarization, and live behavior in the record. Failed and untested combinations remain explicit. Upgrade a compatibility claim only after the test runs against the installed release bytes.