[docs] dreamverse-integration: D-17 — abandon split, single mega-PR #1288

User decision after the post-#1286 rebase + re-slice cycle. Closing
#1287 (slice 1-3); opening #1288 on will/ltx2_sr_port covering the full
34-commit chain (71 files, +13,074/-583 LOC) at once. STACK.md model
deprecated; split bookmarks no longer maintained.

* decisions-log.md: add D-17 with rationale (review-coordination
  overhead vs structural benefit, layers not actually independent,
  CI/merge-queue simplicity), implications (STACK.md deprecated,
  bookmarks stale, runbook protocol replaced), and watch-outs (PR
  size, fallback to re-split if main moves significantly). Bumps
  Last updated header.

* README.md: switch narrative — single mega-PR #1288 on
  will/ltx2_sr_port @ 39dfa009 replaces the 6-PR split plan. PR #1287
  CLOSED. Cross-link to D-17.

* state.md: header reflects strategy reversal. Branch tips collapse
  the deprecated split bookmarks into one row noting D-17 deprecation.

* pr-roadmap.md: "In flight" is now the mega-PR #1288. New "Closed
  PRs in this scope" section captures #1287's history. New
  "Deprecated split bookmarks (D-17)" section names the abandoned
  branches. "Planned" section trimmed to post-#1288 work.

* open-threads.md: header updated. Item D resolution gate flipped
  from #1287 merge to #1288 merge — same content, different vehicle.

* runbook.md: branch-topology section reflects single-PR model.
  "After a PR merges (re-slice protocol)" replaced by "After PR
  #1288 merges" with simpler 6-step cleanup. The deprecated
  re-slice protocol is preserved in git history at b34d9704 and
  referenced from state.md.

* authors.md: PR #1287 row marked CLOSED; new PR #1288 row added
  with full 34-commit / 71-file / +13,074 LOC scope. All 34 commits
  carry the 4 co-author trailers (verified per the per-commit
  trailer block in every commit message).

PR #1288: https://github.com/hao-ai-lab/FastVideo/pull/1288

Co-authored-by: Junda (David) Su <90978028+Davids048@users.noreply.github.com>
Co-authored-by: Matthew Noto <99706358+RandNMR73@users.noreply.github.com>
Co-authored-by: XOR-op <17672363+XOR-op@users.noreply.github.com>
Co-authored-by: Zhang Peiyuan <42993249+jzhang38@users.noreply.github.com>
This commit is contained in:
SolitaryThinker
2026-05-05 03:36:51 -07:00
co-authored by Junda Su Matthew Noto XOR-op Zhang Peiyuan
parent 39dfa0090f
commit aa64458db1
7 changed files with 106 additions and 111 deletions
@@ -5,13 +5,18 @@ Tracks the public API refactor (PRs 0-17), the LTX-2 streaming server
upstream, the Dreamverse switch from `FastVideo-internal` to public
`FastVideo`, and the NVFP4 quantization landing.
**Last reconciled:** 2026-05-05 (post-#1286 merge + rebase). FastVideo
`will/ltx2_sr_port` @ `b34d9704` (33 commits ahead of main, post-rebase
SHAs); Dreamverse `will/integrate-public-fastvideo` @ `ec8ef92`.
PRs #1257 / #1258 / #1284 / #1286 MERGED to main; PR #1287
(`will/api_7.10` — `generate_async` + `VideoEvent` hierarchy) OPEN at
`6ae7a99f`, MERGEABLE. Local backup `will/ltx2_sr_port-pre-1286-rebase`
@ `1baa60bb` preserves the pre-rebase chain.
**Last reconciled:** 2026-05-05 (strategy reversal — single mega-PR).
FastVideo `will/ltx2_sr_port` @ `39dfa009` (34 commits ahead of main).
Dreamverse `will/integrate-public-fastvideo` @ `ec8ef92`.
PRs #1257 / #1258 / #1284 / #1286 MERGED to main. **PR #1287 CLOSED
(in favor of consolidation); PR #1288 OPEN as the single mega-PR
landing the entire `will/ltx2_sr_port` chain at once** (LTX-2 SR
runtime + NVFP4 + `generate_async`/Dynamo contract + agents memory dir,
71 files, +13,074/-583 LOC). Split branches kept as historical
bookmarks; STACK.md model is **abandoned** — see [decisions-log.md
D-17](decisions-log.md#d-17). Local backup
`will/ltx2_sr_port-pre-1286-rebase` @ `1baa60bb` preserves the
pre-rebase chain.
## Fresh-context onboarding (read in order)
@@ -3,7 +3,7 @@
**Status:** PERMANENT — keep around as the source of truth for who collaborated
on the dreamverse-integration work, even after every PR in the integration
scope has merged.
**Last updated:** 2026-05-05 (post-#1286 merge — trailerless-commit gap resolved)
**Last updated:** 2026-05-05 (strategy reversal — single mega-PR #1288 on `will/ltx2_sr_port` replaces planned 6-PR split; #1287 closed; per [decisions-log.md D-17](decisions-log.md#d-17))
This file documents the human co-authors credited on every commit in the
dreamverse-integration scope (FastVideo public-API refactor, streaming server
@@ -40,7 +40,8 @@ across every PR in the integration scope:
| #1258 | `will/api_7.7` (prompt enhancer + LLMProvider) | ✅ merged 2026-05-04 | yes (3/3) |
| #1284 | `will/api_7.8` (streaming auxiliaries) | ✅ merged 2026-05-04 | yes (2/2) |
| #1286 | `will/api_7.9` (streaming router) | ✅ merged 2026-05-05 at `2aaeee2a` (squash) | yes on commits 1-3; commit `a152cb77` (`[fix] streaming: router polish`) was missing trailers but got squashed into the merge commit, so the merge commit on main inherits the trailers from the other 3. The trailerless cherry-pick partner (`40e265b8` on `will/ltx2_sr_port`) was dropped by the post-#1286 rebase — gap permanently resolved. |
| #1287 | `will/api_7.10` (`generate_async` + `VideoEvent`) | 🟢 open at `6ae7a99f` | yes on all 3 commits (`44112661` / `00aa5649` / `6ae7a99f`) |
| #1287 | `will/api_7.10` (`generate_async` + `VideoEvent`) | ❌ CLOSED 2026-05-05 — superseded by #1288 per [D-17](decisions-log.md#d-17) | yes on all 3 commits (now part of #1288's chain) |
| **#1288** | **`will/ltx2_sr_port`** (mega-PR — full stack: SR runtime + NVFP4 + generate_async + Dynamo contract + agents memory) | 🟢 OPEN, MERGEABLE at `39dfa009`, 34 commits / 71 files / +13,074 LOC | yes on all 34 commits |
Aggregate count across `will/ltx2_sr_port` (top of stack) at the time of
writing: 32-33 commits per co-author, matching the 32 commits in the stack
@@ -6,7 +6,7 @@ question/decision, rationale, current status.
For implementation status see [pr-roadmap.md](pr-roadmap.md). For
follow-up actions see [open-threads.md](open-threads.md).
**Last updated:** 2026-05-05 (added D-12 — GpuPool layer separation, Oracle review post-#1257-merge; added D-13 — prompt enhancer / LLMProvider abstraction shape, Oracle review pre-#1258-merge; added D-14 — streaming auxiliaries cohesion, Oracle review during #1284 review cycle; added D-15 — streaming router placement + sticky/active-active deferral, Oracle review during #1286 review cycle; added D-16 — streaming router polish round 2, second-pass review on top of D-15 covering bridge cancellation hygiene, registry state machine, httpx hard-fail, replica YAML parsing, and `websockets` dep).
**Last updated:** 2026-05-05 (added D-12 — GpuPool layer separation, Oracle review post-#1257-merge; added D-13 — prompt enhancer / LLMProvider abstraction shape, Oracle review pre-#1258-merge; added D-14 — streaming auxiliaries cohesion, Oracle review during #1284 review cycle; added D-15 — streaming router placement + sticky/active-active deferral, Oracle review during #1286 review cycle; added D-16 — streaming router polish round 2, second-pass review on top of D-15 covering bridge cancellation hygiene, registry state machine, httpx hard-fail, replica YAML parsing, and `websockets` dep; added D-17 — strategy reversal: abandon 6-PR split in favor of single mega-PR #1288 on `will/ltx2_sr_port`).
## Status legend
@@ -16,6 +16,34 @@ follow-up actions see [open-threads.md](open-threads.md).
## Post-merge architecture decisions
### D-17: Abandon 6-PR split — land everything as single mega-PR #1288
**Status:** ✅ Resolved 2026-05-05. PR #1287 closed; PR #1288 opened on `will/ltx2_sr_port` covering the full chain.
**Source:** User decision after observing the post-#1286 rebase + re-slice cycle.
**Question:** The original plan ([STACK.md](../../../STACK.md), [pr-roadmap.md](pr-roadmap.md)) called for the remaining `will/ltx2_sr_port` content (after PRs 7.5/7.6/7.7/7.8/7.9 landed) to ship as 6 stacked PRs: 7.10 (#1287, generate_async), 8 (server contract docs), LTX-2 SR runtime, NVFP4, post-fixes, agents-cleanup. PR #1287 was opened on 2026-05-05 as the first slice. Should the remaining 5 slices be opened sequentially as planned, or should everything be consolidated into one PR?
**Decision:** Consolidate. Close #1287; open one mega-PR (#1288) on `will/ltx2_sr_port` covering all 34 commits / 71 files / +13,074 LOC at once.
**Rationale:**
- The post-#1286 rebase + re-slice cycle exposed real overhead: backup branch, interactive rebase with manual `drop` directives, force-push, re-slice 6 bookmarks, push next slice as new remote, open new PR, update memory dir. Repeating that 6 more times for the remaining slices accumulates substantial review-coordination overhead with diminishing structural benefit.
- The 6 layers are not independent in the way that landed PRs 7.5-7.9 were. PR 7.10 (`generate_async`) is the only API-shape change; PR 8 is docs+tests on top; LTX-2 SR / NVFP4 / post-fixes / agents-cleanup are feature/fix/docs work that doesn't shape the public API. Reviewing them as one ordered diff is at least as easy as reviewing 6 stacked PRs whose dependencies must be tracked manually.
- Single PR keeps CI / merge queue simpler and avoids the 6-PR cascade where every upstream merge invalidates the chain below it.
**Implications:**
- [STACK.md](../../../STACK.md) (top-level, 10-PR split tracker) is **deprecated**. Kept in tree as a historical artifact with the merged half (PRs 1-4 of the 10) accurate. Safe to delete in a follow-up.
- [authors.md](authors.md), [`CO-AUTHORS.md`](../../../CO-AUTHORS.md) — co-author roster is unchanged; trailers still apply per-commit on every commit in the consolidated PR.
- [runbook.md](runbook.md) — "After a PR merges (re-slice protocol)" section replaced by a simpler "After PR #1288 merges" section.
- Local split bookmarks (`will/api_7.10`, `will/api_8`, `will/ltx2_sr_runtime`, `will/ltx2_nvfp4`, `will/ltx2_post_fixes`, `will/agents_cleanup`) are no longer maintained; safe to delete locally.
- `origin/will/api_7.10` — pushed during the #1287 cycle; can be deleted on origin once #1287 close-cleanup completes.
**Watch outs:**
- The PR is large (71 files, +13,074 LOC). Reviewers will need commit-by-commit review; the PR body structures the layers in commit order to make this tractable.
- If #1288 becomes too large to merge cleanly later (e.g. main moves significantly underneath it), the fallback is to re-split — but the current expectation is to land it as-is.
### D-12: `GpuPool` layer separation — keep distinct from `VideoGenerator`
**Status:** ✅ Resolved (interim) + 🟡 Deferred long-term shape to PR 7.10.
@@ -6,14 +6,11 @@ recommended next action.
For why each item is open see [decisions-log.md](decisions-log.md). For
PR-level context see [pr-roadmap.md](pr-roadmap.md).
**Last updated:** 2026-05-05 (PR #1286 MERGED at `2aaeee2a` — squash
absorbed all 4 router commits including the second-pass polish via
cherry-pick `a152cb77`. `will/ltx2_sr_port` rebased onto new main:
4 merged commits dropped, 33 commits remain with new SHAs, local
backup preserved on `will/ltx2_sr_port-pre-1286-rebase`. PR #1287
(7.10 — `generate_async` + `VideoEvent` hierarchy) opened on
`will/api_7.10` @ `6ae7a99f`. Item D moved to in-flight; resolves on
#1287 merge alongside the bulk of Q-5/Q-9/PR-7.5 + D-12-B chain.).
**Last updated:** 2026-05-05 (strategy reversal — PR #1287 CLOSED, replaced
by mega-PR #1288 on `will/ltx2_sr_port` @ `39dfa009` covering the full
6-layer stack at once. See [decisions-log.md D-17](decisions-log.md#d-17).
Item D resolution gate is now #1288 merge instead of #1287; same content,
different vehicle.).
## Priority overview
@@ -23,7 +20,7 @@ backup preserved on `will/ltx2_sr_port-pre-1286-rebase`. PR #1287
| **1** | High | Migrate `/healthz`+`/readyz`+`/status` into FastVideo `build_app` | M-L | Closes BE_FLAVOR=fastvideo FE-compatibility; closes streaming-upstream contract debt |
| **2** | High | Fix pre-existing AbsMaxFP8 test failure | S | Self-contained quantization tech debt |
| **VPO** | High | Decide `video_position_offset_sec` semantics (a vs b) | 30 min | Unblocks PR 7.6 state emission |
| **D** | 🟢 in flight | Implement `generate_async` (PR 7.10) — **OPENED 2026-05-05 as PR #1287 on `will/api_7.10` @ `6ae7a99f`, MERGEABLE** | L | Closes Q-5/Q-9/PR-7.5 TODOs simultaneously; enables Dynamo backend; unblocks audio re-encode; enables `GpuPool.run_async()` migration (D-12-B). Wait for merge before working downstream PR 8. |
| **D** | 🟢 in flight | Implement `generate_async` — content shipped in mega-PR **#1288** on `will/ltx2_sr_port` @ `39dfa009` (was #1287, CLOSED + re-routed per [D-17](decisions-log.md#d-17)) | L | Closes Q-5/Q-9/PR-7.5 TODOs simultaneously; enables Dynamo backend; unblocks audio re-encode; enables `GpuPool.run_async()` migration (D-12-B). Resolution gate: #1288 merge. |
| **DR-1** | High | Dreamverse: create `prompting/_internal_compat.py` shim + replace local `prompt_enhancer.py` (1933 LOC) — **PR #1258 has merged (`f673423b`); now actionable** | M (~150-200 LOC shim, replace upstream wiring) | Lets Dreamverse stop carrying a 1933-LOC fork |
| **DR-2** | Med | Decide `cerebras_ifm` provider path: (a) public Literal + `CerebrasIFMProvider` shipped, OR (b) Dreamverse-side custom provider via `enhancer.register_provider(...)` | S (decision) + S-M (impl) | Resolves the cerebras_ifm gap left by PR #1258. Same item as legacy #3 below; DR-2 is the Dreamverse-side framing. |
| **3** | Med | Add `cerebras_ifm` to `PromptEnhancerConfig.provider` Literal + provider | S-M | Public-side resolution if DR-2 picks (a) |
@@ -7,7 +7,7 @@ For design rationale see [design.md](design.md). For streaming-specific
PRs (7.5-7.10) see [streaming-server.md](streaming-server.md). For NVFP4
work that runs parallel to this sequence see [quantization.md](quantization.md).
**Last updated:** 2026-05-05 (PRs 7.5 / 7.6 / 7.7 / 7.8 / 7.9 merged; PR 7.10 opened as #1287).
**Last updated:** 2026-05-05 (strategy reversal — single mega-PR #1288 replaces planned splits 7.10/8/LTX-2/NVFP4/post-fixes/agents_cleanup; see [decisions-log.md D-17](decisions-log.md#d-17)).
## Status legend
@@ -35,21 +35,26 @@ work that runs parallel to this sequence see [quantization.md](quantization.md).
| **7.8** | **#1284** | ✅ | `eb3a3942` (merged 2026-05-04) | Streaming auxiliaries — `prompt/safety.py` (optional fasttext, lazy import), `prompt/rewrite.py`, `session_logger.py` (thread-safe JSONL), `mock_server.py` (build_mock_app + MockGenerator for FE dev). 730 LOC, 2 commits. See [decisions-log.md D-14](decisions-log.md#d-14). |
| **7.9** | **#1286** | ✅ | `2aaeee2a` (merged 2026-05-05) | Streaming router (multi-replica load balancer + WS proxy + `fastvideo router-serve` CLI). Squashed `cd76cf51 + 1ac1e732 + b0b7f59c + a152cb77` (router-polish second-pass; cherry-pick of `40e265b8` from `will/ltx2_sr_port`). See [decisions-log.md D-15](decisions-log.md#d-15) (structural review) + [D-16](decisions-log.md#d-16) (second-pass polish). |
## In flight (7.10)
## In flight (mega-PR #1288)
| # | PR | Status | Branch | Scope |
|---|---|---|---|---|
| **7.10** | **#1287** | 🟢 OPEN, MERGEABLE | `will/api_7.10` (head `6ae7a99f`) | **Dynamo backend contract** — `VideoGenerator.generate_async`, `default_health_check_request()`, `VideoEvent` hierarchy. 3 commits, 468/4 LOC across 4 files. The "unlock PR" — enables PR 7.5's mid-segment cancellation, audio re-encode (Q-5), Dynamo progress passthrough (Q-9), and `GpuPool.run_async()` migration (D-12-B). Stacked on `main`; first slice of post-#1286 rebased `will/ltx2_sr_port`. |
| **mega** | **#1288** | 🟢 OPEN, MERGEABLE | `will/ltx2_sr_port` (head `39dfa009`) | **Single consolidated landing of the full `will/ltx2_sr_port` chain.** Was originally planned as 6 stacked PRs (slices 1-3 / 4-6 / 7-15 / 16-21 / 22-23 / 24-34). Now landing as one PR — see [decisions-log.md D-17](decisions-log.md#d-17) for the strategy decision. **Contents** (commit-ordered): (1) streaming `generate_async` + `VideoEvent` + Dynamo backend contract (3 commits, was PR 7.10/#1287 closed); (2) server contract docs + Dreamverse/Dynamo shape tests (3 commits, was PR 8); (3) LTX-2 SR runtime port + i2v conditioning + alignment harness (9 commits); (4) NVFP4 wire-up + per-component compile + typed `transformer_quant` flow (6 commits); (5) LTX-2 post-handoff parity fixes — Gemma `to()`, list-of-generators (2 commits); (6) `.agents/memory/dreamverse-integration/` knowledge base + agents Phase 1 cleanup (11 commits). 34 commits total, 71 files, +13,074/-583 LOC. |
## Planned (8 → 13)
## Closed PRs in this scope
| # | PR | Status | Why closed |
|---|---|---|---|
| **7.10** | **#1287** | ❌ CLOSED 2026-05-05 | Superseded by mega-PR #1288 — strategy reversal to land everything in one go. Same 3 commits now form the head of #1288. |
## Deprecated split bookmarks (D-17)
`will/api_7.10` / `will/api_8` / `will/ltx2_sr_runtime` / `will/ltx2_nvfp4` / `will/ltx2_post_fixes` / `will/agents_cleanup` were the split-PR bookmarks under the abandoned 6-PR plan. They remain locally as historical references but are no longer maintained. STACK.md (top-level) is similarly deprecated.
## Planned (post-#1288 merge)
| # | Status | Branch | Scope |
|---|---|---|---|
| 8 | 🟡 ready (slice 4-6 of `will/ltx2_sr_port`) | `will/api_8` (`f32e31ec`) | Server contract docs (OpenAI HTTP + Dynamo native-backend integration reference) + Dreamverse/Dynamo shape contract tests. 3 commits. |
| LTX-2 SR | 🟡 ready (slice 7-15) | `will/ltx2_sr_runtime` (`e7297519`) | LTX-2 SR runtime port + i2v conditioning + alignment harness against FastVideo-internal. 9 commits. NOT in canonical PR plan — separate stream. |
| NVFP4 | 🟡 ready (slice 16-21) | `will/ltx2_nvfp4` (`6793166b`) | NVFP4 wire-up + per-component compile + typed `transformer_quant` flow. 6 commits. NOT in canonical PR plan. |
| LTX-2 fixes | 🟡 ready (slice 22-23) | `will/ltx2_post_fixes` (`25897b67`) | Post-handoff parity fixes (Gemma `to()`, list-of-generators). 2 commits. |
| agents cleanup | 🟡 ready (slice 24-33, == `will/ltx2_sr_port` HEAD) | `will/agents_cleanup` (`b34d9704`) | `.agents/` Phase 1 cleanup + dreamverse-integration memory + STACK/CO-AUTHORS docs + authors.md + runbook.md + D-12...D-16 + open-threads tracking. 10 commits. **Independent of API stack** — could fast-track. |
| 9 | 🟡 | — | LongCat preset migration + colocation (9 model-specific stage files) |
| 10 | 🟡 | — | Hunyuan15 SR preset migration + colocation + SR field migration POC |
| 11 | 🟡 | — | SSIM/performance test migration off legacy `generate_video(..., **kwargs)` |
@@ -6,7 +6,7 @@ Operational how-to for the dreamverse-integration scope. Read after
For design rationale see [design.md](design.md). For who to credit see
[authors.md](authors.md). For PR status see [pr-roadmap.md](pr-roadmap.md).
**Last updated:** 2026-05-05 (post-#1286 merge + rebase; active PR is now #1287 / 7.10).
**Last updated:** 2026-05-05 (strategy reversed to single mega-PR #1288 on `will/ltx2_sr_port`; #1287 closed; STACK.md split model deprecated per [decisions-log.md D-17](decisions-log.md#d-17)).
## Worktree contract
@@ -25,93 +25,56 @@ If your task requires a different branch (e.g. cherry-pick to
`will/api_7.9` for PR #1286 propagation), return to `will/ltx2_sr_port`
when done — that is the assumed default.
## Branch topology
## Branch topology (single mega-PR model)
The dreamverse-integration work lives on the `will/ltx2_sr_port` stack.
Single linearized branch with the full chain; intermediate split branches
are bookmarks. After each upstream merge the bookmarks are re-sliced
(see "After a PR merges" below).
The dreamverse-integration work now ships as one PR (#1288) off
`will/ltx2_sr_port`. The split-PR model documented in earlier revisions
of this runbook (and in top-level `STACK.md`) is **abandoned** —
see [decisions-log.md D-17](decisions-log.md#d-17).
```
origin/main
↓ [public-API refactor: PRs 0..7.9 merged on main, latest #1286 = 2aaeee2a]
will/api_7.10 (PR #1287 — generate_async + VideoEvent, OPEN)
↓ [+30 commits: api_8, ltx2_sr_runtime, ltx2_nvfp4,
↓ ltx2_post_fixes, agents_cleanup all linearized]
will/ltx2_sr_port (current top of stack — default working branch, 33 commits ahead of main)
will/ltx2_sr_port (**PR #1288 head** — single mega-PR, 34 commits, 71 files, +13,074/-583)
```
| Branch | Role | Status | How to find tip |
|---|---|---|---|
| `will/api_7.10` | PR #1287 head, slice 1-3 | OPEN, MERGEABLE | `git rev-parse will/api_7.10` |
| `will/ltx2_sr_port` | top of stack, default working branch | active | `git rev-parse HEAD` |
| `will/api_8`, `will/ltx2_sr_runtime`, `will/ltx2_nvfp4`, `will/ltx2_post_fixes`, `will/agents_cleanup` | split-PR bookmarks | local-only, re-sliced after each upstream merge | (see [pr-roadmap.md](pr-roadmap.md) + [state.md](state.md) "New linearized chain") |
| `will/ltx2_sr_port-pre-1286-rebase` | safety backup | local-only, kept until next slice merges | `git rev-parse will/ltx2_sr_port-pre-1286-rebase` |
| Branch | Role | Status |
|---|---|---|
| `will/ltx2_sr_port` | **PR #1288 head**, default working branch | OPEN, MERGEABLE |
| `will/api_7.10` / `will/api_8` / `will/ltx2_sr_runtime` / `will/ltx2_nvfp4` / `will/ltx2_post_fixes` / `will/agents_cleanup` | deprecated split-PR bookmarks | local-only historical references; safe to delete |
| `will/ltx2_sr_port-pre-1286-rebase` | safety backup | local-only; preserves the 4 commits dropped during the post-#1286 rebase |
**Sanity check:** `git merge-base --is-ancestor will/api_7.10 will/ltx2_sr_port`
should exit 0. If it doesn't, the stack is in an unexpected state — read
**Sanity check:** `git merge-base --is-ancestor origin/main will/ltx2_sr_port`
should exit 0. If it doesn't, the branch is in an unexpected state — read
[state.md](state.md) before continuing.
## After a PR merges (re-slice protocol)
## After PR #1288 merges
When an upstream PR squash-merges (e.g. PR #1286 -> `2aaeee2a` -> main):
When the mega-PR squash-merges into `main`:
1. **Backup** the current stack tip:
```bash
git branch will/ltx2_sr_port-pre-<PR>-rebase will/ltx2_sr_port
```
2. **Fetch** new main:
```bash
git fetch origin main
```
3. **Identify dropped commits.** A squash merge has a unique patch-id
different from any individual commit, so `git cherry` won't auto-detect.
List the SHAs that were squashed (typically 3-4 commits — the original
PR's individual commits plus any cherry-picked polish):
```bash
git log --oneline origin/main..will/ltx2_sr_port | head
# Identify which top-of-chain commits match the merged PR's content.
```
4. **Interactive rebase dropping those commits:**
```bash
GIT_SEQUENCE_EDITOR="sed -i \
-e '/^pick <sha1>/s/^pick/drop/' \
-e '/^pick <sha2>/s/^pick/drop/' \
-e '/^pick <sha3>/s/^pick/drop/' \
-e '/^pick <sha4>/s/^pick/drop/'" \
git rebase -i origin/main will/ltx2_sr_port
```
Expect zero conflicts when the dropped commits are isolated to a
subdirectory (router code, in PR #1286's case) — the surviving
commits don't touch those paths.
5. **Re-slice split branches** to new boundary tips (see "New linearized
chain" in [state.md](state.md) for the slice index table — each
"Tip SHA" column maps to a `git branch -f <branch> <sha>` call):
```bash
git branch -f will/api_<next> <slice-N-tip>
git branch -f will/api_<next+1> <slice-N+1-tip>
...
```
6. **Verify** with the test suites in "Verification" below.
7. **Force-push** the working branch (one force-push, requires explicit
user confirmation per [`AGENTS.md`](../../../AGENTS.md)):
```bash
git push --force-with-lease origin will/ltx2_sr_port
```
8. **Push the next slice** as a new remote branch (no force, just `-u`):
```bash
git push -u origin will/api_<next>
```
9. **Open the next PR** via `gh pr create --base main --head will/api_<next>`.
10. **Update memory dir** — bump `Last reconciled` headers in
[README.md](README.md) / [state.md](state.md), promote PR rows in
[pr-roadmap.md](pr-roadmap.md), update Item D state in
[open-threads.md](open-threads.md), refresh [authors.md](authors.md)
verification table.
1. `git fetch origin main` to pull the merge commit.
2. The entire `will/ltx2_sr_port` content is now on main; the branch can
be deleted (locally + on origin) once all consumers are notified.
3. Delete deprecated split bookmarks: `git branch -D will/api_7.10
will/api_8 will/ltx2_sr_runtime will/ltx2_nvfp4 will/ltx2_post_fixes
will/agents_cleanup` (local-only, no remote).
4. Optionally remove top-level `STACK.md` (now a historical artifact).
Keep `CO-AUTHORS.md` — still the canonical roster reference.
5. Decide whether to keep `will/ltx2_sr_port-pre-1286-rebase` (safety
backup of the pre-rebase chain) — recommend deleting once #1288 is
merged and verified on main.
6. Update memory dir to reflect the post-merge state — bump
`Last reconciled` headers, mark Item D resolved in
[open-threads.md](open-threads.md), record the merge commit in
[decisions-log.md](decisions-log.md).
The post-#1286 rebase (2026-05-05) followed exactly this protocol — see
[state.md](state.md) "Post-#1286 rebase summary" for what dropped and
the new slice indices.
## Historical: split-PR re-slice protocol (deprecated)
Prior revisions of this runbook documented a 10-step re-slice protocol
for the abandoned 6-PR split model. That protocol is now obsolete.
The post-#1286 rebase (2026-05-05) was the last execution of it; details
are preserved in [state.md](state.md) "Post-#1286 rebase summary" and
git history at commit `b34d9704`.
## Verification
@@ -1,4 +1,4 @@
# Current State — 2026-05-05 (post-#1286 merge + rebase)
# Current State — 2026-05-05 (strategy reversal — single mega-PR #1288)
Point-in-time snapshot of branches, commits, and live infrastructure.
Update whenever commits land or services restart.
@@ -11,13 +11,9 @@ roster of co-authors to credit on every commit see
| Repo | Branch | Tip | Distance |
|---|---|---|---|
| FastVideo | `will/ltx2_sr_port` | `b34d9704` | 33 commits ahead of `origin/main` (post-rebase, post-#1286 merge) |
| FastVideo | `will/api_7.10` (PR #1287) | `6ae7a99f` | first 3 commits of `will/ltx2_sr_port`; OPEN, MERGEABLE |
| FastVideo | `will/api_8` | `f32e31ec` | local-only split bookmark, slice 4-6 |
| FastVideo | `will/ltx2_sr_runtime` | `e7297519` | local-only split bookmark, slice 7-15 |
| FastVideo | `will/ltx2_nvfp4` | `6793166b` | local-only split bookmark, slice 16-21 |
| FastVideo | `will/ltx2_post_fixes` | `25897b67` | local-only split bookmark, slice 22-23 |
| FastVideo | `will/agents_cleanup` | `b34d9704` | local-only split bookmark, slice 24-33 (== `will/ltx2_sr_port` HEAD) |
| FastVideo | `will/ltx2_sr_port` (**PR #1288 head**) | `39dfa009` | 34 commits ahead of `origin/main`; OPEN, MERGEABLE |
| FastVideo | `will/api_7.10` | `6ae7a99f` | **deprecated** — PR #1287 closed in favor of #1288. Branch can be deleted on origin and locally; kept for now as historical reference. |
| FastVideo | `will/api_8`, `will/ltx2_sr_runtime`, `will/ltx2_nvfp4`, `will/ltx2_post_fixes`, `will/agents_cleanup` | (various) | **deprecated** split bookmarks. Strategy reversed to single mega-PR (D-17). Safe to delete locally; not pushed to origin. |
| FastVideo | `will/ltx2_sr_port-pre-1286-rebase` | `1baa60bb` | **local-only safety backup** of pre-rebase chain (37 commits); keep until next slice merges |
| Dreamverse | `will/integrate-public-fastvideo` | `ec8ef92` | 10 commits ahead of `737f3c1` (the dep switch) |
| FastVideo-internal | their `main` | (read-only ref) | — |