docs(research): land Bristol NVC review + 2026-05 CI audit digests#240
docs(research): land Bristol NVC review + 2026-05 CI audit digests#240
Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds two research digests to preserve CI and literature audit findings in-tree under docs/research/, including actionable follow-ups and backlog candidates.
Changes:
- Add Research-0034: CI pipeline audit digest (duplication scan, gap scan, pre-commit parity notes, backlog).
- Add Research-0033: Bristol VI-Lab NVC review digest mapping prior art to fork-local action items and a reference audit.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 6 comments.
| File | Description |
|---|---|
| docs/research/0034-ci-pipeline-audit-2026-05.md | New CI pipeline audit digest documenting gaps, dedup opportunities, and follow-up items. |
| docs/research/0033-bristol-nvc-review-2026.md | New literature audit digest summarizing relevant prior art and concrete fork-local action items. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| | Field | Value | | ||
| | ---------- | ---------------------------------------------------------------------- | | ||
| | **Date** | 2026-05-01 | | ||
| | **Status** | Audit; top items consumed by PRs #235 (FFmpeg+Vulkan lane) + #236 (pre-commit parity) | | ||
| | **Tags** | ci, devx, pre-commit, ffmpeg, vulkan, mcp, hip | |
There was a problem hiding this comment.
These tables use a double leading pipe (|| ...), which renders as an extra empty first column in standard Markdown renderers. Consider changing all table rows to a single leading pipe (| ...) to avoid malformed tables and improve readability (e.g., | Field | Value |).
| | Workflow | Job | Recommendation | | ||
| | --- | --- | --- | |
There was a problem hiding this comment.
These tables use a double leading pipe (|| ...), which renders as an extra empty first column in standard Markdown renderers. Consider changing all table rows to a single leading pipe (| ...) to avoid malformed tables and improve readability (e.g., | Field | Value |).
| | Surface | Current CI lane | Proposed lane | Priority | | ||
| | --- | --- | --- | --- | | ||
| | **FFmpeg + Vulkan integration** | none | `ffmpeg-vulkan` matrix entry: install `mesa-vulkan-drivers libvulkan-dev glslc lavapipe`, build vmaf with `-Denable_vulkan=enabled`, apply patches, configure FFmpeg `--enable-libvmaf-vulkan`, build `vf_libvmaf_vulkan.o`, `nm` symbol assertion | **urgent — closed by PR #235** | | ||
| | **`ffmpeg-patches/` apply check vs pinned `n8.1`** | partial (covered by `ffmpeg-integration.yml` build) | 2-min job: `git clone -b n8.1 --depth=1 FFmpeg && for p in ffmpeg-patches/000*-*.patch; do git -C ffmpeg apply --check "$p"; done`. Catches CLAUDE §12 r14 drift fast | nice-to-have (covered locally by PR #236 hook) | |
There was a problem hiding this comment.
The inline command example is not runnable as written: it clones FFmpeg (no URL, and the default directory would be FFmpeg/) but then runs git -C ffmpeg ... against ffmpeg/. Update the example to use a concrete clone URL and an explicit target directory that matches the subsequent -C path.
| | **`ffmpeg-patches/` apply check vs pinned `n8.1`** | partial (covered by `ffmpeg-integration.yml` build) | 2-min job: `git clone -b n8.1 --depth=1 FFmpeg && for p in ffmpeg-patches/000*-*.patch; do git -C ffmpeg apply --check "$p"; done`. Catches CLAUDE §12 r14 drift fast | nice-to-have (covered locally by PR #236 hook) | | |
| | **`ffmpeg-patches/` apply check vs pinned `n8.1`** | partial (covered by `ffmpeg-integration.yml` build) | 2-min job: `git clone -b n8.1 --depth=1 https://github.com/FFmpeg/FFmpeg.git ffmpeg && for p in ffmpeg-patches/000*-*.patch; do git -C ffmpeg apply --check "$p"; done`. Catches CLAUDE §12 r14 drift fast | nice-to-have (covered locally by PR #236 hook) | |
| | ---------- | -------------------------------------------------- | | ||
| | **Date** | 2026-05-01 | | ||
| | **Status** | Audit; actionable items extracted, no code change | | ||
| | **Source** | `.workingdir2/preprints202604.0035.v1.{pdf,html,zip}` (40 pages) | |
There was a problem hiding this comment.
The Source points to a local .workingdir2/... path that won’t resolve for other readers (and the PR description notes it’s gitignored). To keep the digest reproducible, consider adding a stable public identifier (e.g., arXiv URL/ID/DOI) or a short note describing where to obtain the preprint and how it maps to that local filename.
| | **Source** | `.workingdir2/preprints202604.0035.v1.{pdf,html,zip}` (40 pages) | | |
| | **Source** | Preprint: *Advances in Neural Video Compression: A Review and Benchmarking* (Gao et al., 2026-04 preprint; 40 pages). Local cache filename: `.workingdir2/preprints202604.0035.v1.{pdf,html,zip}`. External readers should obtain the preprint by title/author list; this local filename is only the maintainer-side cache copy. | |
| | Field | Value | | ||
| | ---------- | -------------------------------------------------- | | ||
| | **Date** | 2026-05-01 | | ||
| | **Status** | Audit; actionable items extracted, no code change | |
There was a problem hiding this comment.
Same as in Research-0034: the double leading pipes (||) will render as an unintended empty first column in many Markdown renderers. Converting these tables (both the header and the reference table) to single leading-pipe rows will improve rendering consistency.
| | Ref | Year | Title (abbrev.) | Class | Where in our repo | | ||
| | ----- | ---- | ---------------------------------------- | --------------------------- | ----------------- | |
There was a problem hiding this comment.
Same as in Research-0034: the double leading pipes (||) will render as an unintended empty first column in many Markdown renderers. Converting these tables (both the header and the reference table) to single leading-pipe rows will improve rendering consistency.
70e2203 to
f69281a
Compare
Two research digests landing as in-tree audit artifacts: - Research-0033: Bristol VI-Lab NVC review (preprints202604.0035.v1) — 40-page literature audit, 258-source classification (14 already-cited, 5 directly-relevant + new, ~14 tangential, ~225 not-relevant). Surfaces 5 actionable items mapped to specific fork surfaces (BVI-AOM ingest, NEG-VMAF caveat, ST-VMAF prior art, NVC-style BD-rate recipe, DISTS extractor) and 2 backlog candidates (T7-NEG-VMAF short, T7-BVI-AOM-INGEST long). - Research-0034: 2026-05-01 CI pipeline audit. Top 3 findings — FFmpeg + Vulkan integration had zero CI coverage (closed by PR #235 lavapipe lane), pre-commit ↔ CI parity gap of 4 cheap checks (closed by PR #236), HIP backend status ambiguous (open). Catalogues CI dedup opportunities (~25-35 min/PR saving) and a gap scan covering MCP smoke, registry validate, ffmpeg-patches apply-check, and HIP build. ADR-0186 v2 async pending-fence follow-up filed as issue #239 (profiling gate met by 2026-04-30 lawrence Discord report). These are tracked, in-tree audit artifacts so future sessions can find them — `.workingdir2/` is gitignored and not durable. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The CI audit claimed `Tiny-Model Registry validation` had zero coverage. Verified post-audit that `lint-and-format.yml::registry-validate` already exists and calls `ai/scripts/validate_model_registry.py`, which performs both schema validation and sha256 cross-check (lines 100-103 of that script). The audit's grep missed the job because the workflow job name is `registry-validate`, not the user-facing `Tiny-Model Registry Validate` label. Strike T7-REGISTRY-CI from the backlog candidates; it's not-affecting- the-fork. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The CI audit claimed `libvmaf/src/hip/` was empty and recommended either deleting it or scaffolding a CI build lane. Verified post-audit: PR #200 (T7-10) already shipped the full HIP scaffold on master — 7 files at `libvmaf/src/hip/` (common, picture, dispatch_strategy, meson.build) plus 4 kernel stubs at `libvmaf/src/feature/hip/`, all wired into the `Build — Ubuntu HIP (T7-10 scaffold)` CI matrix row with `-Denable_hip=true`. The audit agent's worktree was on `feat/ai-fr-regressor-v1`, branched off master before #200 landed. Strike T7-HIP-STATUS from the backlog candidates. This is the second correction to 0034 in two commits — registry validate (already lands via lint-and-format.yml::registry-validate) was the first. The audit was useful but its grep base was wrong on ~25% of the urgent-tier rows; trust the CI audit's findings only after grep-confirming on `origin/master`. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
86f412b to
d5cd09c
Compare
Summary
Two in-tree audit artifacts landing as research digests so they survive sessions (the
.workingdir2/analysis dir is gitignored).ADR-0186 v2 async pending-fence follow-up filed as issue #239 (profiling gate met by 2026-04-30 report).
Six-deliverable checklist (ADR-0108)
docs/research/).ls docs/research/003{3,4}-*.mdafter merge.Test plan
🤖 Generated with Claude Code