refactor(packages): rename all npm workspace packages to the @loopover org - #5601
Merged
Conversation
…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).
Deploying with
|
| 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 |
Contributor
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. 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
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
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 |
This was referenced Jul 13, 2026
This was referenced Jul 13, 2026
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
@jsonbored/gittensory-*to their new@loopoveridentities, 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)engineandmcpare actually live on npm today;miner,ui-kit, andreeshave never been published. Updates every internal cross-reference:package.jsonname/dependency fields, real source imports (includingpackages/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).packages/gittensory-*), CLI bin command names (staygittensory-mcp,gittensory-miner,gittensory-miner-mcp), config filenames (.gittensory-miner.yml), and thereview-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'sMCP_PACKAGE_ENCODED_NAMEconstant 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.mjshad a third percent-encoded registry URL plus three more@jsonbored\/gittensory-mcpregex 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 newloopover%2Fmcp/loopover%2Fminerencoded path instead.test/unit/check-engine-parity-script.test.tsbuilt its fixturenode_modulespath viajoin(root, "node_modules", "@jsonbored", "gittensory-engine")— three separatejoin()arguments, not a contiguous string, so also invisible to a literal-string search.Explicitly out of scope for this PR
@jsonbored/gittensory-mcpand@jsonbored/gittensory-enginenpm listings (npm-side action, not a code change).Test plan
npm run test:ci+npm audit --audit-level=moderate) green, including after a rebase that surfaced and required manually resolving a real logic conflict inportfolio-queue-manager.js(concurrent#5563apiBaseUrl work landed onmainmid-flight).@jsonbored/gittensory-extension/@jsonbored/gittensory-miner-extensionbrowser-extension packages (a real prefix-collision bug from the ordered sed pass was caught and reverted during development).