diff --git a/.gittensory.minimal.yml b/.loopover.minimal.yml similarity index 83% rename from .gittensory.minimal.yml rename to .loopover.minimal.yml index a1cb9b50b3..eecbb0b4d7 100644 --- a/.gittensory.minimal.yml +++ b/.loopover.minimal.yml @@ -1,12 +1,12 @@ # ============================================================================ -# .gittensory.minimal.yml — smallest safe starter config for a new repo +# .loopover.minimal.yml — smallest safe starter config for a new repo # ============================================================================ # # Copy this file to your repo root as `.loopover.yml` and customize from here. # (This filename is not read directly — only `.loopover.yml` / `.github/loopover.yml` are.) -# Also shipped at config/examples/gittensory.minimal.yml for self-host operators. +# Also shipped at config/examples/loopover.minimal.yml for self-host operators. # For every supported field, defaults, and examples see `.loopover.yml.example` or -# config/examples/gittensory.full.yml. +# config/examples/loopover.full.yml. # # Safe by default: # - Gate off (enable explicitly when you are ready) diff --git a/.loopover.yml.example b/.loopover.yml.example index a7c17e742f..e7cf0d59f6 100644 --- a/.loopover.yml.example +++ b/.loopover.yml.example @@ -7,9 +7,9 @@ # config-as-code, versioned alongside the project it governs. # # STARTER TEMPLATES (also shipped under config/examples/ for self-host operators): -# config/examples/gittensory.minimal.yml — smallest safe starter (gate off, observe-only autonomy) -# config/examples/gittensory.full.yml — exhaustive reference (body synced with this file) -# .gittensory.minimal.yml — same minimal starter at repo root +# config/examples/loopover.minimal.yml — smallest safe starter (gate off, observe-only autonomy) +# config/examples/loopover.full.yml — exhaustive reference (body synced with this file) +# .loopover.minimal.yml — same minimal starter at repo root # .loopover.yml.example — this file # # WHERE IT LIVES (first match wins): @@ -405,7 +405,7 @@ gate: # # SELF-HOST ONLY (`review.shared_config`, #2046): when `GITTENSORY_REPO_CONFIG_DIR` is mounted, # place a shared review base at `${GITTENSORY_REPO_CONFIG_DIR}/_shared/.loopover.yml` (see -# `config/examples/shared.gittensory.yml`). Per-repo `review:` keys overlay it field-by-field — +# `config/examples/shared.loopover.yml`). Per-repo `review:` keys overlay it field-by-field — # repo value wins when set, shared fills gaps, defaults stay byte-identical. Absent shared base is # the common case and changes nothing. A malformed shared base warns and is ignored (never blocks a # review). The loader records provenance at runtime in `review.sharedConfigSource` (not a YAML key). @@ -515,7 +515,7 @@ review: # quiet | normal | detailed. Default: null/normal (byte-identical). # comment_verbosity: normal - # How a `@gittensory generate-tests` result is delivered, once features.e2eTests is on (#4197, part of + # How a `@loopover generate-tests` result is delivered, once features.e2eTests is on (#4197, part of # the #4189 E2E-test-generation epic). `comment` (default, null/absent) posts the generated test as a # reply comment only. `commit` pushes it as a real commit onto the PR's own head branch instead -- a # bigger blast radius, so it stays opt-in even with e2eTests already enabled. `commit` mode is ALSO @@ -527,7 +527,7 @@ review: # Opts THIS repo into the manifest_missing_tests AUTO-TRIGGER (#4196, part of the #4189 epic) -- an # unprompted generation run whenever a PR looks like it needs tests. Separate from features.e2eTests, which - # only unlocks the maintainer-initiated paths (the `@gittensory generate-tests` command and the PR-panel + # only unlocks the maintainer-initiated paths (the `@loopover generate-tests` command and the PR-panel # checkbox). Bool | null. Default: null/false -- the auto-trigger never fires, even with e2eTests already # on; a maintainer who wants unprompted generation opts in here explicitly, per repo. # e2e_test_auto_trigger: false @@ -797,7 +797,7 @@ settings: # contributorCapCancelCi: true # Review-request nagging cooldown (#2463, anti-abuse): throttle a non-owner/non-admin/non-bot - # contributor who repeatedly pings @gittensory for review on the same PR/issue. "hold" replies with a + # contributor who repeatedly pings @loopover for review on the same PR/issue. "hold" replies with a # cooldown notice and takes no further action; "close" closes the PR (issues degrade to "hold" until # a dedicated closeIssue primitive lands) with a clear reason. Off by default. # reviewNagPolicy: off # off | hold | close. Default: off. @@ -809,9 +809,9 @@ settings: # Maintainer-mention nag moderation (#label-scoping): GitHub logins ALSO throttled under the SAME # reviewNagPolicy/reviewNagMaxPings/reviewNagCooldownDays/reviewNagLabel cooldown above, on top of the - # bot's own @gittensory handle — e.g. a contributor who keeps tagging a specific maintainer for review - # instead of (or in addition to) pinging @gittensory. Counted independently per mentioned login and - # independently of the @gittensory counter. Only fires for the thread's OWN author, never a third party + # bot's own @loopover handle — e.g. a contributor who keeps tagging a specific maintainer for review + # instead of (or in addition to) pinging @loopover. Counted independently per mentioned login and + # independently of the @loopover counter. Only fires for the thread's OWN author, never a third party # commenting on someone else's thread; owner/admin/automation-bot/autoCloseExemptLogins are always exempt. # List of GitHub logins. Default: [] (no logins watched). # reviewNagMonitoredMentions: [your-maintainer-login] @@ -828,8 +828,8 @@ settings: # accountAgeThresholdDays: null # Positive integer, or null/omitted to disable. Default: null (off). # newAccountLabel: new-account # Label applied to a below-threshold-age account's PR. Default: new-account. - # Per-command @gittensory rate limit (#2560, anti-abuse): generalizes review-nag's cooldown pattern to - # EVERY @gittensory command (help/ask/preflight/blockers/... and the maintainer queue-digest commands), + # Per-command @loopover rate limit (#2560, anti-abuse): generalizes review-nag's cooldown pattern to + # EVERY @loopover command (help/ask/preflight/blockers/... and the maintainer queue-digest commands), # not just review-request pings — independent of review-nag's own thread-author-only scope. "hold" # replies with a cooldown notice and skips the command's own dispatch. Off by default. # commandRateLimitPolicy: off # off | hold. Default: off. @@ -917,11 +917,11 @@ settings: # advisoryAiRouting: # slop: false # gate.slop.aiAdvisory's second opinion. Default: false. # e2eTestGen: false # Auto-generated E2E test scaffolding. Default: false. - # planner: false # The @gittensory plan / issue-planner completion. Default: false. + # planner: false # The @loopover plan / issue-planner completion. Default: false. # summaries: false # AI summaries/rewrite text. Default: false. - # chatQa: false # @gittensory chat grounded LLM Q&A. Ollama-first (never the frontier env.AI unless chatQaFrontierFallback below is also true); needs env.AI_ADVISORY set. Co-requisite: commandRateLimitPolicy: hold (defaults off). Default: false. + # chatQa: false # @loopover chat grounded LLM Q&A. Ollama-first (never the frontier env.AI unless chatQaFrontierFallback below is also true); needs env.AI_ADVISORY set. Co-requisite: commandRateLimitPolicy: hold (defaults off). Default: false. # chatQaFrontierFallback: false # Opt-in only: falls back to the frontier env.AI chain if env.AI_ADVISORY is unconfigured, instead of declining. Meaningless unless chatQa is also true. Default: false. - # intentRouting: false # Closed-set intent classifier for unrecognized @gittensory mentions -> existing Q&A commands only. Ollama-ONLY, same as chatQa (never uses chatQaFrontierFallback). Co-requisite: commandRateLimitPolicy: hold. Default: false. + # intentRouting: false # Closed-set intent classifier for unrecognized @loopover mentions -> existing Q&A commands only. Ollama-ONLY, same as chatQa (never uses chatQaFrontierFallback). Co-requisite: commandRateLimitPolicy: hold. Default: false. # Maintainer AI review tuning (`.loopover.yml` top-level `review:` block). These knobs shape the advisory AI # review prompt and file selection only — gate/slop/secret-scan are unaffected. diff --git a/apps/gittensory-ui/src/components/site/app-panels/maintainer-settings.tsx b/apps/gittensory-ui/src/components/site/app-panels/maintainer-settings.tsx index 1e3e7ee5f8..fd8136dcae 100644 --- a/apps/gittensory-ui/src/components/site/app-panels/maintainer-settings.tsx +++ b/apps/gittensory-ui/src/components/site/app-panels/maintainer-settings.tsx @@ -304,7 +304,7 @@ export function MaintainerSettings({ reviewability }: { reviewability: Array<{ p Repository settings

- Configure exactly what Gittensory enforces and surfaces on this repo — gate modes, + Configure exactly what LoopOver enforces and surfaces on this repo — gate modes, anti-slop, labels, public output, and who can run each command. Changes are audited.

@@ -389,7 +389,7 @@ export function MaintainerSettings({ reviewability }: { reviewability: Array<{ p

Command authorization

- Default roles allowed to run any @gittensory{" "} + Default roles allowed to run any @loopover{" "} command. Per-command overrides (edited via the focus manifest) are shown below.

diff --git a/apps/gittensory-ui/src/components/site/app-panels/playground-panel.tsx b/apps/gittensory-ui/src/components/site/app-panels/playground-panel.tsx index d42b34ae2e..d43449130c 100644 --- a/apps/gittensory-ui/src/components/site/app-panels/playground-panel.tsx +++ b/apps/gittensory-ui/src/components/site/app-panels/playground-panel.tsx @@ -574,7 +574,7 @@ function formatOutputForClipboard(tool: Tool, result: unknown): string { "Thanks for the PR.", "", "This branch links to issue #1204 and passes basic preflight.", - "Maintainers can run `@gittensory blockers` for non-public context.", + "Maintainers can run `@loopover blockers` for non-public context.", ].join("\n"); } const header = `// gittensory · ${tool} · preview`; diff --git a/apps/gittensory-ui/src/components/site/command-palette.tsx b/apps/gittensory-ui/src/components/site/command-palette.tsx index 1dc7dcaabc..4e7f7d7827 100644 --- a/apps/gittensory-ui/src/components/site/command-palette.tsx +++ b/apps/gittensory-ui/src/components/site/command-palette.tsx @@ -24,7 +24,7 @@ const DEFAULT_ITEMS: PaletteItem[] = [ { label: "Repo owner workspace", to: "/app/owner", group: "App" }, { label: "Agent runs", to: "/app/runs", group: "App" }, { label: "Agent playground", to: "/app/playground", group: "App" }, - { label: "@gittensory command simulator", to: "/app/commands", group: "App" }, + { label: "@loopover command simulator", to: "/app/commands", group: "App" }, { label: "Product analytics", to: "/app/analytics", group: "App" }, { label: "Maintainer digest", to: "/app/digest", group: "App" }, { label: "Skipped PR audit", to: "/app/audit", group: "App" }, diff --git a/apps/gittensory-ui/src/lib/command-reference.ts b/apps/gittensory-ui/src/lib/command-reference.ts index 4eed8e63eb..01ec44a5c3 100644 --- a/apps/gittensory-ui/src/lib/command-reference.ts +++ b/apps/gittensory-ui/src/lib/command-reference.ts @@ -3,116 +3,116 @@ export const PUBLIC_COMMAND_ENTRIES = [ { id: "help", - title: "Gittensory command help", - description: "Show public-safe @gittensory command help.", + title: "LoopOver command help", + description: "Show public-safe @loopover command help.", }, { id: "ask", - title: "Gittensory contribution context Q&A", + title: "LoopOver contribution context Q&A", description: "Answer contribution-quality questions from connected cached sources with citations.", }, { id: "chat", - title: "Gittensory grounded chat Q&A", + title: "LoopOver grounded chat Q&A", description: "Answer a question in natural prose from cached decision-pack facts via local Ollama (maintainer/collaborator; read-only).", }, { id: "preflight", - title: "Gittensory preflight", + title: "LoopOver preflight", description: "Summarize public PR hygiene and validation readiness.", }, { id: "blockers", - title: "Gittensory readiness blockers", + title: "LoopOver readiness blockers", description: "Explain public-safe readiness blockers.", }, { id: "duplicate-check", - title: "Gittensory duplicate & WIP check", + title: "LoopOver duplicate & WIP check", description: "Summarize duplicate and in-progress overlap caution.", }, { id: "miner-context", - title: "Gittensory miner context", + title: "LoopOver miner context", description: "Confirm public Gittensor miner context when available.", }, { id: "next-action", - title: "Gittensory next step", + title: "LoopOver next step", description: "Suggest the next public-safe action.", }, { id: "reviewability", - title: "Gittensory PR readiness", + title: "LoopOver PR readiness", description: "Summarize maintainer-friendly PR readiness without private review internals.", }, { id: "repo-fit", - title: "Gittensory repository fit", + title: "LoopOver repository fit", description: "Summarize public-safe repository fit signals.", }, { id: "packet", - title: "Gittensory public packet", + title: "LoopOver public packet", description: "Prepare public-safe PR packet guidance.", }, ] as const; export const PUBLIC_COMMAND_LIST = - "@gittensory help\n@gittensory ask\n@gittensory chat\n@gittensory preflight\n@gittensory blockers\n@gittensory duplicate-check\n@gittensory miner-context\n@gittensory next-action\n@gittensory reviewability\n@gittensory repo-fit\n@gittensory packet"; + "@loopover help\n@loopover ask\n@loopover chat\n@loopover preflight\n@loopover blockers\n@loopover duplicate-check\n@loopover miner-context\n@loopover next-action\n@loopover reviewability\n@loopover repo-fit\n@loopover packet"; export const MAINTAINER_COMMAND_ENTRIES = [ { id: "queue-summary", - title: "Gittensory maintainer queue summary", + title: "LoopOver maintainer queue summary", description: "Post a maintainer-only queue digest from cached GitHub metadata.", }, { id: "confirmed-miners", - title: "Gittensory confirmed-miner PRs", + title: "LoopOver confirmed-miner PRs", description: "List open PRs whose authors are confirmed in the official-miner cache.", }, { id: "review-now", - title: "Gittensory review-now queue", + title: "LoopOver review-now queue", description: "List cached PRs that look ready for maintainer review.", }, { id: "needs-author", - title: "Gittensory needs-author queue", + title: "LoopOver needs-author queue", description: "List cached PRs that need author cleanup before detailed review.", }, { id: "duplicate-clusters", - title: "Gittensory duplicate clusters", + title: "LoopOver duplicate clusters", description: "List duplicate or WIP clusters visible from cached GitHub metadata.", }, { id: "burden-forecast", - title: "Gittensory burden forecast", + title: "LoopOver burden forecast", description: "Project maintainer review load and queue-growth risk from cached metadata.", }, { id: "intake-health", - title: "Gittensory intake health", + title: "LoopOver intake health", description: "Summarize contributor-intake health from cached queue and config signals.", }, { id: "outcome-patterns", - title: "Gittensory outcome patterns", + title: "LoopOver outcome patterns", description: "Summarize what this repo actually merges vs closes from cached PR outcomes.", }, { id: "noise-report", - title: "Gittensory noise report", + title: "LoopOver noise report", description: "Highlight queue noise sources maintainers should triage first.", }, ] as const; export const MAINTAINER_COMMAND_LIST = - "@gittensory queue-summary\n@gittensory confirmed-miners\n@gittensory review-now\n@gittensory needs-author\n@gittensory duplicate-clusters\n@gittensory burden-forecast\n@gittensory intake-health\n@gittensory outcome-patterns\n@gittensory noise-report"; + "@loopover queue-summary\n@loopover confirmed-miners\n@loopover review-now\n@loopover needs-author\n@loopover duplicate-clusters\n@loopover burden-forecast\n@loopover intake-health\n@loopover outcome-patterns\n@loopover noise-report"; export const ACTION_COMMAND_ENTRIES = [ { @@ -125,7 +125,7 @@ export const ACTION_COMMAND_ENTRIES = [ id: "review", title: "Request review", description: - "Request an auto-review run on the current PR head (`@gittensory re-review` is an alias).", + "Request an auto-review run on the current PR head (`@loopover re-review` is an alias).", }, { id: "pause", @@ -165,4 +165,4 @@ export const ACTION_COMMAND_ENTRIES = [ ] as const; export const ACTION_COMMAND_LIST = - "@gittensory gate-override\n@gittensory review\n@gittensory pause\n@gittensory resume\n@gittensory resolve\n@gittensory configuration\n@gittensory explain\n@gittensory generate-tests"; + "@loopover gate-override\n@loopover review\n@loopover pause\n@loopover resume\n@loopover resolve\n@loopover configuration\n@loopover explain\n@loopover generate-tests"; diff --git a/apps/gittensory-ui/src/lib/selfhost-docs-audit.ts b/apps/gittensory-ui/src/lib/selfhost-docs-audit.ts index fe26798995..bf9a44fd1e 100644 --- a/apps/gittensory-ui/src/lib/selfhost-docs-audit.ts +++ b/apps/gittensory-ui/src/lib/selfhost-docs-audit.ts @@ -118,7 +118,7 @@ export const SELFHOST_SOURCE_OF_TRUTH_ROWS: readonly SelfHostSourceOfTruthRow[] }, { topic: "Activation and onboarding paths", - runtimeSources: ["src/server.ts", "config/examples/global.gittensory.yml"], + runtimeSources: ["src/server.ts", "config/examples/global.loopover.yml"], docsPath: "/docs/self-hosting-configuration", driftGuard: "docs-selfhost-activation-paths.test.ts", }, diff --git a/apps/gittensory-ui/src/routes/app.commands.tsx b/apps/gittensory-ui/src/routes/app.commands.tsx index 0356fd4a48..419f302903 100644 --- a/apps/gittensory-ui/src/routes/app.commands.tsx +++ b/apps/gittensory-ui/src/routes/app.commands.tsx @@ -12,7 +12,7 @@ function CommandsRoute() {
diff --git a/apps/gittensory-ui/src/routes/app.index.tsx b/apps/gittensory-ui/src/routes/app.index.tsx index ea6518227a..ce4e5aad63 100644 --- a/apps/gittensory-ui/src/routes/app.index.tsx +++ b/apps/gittensory-ui/src/routes/app.index.tsx @@ -49,7 +49,7 @@ const CARDS = [ { to: "/app/runs", title: "Agent runs", - desc: "Unified feed of MCP, API, and @gittensory runs with evidence and boundary tags.", + desc: "Unified feed of MCP, API, and @loopover runs with evidence and boundary tags.", icon: Activity, roles: ["miner", "maintainer", "owner", "operator"], }, @@ -154,7 +154,7 @@ function AppOverview() { } title={<>Welcome back, {session.login}} - description="Live control-panel metrics from the Gittensory API. Missing backend data renders as empty states instead of demo records." + description="Live control-panel metrics from the LoopOver API. Missing backend data renders as empty states instead of demo records." /> @@ -338,7 +338,7 @@ function QuickActions({ lastRunId, roles }: { lastRunId?: string; roles: AppRole { to: "/app/workbench", search: { tab: "commands" }, - label: "@gittensory commands", + label: "@loopover commands", icon: TerminalSquare, roles: ["maintainer", "owner", "operator"], }, diff --git a/apps/gittensory-ui/src/routes/app.runs.tsx b/apps/gittensory-ui/src/routes/app.runs.tsx index 154e054b3f..0862f4af1c 100644 --- a/apps/gittensory-ui/src/routes/app.runs.tsx +++ b/apps/gittensory-ui/src/routes/app.runs.tsx @@ -230,7 +230,7 @@ function AgentRuns() { Agent runs

- Unified feed of MCP, API, and @gittensory runs. Each entry carries a ruleset snapshot + Unified feed of MCP, API, and @loopover runs. Each entry carries a ruleset snapshot and a public/private boundary.

diff --git a/apps/gittensory-ui/src/routes/app.workbench.tsx b/apps/gittensory-ui/src/routes/app.workbench.tsx index 5c4d438fc0..b66b7a5f22 100644 --- a/apps/gittensory-ui/src/routes/app.workbench.tsx +++ b/apps/gittensory-ui/src/routes/app.workbench.tsx @@ -23,7 +23,7 @@ export const Route = createFileRoute("/app/workbench")({ const LABELS: Record = { miner: "Miner", playground: "Playground", - commands: "@gittensory", + commands: "@loopover", digest: "Digest", }; @@ -50,7 +50,7 @@ function Workbench() {
  • Preview the public surface. Dry-run what would be written to GitHub - without mutating state. Keep Gittensory Context advisory; require{" "} - Gittensory Orb Review Agent only after blocking rules are explicitly + without mutating state. Keep LoopOver Context advisory; require{" "} + LoopOver Orb Review Agent only after blocking rules are explicitly configured. Use maintainer commands. On-demand context in the PR thread — output stays maintainer-scoped when appropriate.
  • diff --git a/apps/gittensory-ui/src/routes/docs.gittensory-commands.tsx b/apps/gittensory-ui/src/routes/docs.gittensory-commands.tsx index 890683f6d7..6044834679 100644 --- a/apps/gittensory-ui/src/routes/docs.gittensory-commands.tsx +++ b/apps/gittensory-ui/src/routes/docs.gittensory-commands.tsx @@ -11,17 +11,17 @@ import { export const Route = createFileRoute("/docs/gittensory-commands")({ head: () => ({ meta: [ - { title: "@gittensory command reference — LoopOver docs" }, + { title: "@loopover command reference — LoopOver docs" }, { name: "description", content: - "Every @gittensory PR and issue comment command: syntax, default authorization roles, and the hard boundary between auto-review and the one-shot gate.", + "Every @loopover PR and issue comment command: syntax, default authorization roles, and the hard boundary between auto-review and the one-shot gate.", }, - { property: "og:title", content: "@gittensory command reference — LoopOver docs" }, + { property: "og:title", content: "@loopover command reference — LoopOver docs" }, { property: "og:description", content: - "Every @gittensory PR and issue comment command: syntax, default authorization roles, and the hard boundary between auto-review and the one-shot gate.", + "Every @loopover PR and issue comment command: syntax, default authorization roles, and the hard boundary between auto-review and the one-shot gate.", }, { property: "og:url", content: "/docs/gittensory-commands" }, ], @@ -82,7 +82,7 @@ function CommandTable({ {entries.map((entry) => ( - @gittensory {entry.id} + @loopover {entry.id} {entry.description} @@ -101,7 +101,7 @@ function GittensoryCommandsReference() { return ( @@ -113,11 +113,11 @@ function GittensoryCommandsReference() {

    Syntax

    - Post a comment on a pull request (or issue thread) mentioning @gittensory{" "} + Post a comment on a pull request (or issue thread) mentioning @loopover{" "} followed by a verb. Trailing free text becomes the command argument where noted (for example{" "} - @gittensory ask what should I fix first?). + @loopover ask what should I fix first?).

    - [argument or reason]`} /> + [argument or reason]`} /> diff --git a/apps/gittensory-ui/src/routes/docs.index.tsx b/apps/gittensory-ui/src/routes/docs.index.tsx index 03f4cdbd79..b2711c2075 100644 --- a/apps/gittensory-ui/src/routes/docs.index.tsx +++ b/apps/gittensory-ui/src/routes/docs.index.tsx @@ -76,7 +76,7 @@ const AUDIENCES: Audience[] = [ { to: "/docs/maintainer-install-trust", label: "Install & trust guide" }, { to: "/docs/github-app", label: "GitHub App configuration" }, { to: "/docs/maintainer-workflow", label: "Maintainer workflow" }, - { to: "/docs/gittensory-commands", label: "@gittensory commands" }, + { to: "/docs/gittensory-commands", label: "@loopover commands" }, { to: "/docs/self-hosting-rees-analyzers", label: "REES analyzers" }, { to: "/docs/upstream-drift", label: "Upstream drift" }, { to: "/docs/ai-summaries", label: "AI summaries policy" }, diff --git a/apps/gittensory-ui/src/routes/docs.maintainer-self-hosting.tsx b/apps/gittensory-ui/src/routes/docs.maintainer-self-hosting.tsx index badd95b885..9d506bc9e5 100644 --- a/apps/gittensory-ui/src/routes/docs.maintainer-self-hosting.tsx +++ b/apps/gittensory-ui/src/routes/docs.maintainer-self-hosting.tsx @@ -224,7 +224,7 @@ function MaintainerSelfHosting() {
  • Mount ./gittensory-config and copy{" "} - config/examples/global.gittensory.yml →{" "} + config/examples/global.loopover.yml →{" "} gittensory-config/.loopover.yml for a centralized private default (per-repo files deep-merge on top).
  • @@ -245,7 +245,7 @@ function MaintainerSelfHosting() { { title: "Single-command repo onboarding", description: - "Today: edit .env allowlist, copy YAML templates, sign into the panel, click activate. Proposed: one CLI/API command that adds owner/repo to LOOPOVER_REVIEW_REPOS, seeds gittensory-config/owner__repo/.loopover.yml from global.gittensory.yml, and POSTs activation — idempotent, dry-run aware.", + "Today: edit .env allowlist, copy YAML templates, sign into the panel, click activate. Proposed: one CLI/API command that adds owner/repo to LOOPOVER_REVIEW_REPOS, seeds gittensory-config/owner__repo/.loopover.yml from global.loopover.yml, and POSTs activation — idempotent, dry-run aware.", }, { title: "Centralized private default only", diff --git a/apps/gittensory-ui/src/routes/docs.maintainer-workflow.tsx b/apps/gittensory-ui/src/routes/docs.maintainer-workflow.tsx index 06a12973b4..1d7fe44b26 100644 --- a/apps/gittensory-ui/src/routes/docs.maintainer-workflow.tsx +++ b/apps/gittensory-ui/src/routes/docs.maintainer-workflow.tsx @@ -12,13 +12,13 @@ export const Route = createFileRoute("/docs/maintainer-workflow")({ { name: "description", content: - "How to use LoopOver in a repo: confirmed-miner labels, sticky sanitized comments, on-demand @gittensory commands.", + "How to use LoopOver in a repo: confirmed-miner labels, sticky sanitized comments, on-demand @loopover commands.", }, { property: "og:title", content: "Maintainer workflow — LoopOver docs" }, { property: "og:description", content: - "How to use LoopOver in a repo: confirmed-miner labels, sticky sanitized comments, on-demand @gittensory commands.", + "How to use LoopOver in a repo: confirmed-miner labels, sticky sanitized comments, on-demand @loopover commands.", }, { property: "og:url", content: "/docs/maintainer-workflow" }, ], @@ -83,9 +83,9 @@ function MaintainerWorkflow() { <> You can ask for the same reviewability view in the PR thread. ), @@ -136,7 +136,7 @@ GET /v1/repos/:owner/:repo/registration-readiness`} self-hosting setup, then{" "} GitHub App configuration: install on one repo, verify installation health, preview the public panel, then decide whether{" "} - Gittensory Orb Review Agent should become a required check. + LoopOver Orb Review Agent should become a required check.

    For syntax, default roles, PR action verbs, and the gate vs auto-review boundary, see the{" "} - @gittensory command reference. + @loopover command reference.

    diff --git a/apps/gittensory-ui/src/routes/docs.miner-workflow.tsx b/apps/gittensory-ui/src/routes/docs.miner-workflow.tsx index f1d3c333ed..6308618fb5 100644 --- a/apps/gittensory-ui/src/routes/docs.miner-workflow.tsx +++ b/apps/gittensory-ui/src/routes/docs.miner-workflow.tsx @@ -80,12 +80,12 @@ export function MinerWorkflow() { maintainer: ( <> On confirmed-miner PRs you can later request the same view with - @gittensory preflight — the response is sanitized for the PR thread. + @loopover preflight — the response is sanitized for the PR thread. ), nextStep: { miner: { label: "Common preflight blockers", to: "/docs/troubleshooting" }, - maintainer: { label: "All @gittensory commands", to: "/docs/maintainer-workflow" }, + maintainer: { label: "All @loopover commands", to: "/docs/maintainer-workflow" }, }, }, { diff --git a/apps/gittensory-ui/src/routes/docs.privacy-security.tsx b/apps/gittensory-ui/src/routes/docs.privacy-security.tsx index 3c2c8a2c21..39e3a00d92 100644 --- a/apps/gittensory-ui/src/routes/docs.privacy-security.tsx +++ b/apps/gittensory-ui/src/routes/docs.privacy-security.tsx @@ -93,7 +93,7 @@ LOOPOVER_REVIEW_UNIFIED_COMMENT="true" # one in-place unified PR comment LOOPOVER_REVIEW_ENRICHMENT="true" # external analyzer registry (REES) findings LOOPOVER_REVIEW_INLINE_COMMENTS="true" # diff-anchored inline PR review comments LOOPOVER_REVIEW_FIX_HANDOFF="true" # machine-readable fix-handoff block (contributor-run) -LOOPOVER_REVIEW_PLANNER="true" # @gittensory plan on-demand implementation plan +LOOPOVER_REVIEW_PLANNER="true" # @loopover plan on-demand implementation plan LOOPOVER_REVIEW_SCREENSHOTS="true" # before/after visual capture for UI changes LOOPOVER_REVIEW_E2E_TESTS="true" # AI-generated E2E test coverage (needs features.e2eTests too) LOOPOVER_REVIEW_IMPROVEMENT_SIGNAL="true" # read-only PR quality-delta signal (activation only, no-op for now) diff --git a/apps/gittensory-ui/src/routes/docs.self-hosting-configuration.tsx b/apps/gittensory-ui/src/routes/docs.self-hosting-configuration.tsx index aac241f2b2..f3d747fb7c 100644 --- a/apps/gittensory-ui/src/routes/docs.self-hosting-configuration.tsx +++ b/apps/gittensory-ui/src/routes/docs.self-hosting-configuration.tsx @@ -108,22 +108,22 @@ function SelfHostingConfiguration() { Keep anti-abuse thresholds, maintainer allowlists, and autonomy dials in the{" "} @@ -149,13 +149,13 @@ cp config/examples/global.gittensory.yml gittensory-config/.loopover.yml`}

    Authoritative copies in git: