Skip to content

refactor(packages): rename all npm workspace packages to the @loopover org - #5601

Merged
JSONbored merged 1 commit into
mainfrom
loopover/npm-org-rename
Jul 13, 2026
Merged

refactor(packages): rename all npm workspace packages to the @loopover org#5601
JSONbored merged 1 commit into
mainfrom
loopover/npm-org-rename

Conversation

@JSONbored

Copy link
Copy Markdown
Owner

Summary

  • Advances Rename npm workspace packages #4769. Closes Rename the missing 6th npm workspace package (gittensory-ui-kit) and the standalone review-enrichment service #5328. Renames all 7 workspace/standalone packages from @jsonbored/gittensory-* to their new @loopover identities, per the exact target scope established in the closing comment on the prior (wrong-scope) attempt at feat(packages): rename npm workspace packages to @jsonbored/loopover-* #5391:
    • @jsonbored/gittensory-engine@loopover/engine
    • @jsonbored/gittensory-mcp@loopover/mcp
    • @jsonbored/gittensory-miner@loopover/miner
    • @jsonbored/gittensory-ui-kit@loopover/ui-kit
    • @jsonbored/gittensory-ui@loopover/ui (private, no npm implications)
    • @jsonbored/gittensory-miner-ui@loopover/ui-miner (private, no npm implications)
    • gittensory-review-enrichment@loopover/rees (private, no npm implications)
  • Only engine and mcp are actually live on npm today; miner, ui-kit, and rees have never been published. Updates every internal cross-reference: package.json name/dependency fields, real source imports (including packages/gittensory-miner/lib/*.js's ~30 hand-written, checked-in JS files with no build step), release-please-config.json, and the two existing publish workflows (npm-publish.yml, publish-engine.yml).
  • Deliberately unchanged, matching the established precedent from the prior attempt's own accepted scope split: directory paths (stay packages/gittensory-*), CLI bin command names (stay gittensory-mcp, gittensory-miner, gittensory-miner-mcp), config filenames (.gittensory-miner.yml), and the review-enrichment/ directory itself.

Non-obvious fixes beyond the mechanical scope-string swap

Several real runtime/CI-facing references used the old scope in forms a plain literal-string search doesn't catch, found by exhaustively re-auditing every original reference after the first pass:

  • packages/gittensory-mcp/bin/gittensory-mcp.js's own npm-registry update-check used a percent-encoded literal (@jsonbored%2fgittensory-mcp, not @jsonbored/gittensory-mcp) — this is the live, published CLI's actual version-check logic.
  • apps/gittensory-ui/src/lib/mcp-package.ts's MCP_PACKAGE_ENCODED_NAME constant had the same percent-encoded staleness — this is the exact gap PR feat(packages): rename npm workspace packages to @jsonbored/loopover-* #5391's own review comment flagged as a blocker last time, now fixed for real.
  • scripts/check-ui-mcp-version-copy.mjs had a third percent-encoded registry URL plus three more @jsonbored\/gittensory-mcp regex literals (escaped slashes, invisible to a plain-string grep) that would have silently disabled this CI-gating doc-staleness check going forward.
  • test/unit/support/{mcp,miner}-cli-harness.ts's fixture HTTP servers matched incoming registry requests via a bare "gittensory-mcp/latest" / "gittensory-miner/latest" substring (no @jsonbored/ prefix, so never touched by the scope rename) — fixed to match the new loopover%2Fmcp / loopover%2Fminer encoded path instead.
  • test/unit/check-engine-parity-script.test.ts built its fixture node_modules path via join(root, "node_modules", "@jsonbored", "gittensory-engine") — three separate join() arguments, not a contiguous string, so also invisible to a literal-string search.

Explicitly out of scope for this PR

  • Setting up new CI publish automation for miner/ui-kit/rees (they've never been published; this is new capability, not a rename — kept as a separate follow-up to keep this already-large PR to just the rename itself).
  • The actual npm-side work: bootstrap-publishing each package once under its new name and configuring npmjs.com's Trusted Publisher per package. Neither is possible from a PR — both require an authenticated npm session and the npmjs.com web UI.
  • Deprecating the old @jsonbored/gittensory-mcp and @jsonbored/gittensory-engine npm listings (npm-side action, not a code change).

Test plan

  • Full local gate (npm run test:ci + npm audit --audit-level=moderate) green, including after a rebase that surfaced and required manually resolving a real logic conflict in portfolio-queue-manager.js (concurrent #5563 apiBaseUrl work landed on main mid-flight).
  • Exhaustive re-sweep for percent-encoded, regex-escaped, and split-string old-scope references beyond the initial literal-string pass — found and fixed 6 additional real occurrences.
  • Confirmed zero unintended collateral changes to the unrelated @jsonbored/gittensory-extension / @jsonbored/gittensory-miner-extension browser-extension packages (a real prefix-collision bug from the ordered sed pass was caught and reverted during development).

…org

Advances #4769. Closes #5328. Renames all 7 workspace/standalone
packages from @jsonbored/gittensory-* to their new @Loopover
identities, established in the closing comment on the prior (wrong-
scope) attempt at #5391:

- @jsonbored/gittensory-engine    -> @loopover/engine
- @jsonbored/gittensory-mcp       -> @loopover/mcp
- @jsonbored/gittensory-miner     -> @loopover/miner
- @jsonbored/gittensory-ui-kit    -> @loopover/ui-kit
- @jsonbored/gittensory-ui        -> @loopover/ui        (private, no npm implications)
- @jsonbored/gittensory-miner-ui  -> @loopover/ui-miner  (private, no npm implications)
- gittensory-review-enrichment    -> @loopover/rees      (private, no npm implications)

Only engine and mcp are actually live on npm today; miner, ui-kit,
and rees have never been published. Updates every internal
cross-reference: package.json name/dependency fields, real source
imports (including packages/gittensory-miner/lib/*.js's ~30
hand-written, checked-in JS files with no build step), the
release-please config, and the two existing publish workflows
(npm-publish.yml, publish-engine.yml).

Deliberately unchanged, matching the established precedent from the
prior attempt's own accepted scope split: directory paths (stay
packages/gittensory-*), CLI bin command names (stay gittensory-mcp,
gittensory-miner, gittensory-miner-mcp), config filenames
(.gittensory-miner.yml), and the review-enrichment/ directory itself.
Those are tracked by separate issues (#4771 repo rename, #4776-class
artifact renames) or not renamed at all by design.

Several real runtime/CI-facing references used the old scope in forms
a literal-string search doesn't catch, found by exhaustively
re-auditing every original reference after the first pass:

- packages/gittensory-mcp/bin/gittensory-mcp.js's own npm-registry
  update-check used a PERCENT-ENCODED literal
  (`@jsonbored%2fgittensory-mcp`, not `@jsonbored/gittensory-mcp`) --
  this is the live, published CLI's actual version-check logic.
- apps/gittensory-ui/src/lib/mcp-package.ts's MCP_PACKAGE_ENCODED_NAME
  constant had the same percent-encoded staleness -- this is the
  exact gap PR #5391's own review comment flagged as a blocker last
  time, now fixed for real.
- scripts/check-ui-mcp-version-copy.mjs had a THIRD percent-encoded
  registry URL plus three more `@jsonbored\/gittensory-mcp` regex
  literals (escaped slashes, invisible to a plain-string grep) that
  silently would have stopped this CI-gating doc-staleness check from
  ever firing again.
- test/unit/support/{mcp,miner}-cli-harness.ts's fixture HTTP servers
  matched incoming registry requests via a bare `"gittensory-mcp/latest"`
  / `"gittensory-miner/latest"` substring (no `@jsonbored/` prefix, so
  never touched by the scope rename) -- fixed to match the new
  `loopover%2Fmcp` / `loopover%2Fminer` encoded path instead.
- test/unit/check-engine-parity-script.test.ts built its fixture
  node_modules path via `join(root, "node_modules", "@JSONbored",
  "gittensory-engine")` -- three separate join() arguments, not a
  contiguous string, so also invisible to a literal-string search.

- Setting up NEW CI publish automation for miner/ui-kit/rees (they've
  never been published; this is new capability, not a rename -- kept
  as a separate follow-up to keep this already-large PR to just the
  rename itself).
- The actual npm-side work: bootstrap-publishing each package once
  under its new name and configuring npmjs.com's Trusted Publisher
  per package. Neither is possible from a PR -- both require an
  authenticated npm session and the npmjs.com web UI.
- Deprecating the old @jsonbored/gittensory-mcp and
  @jsonbored/gittensory-engine npm listings (npm-side action, not a
  code change).

- [x] Full local gate (`npm run test:ci` + `npm audit --audit-level=moderate`) green.
- [x] Exhaustive re-sweep for percent-encoded, regex-escaped, and
      split-string old-scope references beyond the initial literal-string
      pass -- found and fixed 6 additional real occurrences.
- [x] Confirmed zero unintended collateral changes to the unrelated
      @jsonbored/gittensory-extension / @jsonbored/gittensory-miner-extension
      browser-extension packages (a real prefix-collision bug caught and
      reverted during development).
@JSONbored JSONbored self-assigned this Jul 13, 2026
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
loopover-ui b7358b0 Commit Preview URL

Branch Preview URL
Jul 13 2026, 08:27 AM

@superagent-security

Copy link
Copy Markdown
Contributor

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

@codecov

codecov Bot commented Jul 13, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.02%. Comparing base (a7f2063) to head (b7358b0).
⚠️ Report is 2 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #5601   +/-   ##
=======================================
  Coverage   95.02%   95.02%           
=======================================
  Files         573      573           
  Lines       45564    45564           
  Branches    14661    14661           
=======================================
  Hits        43296    43296           
  Misses       1517     1517           
  Partials      751      751           
Flag Coverage Δ
shard-1 44.05% <75.00%> (ø)
shard-2 35.72% <50.00%> (ø)
shard-3 32.14% <75.00%> (ø)
shard-4 32.84% <75.00%> (ø)
shard-5 31.84% <75.00%> (ø)
shard-6 44.18% <75.00%> (ø)

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

Files with missing lines Coverage Δ
packages/gittensory-engine/src/focus-manifest.ts 99.19% <ø> (ø)
packages/gittensory-engine/src/miner/lint-guard.ts 100.00% <ø> (ø)
packages/gittensory-engine/src/miner/repo-map.ts 100.00% <ø> (ø)
...ages/gittensory-engine/src/opportunity-metadata.ts 100.00% <ø> (ø)
packages/gittensory-engine/src/reward-risk.ts 100.00% <ø> (ø)
...ges/gittensory-engine/src/signals/path-matchers.ts 100.00% <ø> (ø)
...ges/gittensory-engine/src/signals/test-evidence.ts 100.00% <ø> (ø)
packages/gittensory-engine/src/version.ts 100.00% <ø> (ø)
packages/gittensory-miner/lib/ams-policy.js 93.33% <ø> (ø)
packages/gittensory-miner/lib/attempt-cli.js 96.93% <ø> (ø)
... and 43 more
🚀 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 13, 2026
@JSONbored
JSONbored merged commit 3de6e1b into main Jul 13, 2026
20 checks passed
@loopover-orb

loopover-orb Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Important

🟪🟪🟪🟪🟪🟪🟪🟪🟪🟪🟪🟪

🔍 Gittensory is reviewing…

AI analysis is in progress. This comment will update when the review is complete.

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

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.

Development

Successfully merging this pull request may close these issues.

Rename the missing 6th npm workspace package (gittensory-ui-kit) and the standalone review-enrichment service

1 participant