Skip to content

feat(config)!: Phase 6 - full-cutover rename internal GITTENSORY_* constants to LOOPOVER_* - #5750

Merged
JSONbored merged 2 commits into
mainfrom
rebrand-phase6-identifiers
Jul 14, 2026
Merged

feat(config)!: Phase 6 - full-cutover rename internal GITTENSORY_* constants to LOOPOVER_*#5750
JSONbored merged 2 commits into
mainfrom
rebrand-phase6-identifiers

Conversation

@JSONbored

Copy link
Copy Markdown
Owner

Summary

Phase 6 of the gittensory -> loopover rebrand epic (#5705): renames every GITTENSORY_*-prefixed constant and env var identifier, plus the handful of remaining camelCase identifiers Phase 4's broader sweep hadn't already absorbed.

  • ~58 GITTENSORY_* env var constants renamed to LOOPOVER_* across source, wrangler.jsonc, .env.example/.env.selfhost.example, GitHub Actions workflows, deployment shell scripts (a file extension the earlier sweeps never covered), and migration-file comments. GITTENSORY_LEGACY_* (the pre-rename check-run-name constants) and GITTENSORY_EXPERIMENTAL_GITTENSOR's trailing "GITTENSOR" (the Bittensor subnet, not this rebrand's target) deliberately preserved.
  • Regenerated worker-configuration.d.ts (npm run cf-typegen) and apps/loopover-ui/src/lib/selfhost-env-reference.ts (npm run selfhost:env-reference) rather than hand-editing the generated output.
  • A handful of remaining camelCase identifiers Phase 4's blanket sweep didn't reach: gittensoryFooter, the browser-extension global namespace keys (__gittensoryMinerOpportunityBadge and friends), and DOM dataset property names.

Reverted 15 lines in .env.example/.env.selfhost.example that my own sweep initially over-renamed: # GITTENSORY_X= # no longer read (removed by #4777) lines are deliberate operator-migration breadcrumbs documenting an EARLIER, already-completed retirement (old gittensory_-prefixed vars replaced by loopover_-prefixed ones under #4777) — renaming the "old" side of that breadcrumb to match the "new" side it's contrasted against would have made both lines identical and the comment meaningless.

Advances #5705

BREAKING CHANGE: every GITTENSORY_* environment variable is now LOOPOVER_*. No dual-read/alias, per the epic's full-cutover mandate. Operators must rename these in their .env / secrets before deploying this change.

Test plan

  • npx vitest run — 835 passed | 2 skipped, 0 failed
  • npm run docs:drift-check
  • npm run manifest:drift-check
  • npx tsx scripts/write-ui-openapi.ts --check
  • npm run typecheck (after npm --workspace @loopover/engine run build)
  • npm run cf-typegen / npm run selfhost:env-reference (both regenerated with zero diff, confirming consistency)

…nstants to LOOPOVER_*

