Skip to content

Releases: byte271/Continuum

Continuum v0.2.0-alpha.1 — Native Windows Support and Self-Contained Runtimes

Choose a tag to compare

@byte271 byte271 released this 30 Jul 02:43
3a4a43f

Warning

This alpha is being published before the repository documentation and release
handoff are complete. Read the known limitations below before testing it.
Passing native bundle CI does not prove arbitrary Python process migration or
every cross-platform source/target combination.

Continuum v0.2.0-alpha.1

This is the first public alpha release of the Continuum 0.2 development line.

Continuum is a language-level continuation runtime for a controlled subset of
Python. It compiles supported Python source into a portable explicit-stack
runtime, captures the active execution state into a .cont image, and resumes
that state in a new process without restarting the program from its entry
point.

This release adds native Windows x86_64 support, self-contained runtime
bundles, a transactional installer, a same-machine continuation demo, runtime
verification commands, and a measured compatibility corpus.

This is an alpha release. It is not ready for production use.

The implementation is functional and extensively tested within its documented
scope, but the documentation, release packaging, platform evidence, language
coverage, security model, and compatibility guarantees are not complete.

Platform status

Platform Runtime bundle Full test suite Same-machine continuation demo Cross-platform resume
Linux x86_64 Passed Passed Passed Not reverified for IR 0.3
macOS arm64 Passed Passed Passed Not reverified for IR 0.3
Windows x86_64 Passed Passed Passed Unverified
Other platforms Unsupported or unverified Unverified Unverified Unverified

The Linux x86_64, Apple Silicon macOS arm64, and Windows x86_64 bundle jobs
completed successfully on native GitHub-hosted runners.

Each tested bundle contains its own exact CPython 3.12.13 runtime. The CI
workflow verifies the archive digest, moves and extracts the archive, runs
continuum doctor, runs the test suite, exercises the installer, and performs
a continuation demonstration.

Windows support is new and should be treated as experimental.

Important distinction from v0.1.0

Continuum v0.1.0 preserves the immutable, verified IR 0.2 proof in which an
image created by native Linux x86_64 resumed unchanged in a new native process
on Apple Silicon macOS arm64.

That proof passed 26/26 conditions at commit:

15bceefece050d06a1f504244a77434e31fd5228

GitHub Actions run:

30489463484

Continuum v0.2.0-alpha.1 uses IR 0.3 and includes changes to the runtime and
image capabilities. The v0.1.0 result must not be treated as proof that the
current IR 0.3 release has completed the same Linux-to-macOS migration.

A new IR 0.3 image and a new complete cross-platform proof run are still
required.

What is included

  • Native Windows x86_64 runtime support
  • Native Linux x86_64 self-contained runtime bundle
  • Native Apple Silicon macOS arm64 self-contained runtime bundle
  • Native Windows x86_64 self-contained runtime bundle
  • Exact bundled CPython 3.12.13 runtime
  • Deterministic runtime archives and SHA-256 sidecars
  • Transactional Linux/macOS and Windows installers
  • continuum doctor
  • continuum demo
  • continuum inspect
  • continuum verify
  • continuum run
  • continuum sessions
  • continuum freeze
  • continuum resume
  • Positional default arguments with definition-time evaluation
  • Preservation of mutable default identity across calls and checkpoints
  • Explicit frames, logical program counters, locals, operand stacks and
    supported control state
  • Shared object identity and supported mutable cycles
  • Module RNG state and random.Random state
  • Strict, relocate and bundle policies for read-only regular files
  • Image integrity and malformed-image validation
  • Failed-checkpoint recovery
  • A 50-program unchanged-source CPython differential corpus
  • Native CI coverage for Linux x86_64, macOS arm64 and Windows x86_64

Current compatibility result

The current 50-program compatibility corpus passes all four measured gates for
35 programs, giving a measured compatibility rate of 70%.

This does not mean that Continuum supports 70% of Python. The corpus is a fixed
project-specific measurement and must not be generalized to arbitrary Python
programs.

Known limitations

Controlled Python subset only

Continuum does not checkpoint arbitrary CPython programs or ordinary CPython
frames.

Unsupported or incomplete language features include:

  • classes and arbitrary instances
  • closures, nonlocal and global
  • generators and coroutines
  • async code
  • context managers
  • comprehensions
  • try/except
  • positional-only parameters
  • keyword-only parameters
  • variadic parameters
  • many other Python syntax and runtime behaviors

Programs outside the supported subset are rejected during compilation or
checkpoint creation.

Safe points are limited

Suspension can occur only at Continuum safe points.

Safe points exist at selected statement, loop, back-edge and finally
boundaries. Continuum cannot suspend in the middle of every IR instruction,
host function, builtin call, native method, file read or arithmetic operation.

A freeze request can therefore be delayed until the next supported safe point.

Native state is not portable

