Skip to content

fix(providers): finalize Nimble and Opper asset provenance - #12415

Merged
diegosouzapw merged 4 commits into
release/v3.8.51from
fix/v3851-provider-assets-provenance-final
Sep 2, 2026
Merged

diegosouzapw merged 4 commits into
release/v3.8.51from
fix/v3851-provider-assets-provenance-final

Conversation

@diegosouzapw

@diegosouzapw diegosouzapw commented Sep 2, 2026 •

Copy link
Copy Markdown
Owner

Status

OWN SCOPE: PASS · LOCAL RELEASE GATES: PASS · GITHUB CI: RUNNING

The provider-asset change is green on the reconciled candidate head. The historical API Route Typecheck failure was confirmed as BASE-RED, fixed by merged PR #12414, absorbed through the release reconciliation, and is now locally GREEN on the exact candidate.

Summary

This closes the two remaining unresolved provider-asset records without weakening the provenance boundary:

  • removes public/providers/nimble-search.svg because no sufficient redistribution evidence is recorded and renders Nimble Search with the internal generic icon before any CDN tier;
  • keeps the Nimble Search provider itself fully functional;
  • registers Opper in the local SVG resolver and proves the existing bytes against opper-ai/provider-omniroute at immutable commit 9aacef7d6ae68d8d79f5aee042a25e9b646d2338;
  • records the MIT repository license from the same commit while keeping trademarkClearance: null;
  • preserves the release-side retirement of [provider removed at its operator's request] and does not resurrect its provider or asset inventory entries.

Before / after

Measure Before After
Distributed provider assets 142 141
Proven 71 72
Probable 69 69
Unresolved 2 0
Nimble built-in rendering unresolved local SVG internal generic SVG, no icon CDN
Opper built-in rendering CDN fallback despite bundled file /providers/opper.svg

Release-overlap resolution

Overlap Release intent preserved PR intent preserved Final result
ProviderIcon.tsx remove retired [provider removed at its operator's request] from generic inventory move Nimble to generic and register Opper locally [provider removed at its operator's request] absent; Nimble generic; Opper local
Generic-fallback test release count 79 → 78 after [provider removed at its operator's request] retirement add Nimble to the unresolved/local-generic list composed count 79; physical asset count 141
ProviderIcon UI test release count 79 → 78 after [provider removed at its operator's request] retirement add Nimble generic coverage and Opper dimensions composed count 79; Opper local-size assertion retained

Evidence boundaries

Evidence Result
Opper source https://github.com/opper-ai/provider-omniroute, commit 9aacef7d6ae68d8d79f5aee042a25e9b646d2338, path public/providers/opper.svg
Byte match local and pinned source SHA-256 e45d0409e7746946f204903ad6e7da267d805b7d7534fa684eeb7b8ac5717791
License root LICENSE at the same pinned commit is MIT
Trademark not established; manifest remains trademarkClearance: null
Nimble asset removed; this PR makes no redistribution or trademark claim

TDD and exact-head gates

Gate Result
RED UI seam expected 2 failures: Opper was not local; Nimble still rendered its local SVG
RED inventory seam expected 2 failures: old 142/142 counts and bundled Nimble SVG
ProviderIcon Vitest PASS — 93/93 on reconciled candidate
Provenance and retirement tests PASS — 20/20 on reconciled candidate
check:provider-asset-provenance PASS — 141/141; proven=72 probable=69 unresolved=0
check:provider-assets PASS
API Route Typecheck PASS — local and GitHub; 289 pre-existing diagnostics, all within the frozen baseline (run 33626440093 / job 100235180501)
API typecheck gate unit tests PASS — 8/8
typecheck:core PASS
Dashboard typecheck PASS — 207 pre-existing diagnostics, all within the frozen baseline
Focused ESLint PASS
Focused Prettier PASS
check:changelog-integrity PASS
check:ratchet-bank PASS — no baseline movement
check:file-size PASS
check:tracked-artifacts PASS
git diff --check PASS

BASE-RED → GREEN classification

Candidate Receipt Result
Historical release base 713440be0a run 33589097723 / job 100119246479 src/app/api/memory/rerank-providers/route.ts TS2307
Historical PR head a2680ca0a4 run 33590310501 / job 100122783394 identical TS2307; the PR changed no API route or typecheck baseline
Merged base repair #12414 merge 6a91002b398f3090a219b34ec48de7d399c49619 fixed the stale rerank import and ratcheted the API baseline
Reconciled candidate 0bb0265038 local gate + GitHub run 33626440093 PASS — apiTypecheckErrors=289, zero new/regressed diagnostics

The original red was therefore BASE-RED, not introduced by this PR. The reconciled branch now contains the base repair; API Route Typecheck is GREEN both locally and on GitHub. The remaining GitHub checks are still running and are not implied complete here.

Git receipts

Item SHA
Final release parent 6da2418247d75acd0af3a617c7289b004b5a86f5
Audited physical asset snapshot ccb024cfa9a7612fa65b1f1795740572369d58f5
Reconciled candidate head 0bb02650384444faa610efcec35755d51b6329a8

The audited snapshot intentionally remains the first commit that changed public/providers; later commits and the release reconciliation did not change that physical provider tree beyond the intended Nimble removal, so the manifest binding remains valid.

No merge of this PR, deployment, release, or external brand contact is performed here.

@diegosouzapw
diegosouzapw marked this pull request as ready for review September 2, 2026 13:01
@diegosouzapw
diegosouzapw merged commit c420a51 into release/v3.8.51 Sep 2, 2026
21 checks passed
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…apw#12415)

Closes the two remaining unresolved provider-asset records without weakening the provenance boundary: public/providers/nimble-search.svg is removed because no sufficient redistribution evidence is recorded, and Nimble Search renders with the internal generic icon before any CDN tier while staying fully functional; Opper is registered in the local SVG resolver with its existing bytes proven against opper-ai/provider-omniroute at immutable commit 9aacef7, recording the MIT repository license from that same commit while keeping trademarkClearance null.

Validated in a combined worktree with the batch's ready set boarded onto the current tip: parse sweep clean on every changed TypeScript file, typecheck:core clean, check:dashboard-typecheck OK (207 pre-existing errors, all within baseline), check:cycles OK, check-file-size OK, 203/205 focused node tests and 94/94 vitest — the two failures belong to diegosouzapw#12427, which is held back.
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