Skip to content

ADRs tagged ci

Auto-generated by scripts/docs/generate-adr-by-tag.sh. Edit ADR Tags: lines to update.

340 ADR(s) carry this tag.

ID Title
ADR-0004 Auto-push sycl and master to origin after merges
ADR-0005 Adopt full framework adaptation scope a-g
ADR-0015 CI matrix Linux/macOS/Windows with sanitizers
ADR-0018 Claude hooks scope includes safety and auto-format
ADR-0024 Preserve Netflix source-of-truth tests verbatim
ADR-0027 Non-conservative image pins with experimental toolchain flags
ADR-0033 Relocate CodeQL config to .github/
ADR-0037 Protect master branch on GitHub with required checks
ADR-0109 Nightly bisect-model-quality runs against a synthetic placeholder cache
ADR-0110 Coverage gate -fprofile-update=atomic for parallel meson tests
ADR-0111 Coverage gate lcov → gcovr with ORT in the coverage job
ADR-0113 ORT CreateSession fallback to CPU + multi-EP CI install
ADR-0114 Per-file coverage-gate overrides for ort_backend.c + dnn_api.c
ADR-0115 CI workflows trigger on master only; consolidate windows.yml into libvmaf.yml
ADR-0116 CI workflow naming convention — purpose-named files + Title Case display names
ADR-0117 Coverage-Gate annotation cleanup (gcov hits + upload-artifact)
ADR-0118 FFmpeg patches ship as ordered series.txt, not a single carry
ADR-0120 DNN-enabled matrix legs across compilers + macOS
ADR-0121 Windows GPU build-only matrix legs (MSVC + CUDA, MSVC + oneAPI SYCL)
ADR-0124 Automate enforcement of process ADRs (0100 / 0105 / 0106 / 0108)
ADR-0133 Clang-Tidy push-event should scan push delta, not full tree
ADR-0136 Strip markdown emphasis/code characters before ADR-0108 deliverables grep
ADR-0141 Every PR leaves its touched files lint-clean
ADR-0151 i686 build-only CI job — reproduce Netflix #1481
ADR-0167 Path-mapped doc-drift enforcement (local hook + CI gate)
ADR-0173 PTQ int8 audit implementation — registry schema + scripts + CI gate (T5-3)
ADR-0174 First per-model PTQ — learned_filter_v1 dynamic int8 (T5-3b)
ADR-0176 Vulkan VIF cross-backend gate (lavapipe + Arc nightly)
ADR-0208 First per-model QAT — learned_filter_v1 int8 (T5-4)
ADR-0213 SSIMULACRA 2 SVE2 SIMD parity
ADR-0214 GPU-parity CI gate (T6-8) — cross-device variance matrix
ADR-0217 SYCL toolchain cleanup — multi-version recipe + icpx-aware clang-tidy wrapper
ADR-0221 CHANGELOG + ADR-index fragment-file pattern
ADR-0262 bisect-model-quality cache check uses logical comparison for parquet
ADR-0263 OSSF Scorecard policy and remediation cadence
ADR-0270 libFuzzer scaffold for parser surfaces (OSSF Scorecard remediation)
ADR-0311 libFuzzer harness expansion — fuzz_yuv_input + fuzz_cli_parse
ADR-0317 Path-filter Docker + FFmpeg-integration on doc/Python-only PRs
ADR-0331 Skip CI on draft pull requests
ADR-0332 Agent worktree-drift hard guard
ADR-0334 state.md-touch-check CI gate (ADR-0165 enforcement)
ADR-0338 macOS Vulkan-via-MoltenVK CI lane (advisory) for the Vulkan backend
ADR-0341 paths-ignore filter on heavy CI workflows for doc-only PRs
ADR-0347 Sanitizer matrix — concrete test-set scope per sanitizer
ADR-0348 Globally suppress CodeQL cpp/poorly-documented-function
ADR-0355 Symphony-inspired agent-dispatch infrastructure
ADR-0359 0359-arc-runners-pilot.md
ADR-0363 Mend Renovate replaces Dependabot as the dependency-update bot
ADR-0384 Switch shfmt pre-commit hook from binary download to Go-source build
ADR-0386 ADR Number Collision Prevention — Hook + CI Gate + Helper Script
ADR-0403 mkdocs --strict validation policy — actionable carve-outs
ADR-0404 Keep nightly.yml + fuzz.yml red until underlying bugs land
ADR-0407 AdaptiveCpp as a second SYCL toolchain
ADR-0409 Automated CI gate for the ffmpeg-patches surface-sync rule (CLAUDE.md §12 r14)
ADR-0435 PR-body pre-push validation hook
ADR-0448 Active upstream monitoring (no silent "wait" deferrals)
ADR-0466 mkdocs strict-mode pre-push hook
ADR-0493 Test YUV fixtures must be md5-verified, not just present-by-name
ADR-0494 Restore the non-golden Python test suite to green
ADR-0515 Portable temp-path setup for test_public_api_score on MinGW64
ADR-0521 MSVC portability gating — vif_avx512.c noinline/noclone + yuv_input.c S_ISREG/fstat
ADR-0529 Replace /dev/dri/by-path bind with whole /dev/dri bind in dev container
ADR-0535 Atomic ADR Number Allocator with Cross-Branch Claim
ADR-0565 Continuous Feature-Mix Evaluation Pipeline (predictor-bench)
ADR-0569 SDK / Tool Version Bumps — 2026-05-18
ADR-0573 Dev-mcp container — ubuntu:26.04 + CUDA 13.2 + hipcc + ocloc
ADR-0575 Fix yuv_input.c stat compat — include-order and _MSC_VER guard
ADR-0576 ffmpeg-patches n8.1.1 full-feature-exposure sync
ADR-0599 Cross-Backend Parity Audit — Full Extractor Matrix (2026-05-18)
ADR-0603 Ubuntu 26.04 (Resolute Raccoon) fallout fixes — CUDA 13.2, Python 3.14, apt renames
ADR-0621 Scaffold Audit P3 — six cleanup items + state drift
ADR-0623 Scaffold audit P2 — half-finished implementation fixes
ADR-0626 SSH-into-runner debug session on macOS CI failure via tmate
ADR-0628 Remote-aware ADR number allocator — cross-worktree collision prevention
ADR-0637 Fix 5 master CI failures — MCP smoke syntax, coverage floor, and job timeouts
ADR-0662 Vulkan Motion Lavapipe Parity
ADR-0664 Install Windows CUDA directly in CI
ADR-0679 CI Draft Auto-Merge Gate
ADR-0684 Pre-rebase worktree-drift guard
ADR-0686 VMAFX Rebrand and Aggressive Modernization — Umbrella ADR
ADR-0689 VMAFX CI Matrix Deduplication
ADR-0691 VMAFX Phase 1C — Drop Legacy Build Paths
ADR-0694 Tighten clang-tidy enforcement + confirm sanitizers as required CI gates
ADR-0698 VMAFX Production Dockerfile — Multi-Arch, Image Signing, SBOM
ADR-0710 VMAFX CI Slim-Down v2 — One Build per OS + State-of-the-Art Sanitizers
ADR-0728 Sunset Legacy Native Build Modes — Phase 4b.9 Follow-On
ADR-0738 Bump local CUDA toolkit pin to 13.3 + R610 minimum driver (partial — CI deferred)
ADR-0780 NOLINT Cluster Refactor — Slab Allocator, SYCL Stride, ADM Band-Size
ADR-0783 Kubernetes end-to-end integration test harness — kind + kuttl
ADR-0792 Env-var overrides for hardcoded YUV and testdata paths
ADR-0793 Nightly Workflow Audit — TSan, Artifact Retention, Python Version
ADR-0802 CI Runner Image Standardization — Pin ubuntu-latest to ubuntu-24.04
ADR-0811 Security hardening — CodeQL Go coverage + codeql-config
ADR-0812 Renovate — Go/Cargo grouping, schedule, and concurrent-PR cap
ADR-0815 Distroless Dockerfiles for vmafx-operator and vmafx-node
ADR-0819 PR-time CI gate for dev/Containerfile
ADR-0840 Fix cu_state leak on import failure and gpu_dispatch_env TOCTOU
ADR-0866 Wire markdownlint-cli2 into make lint + pre-commit + CI
ADR-0867 Tombstone: run the semgrep-local pre-commit hook serially
ADR-0873 ARM64 NEON bit-exactness audit — -ffp-contract=off carve-out scope
ADR-0875 GitHub Actions hardening audit (2026-05-30)
ADR-0878 Trivy container scan baseline — production images run as non-root
ADR-0881 Coverage-overrides audit — tighten template coverage floor
ADR-0882 Fuzz target audit — JSON model + DNN sidecar harness expansion
ADR-0888 Pyright strict audit of fork-local Python packages
ADR-0890 CI concurrency + cost audit follow-up to PR #301
ADR-0892 Conventional-Commits coverage + Changelog-fragment section hygiene
ADR-0893 Pre-commit config audit — 2026-05-30
ADR-0899 Bash strict-mode + trap-cleanup sweep across in-tree shell scripts
ADR-0902 Signing and attestation audit — close residual gaps (2026-05-30)
ADR-0903 Wire Codecov upload into the existing Coverage Gate jobs
ADR-0904 Pin cargo-machete ignore entries for bindgen / cbindgen build dependencies
ADR-0905 .gitignore + .github/workflows/ staleness audit (2026-05-30)
ADR-0907 Wall-clock perf regression gate over the multi-resolution baseline
ADR-0908 Slow-test audit (2026-05-30) — no >30 s tests found; install slow marker as a future gate
ADR-0914 Unified Python test orchestrator (nox at repo root)
ADR-0915 Enable clang-tidy modernize-* family with curated opt-outs
ADR-0917 cargo-deny supply-chain policy enforcement
ADR-0918 LLVM IR diff harness for bit-exact SIMD paths
ADR-0922 Aggressive coverage ratchet + per-PR coverage-delta gate
ADR-0923 Adopt BuildKit cache mounts and ccache across the container build matrix
ADR-0924 Native bash pre-commit hook as opt-in alternative to the pre-commit framework
ADR-0938 Feature-extractor coverage round 2 — seven CPU-side test executables
ADR-0951 GitHub Actions custom-action and reusable-workflow audit
ADR-0953 Doxygen public-API build is warning-clean
ADR-0968 CI scripts — rebrand-proof assertion-density grep + tempfile EXIT trap in changelog concat (Round 26 audit D.1 + D.2)
ADR-0973 Master CI fixes — Metal MS-SSIM fixture dim + ssimulacra2 icpx XYB bit-exactness
ADR-0980 Markdown-lint full-ruleset discharge — content fixes + per-file scoped disables
ADR-0983 gosec sweep — fix all findings + add CI gate
ADR-0985 SYCL parity divergence investigation — float_ssim + ssimulacra2 on Arc A380
ADR-0986 Add PR trigger to docs.yml CI workflow
ADR-0994 Fix Coverage Gate build break — integer_motion.c compile error
ADR-0995 Shorten CI workflow and job display names
ADR-0996 eBPF FUSE bypass for rclone zero-copy path in vmafx-node
ADR-0999 Guard <stdatomic.h> includes in C++ translation units (GCC 14 + Clang-18 fix)
ADR-1000 Tech-stack badges in README and Go/Rust version pin consistency
ADR-1005 Perf Gate Advisory Mode and Baseline Refresh Documentation
ADR-1035 CI workflow concurrency guards and job timeouts
ADR-1041 Fix CI RED — Go metal option type + Rust AVX-512 test guard
ADR-1042 Containerfile hardening — non-root USER + build-time DEBIAN_FRONTEND
ADR-1056 Use /std:c++latest on MSVC instead of cpp_std=c++23
ADR-1066 Regression tests for the sequential-realloc double-free in libsvm
ADR-1079 TSan-eligible thread-safety test for threaded_extract_batch_func
ADR-1080 UBSan enum-invalid-value fixes in vmaf_log and vmaf_option_set
ADR-1086 CI Workflow Least-Privilege Permissions Audit
ADR-1093 Disable two recurring-failure tests via should_fail while root cause is under investigation
ADR-1101 Change vmaf container user GID/UID from 1000 to 2000
ADR-1123 Raise the Required-Checks-Aggregator deadline to 240 minutes and batch Docker digest updates
ADR-1126 Retire the standalone isort hook; ruff's I rules own import sorting
ADR-1128 Make changelog fragments own release cuts
ADR-1129 Align release containers with the published tag and runtime ABI
ADR-1134 Build vmafx-ort-runner in-tree as a cgo shim over libvmaf's DNN session API
ADR-1135 CI twin-drift + stale-source-reference gate
ADR-1138 C translation units keep NULL; modernize-use-nullptr is scoped to C++
ADR-1140 Route required CI work by measured impact instead of pre-declared path filters
ADR-1142 Whole-codebase standards; lint debt only ratchets down
ADR-1143 CUDA and Intel SYCL Backend Gap Closure
ADR-1146 SPEED and CAMBI Feature Rework to Fork Standards (Bit-Exact)
ADR-1151 Cut the fork's first release as v1.0.0 on a fresh number line
ADR-1152 Exempt Dependency-Only Bot PRs from Documentation Gates
ADR-1153 Resolution of Dead .c/.cpp Twin Sides (model.cpp, test_dict.c, test_feature.c)
ADR-1171 release-please credential gate warns on push, errors on dispatch
ADR-1177 Containerised self-hosted GitHub Actions runner for Intel Arc SYCL parity CI
ADR-1178 Dev container image publication and release artifact container enforcement
ADR-1195 Record and verify which source revision the dev container was built from
ADR-1198 An unknown changelog.d/ subdirectory fails the run instead of warning
ADR-1200 The dev container falls back to the GitHub mirror for nv-codec-headers
ADR-1201 Cut release candidates before the final 1.0.0
ADR-1206 Every CUDA parity test also runs against a second, larger fixture
ADR-1207 A test gates every feature's score against the host instruction set
ADR-1222 In-code suppressions do not close code-scanning alerts; scope the scan instead
ADR-1223 The CUDA backend requires compute capability 8.0 (Ampere), and CI standardises on CUDA 13.3.1
ADR-1225 Migrate the HIP backend to ROCm 10.0.0, installed from digest-pinned container images
ADR-1227 Workflow display names are short labels; the axis list lives in the file
ADR-1230 The CI gcc moves forward with clang and meson, and the ratchet records it
ADR-1231 Container bases and toolchain versions come from one config file
ADR-1233 GitHub generates the release body; CHANGELOG.md keeps an index
ADR-1234 The local gate builds with every compiler CI does
ADR-1236 Single-source package versions and unify Python dependencies
ADR-1238 Require the Go security and test job through impact routing
ADR-1240 Maintain the FFmpeg patch stack against stable releases
ADR-1241 Keep Git hooks independent of installer worktrees
ADR-1242 Require source-owned ADR metadata freshness
ADR-1243 Allow measured scoped tightening of the lint baseline
ADR-1244 Guard merge-train ownership and exact-head validation
ADR-1245 Analyze configured Cppcheck paths exhaustively
ADR-1246 Model verified public functions as Cppcheck entrypoints
ADR-1247 Bind Scorecard gates to their measured source and scope
ADR-1248 Enforce repository security through public rulesets
ADR-1249 Adopt praetor governance, with lefthook owning the git hooks
ADR-1251 Renovate opens automerge-eligible and security bumps ready for review
ADR-1252 Declare the single maintainer's bypass actor
ADR-1254 Wide vector register pressure is a Win64 correctness constraint, not a performance one
ADR-1258 Keep the fork 64-bit only; retire the resurrected i686 lane
ADR-1259 Record the CI build matrix as it actually runs
ADR-1260 Windows on ARM64 CPU build-and-test lane
ADR-1261 The local type-check hook fails on findings a branch introduces, not on ones it inherits
ADR-1265 The clang-tidy header filter matches absolute paths, so headers count
ADR-1270 Bound repository subprocess execution behind one validated API
ADR-1271 Pass NEO GitHub credentials through optional BuildKit secrets
ADR-1274 Make HISS-21 claims replayable and platform-gated
ADR-1276 Re-pin the Pelorus mirror for released parser safety fixes
ADR-1277 Separate private state, corpora, and tracked evidence
ADR-1282 mypy's python_version follows requires-python
ADR-1283 The whole-tree clang-tidy ratchet gets an arm64 cross lane
ADR-1284 Gate merges on the work they would remove from the target
ADR-1285 CUDA is a coordinated pin — group it in Renovate, gate the rest
ADR-1286 A cited lint suppression is retired only by a refactor that satisfies the invariant it cites
ADR-1289 The three SSIMULACRA2 HIP host functions may be split; their no-split citations are withdrawn
ADR-1290 The tidy ratchet owns its per-lane compilation database
ADR-1291 A reversal an accepted ADR mandates is declared in the tree, not in the PR body
ADR-1294 Scope the docs build's concurrency group to its ref, not to Pages
ADR-1297 Every check that reports on a pull request is a required context
ADR-1298 Scope the local HISS audit's touched-file rule to what the committer wrote
ADR-1300 Install CUDA on every CI leg from NVIDIA's own distribution
ADR-1305 Hash-locked Python dependency installs and OpenSSF supply-chain hardening
ADR-1306 Replace nvidia/cuda base images with digest-pinned Ubuntu and version-locked apt installation
ADR-1310 Reuse the merge-base mypy gate in required CI
ADR-1311 Bind source ADR citations to exact decisions and governed retirements
ADR-1314 Keep unpinned Semgrep registry results advisory
ADR-1315 Drive libvmaf public C API Doxygen warnings to zero and fail closed
ADR-1317 Isolate Netflix golden gate build profile to eliminate floating-point drift from compiler variations
ADR-1319 Admit self-hosted GPU jobs through a live fail-closed probe
ADR-1321 Pre-RC1 CI flake remediation and contract alignment
ADR-1333 Meson test environment secret sanitization
ADR-1335 Bind research-digest debt to the trusted merge base
ADR-1338 Require a clean Go fix modernization gate
ADR-1343 Statically check that every dev-container stage copies the files it reads
ADR-1344 Leave [project].version out of the Python lock input fingerprint
ADR-1345 Exempt release changelog archives from the large-file gate
ADR-1346 Build native release artifacts on a hosted runner inside the build-deps container stage
ADR-1347 Recover a release's container images with the default branch's build recipe
ADR-1348 Number release candidates with release-please's prerelease versioning
ADR-1349 Build the vmafx-node image per architecture on native runners
ADR-1350 Include the FFmpeg patch series in the image recovery recipe
ADR-1351 Move the praetor engine pin: re-record engine-measured debt and adopt its documentation gate
ADR-1354 Build the native Linux bundle on the Debian 13 release track
ADR-1356 Release provenance from GitHub build-provenance attestations, not slsa-github-generator
ADR-1360 Generate SYCL AOT images at compile time and fail the build when they are missing
ADR-1361 Scale the psnr_hvs cross-backend tolerance with the CPU's float-sum length
ADR-1364 Register the SYCL device images of a Windows MSVC build through one explicit device link
ADR-1387 Migrate Windows MinGW CI leg from deprecated MINGW64 to UCRT64
ADR-1388 Exempt PAT-mode release PRs from authoring-discipline gates via verified release-only diff
ADR-1389 Run CodeQL (Actions) unconditionally on every pull request for universal SAST coverage
ADR-1397 GPU psnr_hvs twins reproduce the CPU's running float sum bit for bit
ADR-1401 psnr_hvs_sycl and psnr_hvs_hip return the CPU's scores bit for bit; the fp64-free masking threshold is an integer square root
ADR-1409 float_motion_cuda adds its SAD in the CPU's order and returns the CPU's scores bit for bit
ADR-1411 float_motion_sycl adds its SAD in the CPU's order and returns the CPU's scores bit for bit
ADR-1412 float_vif_cuda computes the CPU's arithmetic, adds in the CPU's order and returns its scores bit for bit
ADR-1414 float_ms_ssim_sycl computes the CPU's arithmetic and returns its per-scale means bit for bit
ADR-1416 adm_cuda takes its CSF weights, its rounding shifts and its score conclusion from the CPU's routines and folds the denominator once per row
ADR-1418 Motion parity cells compare what every twin emits; a missing metric is a cell error
ADR-1419 float_motion_hip stores its differences transposed and adds each row in the CPU's order
ADR-1420 float_adm_cuda computes the CPU's arithmetic, divides through the host's reciprocal estimate and returns the CPU's scores bit for bit
ADR-1422 float_vif_sycl computes the CPU's arithmetic without an fp64 type and returns its scores bit for bit
ADR-1423 adm_hip takes its weights, shifts and score conclusion from the CPU, folds the denominator once per row and clears its accumulators after the upload
ADR-1424 integer_ssim_cuda adds its terms in the CPU's raster order, on the host, and returns the CPU's score bit for bit
ADR-1426 ciede_cuda computes the CPU's arithmetic and adds in the CPU's order; what remains is the math library, and the gate bounds it
ADR-1428 Exact GPU twins are declared by one fragment file each, not by a shared literal
ADR-1430 speed_chroma_cuda keeps its correctly rounded log2; the gate bounds what glibc's log2f adds
ADR-1432 vif_sycl computes the gain terms of the integer VIF in exact integer arithmetic and returns the CPU's scores bit for bit
ADR-1433 ssimulacra2_cuda returns the sums of the CPU's loops, formed on the device from integer increments per binade
ADR-1434 float_adm_sycl computes the CPU's arithmetic without an fp64 type, adds in the CPU's order and returns the CPU's scores bit for bit
ADR-1435 vif_hip reads the CPU's log2 table instead of evaluating log2f() on the device, and returns the CPU's scores bit for bit
ADR-1436 ciede_sycl runs the CPU's statements on fp32 pairs and adds in the CPU's order; it lands where the CUDA twin does, 1.4e-11 from the CPU
ADR-1437 motion_hip, motion_v2_hip, psnr_hip, integer_ms_ssim_hip and cambi_hip are declared exact twins; float_psnr_hip and float_moment_hip are not
ADR-1438 integer_ssim_hip adds its terms in the CPU's raster order at every frame size and returns the CPU's score bit for bit
ADR-1440 float_psnr_hip adds its squared differences as integers and returns the CPU's score bit for bit
ADR-1441 float_ssim_hip forms its window sums through the arithmetic float_ms_ssim_hip shares with the CPU and returns the CPU's score bit for bit
ADR-1443 integer_ssim_sycl computes the CPU's fp64 term in 64-bit integers and adds in the CPU's order; it returns the CPU's ssim bit for bit
ADR-1444 float_vif_hip runs the arithmetic of the CUDA twin from one shared header and returns the CPU's scores bit for bit
ADR-1445 ssimulacra2_hip evaluates the CPU's fp64 terms and returns the sums of the CPU's loops
ADR-1446 ssimulacra2_sycl forms the CPU's fp64 terms in 64-bit integers and returns the sums of the CPU's loops; it returns the CPU's score bit for bit
ADR-1447 float_moment_hip adds the float squares the CPU adds, and is bit-identical while the CPU's own sum is exact
ADR-1448 ciede_hip runs the CPU's arithmetic in fp32 pairs, from the header the SYCL twin runs; what remains is glibc's powf and the last bits of a pair
ADR-1449 float_moment_sycl adds the float squares the CPU adds, and is bit-identical while the CPU's own sum is exact
ADR-1450 float_psnr_sycl adds its squared differences as integers, and is bit-identical to the CPU
ADR-1451 adm_sycl, motion_sycl, motion_v2_sycl, psnr_sycl, float_ssim_sycl and cambi_sycl are declared exact twins; speed_chroma_sycl is not
ADR-1452 the gate bounds speed_chroma_hip against the CPU by what glibc's log2f adds, as it does for the CUDA twin
ADR-1453 float_moment_cuda adds the float squares the CPU adds, and is bit-identical while the CPU's own sum is exact
ADR-1454 A large subtree AGENTS.md is a generated index over one page per topic
ADR-1455 float_psnr_cuda adds its squared differences as integers, and is bit-identical to the CPU
ADR-1456 vif_cuda keeps its device log2f(), proven equal to the CPU's log2 table on every entry, and is declared an exact twin
ADR-1457 motion_cuda, motion_v2_cuda, psnr_cuda, float_ssim_cuda, float_ms_ssim_cuda and cambi_cuda are declared exact twins
ADR-1458 float_adm_hip runs the CPU's arithmetic from the header the CUDA twin runs and returns the CPU's scores bit for bit
ADR-1460 speed_temporal becomes a parity-gate feature with a derived bound, and every registered twin of a gated backend has to be a gate cell
ADR-1462 vif_cuda reads the CPU's log2 table instead of evaluating log2f() on the device
ADR-1468 A SYCL kernel requires only a sub-group size every default AOT target accepts (16 or 32); the six kernels that required 8 move to 16
ADR-1471 The clang-tidy lanes are measured in the dev container, with the device toolchains
ADR-1474 A fork-created header that replays upstream arithmetic is EUPL-1.2 AND the licences of exactly that code, and the relicensing check becomes a required CI job
ADR-1477 SpEED evaluates Netflix's fp64 expressions again, and its GPU twins form the entropies and the score on the host with the same statements, so every twin returns the CPU's scores bit for bit on any C library
ADR-1487 code inherited from Netflix/vmaf evaluates as Netflix's source does, a difference needs an ADR, and a guard compares every emitted value against the recorded upstream head
ADR-1492 Tester image with one report command, hardware reports as tracked files
ADR-1493 macOS tester bundle, an exception to container-only publishing
ADR-1496 The macOS tester bundle runs the parity gate's Metal cells and reports per state row what it measured
ADR-1503 Every published tester artifact carries its licence texts, an attested SPDX SBOM and the source its copyleft parts require, and a gate refuses a file with no recorded licence
ADR-1504 Decline praetor's branch ruleset; the policy file is the only declaration
ADR-1505 An Intel GPU tester image with a backend-neutral GPU section in the report
ADR-1506 Move the praetor pin to 0af07a733e65 to drop the braces chain from the documentation gate's lock
ADR-1509 An NVIDIA GPU tester image that ships no NVIDIA file and measures every CUDA twin on a tester's GPU
ADR-1511 An AMD GPU tester image that ships only the ROCm runtime files the HIP build loads, with the source of its LGPL parts
ADR-1513 The production images, release assets and Python packages follow the tester licensing rules, checked by the same tool
ADR-1515 A native Windows tester zip for x64 and Arm64, built by the hosted runners with MSVC and a static C runtime
ADR-1516 A Windows CUDA tester zip that ships no NVIDIA file and measures every CUDA twin on a tester's Windows PC
ADR-1528 Every test file belongs to a suite that a required check runs
ADR-1546 The registry validator holds tiny-model metadata to the shipped graphs
ADR-1560 A Python package declares the licences of every file its sdist and wheel carry, its compiled extension included
ADR-1564 The dev container is pushed only into a private package, checked before every push
ADR-1566 A Windows SYCL tester zip built with /MD that carries its runtime beside every program and measures every SYCL twin on a tester's Intel GPU
ADR-1568 A test runs once in CI
ADR-1591 Publish every archive and image at the strongest compression its documented consumers open
ADR-1594 zstd image layers with a Docker Engine 23.0 floor, and zopfli for the Windows zips
ADR-1595 Build and run what the push-only and release-only workflows publish, before they publish
ADR-1673 A push to master never cancels the runs of an earlier master commit; the concurrency group carries the SHA there
ADR-1686 a Scorecard master run whose master moved on to a descendant ends cancelled
ADR-1687 Require the pull-request release legs through the aggregator
ADR-1699 The root licence files state ADR-1250's terms, and every package manifest declares the licences of the files it ships
ADR-1700 The tester selectors follow their own paths, not the full-mode fallback
ADR-1701 Build and test the tester image every night on master
ADR-1762 Every translation unit is read by a clang-tidy lane or excepted by name
ADR-1898 A resumable stage runner and a mini retrain that exercises the retrain tooling in CI
ADR-1899 govulncheck at symbol level, OpenVEX for what is not called
ADR-2012 Lefthook and the pre-commit framework on Windows hosts
ADR-2126 Declare the single-maintainer gaps of OpenSSF Scorecard's Code-Review and Branch-Protection checks as exceptions
ADR-2153 Move the praetor pin to 04cc813ff054 for the documentation lint budget and the tidy coverage gate
ADR-2169 CI runs the tier a pull request owes, not the whole suite on every push
ADR-2170 A CI leg that prints no warnings turns them into errors, one leg at a time
ADR-2171 A weekly research radar over public video-quality sources
ADR-2197 Generated changelog, ADR index and rebase notes are rendered when pull requests land
ADR-2198 A tester leg builds where its inputs change, and no release is cut on a leg nobody saw green
ADR-2199 actionlint runs under a deadline and fails loudly when it hangs
ADR-2200 The live source ADR-citation bindings are derived from the tree, not recorded
ADR-2321 Move the praetor pin to afb739ed81f3 and meet its nested-context, supply-chain and harness checks
ADR-2440 Move the praetor pin to 7458a220e1c9 and drop the exceptions for the managed workflows
ADR-2462 Every commit carries a DCO sign-off, checked on pull requests
ADR-2646 POSIX-only build parts stay off Windows, and preflight refuses an unguarded POSIX header
ADR-2783 The patched FFmpeg is built with MSVC against vmaf.lib in CI
ADR-2784 Move the praetor pin to 3a766f2d56ad, take its REUSE workflow and declare the build-warnings lanes it cannot read
ADR-2828 Every CI build lane spells warnings as errors where praetor's build-warnings gate reads it
ADR-3061 Move the praetor pin to d141862c430b so the Go API gate builds its checker against golang.org/x/tools v0.51.0