Skip to content

chore(assets): prune unused assets with unresolved provenance - #11735

Merged
diegosouzapw merged 2 commits into
release/v3.8.51from
fix/v3850-prune-unresolved-provider-assets
Aug 28, 2026
Merged

diegosouzapw merged 2 commits into
release/v3.8.51from
fix/v3850-prune-unresolved-provider-assets

Conversation

@diegosouzapw

@diegosouzapw diegosouzapw commented Aug 27, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Asset In-repo resolution before Disposition
freebuff-dark.svg No themed mapping or exact reference Removed; byte-identical duplicate of freebuff.svg
freebuff-light.svg No themed mapping or exact reference Removed; byte-identical duplicate of freebuff.svg
freebuff.png Not present in KNOWN_PNGS; canonical SVG wins first Removed
openvecta.svg Not present in KNOWN_SVGS; no exact reference Removed
freebuff.svg Active canonical entry in KNOWN_SVGS Preserved unchanged

This is a static-asset-only cleanup. It does not change provider registration, runtime code, ProviderIcon, manifests, notices, or dependencies.

Provenance finding

The audit is pinned to release base 091589089cd134a94df9f6cdab9ba562b2cefd18.

  • The four removed files were tracked under public/providers/, so they were included as directly distributable public assets.
  • The Freebuff assets entered through feat(providers): implement native support for Freebuff AI gateway (#6793) #10531. That PR labels them official branding, but supplies no reproducible source URL or redistribution license/copyright notice. The SVG files contain no embedded provenance notice; the PNG contains no usable license notice.
  • The OpenVecta asset entered through feat(provider): add OpenVecta AI inference gateway #6833. Its PR describes a brand icon but likewise supplies no reproducible source or redistribution grant, and the SVG contains no embedded provenance notice.
  • A graph search found zero exact filename references. Because static image suffixes are intentionally excluded from the code graph, the negative claim was also checked physically across source, docs, tests, config, and scripts.
  • freebuff-dark.svg, freebuff-light.svg, and the retained freebuff.svg have the same SHA-256: 4d48a1405c68b00121fa7100e080025fa3e9e090c59055b56e4ad0aee1a7de7f.

RED -> GREEN evidence

RED on the pinned base: an absence invariant failed for all four paths because every unresolved asset still existed under public/providers/.

GREEN after the change:

  • all four target paths are absent;
  • public/providers/freebuff.svg remains present and unchanged;
  • no exact filename reference exists in source/docs/tests/config/scripts;
  • npm run check:provider-assets — PASS;
  • CHANGELOG_BASE_REF=091589089cd134a94df9f6cdab9ba562b2cefd18 npm run check:changelog-integrity — PASS;
  • git diff 091589089cd134a94df9f6cdab9ba562b2cefd18..HEAD --check — PASS.

No production code changed, so no runtime test seam was introduced; the public static-asset boundary is covered by the physical RED/GREEN invariant and repository gates.

Compatibility caveat

Undocumented consumers may have linked directly to these public URLs outside this repository. No in-repo consumer was found. The deletion remains fully recoverable from Git history if such an external dependency is later demonstrated.

Release guardrails

This branch is independent and based directly on the pinned release SHA. Keep this PR open and draft: no merge, automerge, tag, release, or deploy is requested.

@diegosouzapw
diegosouzapw force-pushed the fix/v3850-prune-unresolved-provider-assets branch from fe32544 to 50edcb8 Compare August 28, 2026 03:55
@diegosouzapw
diegosouzapw changed the base branch from release/v3.8.50 to release/v3.8.51 August 28, 2026 03:55
@diegosouzapw
diegosouzapw marked this pull request as ready for review August 28, 2026 07:32
@diegosouzapw
diegosouzapw merged commit 103d0de into release/v3.8.51 Aug 28, 2026
21 checks passed
diegosouzapw added a commit that referenced this pull request Aug 28, 2026
…1750)

Merged via /merge-batch (v3.8.51 provenance sweep). Boarded and validated together with the batch's other provenance PRs in a combined worktree — full gate suite green. Reconciled against 3 sibling PRs (#11735, #11736, #11711) that landed first and independently retired 6 further unproven assets this PR never targeted, in both the README media-badge row and the "148 non-target assets" golden count (now the real 142, computed not guessed). This PR's own 23 node:test + 91 vitest focused tests all pass. Thank you for the careful provenance/generic-fallback work.
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…r-inference#11735)

Merged via /merge-batch (v3.8.51 provenance sweep). Boarded and validated together with the batch's other provenance/asset-cleanup PRs in a combined worktree (typecheck:core, lint red-discriminator vs the pure release tip, complexity/cognitive-complexity ratchets, file-size, changelog-integrity, and the full focused test suite for every touched area all green). Static-asset-only cleanup, no runtime code changes. Thank you for the careful provenance audit.
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…eaper-inference#11750)

Merged via /merge-batch (v3.8.51 provenance sweep). Boarded and validated together with the batch's other provenance PRs in a combined worktree — full gate suite green. Reconciled against 3 sibling PRs (cheaper-inference#11735, cheaper-inference#11736, cheaper-inference#11711) that landed first and independently retired 6 further unproven assets this PR never targeted, in both the README media-badge row and the "148 non-target assets" golden count (now the real 142, computed not guessed). This PR's own 23 node:test + 91 vitest focused tests all pass. Thank you for the careful provenance/generic-fallback work.
@diegosouzapw
diegosouzapw deleted the fix/v3850-prune-unresolved-provider-assets branch October 18, 2026 23:51
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