Skip to content

fix(review): give LOOPOVER_DUPLICATE_WINNER a per-repo config override - #6005

Merged
JSONbored merged 1 commit into
mainfrom
fix/config-duplicate-winner-override
Jul 15, 2026
Merged

fix(review): give LOOPOVER_DUPLICATE_WINNER a per-repo config override#6005
JSONbored merged 1 commit into
mainfrom
fix/config-duplicate-winner-override

Conversation

@JSONbored

Copy link
Copy Markdown
Owner

Summary

  • Duplicate-winner adjudication (whether the earliest claimant in a duplicate-issue cluster is spared, vs. the legacy behavior of closing every sibling) was controlled ENTIRELY by a single fleet-wide LOOPOVER_DUPLICATE_WINNER env var, read directly at 8 separate call sites across src/queue/processors.ts, src/queue/duplicate-detection.ts, and the maintainer-activation preview route (src/api/routes.ts) -- no per-repo override existed anywhere.
  • Adds duplicateWinnerMode ("inherit" | "off" | "enabled", mirroring moderationGateMode/skipAutomationBotAuthors' existing shape) as a RepositorySettings field wired through .loopover.yml settings.duplicateWinnerMode.
  • Adds src/settings/duplicate-winner-mode.ts (isDuplicateWinnerEnabledGlobally + resolveDuplicateWinnerEnabled, mirroring src/settings/automation-bot-skip.ts's existing resolver pattern), which every one of the 8 call sites now goes through instead of reading env.LOOPOVER_DUPLICATE_WINNER directly. "inherit" (the default) reproduces today's exact fleet-wide behavior byte-for-byte; "off"/"enabled" let one repo opt out or in regardless of the global default.
  • reconcileLiveDuplicateSiblings (src/queue/duplicate-detection.ts) now also takes settings so its live-reconciliation short-circuit respects the same per-repo override, not just the bare env flag -- previously a repo with an override would have gotten a stale winner election if the fast path had stayed env-only.

Test plan

  • npm run test:ci (full local gate) green
  • npm audit --audit-level=moderate -- 0 vulnerabilities
  • New test/unit/duplicate-winner-mode.test.ts: the resolver's inherit/off/enabled truth table, both directions
  • New parseFocusManifest/resolveEffectiveSettings test for duplicateWinnerMode (mirrors the existing moderationGateMode test)
  • Extended test/unit/reconcile-live-duplicate-siblings.test.ts with 2 regression cases: a per-repo "enabled" override reconciles even when the global flag is off, and "off" stays untouched even when the global flag is on
  • Updated the two other tests broken by the new settings parameter (queue-lifecycle-guards.test.ts, and the SETTINGS_FIELD_TOKENS docs-parity map in focus-manifest.test.ts)

@superagent-security

Copy link
Copy Markdown
Contributor

Superagent didn't find any vulnerabilities or security issues in this PR.

@JSONbored JSONbored self-assigned this Jul 15, 2026
Duplicate-winner adjudication (whether the earliest claimant in a
duplicate-issue cluster is spared, or every sibling closes) was
controlled by a single fleet-wide LOOPOVER_DUPLICATE_WINNER env var --
no per-repo override existed at any of its 8 call sites across
processors.ts, duplicate-detection.ts, and the maintainer-activation
preview route.

Adds duplicateWinnerMode ("inherit" | "off" | "enabled", mirroring
moderationGateMode/skipAutomationBotAuthors' shape) as a
RepositorySettings field wired through .loopover.yml
settings.duplicateWinnerMode, and a resolveDuplicateWinnerEnabled
helper (src/settings/duplicate-winner-mode.ts) that every call site
now goes through instead of reading the env var directly -- "inherit"
(the default) reproduces today's exact fleet-wide behavior, "off"/
"enabled" let one repo opt out or in regardless of the global default.
@codecov

codecov Bot commented Jul 15, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.16%. Comparing base (9c5a6e0) to head (39cdc9f).
⚠️ Report is 3 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #6005   +/-   ##
=======================================
  Coverage   95.16%   95.16%           
=======================================
  Files         591      592    +1     
  Lines       46934    46940    +6     
  Branches    15000    15003    +3     
=======================================
+ Hits        44664    44670    +6     
  Misses       1512     1512           
  Partials      758      758           
Flag Coverage Δ
shard-1 43.93% <58.33%> (+<0.01%) ⬆️
shard-2 36.54% <58.33%> (+0.01%) ⬆️
shard-3 32.16% <33.33%> (+0.16%) ⬆️
shard-4 32.94% <75.00%> (+0.99%) ⬆️
shard-5 31.34% <41.66%> (-1.20%) ⬇️
shard-6 44.58% <58.33%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
packages/loopover-engine/src/focus-manifest.ts 98.85% <100.00%> (+<0.01%) ⬆️
src/api/routes.ts 94.40% <100.00%> (ø)
src/openapi/schemas.ts 100.00% <ø> (ø)
src/queue/duplicate-detection.ts 100.00% <100.00%> (ø)
src/queue/processors.ts 95.71% <100.00%> (ø)
src/settings/duplicate-winner-mode.ts 100.00% <100.00%> (ø)
src/types.ts 100.00% <ø> (ø)

@codecov

codecov Bot commented Jul 15, 2026

Copy link
Copy Markdown

Bundle Report

Changes will increase total bundle size by 259 bytes (0.01%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle name Size Change
loopover-ui 3.04MB 259 bytes (0.01%) ⬆️

Affected Assets, Files, and Routes:

view changes for bundle: loopover-ui

Assets Changed:

Asset Name Size Change Total Size Change (%)
assets/tanstack-vendor-D809Uhu5.js (New) 718.6kB 718.6kB 100.0% 🚀
openapi.json 184 bytes 487.89kB 0.04%
assets/maintainer-panel-CQHiFO4X.js (New) 75.5kB 75.5kB 100.0% 🚀
assets/ui-vendor-ClKExG4d.js (New) 65.83kB 65.83kB 100.0% 🚀
assets/owner-panel-o47FQW8P.js (New) 58.63kB 58.63kB 100.0% 🚀
assets/docs.self-hosting-configuration-B1Cf0_jn.js (New) 48.42kB 48.42kB 100.0% 🚀
assets/app.analytics-CBENzfWg.js (New) 36.26kB 36.26kB 100.0% 🚀
assets/docs.self-hosting-release-checklist-CRwWX1SL.js (New) 34.54kB 34.54kB 100.0% 🚀
assets/docs.tuning-DPa-S8DM.js (New) 34.42kB 34.42kB 100.0% 🚀
assets/routes-BgOUjE76.js (New) 34.04kB 34.04kB 100.0% 🚀
assets/app.runs-BGGvK2SH.js (New) 27.11kB 27.11kB 100.0% 🚀
assets/app-BenlagBO.js (New) 25.83kB 25.83kB 100.0% 🚀
assets/app.operator-CpI_tTNq.js (New) 24.59kB 24.59kB 100.0% 🚀
assets/docs.self-hosting-security-CPx9Bogn.js (New) 21.3kB 21.3kB 100.0% 🚀
assets/docs.github-app-eFeXlkdr.js (New) 19.49kB 19.49kB 100.0% 🚀
assets/miner-panel-20JMSBer.js (New) 19.23kB 19.23kB 100.0% 🚀
assets/docs.self-hosting-troubleshooting-DjcD2mX5.js (New) 18.47kB 18.47kB 100.0% 🚀
assets/api._op-CSP8McGi.js (New) 17.89kB 17.89kB 100.0% 🚀
assets/docs.self-hosting-github-app-h4L2yVV6.js (New) 17.32kB 17.32kB 100.0% 🚀
assets/docs.how-reviews-work-DY5GM5AY.js (New) 17.03kB 17.03kB 100.0% 🚀
assets/app.index-CD9WL_Wh.js (New) 16.19kB 16.19kB 100.0% 🚀
assets/docs.maintainer-self-hosting-DN1xX6wz.js (New) 15.99kB 15.99kB 100.0% 🚀
assets/playground-panel-CKlGIJlX.js (New) 14.43kB 14.43kB 100.0% 🚀
assets/docs.self-hosting-quickstart-Da1VhelS.js (New) 14.15kB 14.15kB 100.0% 🚀
assets/docs.self-hosting-docs-audit-csfMNCEi.js (New) 12.14kB 12.14kB 100.0% 🚀
assets/docs.maintainer-install-trust-BxcpIURs.js (New) 10.51kB 10.51kB 100.0% 🚀
assets/docs.self-hosting-backup-scaling-B1vsHXXr.js (New) 10.06kB 10.06kB 100.0% 🚀
assets/docs.beta-onboarding-DGOuSJVA.js (New) 9.95kB 9.95kB 100.0% 🚀
assets/app.audit-KOxm8ASD.js (New) 9.35kB 9.35kB 100.0% 🚀
assets/extension-Bg_UhY6M.js (New) 9.21kB 9.21kB 100.0% 🚀
assets/docs.self-hosting-rees-WXdXXRXT.js (New) 8.95kB 8.95kB 100.0% 🚀
assets/docs.self-hosting-ai-providers-Duurijla.js (New) 8.92kB 8.92kB 100.0% 🚀
assets/app.config-generator-CJ93jS2U.js (New) 8.13kB 8.13kB 100.0% 🚀
assets/maintainers-YL3LSeOd.js (New) 8.06kB 8.06kB 100.0% 🚀
assets/miners-DA-okM-Q.js (New) 7.88kB 7.88kB 100.0% 🚀
assets/agents-BVhLCgki.js (New) 7.76kB 7.76kB 100.0% 🚀
assets/docs.privacy-security-DLak28Tv.js (New) 7.21kB 7.21kB 100.0% 🚀
assets/docs.owner-checklist-C_j0sxXX.js (New) 7.0kB 7.0kB 100.0% 🚀
assets/commands-panel-DDWn6hBb.js (New) 6.65kB 6.65kB 100.0% 🚀
assets/docs.self-hosting-releases-DJjvhA5J.js (New) 6.62kB 6.62kB 100.0% 🚀
assets/roadmap-C3eJAe6L.js (New) 6.33kB 6.33kB 100.0% 🚀
assets/docs.self-hosting-rees-analyzers-B-LgyK_b.js (New) 6.05kB 6.05kB 100.0% 🚀
assets/digest-panel-CiQ9N2WI.js (New) 6.04kB 6.04kB 100.0% 🚀
assets/docs.loopover-commands-DsYplVIX.js (New) 5.18kB 5.18kB 100.0% 🚀
assets/docs.scoreability-DyFZkKs0.js (New) 5.05kB 5.05kB 100.0% 🚀
assets/docs.troubleshooting-DWBeJcxr.js (New) 4.91kB 4.91kB 100.0% 🚀
assets/repos._owner._repo.quality-CBPLSs2g.js (New) 4.87kB 4.87kB 100.0% 🚀
assets/api.index-CllpodLR.js (New) 4.78kB 4.78kB 100.0% 🚀
assets/docs.index-DwssREAb.js (New) 4.68kB 4.68kB 100.0% 🚀
assets/changelog-mU2EOEUA.js (New) 4.67kB 4.67kB 100.0% 🚀
assets/docs.maintainer-workflow-DM6BnhYt.js (New) 4.36kB 4.36kB 100.0% 🚀
assets/docs.self-hosting-rag-sGx8QoED.js (New) 4.35kB 4.35kB 100.0% 🚀
assets/control-primitives-BoJMf3B_.js (New) 3.75kB 3.75kB 100.0% 🚀
assets/docs.ai-summaries-CBe50DHR.js (New) 3.04kB 3.04kB 100.0% 🚀
assets/docs.branch-analysis-BT3gqyCZ.js (New) 2.91kB 2.91kB 100.0% 🚀
assets/docs.mcp-clients-Bffq69an.js (New) 2.9kB 2.9kB 100.0% 🚀
assets/api-D1MakkqB.js (New) 2.73kB 2.73kB 100.0% 🚀
assets/docs-BHoe64yv.js (New) 2.67kB 2.67kB 100.0% 🚀
assets/docs.quickstart-CF83rNum.js (New) 2.1kB 2.1kB 100.0% 🚀
assets/alert-dialog-C0sxfBum.js (New) 2.07kB 2.07kB 100.0% 🚀
assets/docs.upstream-drift-Bsck680t.js (New) 2.04kB 2.04kB 100.0% 🚀
assets/button-oCVnANcQ.js (New) 1.74kB 1.74kB 100.0% 🚀
assets/app.workbench-Duh-Hvus.js (New) 1.63kB 1.63kB 100.0% 🚀
assets/tooltip-C0i79YoG.js (New) 1.45kB 1.45kB 100.0% 🚀
assets/session-BSUn0zLn.js (New) 1.44kB 1.44kB 100.0% 🚀
assets/tabs-D6OyIHWy.js (New) 1.39kB 1.39kB 100.0% 🚀
assets/trend-chart-BIAhb5PF.js (New) 1.22kB 1.22kB 100.0% 🚀
assets/app.repos-BQE1pCWn.js (New) 1.07kB 1.07kB 100.0% 🚀
assets/switch-TOo3vOl-.js (New) 982 bytes 982 bytes 100.0% 🚀
assets/analytics-card-shell-nVF6Kpk1.js (New) 972 bytes 972 bytes 100.0% 🚀
assets/use-api-resource-B7PYx_AD.js (New) 934 bytes 934 bytes 100.0% 🚀
assets/input-DD8NVreS.js (New) 796 bytes 796 bytes 100.0% 🚀
assets/refresh-meta-Cz3BNFHh.js (New) 796 bytes 796 bytes 100.0% 🚀
assets/file-cog-BMYwz5Wy.js (New) 758 bytes 758 bytes 100.0% 🚀
assets/app.maintainer-CH4ijigo.js (New) 501 bytes 501 bytes 100.0% 🚀
assets/sparkles-By5Qoif8.js (New) 494 bytes 494 bytes 100.0% 🚀
assets/app.owner-DE2wUBUK.js (New) 473 bytes 473 bytes 100.0% 🚀
assets/app.commands-CvLJ-_jm.js (New) 454 bytes 454 bytes 100.0% 🚀
assets/reveal-bopSFdj6.js (New) 442 bytes 442 bytes 100.0% 🚀
assets/app.playground-CnXlKb8J.js (New) 441 bytes 441 bytes 100.0% 🚀
assets/index-BpnWBNxE.js (New) 438 bytes 438 bytes 100.0% 🚀
assets/eye-off-Djt-8ncZ.js (New) 430 bytes 430 bytes 100.0% 🚀
assets/app.digest-DlW5Dr_x.js (New) 429 bytes 429 bytes 100.0% 🚀
assets/app.miner-4Eh__H0X.js (New) 421 bytes 421 bytes 100.0% 🚀
assets/key-round-D0SlHHb4.js (New) 355 bytes 355 bytes 100.0% 🚀
assets/bot-Di4LmsPt.js (New) 328 bytes 328 bytes 100.0% 🚀
assets/trash-2-CWp-2UU0.js (New) 328 bytes 328 bytes 100.0% 🚀
assets/save-D3uQdQA6.js (New) 327 bytes 327 bytes 100.0% 🚀
assets/git-pull-request-arrow-BHTZOUxY.js (New) 321 bytes 321 bytes 100.0% 🚀
assets/shield-check-B3sr_BwN.js (New) 320 bytes 320 bytes 100.0% 🚀
assets/wrench-UumEzeMu.js (New) 303 bytes 303 bytes 100.0% 🚀
assets/bell-CGWwkfrR.js (New) 290 bytes 290 bytes 100.0% 🚀
assets/list-checks-CsFLu2ab.js (New) 279 bytes 279 bytes 100.0% 🚀
assets/shield-CIfzuQ4r.js (New) 272 bytes 272 bytes 100.0% 🚀
assets/workflow-DQrM8M6B.js (New) 265 bytes 265 bytes 100.0% 🚀
assets/chart-column-Dg_gkt7h.js (New) 251 bytes 251 bytes 100.0% 🚀
assets/compass-BXfe-Q96.js (New) 251 bytes 251 bytes 100.0% 🚀
assets/skeleton-DW4u9PPD.js (New) 241 bytes 241 bytes 100.0% 🚀
assets/history-Cx4xi4Uv.js (New) 237 bytes 237 bytes 100.0% 🚀
assets/activity-huU-Pv50.js (New) 234 bytes 234 bytes 100.0% 🚀
assets/message-square-BUOGlV48.js (New) 233 bytes 233 bytes 100.0% 🚀
assets/download-str7_XKg.js (New) 232 bytes 232 bytes 100.0% 🚀
assets/chevron-right-Ci4sEw8R.js (New) 207 bytes 207 bytes 100.0% 🚀
assets/lock-DsbKklJ2.js (New) 206 bytes 206 bytes 100.0% 🚀
assets/rotate-cw-C5LAF5G3.js (New) 201 bytes 201 bytes 100.0% 🚀
assets/play-VWqw2DZ0.js (New) 190 bytes 190 bytes 100.0% 🚀
assets/circle-check-CNqQmbsW.js (New) 178 bytes 178 bytes 100.0% 🚀
assets/search-BfIiSYQA.js (New) 174 bytes 174 bytes 100.0% 🚀
assets/circle-CHyYVLvi.js (New) 130 bytes 130 bytes 100.0% 🚀
assets/tanstack-vendor-CotAeTwA.js (Deleted) -718.53kB 0 bytes -100.0% 🗑️
assets/maintainer-panel-DFGQAh1O.js (Deleted) -75.5kB 0 bytes -100.0% 🗑️
assets/ui-vendor-CJ7toM2f.js (Deleted) -65.83kB 0 bytes -100.0% 🗑️
assets/owner-panel-hTgS7AAz.js (Deleted) -58.63kB 0 bytes -100.0% 🗑️
assets/docs.self-hosting-configuration-C3fD5tmf.js (Deleted) -48.42kB 0 bytes -100.0% 🗑️
assets/app.analytics-CAp81urX.js (Deleted) -36.26kB 0 bytes -100.0% 🗑️
assets/docs.self-hosting-release-checklist-DPNF53DV.js (Deleted) -34.54kB 0 bytes -100.0% 🗑️
assets/docs.tuning-CBTkikZ5.js (Deleted) -34.42kB 0 bytes -100.0% 🗑️
assets/routes-B1AGyoya.js (Deleted) -34.04kB 0 bytes -100.0% 🗑️
assets/app.runs-BPHCxlZv.js (Deleted) -27.11kB 0 bytes -100.0% 🗑️
assets/app-mANGQhJw.js (Deleted) -25.83kB 0 bytes -100.0% 🗑️
assets/app.operator-Dk6z6dUv.js (Deleted) -24.59kB 0 bytes -100.0% 🗑️
assets/docs.self-hosting-security-DUFRIywh.js (Deleted) -21.3kB 0 bytes -100.0% 🗑️
assets/docs.github-app-D5AcUczo.js (Deleted) -19.49kB 0 bytes -100.0% 🗑️
assets/miner-panel-DmaKeZcb.js (Deleted) -19.23kB 0 bytes -100.0% 🗑️
assets/docs.self-hosting-troubleshooting-BYOdCfoz.js (Deleted) -18.47kB 0 bytes -100.0% 🗑️
assets/api._op-DwH3ZjBx.js (Deleted) -17.89kB 0 bytes -100.0% 🗑️
assets/docs.self-hosting-github-app-BqFfxx9L.js (Deleted) -17.32kB 0 bytes -100.0% 🗑️
assets/docs.how-reviews-work-CxrS9P5s.js (Deleted) -17.03kB 0 bytes -100.0% 🗑️
assets/app.index-DW2jXixd.js (Deleted) -16.19kB 0 bytes -100.0% 🗑️
assets/docs.maintainer-self-hosting-BA4C8mbd.js (Deleted) -15.99kB 0 bytes -100.0% 🗑️
assets/playground-panel-CUwcMD87.js (Deleted) -14.43kB 0 bytes -100.0% 🗑️
assets/docs.self-hosting-quickstart-CF65JLfS.js (Deleted) -14.15kB 0 bytes -100.0% 🗑️
assets/docs.self-hosting-docs-audit-BB9VqjOn.js (Deleted) -12.14kB 0 bytes -100.0% 🗑️
assets/docs.maintainer-install-trust-EUmwrjRd.js (Deleted) -10.51kB 0 bytes -100.0% 🗑️
assets/docs.self-hosting-backup-scaling-DWYDwX4L.js (Deleted) -10.06kB 0 bytes -100.0% 🗑️
assets/docs.beta-onboarding-ZONmHi_V.js (Deleted) -9.95kB 0 bytes -100.0% 🗑️
assets/app.audit-Ck-xAfoY.js (Deleted) -9.35kB 0 bytes -100.0% 🗑️
assets/extension-CG88xy3b.js (Deleted) -9.21kB 0 bytes -100.0% 🗑️
assets/docs.self-hosting-rees-D0FcOKxS.js (Deleted) -8.95kB 0 bytes -100.0% 🗑️
assets/docs.self-hosting-ai-providers-m40IVmTm.js (Deleted) -8.92kB 0 bytes -100.0% 🗑️
assets/app.config-generator-wcv9Z6WG.js (Deleted) -8.13kB 0 bytes -100.0% 🗑️
assets/maintainers-B4yVlOyH.js (Deleted) -8.06kB 0 bytes -100.0% 🗑️
assets/miners-cZmWfWI1.js (Deleted) -7.88kB 0 bytes -100.0% 🗑️
assets/agents-Caj6870Q.js (Deleted) -7.76kB 0 bytes -100.0% 🗑️
assets/docs.privacy-security-C1LeE1uk.js (Deleted) -7.21kB 0 bytes -100.0% 🗑️
assets/docs.owner-checklist-D73YEuPU.js (Deleted) -7.0kB 0 bytes -100.0% 🗑️
assets/commands-panel-Bo8lB4He.js (Deleted) -6.65kB 0 bytes -100.0% 🗑️
assets/docs.self-hosting-releases-lOF-_G45.js (Deleted) -6.62kB 0 bytes -100.0% 🗑️
assets/roadmap-D1-mA3ZA.js (Deleted) -6.33kB 0 bytes -100.0% 🗑️
assets/docs.self-hosting-rees-analyzers-DZr0lA_P.js (Deleted) -6.05kB 0 bytes -100.0% 🗑️
assets/digest-panel-BVwjmmEW.js (Deleted) -6.04kB 0 bytes -100.0% 🗑️
assets/docs.loopover-commands-CNL5UWOy.js (Deleted) -5.18kB 0 bytes -100.0% 🗑️
assets/docs.scoreability-eP9zT3TZ.js (Deleted) -5.05kB 0 bytes -100.0% 🗑️
assets/docs.troubleshooting-ggsysEZZ.js (Deleted) -4.91kB 0 bytes -100.0% 🗑️
assets/repos._owner._repo.quality-ChvheFt8.js (Deleted) -4.87kB 0 bytes -100.0% 🗑️
assets/api.index-Bxbo_Ppt.js (Deleted) -4.78kB 0 bytes -100.0% 🗑️
assets/docs.index-FAm7rgvO.js (Deleted) -4.68kB 0 bytes -100.0% 🗑️
assets/changelog-5wWnT7q_.js (Deleted) -4.67kB 0 bytes -100.0% 🗑️
assets/docs.maintainer-workflow-0omJPCr-.js (Deleted) -4.36kB 0 bytes -100.0% 🗑️
assets/docs.self-hosting-rag-C7QqyMfj.js (Deleted) -4.35kB 0 bytes -100.0% 🗑️
assets/control-primitives-DN-lCfuz.js (Deleted) -3.75kB 0 bytes -100.0% 🗑️
assets/docs.ai-summaries-blPgXTfl.js (Deleted) -3.04kB 0 bytes -100.0% 🗑️
assets/docs.branch-analysis-z1w9vvk3.js (Deleted) -2.91kB 0 bytes -100.0% 🗑️
assets/docs.mcp-clients-BiIeQvRp.js (Deleted) -2.9kB 0 bytes -100.0% 🗑️
assets/api-B7fRHlJt.js (Deleted) -2.73kB 0 bytes -100.0% 🗑️
assets/docs-BjtMthSg.js (Deleted) -2.67kB 0 bytes -100.0% 🗑️
assets/docs.quickstart-KqPIWX2N.js (Deleted) -2.1kB 0 bytes -100.0% 🗑️
assets/alert-dialog-Vi7N4RkR.js (Deleted) -2.07kB 0 bytes -100.0% 🗑️
assets/docs.upstream-drift-DF9xDNZx.js (Deleted) -2.04kB 0 bytes -100.0% 🗑️
assets/button-BqoNKFBL.js (Deleted) -1.74kB 0 bytes -100.0% 🗑️
assets/app.workbench-Bc5kdqBn.js (Deleted) -1.63kB 0 bytes -100.0% 🗑️
assets/tooltip-CUA1NGw5.js (Deleted) -1.45kB 0 bytes -100.0% 🗑️
assets/session-apOdmNQ4.js (Deleted) -1.44kB 0 bytes -100.0% 🗑️
assets/tabs-LEadDoiT.js (Deleted) -1.39kB 0 bytes -100.0% 🗑️
assets/trend-chart-BZN85baR.js (Deleted) -1.22kB 0 bytes -100.0% 🗑️
assets/app.repos-FTxIeI_4.js (Deleted) -1.07kB 0 bytes -100.0% 🗑️
assets/switch-UABpRMph.js (Deleted) -982 bytes 0 bytes -100.0% 🗑️
assets/analytics-card-shell-DQopL8lT.js (Deleted) -972 bytes 0 bytes -100.0% 🗑️
assets/use-api-resource-DxcMOKq2.js (Deleted) -934 bytes 0 bytes -100.0% 🗑️
assets/input-DeBQHZrV.js (Deleted) -796 bytes 0 bytes -100.0% 🗑️
assets/refresh-meta-4GoDZv35.js (Deleted) -796 bytes 0 bytes -100.0% 🗑️
assets/file-cog-Chzjvtcw.js (Deleted) -758 bytes 0 bytes -100.0% 🗑️
assets/app.maintainer-BF1XIQc-.js (Deleted) -501 bytes 0 bytes -100.0% 🗑️
assets/sparkles-BDqjc9zS.js (Deleted) -494 bytes 0 bytes -100.0% 🗑️
assets/app.owner-B-o9oO_a.js (Deleted) -473 bytes 0 bytes -100.0% 🗑️
assets/app.commands-BPDdbe4S.js (Deleted) -454 bytes 0 bytes -100.0% 🗑️
assets/reveal-CG67Vuo0.js (Deleted) -442 bytes 0 bytes -100.0% 🗑️
assets/app.playground-D61aLCto.js (Deleted) -441 bytes 0 bytes -100.0% 🗑️
assets/index-Cfqbfjxg.js (Deleted) -438 bytes 0 bytes -100.0% 🗑️
assets/eye-off-C0PCBkCa.js (Deleted) -430 bytes 0 bytes -100.0% 🗑️
assets/app.digest-DWA5iTn4.js (Deleted) -429 bytes 0 bytes -100.0% 🗑️
assets/app.miner-DHdy1NGS.js (Deleted) -421 bytes 0 bytes -100.0% 🗑️
assets/key-round-ButQF2e0.js (Deleted) -355 bytes 0 bytes -100.0% 🗑️
assets/bot-DsFVuHWq.js (Deleted) -328 bytes 0 bytes -100.0% 🗑️
assets/trash-2-DXuekRRM.js (Deleted) -328 bytes 0 bytes -100.0% 🗑️
assets/save-oYcujrpP.js (Deleted) -327 bytes 0 bytes -100.0% 🗑️
assets/git-pull-request-arrow-DL-8o5df.js (Deleted) -321 bytes 0 bytes -100.0% 🗑️
assets/shield-check-D1LdsP0r.js (Deleted) -320 bytes 0 bytes -100.0% 🗑️
assets/wrench-f0CW0aQ5.js (Deleted) -303 bytes 0 bytes -100.0% 🗑️
assets/bell-5pdQJ4rv.js (Deleted) -290 bytes 0 bytes -100.0% 🗑️
assets/list-checks-DXmvp9J6.js (Deleted) -279 bytes 0 bytes -100.0% 🗑️
assets/shield-DWiWEOxy.js (Deleted) -272 bytes 0 bytes -100.0% 🗑️
assets/workflow-Dtpzkyrm.js (Deleted) -265 bytes 0 bytes -100.0% 🗑️
assets/chart-column-Dn5DHnZ-.js (Deleted) -251 bytes 0 bytes -100.0% 🗑️
assets/compass-BLGxFelT.js (Deleted) -251 bytes 0 bytes -100.0% 🗑️
assets/skeleton-7lH78Tcw.js (Deleted) -241 bytes 0 bytes -100.0% 🗑️
assets/history-D9ATH1l5.js (Deleted) -237 bytes 0 bytes -100.0% 🗑️
assets/activity-C_w-PDkM.js (Deleted) -234 bytes 0 bytes -100.0% 🗑️
assets/message-square-BbNSubu7.js (Deleted) -233 bytes 0 bytes -100.0% 🗑️
assets/download-CgwOJVsm.js (Deleted) -232 bytes 0 bytes -100.0% 🗑️
assets/chevron-right-CQzyhD57.js (Deleted) -207 bytes 0 bytes -100.0% 🗑️
assets/lock-CW6ajocU.js (Deleted) -206 bytes 0 bytes -100.0% 🗑️
assets/rotate-cw-fpUkB3tz.js (Deleted) -201 bytes 0 bytes -100.0% 🗑️
assets/play-CUNulzPw.js (Deleted) -190 bytes 0 bytes -100.0% 🗑️
assets/circle-check-D1jC8GsB.js (Deleted) -178 bytes 0 bytes -100.0% 🗑️
assets/search-D4bbigVs.js (Deleted) -174 bytes 0 bytes -100.0% 🗑️
assets/circle-C1UHVYQj.js (Deleted) -130 bytes 0 bytes -100.0% 🗑️

@JSONbored
JSONbored merged commit cd78eac into main Jul 15, 2026
19 checks passed
@JSONbored
JSONbored deleted the fix/config-duplicate-winner-override branch July 15, 2026 06:57
@loopover-orb loopover-orb Bot added the gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier. label Jul 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant