Repository navigation
fix(ci): remove committed merge-conflict markers from CI YAML files - #174
Merged
Merged
Conversation
Committed conflict markers from commit 0c494cc (post-merge-train sweep, #50) were present in two CI workflow files, causing check-yaml pre-commit hook failures. These markers snuck through because the sweep commit bypassed CI checks. Fixes: - libvmaf-build-matrix.yml: CUDA and SYCL Windows build steps — retain HEAD (core\build) over incoming (libvmaf\build, stale pre-ADR-0700). - security-scans.yml: CodeQL Python no-op build step — retain HEAD (explicit no-op suppressing autobuild.sh) over incoming (deletion). Companion to PR #108 which fixed the same sweep's conflict markers in integer_vif_cuda.c. Pre-commit check-yaml now passes on both files. no user-discoverable surface change — CI infra fix no digest needed: trivial conflict-marker removal no alternatives: keep HEAD, which is the ADR-0700-correct state no rebase-sensitive invariants Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
lusoris
enabled auto-merge (squash)
May 29, 2026 10:21
lusoris
added a commit
that referenced
this pull request
May 29, 2026
Resolves unresolved conflict markers in .github/workflows/libvmaf-build-matrix.yml and .github/workflows/security-scans.yml introduced during rebase. Both markers conflict with the same commit (24bb5da). Resolution: keep HEAD versions (core\build path and No-op build step), matching the master fix from PR #174. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
lusoris
added a commit
that referenced
this pull request
May 29, 2026
Resolves unresolved conflict markers in .github/workflows/libvmaf-build-matrix.yml and .github/workflows/security-scans.yml introduced during rebase. Both markers conflict with the same commit (24bb5da). Resolution: keep HEAD versions (core\build path and No-op build step), matching the master fix from PR #174. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
lusoris
added a commit
that referenced
this pull request
May 29, 2026
… fix Two follow-up fixes after the PR #181 CI run: 1. docs/state.md (CLAUDE.md §12 r13 / ADR-0165): Add a "Recently closed" row for T-CASCADING-CONFLICT-MARKERS-PR50-RESIDUAL-2026-05-29. Commit 24bb5da left committed git conflict markers across 38 files (PR #174 covered the CI YAML subset; PR #181 sweeps the remainder). The state.md touch gate flagged the omission. 2. .gitleaks.toml: gitleaks 8.24.3 evaluates allowlist `paths` regex against the scanned file's *absolute* path (e.g. `/repo/ai/...`) when --source is an absolute directory. Patterns anchored with `^` only matched files directly at the source root (so `^go\.sum$` worked, but `^ai/src/.../README\.md$` and `^subprojects/` never matched anything). The README's `- key: src01_hrc00_576x324` example tripped the generic-api-key entropy rule despite being explicitly allowlisted. Rewrote subdirectory patterns to drop the leading `^` (and prefix with `/` where root-anchoring is desired); `^go\.sum$`-style root-anchored single-file patterns kept as-is via `/go\.sum$`. Local verification with the pinned CI gitleaks v8.24.3 image: 0 leaks (was 2: one allowlisted-but-not-skipped README finding plus a separate `vmaf-fixtures` regex-allowlisted pair). Bytes scanned drops 162 MB -> 39 MB because subprojects/, build/, builddir*/, .git/, gen/go/ are now actually skipped. Also fixes the PR body item name to match the deliverables-check parser exactly ("Reproducer / smoke-test command" not "Reproducer / smoke-test"); body edited via gh pr edit, not in this commit.
lusoris
added a commit
that referenced
this pull request
May 29, 2026
Adds scripts/ci/check-conflict-markers.sh as a belt-and-suspenders companion to the existing check-merge-conflict entry (pre-commit-hooks v6.0.0). The new local hook uses git grep (git's C binary, < 5ms) and fires on every commit regardless of file type, while check-merge-conflict is Python-based and covers the standard three-way conflict syntax. PR #174 (commit a4e9e70) fixed 70 files contaminated by conflict markers from commit 24bb5da; this hook would have blocked that commit at the pre-commit gate. Dual coverage closes the gap. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
8 of 16 tasks
lusoris
added a commit
that referenced
this pull request
May 29, 2026
Adds scripts/ci/check-conflict-markers.sh as a belt-and-suspenders companion to the existing check-merge-conflict entry (pre-commit-hooks v6.0.0). The new local hook uses git grep (git's C binary, < 5ms) and fires on every commit regardless of file type, while check-merge-conflict is Python-based and covers the standard three-way conflict syntax. PR #174 (commit a4e9e70) fixed 70 files contaminated by conflict markers from commit 24bb5da; this hook would have blocked that commit at the pre-commit gate. Dual coverage closes the gap. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This was referenced May 29, 2026
lusoris
added a commit
that referenced
this pull request
May 29, 2026
… paths (#236) The .github/codeql-config.yml file on master still has unresolved Git conflict markers from commit 24bb5da (PR #50 — the post-merge-train sweep that introduced the 77-file marker disaster). PR #174 fixed several CI YAML files but missed this one. Resolves both marker blocks by taking the HEAD side (post-ADR-0700 core/ paths) and adds compat/python-vmaf to paths so CodeQL scans the shim too. Files: .github/codeql-config.yml Verified: python3 yaml.safe_load + pre-commit check-yaml + check-merge-conflicts Unblocks: Pre-Commit (Formatters + Basic Checks), Security Scans (CodeQL). Co-authored-by: lusoris <lusoris@pm.me> Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
lusoris
added a commit
that referenced
this pull request
Jun 3, 2026
Audits 30 most recent merged commits (PRs #96–#174) for CLAUDE §12 r10 compliance: user-discoverable surface change must ship human-readable docs in the same PR. Score: 22/30 N/A (no surface change), 5/8 with surface changes compliant (62.5 %). Three confirmed gaps: - Gap A (HIGH): PR #47 (ADR-0726, Vulkan drop) — docs/backends/vulkan/overview.md, docs/metrics/features.md, and docs/development/build-flags.md still describe Vulkan as an operative backend. Tracked as T-DOC-VULKAN-STALE-POST-ADR0726. - Gap B (MEDIUM): PR #87 (ADR-0749, VmafLegacyQualityRunner sunset) — no docs/development/deprecations.md entry and no migration note in docs/usage/python.md. Tracked as T-DOC-LEGACY-RUNNER-MISSING-DEPRECATION. - Gap C (LOW): PR #135 (log format standardization) — removes "Error: " prefix from CUDA error messages with no doc note. Three follow-up issues proposed (Issue A, B, C in Research-0848). No code changes in this PR; audit-only per task brief. Six deliverables (ADR-0108): (1) Research-0848: docs/research/research-0848-per-surface-doc-compliance-audit-20260529.md (2) Decision matrix in ADR-0848 §Alternatives considered (3) no rebase-sensitive invariants (4) Reproducer: git log --oneline origin/master | head -30 (auditable from commit list) (5) changelog.d/changed/per-surface-doc-compliance-audit.md (6) docs/rebase-notes.md entry added Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
lusoris
added a commit
that referenced
this pull request
Jun 3, 2026
…291 state.md drift sweep + #233 changelog concat fix) (#527) * docs(lint): NOLINT cluster audit and refactor plan (ADR-0780) Swept all 218 NOLINT annotations in core/src/ for clusters of five or more identical suppressions per file. Identified five clusters (71 annotations): - 21 bare performance-no-int-to-ptr in GPU slab allocators — ADR-0278 non-compliant (no citations); scheduled for SLAB_FIELD macro (PR B). - 12 bugprone-implicit-widening in SYCL stride arithmetic — scheduled for explicit (ptrdiff_t) casts that eliminate the suppression entirely (PR A). - 14 misc-const-correctness in SYCL atomic_ref loops — fold into existing NOLINTBEGIN/NOLINTEND block (PR C). - 13 bare readability-function-size in integer_adm.c — ADR-0278 non-compliant; scheduled for NOLINTBEGIN block consolidation (PR C). - 11 readability-function-size on SYCL kernel entry-points — load-bearing per ADR-0141; no change planned. Deliverables: research digest, ADR-0780 (Proposed), changelog fragment. Follow-up refactor PRs A–C are independent. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs(process): per-surface doc compliance audit — last 30 PRs (ADR-0848) Audits 30 most recent merged commits (PRs #96–#174) for CLAUDE §12 r10 compliance: user-discoverable surface change must ship human-readable docs in the same PR. Score: 22/30 N/A (no surface change), 5/8 with surface changes compliant (62.5 %). Three confirmed gaps: - Gap A (HIGH): PR #47 (ADR-0726, Vulkan drop) — docs/backends/vulkan/overview.md, docs/metrics/features.md, and docs/development/build-flags.md still describe Vulkan as an operative backend. Tracked as T-DOC-VULKAN-STALE-POST-ADR0726. - Gap B (MEDIUM): PR #87 (ADR-0749, VmafLegacyQualityRunner sunset) — no docs/development/deprecations.md entry and no migration note in docs/usage/python.md. Tracked as T-DOC-LEGACY-RUNNER-MISSING-DEPRECATION. - Gap C (LOW): PR #135 (log format standardization) — removes "Error: " prefix from CUDA error messages with no doc note. Three follow-up issues proposed (Issue A, B, C in Research-0848). No code changes in this PR; audit-only per task brief. Six deliverables (ADR-0108): (1) Research-0848: docs/research/research-0848-per-surface-doc-compliance-audit-20260529.md (2) Decision matrix in ADR-0848 §Alternatives considered (3) no rebase-sensitive invariants (4) Reproducer: git log --oneline origin/master | head -30 (auditable from commit list) (5) changelog.d/changed/per-surface-doc-compliance-audit.md (6) docs/rebase-notes.md entry added Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs(state): close T-LEGACY-RUNNER-ANSNR-BROKEN + T-LEGACY-RUNNER-STUB-MISSING Both rows referenced classes / imports that no longer exist on master: 1. T-LEGACY-RUNNER-ANSNR-BROKEN — AnsnrFeatureExtractor was deleted by PR #283 (merged at faede7a). The class is absent from compat/python-vmaf/core/feature_extractor.py on master tip d45d503. The Netflix golden assertions still cover the integer-path VMAF score (Rule #1 preserved). 2. T-LEGACY-RUNNER-STUB-MISSING-2026-05-29 — VmafLegacyQualityRunner import-time failure: the class was removed in ADR-0749 / PR #87 and python/test/quality_runner_test.py was updated by the ADR-0749 sunset PR to drop the import (only a removed-comment placeholder at line 49 remains). Moved both rows from Open to Recently closed with verified-on-master reproducer commands. No code changes — documentation cleanup only. Deliverables (ADR-0108): - [x] **Research digest**: no digest needed: state.md hygiene - [x] **Decision matrix**: no alternatives: only-one-way fix - [x] **AGENTS.md invariant**: no rebase-sensitive invariants - [x] **Reproducer**: `git show origin/master:compat/python-vmaf/core/feature_extractor.py | grep -c 'class AnsnrFeatureExtractor'` returns 0; `git show origin/master:python/test/quality_runner_test.py | grep -c '^from.*VmafLegacy'` returns 0. - [x] **Changelog**: changelog.d/changed/state-md-drift-sweep-20260530.md - [x] **Rebase notes**: no rebase impact: docs only Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * docs(state): migrate 3 Vulkan rows to Recently closed (ADR-0726 supersession) ADR-0726 (Vulkan backend dropped 2026-05-28, PR #47) structurally closes three long-standing Vulkan Open rows by removing the affected code path entirely: - T-VK-1.4-BUMP — NVIDIA driver 595.71+ FP-contraction regression - T-VK-CIEDE-F32-F64 — NVIDIA Vulkan f32/f64 ciede precision gap - T-VK-VIF-1.4-RESIDUAL-ARC — Intel Arc A380 vif residual on Mesa-ANV The entire `core/src/vulkan/`, `core/src/feature/vulkan/`, and `core/include/libvmaf/libvmaf_vulkan.h` surface no longer exists on master, so each row now has a verified empty-path reproducer. Native CUDA / HIP / SYCL backends cover every vendor formerly served by Vulkan (see ADR-0726 §Context). Combined with the legacy-runner closures already in this PR (T-LEGACY-RUNNER-ANSNR-BROKEN + T-LEGACY-RUNNER-STUB-MISSING-2026-05-29), this brings the Open section from 14 → 11 rows. Row counts (verified): Open 11 + Deferred 4 + Recently closed 137 + Confirmed not-affected 1 = 153 total T- rows in tree. * chore(changelog): fix concat awk boundary + consolidate perf/ fragments (ADR-0221) Fix `concat-changelog-fragments.sh` --check/--write awk block-boundary: the previous `/^## [^[]/` pattern terminated the Unreleased block on any `## Heading` embedded inside a fragment (e.g. `## Added`, `## [perf] …`). Switch to `/^## \[(Unreleased|[0-9])/` which matches only versioned-release headers and the `[Unreleased]` sentinel, making `--check` deterministic. Tightened the `--write` awk pass with the same fix. Consolidate 32 fragments from non-standard `changelog.d/perf/` (27) and `changelog.d/performance/` (5) into the recognised `changed/` section with `perf-` filename prefix per ADR-0221 KaC convention. Remove 3 duplicate stubs: `ort-run-stack-arrays-f3b.md`, `adm-pnorm-deferred-comment.md`, `fixed/vmaf-tune-predictor-directory-corpus.md` (richer versions retained). Rename `changed/fr-regressor-v3-namespace.md` → `…-adr-appendix.md` to resolve filename collision with `added/fr-regressor-v3-namespace.md`. Regenerate CHANGELOG.md Unreleased block via `--write`; `--check` exits 0. no rebase impact: changelog.d/ + scripts/release/ only, no upstream C touched. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore(bundle): add changelog fragment for docs/hygiene bundle PR Adds changelog.d/changed/bundle-docs-hygiene.md summarising the four source PRs: #127 (NOLINT audit), #216 (doc compliance audit), #291 (state.md drift sweep), #233 (changelog concat fix). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Lusoris <lusoris@pm.me>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
libvmaf-build-matrix.yml(CUDA + SYCL Windows build steps, two conflicts) andsecurity-scans.yml(CodeQL Python no-op build step, one conflict)0c494cca05(post-merge-train sweep docs: post-merge-train sweep — VMAFx + core/ path refs, ADR index, state.md #50) via admin merge that bypassed thecheck-merge-conflictpre-commit hookcore\buildpaths (ADR-0700 rename correct) and the explicit no-op step (suppresses CodeQL autobuild.sh on Python-only scans)integer_vif_cuda.cPre-commit audit
Pre-commit run on all files touched by the two master commits from 2026-05-28 (
61ff5e0565,39455e78ed). Master itself is clean; these markers live on this in-flight branch. After fix, all hooks pass:Test plan
pre-commit run --files .github/workflows/libvmaf-build-matrix.yml .github/workflows/security-scans.ymlpasses locallycore\buildDeliverables
python3 -c "import yaml; yaml.safe_load(open('.github/workflows/libvmaf-build-matrix.yml'))"raised before fix; passes afterchangelog.d/fixed/ci-yaml-conflict-markers.md🤖 Generated with Claude Code