Skip to main content

Manifest-driven synchronization for polyrepo development workspaces

Project description

The execution substrate packages a local, multi-repository workspace so it can be reconstructed and run on remote machines. It lets developers launch uncommitted or experimental code without pushing every change to source control or manually copying files.

polyrepo.yaml defines the participating repositories, their local locations, remote directory structure, and launch storage policy. During publication, the substrate creates:

  • A reusable base archive containing a frozen workspace snapshot.
  • A smaller patch archive containing the current tracked and visible untracked changes.
  • Bootstrap shell code that downloads both archives, reconstructs the workspace, and prepares it for execution.

Launchers embed this bootstrap code into task scripts, then add dependency setup and workload commands. The substrate handles workspace transfer and reconstruction, while launchers and backend systems handle task planning, scheduling, resources, queues, and job lifecycle. This repository also includes generic launch helpers and a TPU dispatch CLI; project-specific bucket policy stays in files beside the workspace manifest.

The broader launch architecture has four layers:

  1. Planning: Defines tasks, parameters, stages, and dependencies.
  2. Execution shaping: Selects or modifies which tasks become launch requests.
  3. Launch orchestration: Publishes the workspace, creates scripts, and stores them.
  4. Submission: Sends those scripts to local, dispatch, or cluster backends.

The same process can support one-off diagnostic commands, keeping operator tools and larger workloads on one execution path.

Only source-relevant files are be published. Ignored files—such as datasets, credentials, checkpoints, generated outputs, and machine-specific artifacts—remain outside the archives. Because patches may contain unpublished code or configuration, they require controlled storage and source-code-level security. Generated scripts can contain the W&B key, so keep the GCS artifact bucket private.

Overall, the substrate creates a shared contract between development and remote execution: declare the workspace once, publish its current state at launch time, reconstruct it remotely, and submit the resulting scripts through any supported execution backend.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

polyrepo_template-0.1.0.tar.gz (30.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

polyrepo_template-0.1.0-py3-none-any.whl (38.0 kB view details)

Uploaded Python 3

File details

Details for the file polyrepo_template-0.1.0.tar.gz.

File metadata

  • Download URL: polyrepo_template-0.1.0.tar.gz
  • Upload date:
  • Size: 30.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"20.04","id":"focal","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for polyrepo_template-0.1.0.tar.gz
Algorithm Hash digest
SHA256 db2fc330aad087abc84bb2e81455cd8c817320b00a277e8d24e78b403c13aea7
MD5 30bdc198eb3fded851338cd8780e6071
BLAKE2b-256 fbebc1dca6c64d32021e8a44a31a7261244e490b4644c101fa7eafce8b85c326

See more details on using hashes here.

File details

Details for the file polyrepo_template-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: polyrepo_template-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 38.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"20.04","id":"focal","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for polyrepo_template-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ec6fb10a7f3d74467a7aeca46539ca9aed9aa2553d2b1767978ddaee8e791f46
MD5 ac34532fb1de97e3e568b5e4e1a1b4a1
BLAKE2b-256 62d7ad3fc858c239b9c92cc1c13e313e21d7d6c983a12030bec4766c38d3ae65

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page