Continuum does not preserve:

  • arbitrary native extension state
  • NumPy or PyTorch execution state
  • GPU memory
  • threads
  • subprocesses
  • sockets
  • locks
  • devices
  • terminal state
  • writable files
  • arbitrary imported-module mutable state
  • native stack frames
  • native instruction pointers

File support is narrow

Only supported read-only regular files can be captured.

Writable files, pipes, sockets, devices, memory maps and directory handles are
not supported.

The strict, relocate and bundle policies validate file identity and
content, but they are not a general resource-migration system.

Current cross-platform evidence is incomplete

The current IR 0.3/runtime 0.2 alpha has not yet completed a new full
Linux-x86_64-to-macOS-arm64 continuation proof.

The following remain unverified:

  • IR 0.3 Linux x86_64 to macOS arm64 continuation
  • Windows to Linux continuation
  • Windows to macOS continuation
  • Linux or macOS to Windows continuation
  • resume after an actual machine reboot
  • resume in a second independent Linux environment
  • broader cross-platform file-resource behavior
  • any platform pair outside the historical v0.1.0 proof

The successful native runtime bundle jobs prove that Continuum can build,
install, test and perform a same-machine continuation on those hosts. They do
not prove every cross-operating-system migration direction.

Performance

Continuum is an explicit-stack interpreter and is substantially slower than
native CPython execution.

On the currently audited workload, the runtime remains approximately 159×
slower than the native control. This number is workload-specific and must not
be generalized to other programs.

Durability gaps

Atomic image replacement and file fsync are implemented, but directory
fsync failure may currently be ignored for compatibility.

Failure injection covers several important paths, including request
publication, unsupported-state preflight, retry, corruption, truncation and
compatibility checks. It does not yet cover every possible image commit stage.

Security

Continuum is not a security sandbox.

Continuation images currently have no:

  • cryptographic signatures
  • authentication policy
  • encryption
  • secret redaction
  • trusted publisher model

continuum inspect and continuum verify validate structure, integrity and
supported state. They do not make an untrusted continuation image safe to
resume.

Do not resume images from untrusted sources.

Exact Python version

This alpha currently requires exactly:

CPython 3.12.13

Other Python versions are unsupported.

Documentation status

The repository documentation has not yet been fully updated for this alpha.

Some README, status, roadmap, portability, testing and packaging sections may
still describe the earlier Linux/macOS-only development state or the historical
v0.1.0 proof.

When the documentation conflicts with this release note:

  • the v0.1.0 proof applies only to its immutable tagged commit;
  • the three native bundle jobs apply to this alpha's tested commit;
  • unsupported functionality must not be inferred from implementation details.

Documentation cleanup is one of the next release tasks.

Distribution status

The self-contained runtime bundles have passed native CI, but the release and
installation handoff is still incomplete.

In particular:

  • public installation instructions are not finalized;
  • release-download installation has not been fully documented;
  • packaging metadata is still being cleaned up;
  • release asset retention and checksum publication are still being finalized;
  • upgrade and uninstall workflows are not yet considered stable;
  • no backward-compatibility guarantee is made for alpha images or installers.

Image compatibility

The image format and Continuum IR are still unstable.

Images created by alpha releases may not remain compatible with later alpha,
beta or stable releases.

Continuum will reject incompatible image versions rather than silently
reinterpret them, but users should not depend on long-term alpha image
compatibility.

Intended use

This release is intended for:

  • technical evaluation
  • continuation-runtime research
  • testing the explicit-stack architecture
  • experimenting with supported pure-Python programs
  • reviewing the image format and portability model
  • reporting correctness, compatibility and platform defects

It is not intended fo...

Read more

Continuum v0.1.0 — Verified Cross-Platform Continuation Proof

Choose a tag to compare

@byte271 byte271 released this 30 Jul 02:31

Continuum v0.1.0

Continuum v0.1.0 is the first verified cross-platform continuation proof release.

A continuation image created by a native Linux x86_64 process was resumed unchanged by a new native process on Apple Silicon macOS arm64.

Verified result

  • Source platform: Linux x86_64
  • Target platform: Apple Silicon macOS arm64
  • Runtime: CPython 3.12.13
  • Verification conditions: 26/26 passed
  • Source commit: 15bceefece050d06a1f504244a77434e31fd5228
  • GitHub Actions run: 30489463484

The source process exited before the target process started. Completed actions did not repeat. The continuation image remained byte-identical during transfer, and the combined output and final result hash matched an uninterrupted control run.

Scope

This release supports a controlled pure-Python subset compiled into Continuum’s explicit-stack runtime.

It does not migrate arbitrary CPython processes, arbitrary native stack frames, threads, sockets, native extensions, subprocesses, or GPU state.

Platform status

This release specifically preserves the verified Linux x86_64 to macOS arm64 proof.

Windows support and the newer Continuum IR are being developed separately and are not part of this release.