Skip to content

DCPInvariant v0.2.0

Choose a tag to compare

@tiramitree tiramitree released this 28 Jul 15:41

DCPInvariant v0.2.0

This release adds one bounded real torch.distributed.run restart case to the
existing single-host CPU/Gloo checkpoint-invariant suite.

Registered elastic case

  • fixed two-worker, 2-to-2 topology with --max-restarts=1;
  • numeric loopback rendezvous through --local-addr=127.0.0.1;
  • attempt-zero rank 1 writes a private canonical marker and exits with the
    registered code 91;
  • rank 0 observes the marker before the failed attempt is torn down;
  • both successful final workers report restart count 1 and maximum restarts 1;
  • the restarted group loads the same pre-failure committed generation;
  • checkpoint model, optimizer, RNG, cursor, and aggregate state match;
  • uninterrupted and resumed next-step state match;
  • receipt digests and the canonical generation pointer remain equal; and
  • no post-failure promotion is attempted.

The marker records the injected failure and the final reports record the
restart. The outer launcher records only final exit and timeout, so this does
not claim an independently observed attempt-zero child-exit vector.

Exact PyTorch compatibility guard

The package-owned startup guard binds the exact 2,195-byte PyTorch c10d
_create_tcp_store source with SHA-256
488aee8200995402157248d051fc337c9dd02b77dc460ddb9abd2b5bf22bc19f.
It verifies runtime provenance, source digest, module binding, and the immediate
caller before forcing only that guarded module-local TCPStore call to
use_libuv=False. It also fixes
TORCH_DISABLE_SHARE_RDZV_TCP_STORE=1. Workers validate a numeric loopback
address and no-op the startup guard before importing PyTorch.

Bootstrap attestation schema v3 records both the installed distribution
version and runtime version. The only registered pairs are:

  • distribution 2.11.0, runtime 2.11.0+cpu; and
  • distribution 2.11.0+cpu, runtime 2.11.0+cpu.

The runtime version must also equal the artifact provenance. These pairs do
not prove an operating-system identity, equivalence to an unmodified libuv
path, or compatibility with another PyTorch source or version.

Evidence schema v2

The normalized artifact has eleven scenarios and 26 ordinary files:
provenance, summary, eleven observations, eleven derived results, JUnit, and
an unsigned SHA-256 manifest. It excludes native checkpoint files, raw marker
and bootstrap records, logs, paths, process IDs, ports, rendezvous values, and
environment values.

Schema v2 is not inventory-compatible with v1. The v0.2 verifier accepts v2
only; use the preserved v0.1.0 verifier for v1 evidence.

The Release provides:

  • dcp_invariant-0.2.0-py3-none-any.whl
  • dcp_invariant-0.2.0.tar.gz
  • dcp-invariant-evidence-v0.2.0.tar.gz
  • SHA256SUMS

There is no PyPI publication. PyTorch and NumPy are not redistributed.

Public validation history

The first v0.2 feature run is intentionally retained:
30368196351.
Its six integration jobs exposed that the official CPU wheel can report
distribution metadata 2.11.0+cpu, while the initial guard accepted only
2.11.0; package-boundary and quality jobs passed. The follow-up commit
registered only the two exact version pairs above and added negative coverage.
No public history was rewritten.

The corrected feature run
30371065824,
the main run
30371462187,
and the exact v0.2.0 tag run
30371899609
each completed successfully with 13 of 13 jobs.

Claim boundary

The evidence is limited to the exact public fixture, source revision, pinned
versions, single host, CPU/Gloo, one or two processes, and one fixed injected
failure point. It does not establish arbitrary-model determinism, arbitrary
TorchElastic recovery, elastic membership changes, multi-node behavior,
GPU/NCCL, FSDP, performance, recovery time, scalability, network-filesystem
or object-store durability, power-loss safety, hostile-checkpoint safety,
high availability, production reliability, framework superiority, or
official PyTorch certification.

There are no verified external users, independent reproductions, third-party
reviews, production deployments, adoption signals, or recruiting outcomes.
OpenAI Codex materially assisted implementation, tests, documentation,
privacy gating, and publication; this does not imply human or independent
review.

The publication scan is project-scoped. It does not claim global account or
network erasure. The v0.1.0 Release, the retained failed run, and prior public
history remain unchanged.