Skip to content

(MOT-4614) refactor: replace the worker release train - #997

Merged
ytallo merged 18 commits into
mainfrom
feat/mot-4614-release-train
Aug 29, 2026
Merged

(MOT-4614) refactor: replace the worker release train#997
ytallo merged 18 commits into
mainfrom
feat/mot-4614-release-train

Conversation

@ytallo

@ytallo ytallo commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Summary

  • adds .release/workers.yaml as the private release-only build catalog while preserving every public iii.worker.yaml
  • compiles release descriptors from the private spec, public manifest, package manifest, and immutable source SHA with an approved code/schema digest
  • validates parity with the current Registry contract and never sends package_descriptor or descriptor_sha256
  • replaces the legacy release entry points with prepare, candidate publish/smoke, stable publish, image alias, finalize, and verify executors
  • builds each target as an independent job and reuses immutable prepare artifacts through all later phases
  • emits byte-identical release-result.json artifacts/callbacks and removes direct Slack/release side paths
  • preserves public Compose files in the current iii format and leaves non-release checks intact

Validation

  • python3 -m pytest .github/scripts/tests — 281 passed
  • 75 descriptors compiled and validated (69 public workers and 6 fixtures)
  • release workflows reject reads or fallbacks to iii.worker.yaml after compilation
  • compiler/schema bytes independently match 72b4a2c33f293d57235ad527f6f74c8d4bc2067e381554c94eb360250c2256f7
  • public manifest parity covers identity, artifact kind, package manifest, dependencies, interface policy, metadata, runtime, and bundle contents
  • git diff --check passes

One existing fixture mismatch remains unchanged from origin/main: provider-claude-code/Cargo.lock references llm-router rc.3 while the manifest references rc.4.

Fixes MOT-4614

@vercel

vercel Bot commented Aug 29, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
workers Ready Ready Preview Aug 29, 2026 7:45pm
workers-tech-spec Ready Ready Preview Aug 29, 2026 7:45pm

Request Review

@coderabbitai

coderabbitai Bot commented Aug 29, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 145 files, which is 45 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 3774fbf6-7544-4afa-ac60-6db548958a0b

📥 Commits

Reviewing files that changed from the base of the PR and between 05e0e89 and c8d54f8.

