Skip to content

Compatibility Contract

Assertions

CMP-001 - CPython 3.13 and 3.14 are the complete Python support range

Contract: Package metadata, type-checker configuration, local commands, documentation, dependency resolution, and CI MUST declare and exercise CPython 3.13 and 3.14. Static analysis MUST target the 3.13 minimum, and runtime source MUST parse with its grammar. A different minor MUST fail before installation or testing. Lock generation MAY use the documented 3.14 resolver host, but wheel resolution MUST cover both supported minors.

Evidence:

CMP-002 - Every GitHub-hosted job uses Ubuntu 26.04

Contract: All repository-owned GitHub-hosted jobs MUST use the exact ubuntu-26.04 runner label. The workflow set MUST not mix mutable aliases or older Ubuntu images into the validation and publication chain.

Evidence:

CMP-003 - Import and command construction do not require Linux services

Contract: Importing the package, validating authorities, constructing command vectors, and running the ordinary unit suite MUST not require Linux session services, a live SSH endpoint, or a sibling checkout. This isolation MUST NOT be presented as support for an undeclared non-Linux runtime platform.

Evidence:

CMP-004 - Linux-specific behavior is isolated and accepted with OpenSSH

Contract: Linux session recovery MUST degrade to the inherited environment when its optional probes are unavailable or invalid. CI MUST provision an OpenSSH server package whose exact Debian version matches the runner's installed client before real mux and cleanup behavior is tested against an isolated loopback server.

Evidence:

CMP-005 - OpenSSH and remote Python are capability prerequisites

Contract: The runtime MUST remain third-party-dependency-free. Consumers MUST provide a compatible native OpenSSH client; only consumers using OwnedRemoteProcess MUST also provide python3 on the remote target.

Evidence: