Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions docs/research/phase4b-status-digest-20260529.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Phase 4b Status Digest — 2026-05-29

ADR-0709 defines nine implementation phases for the VMAFX distributed platform.
This digest records which phases are complete (code on `origin/master`) and which
remain open, based on a cross-reference of PR merge records on VMAFx/vmafx and the
current state of `origin/master`.

## Status table

| Phase | Description | ADR | PR | Status |
|---|---|---|---|---|
| 4b.1 — controller | vmafx-controller: job queue, node registry, scheduler | ADR-0711 | #27 MERGED 2026-05-28 | **COMPLETE** |
| 4b.2 — vmafx-node | Go worker binary (cgo libvmaf + ONNX inference) | ADR-0709 §2 | #32 MERGED 2026-05-28 | **COMPLETE** |
| 4b.3 — operator skeleton | kubebuilder + CRDs (VmafxJob, VmafxNode, VmafxModelTraining) | ADR-0714 | #33 MERGED 2026-05-28 | **COMPLETE** |
| 4b.4 — ffmpeg-bundled node | ffmpeg n8.2 pinned + ffmpeg-patches in Dockerfile | ADR-0709 §5 | #36 MERGED 2026-05-28 | **COMPLETE** |
| 4b.5 — rclone integration | rclone mount in node; stream from S3/GCS without local disk copy | ADR-0709 §6 | #39 MERGED 2026-05-28 | **COMPLETE** |
| 4b.6 — server gRPC | vmafx-server in Go (gRPC + HTTP, observability) | ADR-0703 | #15 MERGED 2026-05-28 | **COMPLETE** |
| 4b.7 — CI slimdown | 1 build per OS + state-of-the-art sanitizers | ADR-0710 | #23 MERGED 2026-05-28 | **COMPLETE** |
| 4b.8 — C ABI break | libvmaf.so.3 → .so.4 scoping ADR | ADR-0767 | #109 OPEN (scoping ADR only; impl pending) | **PARTIAL** — scoping ADR open; implementation not started |
| 4b.9 — native build sunset | Drop .deb/.rpm/.so publication; Docker + Helm only | ADR-0728 | #52 MERGED 2026-05-28 | **COMPLETE** |

## Research digests

| Item | Digest | PR | Status |
|---|---|---|---|
| eBPF optimization target (ADR-0709 §7) | `docs/research/0733-vmafx-ebpf-optimization-target.md` | #29 MERGED 2026-05-28 | **COMPLETE** — target identified (rclone FUSE read-path) |
| eBPF FUSE bypass implementation | `feat(node): eBPF FUSE bypass for rclone (ADR-0779)` | #137 OPEN | **IN REVIEW** |
| Sidecar training architecture (ADR-0709 §9) | `docs/research/0733-vmafx-sidecar-training-architecture.md` | #30 MERGED 2026-05-28 | **COMPLETE** — architecture defined; v1 impl deferred to phase 4c |

## Summary

Seven of nine implementation phases are complete:
4b.1 (controller), 4b.2 (node), 4b.3 (operator), 4b.4 (ffmpeg-bundled), 4b.5 (rclone),
4b.6 (gRPC server), 4b.7 (CI slimdown), and 4b.9 (native build sunset).

Two items remain open:

- **4b.8 (C ABI break)**: PR #109 carries the scoping ADR (ADR-0767, libvmaf.so.3 → .so.4).
The implementation — rewriting the public C API surface to C++23/Rust/Go and updating
`ffmpeg-patches/` in the same PR — has not started.

- **eBPF FUSE bypass implementation** (ADR-0779): PR #137 is open in review; the
research digest (PR #29) and target selection are complete.

## Notes on verification method

`origin/master` (VMAFx/vmafx) is a shallow clone (depth 50). Phase 4b PRs (#21–#39)
are not directly visible in the shallow history. Merge status was verified via
`gh pr view` on VMAFx/vmafx, cross-referenced with commit SHAs in local worktree
branches. The `fix(pr-39)` follow-up commit (9d3f3c8c13) and the `feat!: sunset
legacy native build modes` commit (bfd4c436bb, PR #52) are both present in the shallow
`origin/master`, confirming the 4b PRs did land.
Loading