Skip to content

feat!: remove Plan v1 distributed transport - #6970

Merged
jrusso1020 merged 7 commits into
mainfrom
james/remove-plan-v1
Nov 2, 2026
Merged

jrusso1020 merged 7 commits into
mainfrom
james/remove-plan-v1

Conversation

@jrusso1020

@jrusso1020 jrusso1020 commented Nov 2, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • remove the public Plan v1 producer transport exports and cloud event/result types
  • make AWS Lambda, SAM/CDK, GCP Cloud Run, and both SDKs Plan v2-only
  • reject explicit v1 payloads at adapter and orchestration boundaries while keeping omitted protocol compatible as v2
  • remove v1 sample events and the completed v1-v2 rollout parity harness
  • make the Lambda-local regression path exercise Plan v2 only

Breaking change

The planProtocol SDK option and Plan v1 event/result types are removed. AWS and GCP adapter deployments must update their orchestration and handler packages together. This should ship in the next 0.9.0 release.

The producer still uses its private execution-plan representation while building Plan v2. The active sourcePlanV1Hash manifest key is intentionally preserved for wire compatibility.

Validation

  • pre-commit tracked-artifact, formatting, lint, fallow, and typecheck gates
  • AWS Lambda and GCP Cloud Run package builds and typechecks
  • 99 GCP Cloud Run tests
  • 81 focused AWS Lambda and producer contract tests
  • 119 producer public-export and ffmpeg/ffprobe contract tests
  • producer test classification
  • Lambda-local harness standalone typecheck
  • intentional-deletion and comment-citation guards
  • AWS and GCP smoke script shell syntax

@mintlify

mintlify Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated
hyperframes 🟢 Ready View Preview Nov 2, 2026, 2:36 AM

💡 Tip: Enable Automations to automatically generate PRs for you.

@github-actions

github-actions Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Edit accuracy: accurate 271 (base branch 271), smooth 95 of those

The gate passes.
Smoothness is reported in the artifact, not gated. A case fails only if it fails 2 of 3 runs.

Quarantined, measured but not gated (0)

Unstable (2)

  • seqplainkeys-none-center-r0-nested-z100: tracking 0.06, pressJump 0, drop 0, reload 0, render 0.03, renderKey -, undo true, teleport true / tracking 0.06, pressJump 0, drop 0, reload 0, render 0.03, renderKey -, undo true, teleport true / tracking 0.06, pressJump 0, drop 0, reload 0, render 0.03, renderKey -, undo true, teleport true
  • seqplainkeys-none-center-r0-root-z100: tracking 0.06, pressJump 0, drop 0, reload 0, render 0.03, renderKey -, undo true, teleport true / tracking 0.06, pressJump 0, drop 0, reload 0, render 0.03, renderKey -, undo true, teleport true / tracking 0.06, pressJump 0, drop 0, reload 0, render 0.03, renderKey -, undo true, teleport true

BREAKING CHANGE: Cloud adapters accept only Plan v2; producer v1 exports are removed.
@jrusso1020
jrusso1020 force-pushed the james/remove-plan-v1 branch from f6a2268 to fe537cf Compare November 2, 2026 02:38

@heygengenesis heygengenesis Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: REQUEST CHANGES · 1 blocker · 0 important · 2 nits · head fe537cff

The GCP workflow no longer rejects an explicit PlanProtocol: "v1". It ignores the field and runs a v2 render, while AWS fails the same input with PLAN_PROTOCOL_UNSUPPORTED (↓ inline).

  • nit: the PR body has literal \n sequences, so it renders as one paragraph.
  • nit: the optional Comments check is red on a line this PR touched: examples/aws-lambda/README.md:186 results.json ("no such file in the repo").
Scope

