Skip to content

feat: Add portable incremental artifact protocol - #13341

Draft
anthonyshew wants to merge 3 commits into
mainfrom
shew/portable-incremental-artifacts
Draft

feat: Add portable incremental artifact protocol#13341
anthonyshew wants to merge 3 commits into
mainfrom
shew/portable-incremental-artifacts

Conversation

@anthonyshew

@anthonyshew anthonyshew commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Why

Remote Cache providers need a portable, optional contract for storing reusable incremental build state independently from exact task artifacts. Establishing the client contract and conformance mock first lets provider and runtime work proceed.

What

Adds incremental-artifacts-v1 capability negotiation and client operations for monolithic incremental artifacts. The conformance mock covers strict compatibility keys, maximum object size, SHA-256 content digests, atomic replacement, preflight behavior, and independent read/publish authorization. Endpoint documentation remains intentionally deferred.

How

Validated with:

  • cargo test -p turborepo-vercel-api -p turborepo-api-client
  • cargo check -p turborepo-auth
  • cargo clippy -p turborepo-vercel-api -p turborepo-vercel-api-mock -p turborepo-api-client --all-targets -- -D warnings

Reviewers can exercise the complete protocol flow through test_incremental_artifact_protocol.

@anthonyshew
anthonyshew requested a review from a team as a code owner July 10, 2026 21:22
@anthonyshew
anthonyshew requested review from tknickman and removed request for a team July 10, 2026 21:22
@vercel

vercel Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

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

Project Deployment Actions Updated (UTC)
examples-basic-web Ready Ready Preview, Comment, Open in v0 Jul 11, 2026 12:04am
examples-designsystem-docs Ready Ready Preview, Comment, Open in v0 Jul 11, 2026 12:04am
examples-gatsby-web Ready Ready Preview, Comment, Open in v0 Jul 11, 2026 12:04am
examples-kitchensink-blog Ready Ready Preview, Comment, Open in v0 Jul 11, 2026 12:04am
examples-nonmonorepo Ready Ready Preview, Comment, Open in v0 Jul 11, 2026 12:04am
examples-svelte-web Ready Ready Preview, Comment, Open in v0 Jul 11, 2026 12:04am
examples-tailwind-web Ready Ready Preview, Comment, Open in v0 Jul 11, 2026 12:04am
examples-vite-web Ready Ready Preview, Comment, Open in v0 Jul 11, 2026 12:04am
turbo-site Ready Ready Preview, Comment, Open in v0 Jul 11, 2026 12:04am
turborepo-eve-agent Ready Ready Preview, Comment, Open in v0 Jul 11, 2026 12:04am

## Why
The incremental artifact protocol test declared an oversized
`Content-Length` while streaming an empty body. That malformed request
can leave the Windows HTTP transport waiting indefinitely and consume
the entire CI timeout.

## What
Make the oversized request well-formed while preserving the payload-size
rejection coverage.

## How
Verified with `cargo nextest run -p turborepo-api-client
test_incremental_artifact_protocol`.
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