diff --git a/.release-please-manifest.json b/.release-please-manifest.json index acd6f345a9..4b8e01658b 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,6 +1,6 @@ { "packages/loopover-mcp": "1.0.0", - "packages/loopover-engine": "2.0.0", + "packages/loopover-engine": "3.0.0", "packages/loopover-miner": "2.0.0", "packages/loopover-ui-kit": "0.2.0" } diff --git a/apps/loopover-ui/src/routeTree.gen.ts b/apps/loopover-ui/src/routeTree.gen.ts index bb1e884f68..5cf0eca531 100644 --- a/apps/loopover-ui/src/routeTree.gen.ts +++ b/apps/loopover-ui/src/routeTree.gen.ts @@ -51,7 +51,7 @@ import { Route as DocsMaintainerWorkflowRouteImport } from './routes/docs.mainta import { Route as DocsMaintainerSelfHostingRouteImport } from './routes/docs.maintainer-self-hosting' import { Route as DocsMaintainerInstallTrustRouteImport } from './routes/docs.maintainer-install-trust' import { Route as DocsHowReviewsWorkRouteImport } from './routes/docs.how-reviews-work' -import { Route as DocsLoopOverCommandsRouteImport } from './routes/docs.gittensory-commands' +import { Route as DocsGittensoryCommandsRouteImport } from './routes/docs.gittensory-commands' import { Route as DocsGithubAppRouteImport } from './routes/docs.github-app' import { Route as DocsBranchAnalysisRouteImport } from './routes/docs.branch-analysis' import { Route as DocsBetaOnboardingRouteImport } from './routes/docs.beta-onboarding' @@ -294,7 +294,7 @@ const DocsHowReviewsWorkRoute = DocsHowReviewsWorkRouteImport.update({ path: '/how-reviews-work', getParentRoute: () => DocsRoute, } as any) -const DocsLoopOverCommandsRoute = DocsLoopOverCommandsRouteImport.update({ +const DocsGittensoryCommandsRoute = DocsGittensoryCommandsRouteImport.update({ id: '/gittensory-commands', path: '/gittensory-commands', getParentRoute: () => DocsRoute, @@ -424,7 +424,7 @@ export interface FileRoutesByFullPath { '/docs/beta-onboarding': typeof DocsBetaOnboardingRoute '/docs/branch-analysis': typeof DocsBranchAnalysisRoute '/docs/github-app': typeof DocsGithubAppRoute - '/docs/gittensory-commands': typeof DocsLoopOverCommandsRoute + '/docs/gittensory-commands': typeof DocsGittensoryCommandsRoute '/docs/how-reviews-work': typeof DocsHowReviewsWorkRoute '/docs/maintainer-install-trust': typeof DocsMaintainerInstallTrustRoute '/docs/maintainer-self-hosting': typeof DocsMaintainerSelfHostingRoute @@ -485,7 +485,7 @@ export interface FileRoutesByTo { '/docs/beta-onboarding': typeof DocsBetaOnboardingRoute '/docs/branch-analysis': typeof DocsBranchAnalysisRoute '/docs/github-app': typeof DocsGithubAppRoute - '/docs/gittensory-commands': typeof DocsLoopOverCommandsRoute + '/docs/gittensory-commands': typeof DocsGittensoryCommandsRoute '/docs/how-reviews-work': typeof DocsHowReviewsWorkRoute '/docs/maintainer-install-trust': typeof DocsMaintainerInstallTrustRoute '/docs/maintainer-self-hosting': typeof DocsMaintainerSelfHostingRoute @@ -550,7 +550,7 @@ export interface FileRoutesById { '/docs/beta-onboarding': typeof DocsBetaOnboardingRoute '/docs/branch-analysis': typeof DocsBranchAnalysisRoute '/docs/github-app': typeof DocsGithubAppRoute - '/docs/gittensory-commands': typeof DocsLoopOverCommandsRoute + '/docs/gittensory-commands': typeof DocsGittensoryCommandsRoute '/docs/how-reviews-work': typeof DocsHowReviewsWorkRoute '/docs/maintainer-install-trust': typeof DocsMaintainerInstallTrustRoute '/docs/maintainer-self-hosting': typeof DocsMaintainerSelfHostingRoute @@ -1091,7 +1091,7 @@ declare module '@tanstack/react-router' { id: '/docs/gittensory-commands' path: '/gittensory-commands' fullPath: '/docs/gittensory-commands' - preLoaderRoute: typeof DocsLoopOverCommandsRouteImport + preLoaderRoute: typeof DocsGittensoryCommandsRouteImport parentRoute: typeof DocsRoute } '/docs/github-app': { @@ -1283,7 +1283,7 @@ interface DocsRouteChildren { DocsBetaOnboardingRoute: typeof DocsBetaOnboardingRoute DocsBranchAnalysisRoute: typeof DocsBranchAnalysisRoute DocsGithubAppRoute: typeof DocsGithubAppRoute - DocsLoopOverCommandsRoute: typeof DocsLoopOverCommandsRoute + DocsGittensoryCommandsRoute: typeof DocsGittensoryCommandsRoute DocsHowReviewsWorkRoute: typeof DocsHowReviewsWorkRoute DocsMaintainerInstallTrustRoute: typeof DocsMaintainerInstallTrustRoute DocsMaintainerSelfHostingRoute: typeof DocsMaintainerSelfHostingRoute @@ -1321,7 +1321,7 @@ const DocsRouteChildren: DocsRouteChildren = { DocsBetaOnboardingRoute: DocsBetaOnboardingRoute, DocsBranchAnalysisRoute: DocsBranchAnalysisRoute, DocsGithubAppRoute: DocsGithubAppRoute, - DocsLoopOverCommandsRoute: DocsLoopOverCommandsRoute, + DocsGittensoryCommandsRoute: DocsGittensoryCommandsRoute, DocsHowReviewsWorkRoute: DocsHowReviewsWorkRoute, DocsMaintainerInstallTrustRoute: DocsMaintainerInstallTrustRoute, DocsMaintainerSelfHostingRoute: DocsMaintainerSelfHostingRoute, diff --git a/package-lock.json b/package-lock.json index a3099fe2da..2d3b47bd2d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3106,18 +3106,14 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@loopover/extension": { - "resolved": "apps/loopover-extension", - "link": true - }, - "node_modules/@loopover/miner-extension": { - "resolved": "apps/loopover-miner-extension", - "link": true - }, "node_modules/@loopover/engine": { "resolved": "packages/loopover-engine", "link": true }, + "node_modules/@loopover/extension": { + "resolved": "apps/loopover-extension", + "link": true + }, "node_modules/@loopover/mcp": { "resolved": "packages/loopover-mcp", "link": true @@ -3126,6 +3122,10 @@ "resolved": "packages/loopover-miner", "link": true }, + "node_modules/@loopover/miner-extension": { + "resolved": "apps/loopover-miner-extension", + "link": true + }, "node_modules/@loopover/ui": { "resolved": "apps/loopover-ui", "link": true @@ -15851,7 +15851,7 @@ }, "packages/loopover-engine": { "name": "@loopover/engine", - "version": "2.0.0", + "version": "3.0.0", "license": "AGPL-3.0-only", "dependencies": { "@anthropic-ai/claude-agent-sdk": "^0.3.205", @@ -15920,7 +15920,7 @@ "version": "2.0.0", "license": "AGPL-3.0-only", "dependencies": { - "@loopover/engine": "*", + "@loopover/engine": "^3.0.0", "@modelcontextprotocol/sdk": "1.29.0", "zod": "^4.4.3" }, diff --git a/packages/loopover-engine/CHANGELOG.md b/packages/loopover-engine/CHANGELOG.md index caa3880706..c5ad63ddbe 100644 --- a/packages/loopover-engine/CHANGELOG.md +++ b/packages/loopover-engine/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog +## [3.0.0](https://github.com/JSONbored/gittensory/compare/engine-v2.0.0...engine-v3.0.0) (2026-07-14) + + +### ⚠ BREAKING CHANGES + +* **build:** every gittensory-prefixed directory under apps/ and packages/ is now loopover-prefixed, and the two extension packages' npm names changed from @jsonbored/gittensory-* to @loopover/*. No dual-path/alias, per the epic's full-cutover mandate. + +### Features + +* **build:** Phase 5 - full-cutover rename all gittensory-* directories to loopover-* ([#5743](https://github.com/JSONbored/gittensory/issues/5743)) ([81e4ac3](https://github.com/JSONbored/gittensory/commit/81e4ac34dfb4dee9c3cadefcc27a515617462da9)) + ## [2.0.0](https://github.com/JSONbored/gittensory/compare/engine-v1.0.0...engine-v2.0.0) (2026-07-14) diff --git a/packages/loopover-engine/package.json b/packages/loopover-engine/package.json index b89542da7d..79582b6eb5 100644 --- a/packages/loopover-engine/package.json +++ b/packages/loopover-engine/package.json @@ -1,6 +1,6 @@ { "name": "@loopover/engine", - "version": "2.0.0", + "version": "3.0.0", "license": "AGPL-3.0-only", "type": "module", "description": "Shared deterministic engine logic for the LoopOver review stack and gittensory-miner.", diff --git a/packages/loopover-miner/docs/env-reference.md b/packages/loopover-miner/docs/env-reference.md index fd0a72a396..3437172098 100644 --- a/packages/loopover-miner/docs/env-reference.md +++ b/packages/loopover-miner/docs/env-reference.md @@ -1,4 +1,4 @@ -# gittensory-miner environment variable reference +# loopover-miner environment variable reference Generated by `npm run miner:env-reference`. Do not edit manually. diff --git a/packages/loopover-miner/expected-engine.version b/packages/loopover-miner/expected-engine.version index 227cea2156..4a36342fca 100644 --- a/packages/loopover-miner/expected-engine.version +++ b/packages/loopover-miner/expected-engine.version @@ -1 +1 @@ -2.0.0 +3.0.0 diff --git a/packages/loopover-miner/package.json b/packages/loopover-miner/package.json index dc631b0fd5..de8e287347 100644 --- a/packages/loopover-miner/package.json +++ b/packages/loopover-miner/package.json @@ -41,7 +41,7 @@ "build": "node --check bin/loopover-miner.js && node --check bin/loopover-miner-mcp.js && node --check lib/ams-policy.js && node --check lib/attempt-cli.js && node --check lib/attempt-input-builder.js && node --check lib/attempt-log.js && node --check lib/attempt-runner.js && node --check lib/attempt-worktree.js && node --check lib/calibration-run.js && node --check lib/calibration-types.js && node --check lib/calibration.js && node --check lib/ci-poller.js && node --check lib/claim-adjudication.js && node --check lib/claim-conflict-resolver.js && node --check lib/claim-ledger-cli.js && node --check lib/claim-ledger-expiry.js && node --check lib/claim-ledger.js && node --check lib/cli.js && node --check lib/coding-agent-construction.js && node --check lib/coding-agent-house-rules.js && node --check lib/coding-task-spec.js && node --check lib/deny-check.js && node --check lib/deny-hook-synthesis.js && node --check lib/deny-hooks.js && node --check lib/deployment-docs-audit.js && node --check lib/discover-cli.js && node --check lib/event-ledger-cli.js && node --check lib/event-ledger.js && node --check lib/execute-local-write.js && node --check lib/feasibility-cli.js && node --check lib/governor-action-mode.js && node --check lib/governor-chokepoint-persisted.js && node --check lib/governor-chokepoint.js && node --check lib/governor-kill-switch.js && node --check lib/governor-ledger-cli.js && node --check lib/governor-ledger.js && node --check lib/governor-metrics-cli.js && node --check lib/governor-open-pr.js && node --check lib/governor-pause-cli.js && node --check lib/governor-run-halt.js && node --check lib/governor-state.js && node --check lib/governor-write-rate-limit.js && node --check lib/harness-submission-trigger.js && node --check lib/init-wizard.js && node --check lib/laptop-init.js && node --check lib/live-issue-snapshot.js && node --check lib/local-store.js && node --check lib/logger.js && node --check lib/loop-cli.js && node --check lib/loop-closure.js && node --check lib/loop-reentry.js && node --check lib/manage-poll.js && node --check lib/manage-status.js && node --check lib/metrics-cli.js && node --check lib/miner-goal-spec.js && node --check lib/opportunity-fanout.js && node --check lib/opportunity-ranker.js && node --check lib/orb-export.js && node --check lib/plan-store-cli.js && node --check lib/plan-store.js && node --check lib/policy-doc-cache.js && node --check lib/policy-verdict-cache.js && node --check lib/portfolio-dashboard.js && node --check lib/portfolio-discovery.js && node --check lib/portfolio-queue-cli.js && node --check lib/portfolio-queue-manager.js && node --check lib/portfolio-queue.js && node --check lib/portfolio-queue-expiry.js && node --check lib/pr-disposition-poller.js && node --check lib/pr-number-parse.js && node --check lib/pr-outcome.js && node --check lib/prediction-ledger.js && node --check lib/pretooluse-hook.js && node --check lib/purge-cli.js && node --check lib/ranked-candidates.js && node --check lib/rejection-signal.js && node --check lib/rejection-state-machine.js && node --check lib/rejection-templates.js && node --check lib/replay-objective-anchor.js && node --check lib/replay-snapshot.js && node --check lib/replay-task-generation.js && node --check lib/repo-clone.js && node --check lib/run-state-cli.js && node --check lib/run-state.js && node --check lib/self-review-context.js && node --check lib/slop-assessment.js && node --check lib/stack-detection.js && node --check lib/status.js && node --check lib/submission-freshness-check.js && node --check lib/update-check.js && node --check lib/version.js && node --check lib/worktree-allocator.js" }, "dependencies": { - "@loopover/engine": "^2.0.0", + "@loopover/engine": "^3.0.0", "@modelcontextprotocol/sdk": "1.29.0", "zod": "^4.4.3" }, diff --git a/test/unit/miner-status.test.ts b/test/unit/miner-status.test.ts index 7a70f1d601..e270e4af1e 100644 --- a/test/unit/miner-status.test.ts +++ b/test/unit/miner-status.test.ts @@ -66,7 +66,7 @@ describe("gittensory-miner status/doctor (#2288)", () => { // A self-hoster asking "what's installed" needs the real resolved semver (matching what doctor's own // engine-version-skew check already shows), not the declared dependency range. expect(status.engine.version).toBe(readInstalledEnginePackageVersion()); - expect(status.engine.version).not.toBe("^2.0.0"); + expect(status.engine.version).not.toBe("^3.0.0"); }); it("buildEngineVersionDisplay prefers a real resolved version when available", () => { @@ -74,7 +74,7 @@ describe("gittensory-miner status/doctor (#2288)", () => { }); it("REGRESSION: buildEngineVersionDisplay falls back to the declared dependency range when real resolution comes up empty", () => { - expect(buildEngineVersionDisplay(() => null)).toBe("^2.0.0"); + expect(buildEngineVersionDisplay(() => null)).toBe("^3.0.0"); }); it("collectStatus prefers LOOPOVER_MINER_VERSION over package.json (#4310)", () => { diff --git a/test/unit/routes-focus-manifest.test.ts b/test/unit/routes-focus-manifest.test.ts index fbbc65e162..fc7fbc90d1 100644 --- a/test/unit/routes-focus-manifest.test.ts +++ b/test/unit/routes-focus-manifest.test.ts @@ -280,7 +280,7 @@ describe("focus-manifest route auth", () => { repoFullName: "JSONbored/gittensory", manifest: { present: true, - wantedPaths: expect.arrayContaining(["apps/gittensory-ui/"]), + wantedPaths: expect.arrayContaining(["apps/loopover-ui/"]), }, policy: { present: true, @@ -328,7 +328,7 @@ describe("focus-manifest route auth", () => { const refreshed = await app.request(`${FOCUS_MANIFEST_PATH}/refresh`, { method: "POST", headers }, env); expect(refreshed.status).toBe(200); await expect(refreshed.json()).resolves.toMatchObject({ - manifest: { present: true, source: "repo_file", wantedPaths: expect.arrayContaining(["apps/gittensory-ui/"]) }, + manifest: { present: true, source: "repo_file", wantedPaths: expect.arrayContaining(["apps/loopover-ui/"]) }, }); });