⛔ Files ignored due to path filters (17)
  • approval-gate/Cargo.lock is excluded by !**/*.lock
  • crates/provider-integration-testkit/Cargo.lock is excluded by !**/*.lock
  • eval/Cargo.lock is excluded by !**/*.lock
  • hermes/uv.lock is excluded by !**/*.lock
  • image-resize/example/package-lock.json is excluded by !**/package-lock.json
  • provider-claude-code/Cargo.lock is excluded by !**/*.lock
  • provider-command-code/Cargo.lock is excluded by !**/*.lock
  • provider-deepseek/Cargo.lock is excluded by !**/*.lock
  • provider-kimi/Cargo.lock is excluded by !**/*.lock
  • provider-llamacpp/Cargo.lock is excluded by !**/*.lock
  • provider-openai-codex/Cargo.lock is excluded by !**/*.lock
  • provider-openai/Cargo.lock is excluded by !**/*.lock
  • provider-opencode-go/Cargo.lock is excluded by !**/*.lock
  • provider-openrouter/Cargo.lock is excluded by !**/*.lock
  • provider-xai/Cargo.lock is excluded by !**/*.lock
  • scrapling/uv.lock is excluded by !**/*.lock
  • storage/tests/e2e/workers/harness/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (145)
  • .github/RELEASE_TRAIN_CUTOVER.md
  • .github/contracts/release-descriptor.schema.json
  • .github/contracts/release-execution.schema.json
  • .github/release-control-contract.json
  • .github/scripts/_lib.py
  • .github/scripts/build_publish_payload.py
  • .github/scripts/collect_worker_interface.py
  • .github/scripts/discover_changed_workers.py
  • .github/scripts/manifest_version.py
  • .github/scripts/parse_release_tag.py
  • .github/scripts/registry_publication.py
  • .github/scripts/registry_worker_smoke.py
  • .github/scripts/release_compiler.py
  • .github/scripts/release_contract_pin.py
  • .github/scripts/release_control_contract.py
  • .github/scripts/release_effects.py
  • .github/scripts/release_interface.py
  • .github/scripts/release_train.py
  • .github/scripts/resolve_bundle_artifact.py
  • .github/scripts/tests/conftest.py
  • .github/scripts/tests/test_build_publish_payload.py
  • .github/scripts/tests/test_collect_assert_non_empty.py
  • .github/scripts/tests/test_discover_changed_workers.py
  • .github/scripts/tests/test_lib.py
  • .github/scripts/tests/test_manifest_version.py
  • .github/scripts/tests/test_registry_worker_smoke.py
  • .github/scripts/tests/test_release_control_contract.py
  • .github/scripts/tests/test_release_effects.py
  • .github/scripts/tests/test_release_interface.py
  • .github/scripts/tests/test_release_train.py
  • .github/scripts/tests/test_release_workflows.py
  • .github/scripts/tests/test_released_worker_sdk_runtime.py
  • .github/scripts/tests/test_rust_ci_workflows.py
  • .github/scripts/tests/test_scrapling_release_runtime.py
  • .github/scripts/tests/test_validate_oci_dockerfile.py
  • .github/scripts/tests/test_validate_worker.py
  • .github/scripts/tests/test_worker_compose.py
  • .github/scripts/tests/test_worker_dependency_compatibility.py
  • .github/scripts/validate_oci_dockerfile.py
  • .github/scripts/validate_worker.py
  • .github/scripts/verify_registry_lock.py
  • .github/workflows/_bundle.yml
  • .github/workflows/_container.yml
  • .github/workflows/_harness-integration.yml
  • .github/workflows/_publish-registry.yml
  • .github/workflows/_release-build.yml
  • .github/workflows/_release-registry.yml
  • .github/workflows/_rust-binary.yml
  • .github/workflows/_worker-e2e.yml
  • .github/workflows/browser-scrapling-e2e.yml
  • .github/workflows/cache-cleanup.yml
  • .github/workflows/candidate-smoke.yml
  • .github/workflows/ci.yml
  • .github/workflows/cleanup-release-attempt-refs.yml
  • .github/workflows/container-alias.yml
  • .github/workflows/create-prerelease-tag.yml
  • .github/workflows/create-tag.yml
  • .github/workflows/database-e2e.yml
  • .github/workflows/finalize-registry.yml
  • .github/workflows/harness-e2e-registry.yml
  • .github/workflows/harness-e2e-shadow.yml
  • .github/workflows/harness-e2e-source.yml
  • .github/workflows/harness-quickstart.yml
  • .github/workflows/link-check.yml
  • .github/workflows/macos-runner-capacity.yml
  • .github/workflows/prepare-release.yml
  • .github/workflows/promote-registry.yml
  • .github/workflows/publish-candidate.yml
  • .github/workflows/publish-stable.yml
  • .github/workflows/rbac-proxy-e2e.yml
  • .github/workflows/reconcile-github-release.yml
  • .github/workflows/release-candidate-publish.yml
  • .github/workflows/release-candidate-smoke.yml
  • .github/workflows/release-descriptor-index.yml
  • .github/workflows/release-finalize.yml
  • .github/workflows/release-image-alias.yml
  • .github/workflows/release-prepare.yml
  • .github/workflows/release-stable-publish.yml
  • .github/workflows/release-verify.yml
  • .github/workflows/release.yml
  • .github/workflows/rust-security-audit.yml
  • .github/workflows/shell-e2e.yml
  • .github/workflows/skill-check.yml
  • .github/workflows/storage-e2e.yml
  • .github/workflows/verify-release.yml
  • .release/workers.yaml
  • README.md
  • a2ui/src/functions.rs
  • bridge/config.yaml
  • browser/scripts/verify_oracle.py
  • code-runner/iii.worker.yaml
  • cron/config.yaml
  • database/config.collect.yaml
  • devin/iii.worker.yaml
  • docs/README.md
  • docs/architecture/README.md
  • docs/architecture/deploy-modes.md
  • docs/architecture/iii-worker-yaml.md
  • docs/architecture/testing-and-ci.md
  • docs/architecture/worker-compose.md
  • docs/architecture/worker-model.md
  • docs/sops/binary-worker.md
  • docs/sops/new-worker.md
  • docs/sops/release.md
  • document/README.md
  • document/src/bus.rs
  • github/iii.worker.yaml
  • harness/tests/e2e/README.md
  • harness/tests/e2e/run-deployed-ci.sh
  • harness/tests/integration/src/scenarios/direct_spawn_leaf_pipeline.rs
  • harness/tests/integration/src/scenarios/spawn_reuse_guard.rs
  • hermes/Dockerfile
  • hermes/iii.worker.yaml
  • http/config.yaml
  • iii-directory/tests/fixtures/discover_catalog.json
  • mcp/README.md
  • mcp/iii.worker.yaml
  • opengantry/scripts/build-bundle.mjs
  • opengantry/tests/formats.test.mjs
  • pubsub/config.yaml
  • queue/config.yaml
  • sandbox-code-runner/iii.worker.yaml
  • scrapling/iii.worker.yaml
  • scrapling/pyproject.toml
  • scrapling/scripts/build_release_runtime.py
  • scripts/check-links.sh
  • security-scan/config.yaml
  • shell/ARCHITECTURE.md
  • shell/config.collect.yaml
  • shell/tests/e2e/README.md
  • shell/tests/e2e/run-tests.sh
  • state/config.yaml
  • storage/.gitignore
  • storage/config.collect.yaml
  • tech-specs/2026-06-codegen/README.md
  • tech-specs/2026-06-codegen/worker-and-cli.md
  • tech-specs/2026-06-rbac-proxy-worker/rbac-proxy.md
  • telegram-bot/config.collect.yaml
  • worker-readme.md
  • workers-dev/README.md
  • workers-dev/src/config.rs
  • workers-dev/src/discover.rs
  • workers-dev/src/graph.rs
  • workers-dev/src/orchestrator.rs
  • workers-dev/src/tui/mod.rs

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

skill-check — worker

0 verified, 69 skipped (no docs/).

Layer Result
structure
vale
ai
render

Four for four. Nicely done.

@ytallo
ytallo marked this pull request as ready for review August 29, 2026 20:24
@ytallo
ytallo merged commit e043810 into main Aug 29, 2026
668 of 670 checks passed
@ytallo
ytallo deleted the feat/mot-4614-release-train branch August 29, 2026 21:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant