feat(github)!: rename the @gittensory bot mention command to @loopover - #5715
Merged
Conversation
38 tasks
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
loopover-ui | 8687062 | Commit Preview URL Branch Preview URL |
Jul 14 2026, 07:16 AM |
❌ 7 Tests Failed:
View the full list of 7 ❄️ flaky test(s)
To view more test analytics, go to the Test Analytics Dashboard |
Contributor
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Phase 2 of the gittensory -> loopover rebrand epic (#5705). Full cutover, no dual-recognition: the @gittensory mention trigger, help text, and every generated PR-comment/API string mentioning "Gittensory" by name across the dispatch stack now say "@Loopover"/"LoopOver". - src/github/commands.ts's dispatch regex + entire command catalog, src/queue/processors.ts, src/api/routes.ts, and 20 other src/ files with live dispatch logic or generated public-facing text. - A duplicate sanitizePublicComment() implementation in packages/gittensory-engine/src/github/sanitize-public-comment.ts had its own independent copy of the same "@gittensory "-prefix safelist check -- fixed in place; the two implementations should eventually be consolidated into one (follow-up, not done here). - scripts/gen-command-reference.mjs and scripts/check-docs-drift.mjs had their own hardcoded "@gittensory <id>" templates, regenerated apps/gittensory-ui/src/lib/command-reference.ts accordingly. - 17 apps/gittensory-ui doc/site pages with their own @gittensory command examples (docs.beta-onboarding, docs.maintainer-workflow, command-palette, etc.) -- these needed fixing for command-syntax accuracy, distinct from general product-name prose (deferred to a later phase). - .loopover.yml.example + config/examples/*.yml comments. - Renamed 6 config-example files whose names still said "gittensory": config/examples/{gittensory.full,gittensory.minimal,global.gittensory, repo-override.gittensory,shared.gittensory}.yml and root .gittensory.minimal.yml, plus every file referencing them by name. - REGRESSION FIX caught mid-sweep: a blind rename in test/unit/queue-5.test.ts and src/github/app.ts had accidentally renamed references to the DELIBERATELY-preserved legacy check-run names ("Gittensory Gate" / "Gittensory Orb Review Agent", src/review/check-names.ts's GITTENSORY_LEGACY_* constants) into a nonsense "LoopOver Gate" string that collided with the real current check-run name -- reverted those specific legacy-detection references back to their correct historical values; check-names.ts itself and its own dedicated test were never touched. Explicitly NOT in scope here (tracked separately in #5705): the MCP server's own "gittensory"-branded identity/96 tool names (Phase 4), directory names (Phase 5), internal code identifiers like parseGittensoryMentionCommand (Phase 6), and general bare-prose "Gittensory" mentions scattered across ~40 additional src/ files that don't affect the mention command itself (found during this sweep but out of scope for this PR -- will need its own phase). BREAKING CHANGE: the bot no longer recognizes @gittensory as a command trigger anywhere -- only @Loopover works. Any saved PR-comment template, bookmark, or muscle-memory referencing @gittensory <command> must be updated to @Loopover <command>. Refs #5705
…ntion-command - worker-runtime.test.ts still expected the pre-rebrand OpenAPI title "Gittensory API"; the source already emits "LoopOver API". - miner-attempt-runner.test.ts still stubbed the pre-rebrand env var GITTENSORY_MINER_GOVERNOR_STATE_DB; governor-state.js now reads LOOPOVER_MINER_GOVERNOR_STATE_DB, so the stub silently no-op'd and the "production path" test fell through to the real default governor-state store instead of an isolated tmpdir, both failing the assertion and writing real rows to disk.
JSONbored
force-pushed
the
rebrand-mention-command
branch
from
July 14, 2026 07:14
973b7be to
8687062
Compare
JSONbored
added a commit
that referenced
this pull request
Jul 14, 2026
…2 chars PR #5715's literal find-replace shortened the JSX text content without re-wrapping the surrounding {" "} whitespace-preservation tokens, leaving prettier-incompatible line breaks in 3 files. Auto-fixed via eslint --fix (pure whitespace/wrapping, no content change).
JSONbored
added a commit
that referenced
this pull request
Jul 14, 2026
…gine + regen openapi.json (#5718) * fix(github): finish @gittensory -> @Loopover cutover in gittensory-engine JSDoc + regen openapi.json PR #5715 renamed the mention command's dispatch regex but missed the packages/gittensory-engine package tree (a separate source root from top-level src/), leaving several @gittensory command-syntax examples in JSDoc comments that feed the generated OpenAPI schema descriptions. Also regenerates apps/gittensory-ui/public/openapi.json, which was stale (still had the pre-rebrand "Gittensory API" title) and failing the ui:openapi:check drift gate. * fix(ui): reflow JSX text after @gittensory -> @Loopover shortened by 2 chars PR #5715's literal find-replace shortened the JSX text content without re-wrapping the surrounding {" "} whitespace-preservation tokens, leaving prettier-incompatible line breaks in 3 files. Auto-fixed via eslint --fix (pure whitespace/wrapping, no content change).
5 tasks
JSONbored
added a commit
that referenced
this pull request
Jul 14, 2026
Three independent, pre-existing gate breaks, none introduced by this branch -- found while chasing why release-please's PRs (#5710-5713) looked flaky under local parallel test runs, and confirmed to reproduce identically on a clean origin/main checkout: - test/unit/agent-sdk-driver.test.ts, ai-summaries.test.ts, upstream-ruleset.test.ts: each does real, non-trivial work (git subprocess round-trips, a 42-entry forbidden-word sweep, 29 sequential D1-backed scenarios) that reliably exceeds vitest's 15s default under load. Widened each to an explicit, realistic timeout instead of leaving them to flake. - test/unit/selfhost-grafana-dashboard.test.ts: 5f187c2 (#5716) fixed a real production bug -- Grafana's ${var:sqlstring} doesn't sql-quote a value that starts with $__, so the old $__all "All repos" sentinel leaked through unescaped and SQLite misparsed it as its own bind parameter, silently zeroing every "All"-filtered panel. That commit updated the dashboard JSON and two sibling test files but missed this one. - apps/gittensory-ui/public/openapi.json + 3 route/component .tsx files: 40e6cdf (#5715, the @gittensory -> @Loopover bot-mention rename) changed copy text but never regenerated the OpenAPI spec or ran prettier on the reflowed JSX text nodes, so ui:openapi:check and ui:lint both fail on main. Regenerated the spec (npm run ui:openapi) and ran eslint --fix on the affected files; both are mechanical, zero-semantic-diff outputs.
4 tasks
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
Phase 2 of #5705 (the gittensory -> loopover rebrand epic). Full cutover, no dual-recognition per explicit maintainer decision -- the
@gittensorymention trigger, help text, and every generated PR-comment/API string mentioning "Gittensory" by name across the dispatch stack now say@loopover/"LoopOver".src/github/commands.ts's dispatch regex + entire command catalog,src/queue/processors.ts,src/api/routes.ts, and 20 othersrc/files with live dispatch logic or generated public-facing text.sanitizePublicComment()has an independent copy inpackages/gittensory-engine/src/github/sanitize-public-comment.tswith its own"@gittensory "-prefix safelist check -- fixed in place. The two implementations should eventually be consolidated (follow-up, not done here -- flagging rather than scope-creeping this PR).scripts/gen-command-reference.mjsandscripts/check-docs-drift.mjshad their own hardcoded"@gittensory <id>"templates; regeneratedapps/gittensory-ui/src/lib/command-reference.tsaccordingly.apps/gittensory-uidoc/site pages with their own@gittensorycommand examples (needed fixing for command-syntax accuracy -- distinct from general product-name prose across the UI, which is a much larger, separate surface deferred to a later phase)..loopover.yml.example+config/examples/*.ymlcomments, and renamed 6 config-example files whose names still said "gittensory" (config/examples/{gittensory.full,gittensory.minimal,global.gittensory,repo-override.gittensory,shared.gittensory}.yml, root.gittensory.minimal.yml) plus every file referencing them by name.Regression caught and fixed mid-sweep: a blind rename in
test/unit/queue-5.test.tsandsrc/github/app.tshad accidentally renamed references to the deliberately-preserved legacy check-run names ("Gittensory Gate"/"Gittensory Orb Review Agent",src/review/check-names.ts'sGITTENSORY_LEGACY_*constants) into a nonsense"LoopOver Gate"string that collided with the real current check-run name and broke the upgrade-migration superseder logic. Reverted those specific legacy-detection references back to their correct historical values --check-names.tsitself and its own dedicated test (test/unit/check-names.test.ts) were never touched.Explicitly NOT in scope here (tracked separately in #5705): the MCP server's own "gittensory"-branded identity + 96 tool names (Phase 4), directory names (Phase 5), internal code identifiers like
parseGittensoryMentionCommand(Phase 6), and general bare-prose "Gittensory" mentions scattered across ~40 additionalsrc/files that don't affect the mention command itself (found during this sweep, genuinely out of scope for this PR -- will need its own phase; #5705 will be updated to reflect the larger-than-originally-scoped surface).Breaking change
The bot no longer recognizes
@gittensoryas a command trigger anywhere -- only@loopoverworks. Any saved PR-comment template, bookmark, or muscle-memory referencing@gittensory <command>must be updated to@loopover <command>.Test plan
npx tsc --noEmit --incremental falsecleannpm run docs:drift-checkcleannpm run command-referenceregenerated + verifiednpm run test:coverage(unsharded, post-rebase): 832/832 test files, 16179/16179 tests pass, exit 0test/unit/check-names.test.ts,test/unit/queue-5.test.ts's gate-override-live-head regression) after reverting the accidental legacy-name renameRefs #5705