Phase 6 of the gittensory -> loopover rebrand epic (#5705): renames every
GITTENSORY_*-prefixed constant and env var identifier, plus the handful of
remaining camelCase identifiers Phase 4's broader sweep hadn't already
absorbed.

- ~58 GITTENSORY_* env var constants renamed to LOOPOVER_* across source,
  wrangler.jsonc, .env.example/.env.selfhost.example, GitHub Actions
  workflows, deployment shell scripts (a file extension the earlier sweeps
  never covered), and migration-file comments. GITTENSORY_LEGACY_* (the
  pre-rename check-run-name constants) and GITTENSORY_EXPERIMENTAL_GITTENSOR's
  trailing "GITTENSOR" (the Bittensor subnet, not this rebrand's target)
  deliberately preserved.
- Regenerated worker-configuration.d.ts (npm run cf-typegen) and
  apps/gittensory-ui/src/lib/selfhost-env-reference.ts (npm run
  selfhost:env-reference) rather than hand-editing the generated output.
- A handful of remaining camelCase identifiers Phase 4's blanket sweep didn't
  reach: gittensoryFooter, the browser-extension global namespace keys
  (__gittensoryMinerOpportunityBadge and friends), and DOM dataset property
  names.

Reverted 15 lines in .env.example/.env.selfhost.example that my own sweep
initially over-renamed: "# GITTENSORY_X= # no longer read (removed by #4777)"
lines are deliberate operator-migration breadcrumbs documenting an EARLIER,
already-completed retirement (old gittensory_-prefixed vars replaced by
loopover_-prefixed ones under #4777) -- renaming the "old" side of that
breadcrumb to match the "new" side it's contrasted against would have made
both lines identical and the comment meaningless.

Advances #5705

BREAKING CHANGE: every GITTENSORY_* environment variable is now LOOPOVER_*.
No dual-read/alias, per the epic's full-cutover mandate. Operators must
rename these in their .env / secrets before deploying this change.
@codecov

codecov Bot commented Jul 14, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.07%. Comparing base (24689e8) to head (d811b22).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #5750      +/-   ##
==========================================
+ Coverage   86.18%   95.07%   +8.88%     
==========================================
  Files         581      581              
  Lines       46181    46181              
  Branches    14811    14811              
==========================================
+ Hits        39802    43905    +4103     
+ Misses       4967     1516    -3451     
+ Partials     1412      760     -652     
Flag Coverage Δ
shard-1 43.96% <56.89%> (?)
shard-2 35.71% <65.51%> (ø)
shard-3 32.27% <34.48%> (ø)
shard-4 33.56% <48.27%> (ø)
shard-5 31.18% <46.55%> (ø)
shard-6 44.64% <56.89%> (ø)

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

Files with missing lines Coverage Δ
...ages/loopover-engine/src/advisory/gate-advisory.ts 100.00% <ø> (ø)
packages/loopover-engine/src/duplicate-winner.ts 100.00% <ø> (ø)
...oopover-engine/src/finding-severity-calibration.ts 2.20% <ø> (ø)
packages/loopover-engine/src/focus-manifest.ts 99.10% <ø> (ø)
...es/loopover-engine/src/gate-verdict-calibration.ts 2.36% <ø> (ø)
packages/loopover-engine/src/miner-goal-spec.ts 100.00% <ø> (ø)
packages/loopover-engine/src/predicted-gate.ts 100.00% <ø> (+5.88%) ⬆️
...er-engine/src/review/advisory-ai-routing-config.ts 100.00% <ø> (ø)
packages/loopover-engine/src/review/cla-check.ts 100.00% <ø> (ø)
...ver-engine/src/review/enrichment-analyzer-names.ts 100.00% <ø> (ø)
... and 91 more

... and 89 files with indirect coverage changes

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@loopover-orb loopover-orb Bot added the gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier. label Jul 14, 2026
@loopover-orb

loopover-orb Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Warning

🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨

⏸️ LoopOver review result - manual review recommended

Review updated: 2026-07-14 11:25:38 UTC

172 files · 1 AI reviewer · 2 blockers · readiness 93/100 · CI green · clean

⏸️ Suggested Action - Manual Review

Review summary
This is Phase 6 of the GITTENSORY_*→LOOPOVER_* rebrand epic (#5705): a mechanical, full-cutover rename of ~58 env var constants across source, wrangler.jsonc, worker-configuration.d.ts (regenerated via cf-typegen), env.d.ts, docker-compose.yml, GitHub Actions workflows, shell scripts, and config examples. Spot-checking the diff shows the rename is applied consistently and in parity across the schema surface (wrangler.jsonc defaults ↔ worker-configuration.d.ts generated types ↔ src/env.d.ts declarations ↔ src/queue/processors.ts and other call sites all read the same new LOOPOVER_* names), and the intentionally-preserved exceptions (GITTENSORY_LEGACY_*, the GITTENSOR subnet suffix, and the #4777 breadcrumb comments) are respected. CI is green across all 172 changed files and this is a low-risk, high-volume identifier rename with no logic changes visible in the sampled hunks.

Nits — 5 non-blocking
  • The external brief flags possible secret-like literals in test/unit/mcp-cli-basics.test.ts:248 and test/unit/mcp-cli-packets.test.ts:174 — worth a quick manual check that these are synthetic test fixtures (e.g. a fake `gts_...` token) and not a real credential, since renamed env-var tests are the likely trigger.
  • Given the sheer file count (172 files), a spot-check of the remaining ~150 files not shown here for stray un-renamed `GITTENSORY_` references (e.g. in docs or less-common scripts) would be worth doing before merge, though the described `docs:drift-check` pass and the deliberate exclusions suggest this was already swept.
  • Since this is an epic-tracked rename (advances Epic: complete the gittensory -> loopover rebrand (full cutover, no dual-support) #5705, described as 'Phase 6'), confirm the PR is linked to that tracking issue in GitHub's UI (not just the description text) so the gate's issue-linkage check resolves it.
  • Consider a follow-up grep-based CI check (if one doesn't already exist) that fails on any remaining `GITTENSORY_` prefix outside the explicitly-preserved exception list, to prevent regression drift in future PRs.
  • Possible secret-shaped assignment in the diff (generic_secret_assignment) — Verify the value is not a real credential.

Concerns raised — review before merging

  • No linked issue detected — If this PR is intended to solve an issue, link it explicitly in the PR body.
  • Maintainer requires a linked issue — Link the relevant issue (for example Closes #123) before opening the PR.
📋 Copy for AI agents — paste into your coding agent
Fix the following blocker(s) from this PR review:

1. No linked issue detected — If this PR is intended to solve an issue, link it explicitly in the PR body.

2. Maintainer requires a linked issue — Link the relevant issue (for example `Closes #123`) before opening the PR.
Signal Result Evidence
Code review ❌ 2 blockers 1 reviewer
Linked issue ⚠️ Missing No linked issue or no-issue rationale found.
Related work ✅ No active overlap found No same-issue or scoped active PR overlap found.
Change scope ✅ 20/20 Low review scope from cached public metadata (no linked issue context).
Validation posture ✅ 25/25 PR body includes validation/test evidence.
Contributor workload ✅ 10/10 Author activity: 45 registered-repo PR(s), 37 merged, 338 issue(s).
Contributor context ✅ Confirmed Gittensor contributor JSONbored; Gittensor profile; 45 PR(s), 338 issue(s).
Gate result ❌ Blocking Repo-configured hard blocker found.
Improvement ✅ Minor risk: clean · value: minor — Code changes are accompanied by test evidence.
Review context
  • Author: JSONbored
  • Role context: owner (maintainer lane)
  • Public audience mode: oss maintainer
  • Lane context: Repository is configured for direct PR review.
  • Public profile languages: not available
  • Official Gittensor activity: 45 PR(s), 338 issue(s).
  • PR-specific overlap: none found.
Contributor next steps
  • Treat this as maintainer-lane context rather than normal contributor-lane activity.
  • Explain no-issue PR.
  • Link the issue being solved, or explicitly explain why this is a no-issue PR.
Signal definitions
  • Related work = same linked issue, overlapping active PRs, or title/path similarity.
  • Change scope = cached public metadata such as size labels, draft state, and review-burden hints.
  • Validation posture = whether the PR provides enough public validation/test evidence for maintainer review.
  • Contributor workload = public contributor activity and cleanup pressure, not a repo-wide quality failure.
  • Contributor context = public GitHub/Gittensor identity context; non-Gittensor status is not a blocker.
[BETA] Chat with Gittensory

Ask Gittensory a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.

  • @gittensory ask &lt;question&gt; answers contribution-quality Q&A with source citations and freshness.
  • @gittensory chat &lt;question&gt; answers in natural prose from cached decision-pack facts via local inference (maintainer/collaborator; read-only).
  • A plain-language @gittensory mention with a real question is routed to the closest matching read-only command automatically -- no exact syntax required.

Full command reference: https://gittensory.aethereal.dev/docs/gittensory-commands

Visual preview
Route Viewport Before (production) After (this PR's preview) Diff
/docs/miner-quickstart desktop before /docs/miner-quickstart after /docs/miner-quickstart
/docs/miner-quickstart mobile before /docs/miner-quickstart (mobile) after /docs/miner-quickstart (mobile)
/docs/self-hosting-backup-scaling desktop before /docs/self-hosting-backup-scaling after /docs/self-hosting-backup-scaling
/docs/self-hosting-backup-scaling mobile before /docs/self-hosting-backup-scaling (mobile) after /docs/self-hosting-backup-scaling (mobile)

Click any thumbnail to open the full-size screenshot. Before = production · After = this PR's preview deploy.

🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed


💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →.

Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.

  • Re-run LoopOver review

@loopover-orb loopover-orb Bot added the manual-review Gittensor contributor context label Jul 14, 2026
… remaining camelCase identifiers

- 95 files: JSDoc/comment references to the config filename still said
  .gittensory.yml throughout src/env.d.ts, src/types.ts, and elsewhere, even
  though the actual file was already renamed to .loopover.yml by an earlier
  (pre-epic) migration. Purely cosmetic to a reader who trusts the code, but
  actively wrong -- pointed at a file that no longer exists.
- Finished 5 camelCase identifiers (gittensoryFooter, gittensoryMcpPackageJson,
  gittensoryMinerOpportunityBadge, gittensoryPings, gittensoryPrContext) that
  an earlier commit in this same phase found but never actually renamed --
  the rename command silently no-op'd (BSD sed's `sed 's/\bfoo\b/bar/'` does
  not support \b word-boundary the way GNU sed/perl do), redone with perl.

Advances #5705
@superagent-security

Copy link
Copy Markdown
Contributor

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

@JSONbored
JSONbored merged commit 12958f4 into main Jul 14, 2026
19 checks passed
@JSONbored
JSONbored deleted the rebrand-phase6-identifiers branch July 14, 2026 11:32
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. manual-review Gittensor contributor context

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant