Skip to content

feat(producer): version distributed plan protocol#2777

Open
jrusso1020 wants to merge 1 commit into
mainfrom
feat/plan-protocol-v1
Open

feat(producer): version distributed plan protocol#2777
jrusso1020 wants to merge 1 commit into
mainfrom
feat/plan-protocol-v1

Conversation

@jrusso1020

Copy link
Copy Markdown
Collaborator

Summary

  • write an explicit v1 distributed-plan protocol descriptor without changing plan hashes or rendered pixels
  • accept descriptor-less historical v1 plans, while failing closed on partial, malformed, or unknown descriptors
  • validate the descriptor before chunk and assembler workers inspect v1-specific artifact paths
  • expose per-role planner/chunk/assembler capabilities that can represent a v2 planner with dual v1/v2 readers

Why

The current monolithic plan layout needs to evolve before PLAN_TOO_LARGE can be removed safely. Rolling out a new layout without an explicit protocol risks an old assembler silently consuming only the v1 artifacts it understands (for example, omitting future externalized audio). This PR is the pixel-neutral compatibility prerequisite; it does not introduce Plan v2 or enable any new render path.

Compatibility and rollout

  • descriptor absent: treated as legacy plan-dir-v1
  • known complete v1 descriptor: accepted; unknown optional metadata is ignored
  • partial/malformed/unknown descriptor: typed PLAN_PROTOCOL_UNSUPPORTED before layout-specific reads
  • capabilities advertise planner.produces, chunk.accepts, and assembler.accepts independently, plus descriptor-less legacy support only for reader roles
  • a future v2 rollout must still use an explicit history-recorded protocol choice, a distinct v2 locator/prefix, and build-ID pinning or a dedicated canary queue; no mixed-protocol render is permitted after the first chunk

Validation

  • 20 focused protocol/public-reader tests
  • 41 distributed plan tests
  • producer typecheck
  • changed-file oxlint and oxfmt
  • test classification and tracked-artifact checks
  • pre-commit checks
  • independent review completed after fixing validation-order and dual-reader capability blockers

Copy link
Copy Markdown
Collaborator Author

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