Skip to content

feat(pelorus): vendor interop ABI + sync guard + conformance gate (ADR-1113) - #925

Merged
lusoris merged 1 commit into
masterfrom
feat/pelorus-vendor-interop-abi
Jun 14, 2026
Merged

lusoris merged 1 commit into
masterfrom
feat/pelorus-vendor-interop-abi

Conversation

@lusoris

@lusoris lusoris commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

Summary

Vendors the Pelorus interop.h side-data ABI into vmafx as a pinned read-only mirror + a sync-drift guard + the shared 7-vector conformance gate — the foundation (plan workstreams A1+A2+A3) for the bidirectional pelorus↔vmafx integration's data plane. The vmafx side stays Vulkan-free (it only parses a CPU side-data blob). Companion to the merged pelorus AVOption-contract PR (pelorus #4).

Type

  • feat — new feature (integration foundation)

Checklist

  • Commits follow Conventional Commits.
  • make format && make lint green locally (vendored files excluded from clang-format/clang-tidy/cppcheck — they must stay byte-identical to pelorus; same idiom as vendored libsvm/pdjson).
  • Unit tests pass: meson test -C core/build-cpu test_pelorus_interop (the shared 7 conformance vectors: roundtrip, forward_compat, abi_major_mismatch, foreign_buffer, header_only, truncation, deband_params) → 7/7.
  • No SIMD/GPU code (CPU-only blob parse; no Vulkan).
  • Vendored files keep pelorus's Copyright 2026 Lusoris / BSD+Patent header + a DO-NOT-EDIT banner; new wrapper/test/docs use the Lusoris header.
  • Not a breaking change.
  • ADR index row added as fragment (docs/adr/_index_fragments/1113-vendor-pelorus-interop-abi.md + _order.txt).

Bug-status hygiene

  • docs/state.md updated — added a Recently-closed row for the integration-foundation.

Netflix golden-data gate

  • Did not modify any golden assertion (additive integration code).

Deep-dive deliverables

  • Research digest — docs/research/1101-vendor-pelorus-interop-abi.md.
  • Decision matrix — docs/adr/1113-vendor-pelorus-interop-abi.md ## Alternatives considered (vendor-copy+sync-guard vs git-submodule vs meson-subproject vs hand-reimplement).
  • AGENTS.md invariant note — the vendored ABI is append-only, single-source-of-truth = pelorus; never hand-edit (in the docs + banner).
  • Reproducer / smoke-test command — below.
  • CHANGELOG fragment — changelog.d/added/1113-vendor-pelorus-interop-abi.md.
  • Rebase note — docs/rebase-notes.md entry.

Reproducer

ninja -C core/build-cpu && meson test -C core/build-cpu test_pelorus_interop   # 7/7 byte-compat proof
bash scripts/sync-pelorus-interop.sh   # confirms no drift vs pinned pelorus@835e097

Known follow-ups

  • The vmafx-side side-data reader (vf_libvmaf parses the blob for perceptual weighting) + the control-plane autotune are the next integration PRs; this PR is the ABI handshake they build on.

…gate (ADR-1113)

Plan A1+A2+A3: vendor interop.c/.h (+deband_params.c, version.c) from
VMAFx/pelorus@835e097 as a pinned read-only mirror (DO-NOT-EDIT banner;
append-only ABI) + scripts/sync-pelorus-interop.sh drift guard + the shared
7-vector conformance gate (7/7 pass). Vendored files excluded from clang-format
+ touched-file lint (must stay byte-identical). vmafx side stays Vulkan-free.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@lusoris
lusoris merged commit 7fbed42 into master Jun 14, 2026
70 checks passed
@lusoris
lusoris deleted the feat/pelorus-vendor-interop-abi branch June 14, 2026 17:10
@lusoris lusoris added this to the 1.0.0 — First release milestone Sep 4, 2026
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