Read in full: the AWS handler/events/SDK, the SAM template and CDK Choice/Fail states, the GCP server/events/SDK/workflow.yaml, and the producer export removals. Checked that PLAN_TOO_LARGE cannot come from the v2 path (planV2WithPublisher passes executionPlanSizeLimitBytes: MAX_SAFE_INTEGER), so dropping it from the non-retryable lists is safe. PlanProducedZeroChunks now fails as PLAN_EMPTY rather than PLAN_TOO_LARGE. That's correct, but callers can see the new error name. The experiment-framework activity models are already Literal["v2"] and keep source_plan_v1_hash, so they're unaffected. On the AWS state machine, an omitted protocol goes to PlanV2 and v1 hits IsPresent → UnsupportedPlanProtocol, which is correct. Both HTTP handlers reject v1 with tests. CI › CI, regression, Windows, Docs and CodeQL were still running at review time.

@heygengenesis heygengenesis Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: REQUEST CHANGES — 1 resolved (Comments nit), 1 open (GCP workflow silently accepts explicit PlanProtocol: "v1", see the inline comment on terraform/workflow.yaml), 0 new · fe537cf → 3bcd502

@heygengenesis heygengenesis Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: APPROVE — 2 resolved (GCP explicit-protocol guard fixed in c34f159 with a contract test; PR body newlines), 0 open, 0 new · 3bcd502 → b4bf0cc. The budget change only lowers the gcp-cloud-run unpacked size, matching the smaller package. All workflows are green on this head, including CI, regression and Windows render verification.

@heygengenesis heygengenesis Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: APPROVE: 0 open, 0 new · b4bf0cc → ea9b9a2. Both SDKs now reject a stale non-v2 planProtocol before any cloud call, and tests cover that. The deleted semantic-compare scripts are on the deletion allowlist and have no remaining references. Every workflow passed on this head, including CI, regression and Windows render verification.

@jrusso1020
jrusso1020 added this pull request to the merge queue Nov 2, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Nov 2, 2026
@jrusso1020
jrusso1020 added this pull request to the merge queue Nov 2, 2026
Merged via the queue into main with commit 7f48a68 Nov 2, 2026
94 checks passed
@jrusso1020
jrusso1020 deleted the james/remove-plan-v1 branch November 2, 2026 04:30
@jrusso1020 jrusso1020 mentioned this pull request Nov 2, 2026
jrusso1020 added a commit that referenced this pull request Nov 2, 2026
…eaves the box 240px off

seqplainkeys-none-center-r0-root-z100 failed 2 of 3 runs in the merge group
for two version-bump PRs (#6970, #6987). In each failing undo the bytes come
back but the box stays 240.42px off, which is a Studio undo race, not noise.
It stays measured and listed; #6989 tracks the fix, which removes this entry.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
timothybrush pushed a commit to timothybrush/hyperframes that referenced this pull request Nov 2, 2026
…leaves the box off (heygen-com#6990)

* test(studio): quarantine the seqplainkeys case whose undo sometimes leaves the box 240px off

seqplainkeys-none-center-r0-root-z100 failed 2 of 3 runs in the merge group
for two version-bump PRs (heygen-com#6970, heygen-com#6987). In each failing undo the bytes come
back but the box stays 240.42px off, which is a Studio undo race, not noise.
It stays measured and listed; heygen-com#6989 tracks the fix, which removes this entry.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(studio): quarantine the two sibling seqplainkeys center cases with the same undo race

center-r30-root (undo box 313.6px off) and center-r0-nested (redo box
240.7px off) ejected 3 and 1 merge-queue entries since 10-30, the same race
as center-r0-root. With all three quarantined, the gate passes on the shard
results of all 8 failed merge-group runs since 10-30; main's gate fails each.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(studio): quarantine the pct and px seqplainkeys cases with the same undo race

The race also hits the pct and px placements: 5 more cases left the box
230-400px off after undo or redo in the 9 failed merge-group runs since
10-30. Merge-group run 41485305789 bounced heygen-com#6990 on px-r0-nested.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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