Skip to content

release: gen-worker 0.43.0 — v4 private-input manifest hard cut (gw#585)#365

Merged
PaulFidika merged 5 commits into
masterfrom
release/gw585-v4-input-manifest
Jul 21, 2026
Merged

release: gen-worker 0.43.0 — v4 private-input manifest hard cut (gw#585)#365
PaulFidika merged 5 commits into
masterfrom
release/gw585-v4-input-manifest

Conversation

@PaulFidika

Copy link
Copy Markdown
Contributor

Cherry-picks the gw#585 lane from chaos (7b47b95, 871f3b3, 64d4ac1, 403bcb6) + the 0.43.0 version bump.

  • gRPC protocol v3 -> v4 HARD CUT paired with tensorhub th#886 (tensorhub PR #538 — MERGE BOTH IN THE SAME WINDOW; a v0.43 worker cannot serve a v3 hub and vice versa)
  • proto byte-for-byte from tensorhub chaos (protocol 4, RunJob.input_assets=15, InputAsset 1-6; CLI NDJSON stays v1), pb2 regenerated with grpcio-tools 1.82.1
  • worker resolves the exact ordered manifest under its attempt-scoped capability, verifies size/BLAKE3/MIME/kind, preserves opaque refs, attempt-owned temp cleanup; build-time rejection of Asset-bearing set/frozenset + non-string maps
  • GEN_WORKER_INTERNAL_OBJECT_HOSTS: exact-host SSRF exemption for resolver-minted URLs (internal object stores); caller transports keep the full gate

Evidence: full suite 558 passed on chaos; 69-test v4 matrix; e2e#202 journey PASS (attachment survives worker kill -9, temp cleaned) — e2e PR #222.

🤖 Generated with Claude Code

…t (PR #320 port onto chaos)

Proto adopted byte-for-byte from tensorhub chaos 07e5520b (protocol 4,
RunJob.input_assets=15 — 14 taken by th#913 lane — InputAsset fields 1-6; CLI
NDJSON stays v1); pb2 regenerated with grpcio-tools 1.82.1. Worker resolves the
exact ordered manifest via one bounded resolve call under the attempt-scoped
capability, verifies size/BLAKE3/MIME/kind/decode, preserves opaque refs, sets
only local_path, attempt-owned temp cleanup; endpoint build rejects Asset-bearing
set/frozenset and non-string maps; deterministic traversal (declaration order,
list index, sorted string map keys). Full local suite 558 passed; mypy/ruff/
timeout-lint clean. uv.lock: mechanical 0.42.0 catch-up to pyproject.
…al_path, optional in-flight delay) for the v4 e2e lane
…esolver-minted private-input URLs (datacenter-internal object stores); caller public transports keep the full SSRF gate
@PaulFidika
PaulFidika merged commit 253f0c4 into master Jul 21, 2026
1 check passed
@PaulFidika
PaulFidika deleted the release/gw585-v4-input-manifest branch July 21, 2026 20:26
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