Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Code Of Conduct

Gittensory is maintained as a direct, technical, evidence-first project. We expect contributors,
LoopOver is maintained as a direct, technical, evidence-first project. We expect contributors,
maintainers, and users to keep discussions focused on the work, the proof, and the production
impact.

Expand All @@ -23,7 +23,7 @@ impact.
credit or farm Gittensor rewards.
- Posting secrets, private contributor evidence, private maintainer evidence, wallet details,
hotkeys, coldkeys, raw trust scores, or private rankings publicly.
- Misrepresenting Gittensory output as guaranteed compensation, guaranteed ranking, or financial
- Misrepresenting LoopOver output as guaranteed compensation, guaranteed ranking, or financial
advice.
- Evading review boundaries by reopening closed work without addressing the stated reason.
- Attempting to bypass authentication, rate limits, GitHub App permissions, or Cloudflare Worker
Expand Down
8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Contributing

Gittensory is a Cloudflare Workers, TanStack Start, GitHub App, and MCP project for
LoopOver is a Cloudflare Workers, TanStack Start, GitHub App, and MCP project for
Gittensor OSS contribution intelligence. Contributions need to protect that scope: private
signals stay private, public GitHub output stays sanitized, and production surfaces must stay
wired to real backend behavior.
Expand All @@ -11,7 +11,7 @@ closed without an extended review cycle.

## What Happens to Your PR (reviewed and acted on automatically)

gittensory reviews every PR with an automated gate (a GitHub App) and **acts on the outcome within a
LoopOver reviews every PR with an automated gate (a GitHub App) and **acts on the outcome within a
few minutes** — there is no extended human back-and-forth. For a contributor PR (you are not the repo
owner or an automation bot):

Expand All @@ -31,7 +31,7 @@ the whole procedure step by step.

## How Reviews Work (timing, one-shot, and asking for review)

**Timing is typical, not an SLA.** When the gittensory maintainer agent is operating, most PRs are
**Timing is typical, not an SLA.** When the LoopOver maintainer agent is operating, most PRs are
reviewed and auto-merged or auto-closed within **~1 hour of CI finishing**. When the agent is paused or
under maintenance, manual review **typically takes 24–48 hours, depending on volume**. These are
observations, not commitments or a service-level guarantee — reviews happen when they happen.
Expand Down Expand Up @@ -305,7 +305,7 @@ Config as code (`.gittensory.yml`) — every repository setting is controllable
- Precedence: `.gittensory.yml` `gate:` > `.gittensory.yml` `settings:` > dashboard repository settings >
safe defaults; unset fields fall back to the next layer. The committed root `.gittensory.yml` is the
worked example. Resolved once in `resolveRepositorySettings`, so the whole app honours the file.
- The config chooses **what** gittensory does (gate on/off, blockers, comments, labels, surface, panel
- The config chooses **what** LoopOver does (gate on/off, blockers, comments, labels, surface, panel
content); it never changes **who** can be blocked — only confirmed Gittensor contributors are ever
hard-blocked, and the footer's Gittensor attribution/register link always remains.

Expand Down
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Gittensory
# LoopOver

_Formerly Gittensory._

<p align="center">
<a href="https://github.com/JSONbored/gittensory/actions/workflows/ci.yml"><img alt="CI" src="https://github.com/JSONbored/gittensory/actions/workflows/ci.yml/badge.svg" /></a>
Expand All @@ -8,7 +10,7 @@
<a href="https://gittensor.io/miners/repository?name=JSONbored/gittensory"><img alt="Gittensor impact" src="https://api.gittensor.io/repos/JSONbored%2Fgittensory/badge.svg" /></a>
</p>

Gittensory is a deterministic control plane for Gittensor OSS contribution work.
LoopOver is a deterministic control plane for Gittensor OSS contribution work.

It helps contributors plan cleaner work, helps maintainers review with less public noise, and keeps private scoring, wallet, hotkey, and reviewability context out of public GitHub output.

Expand All @@ -18,7 +20,7 @@ It is not a Gittensor explorer, public leaderboard, reward-farming bot, wallet d

## Privacy Boundary

Gittensory keeps sensitive context private by default.
LoopOver keeps sensitive context private by default.

- MCP local branch analysis sends metadata, not source contents.
- Public GitHub comments never include wallet, hotkey, reward estimate, private ranking, raw trust score, or reviewability context.
Expand All @@ -29,7 +31,7 @@ See [Privacy and security](https://gittensory.aethereal.dev/docs/privacy-securit

## Review Capabilities

Gittensory CI and gittensory review score, gate, and comment on pull requests. The review algorithm is open-source; operators tune behavior through per-repo settings and the `GITTENSORY_REVIEW_*` feature flags, every one of which ships **OFF** and is opt-in per repo.
LoopOver CI and LoopOver review score, gate, and comment on pull requests. The review algorithm is open-source; operators tune behavior through per-repo settings and the `GITTENSORY_REVIEW_*` feature flags, every one of which ships **OFF** and is opt-in per repo.

- **Safety scan** — defangs untrusted PR title/body/diff (prompt-injection neutralization) before the AI reviewer reads them, and scans the diff for leaked secrets, surfacing a `secret_leak` blocker.
- **CI + full-file grounding** — grounds the AI reviewer with the PR's finished CI status and the full post-change content of the changed files, so claims are verified against reality instead of predicted.
Expand Down Expand Up @@ -65,7 +67,7 @@ See [Tuning your reviews](https://gittensory.aethereal.dev/docs/tuning) for the
| Engine package | [`@jsonbored/gittensory-engine`](packages/gittensory-engine/README.md) — shared deterministic logic for the review stack and miner |
| Miner package | [`@jsonbored/gittensory-miner`](packages/gittensory-miner/README.md) — local foundation CLI for the autonomous miner runtime |
| API | [API browser](https://gittensory.aethereal.dev/api) and [OpenAPI JSON](https://gittensory-api.aethereal.dev/openapi.json) |
| GitHub App | [Install](https://github.com/apps/gittensory/installations/new) and [setup docs](https://gittensory.aethereal.dev/docs/github-app) |
| GitHub App | [Setup docs](https://gittensory.aethereal.dev/docs/github-app) — self-hosting is the only currently available path |
| Browser extension | [Extension page](https://gittensory.aethereal.dev/extension) |

## MCP Install
Expand Down
4 changes: 2 additions & 2 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ include only the minimum reproduction details needed to verify the issue.

## Privacy Posture

- Gittensory does not store user GitHub PATs.
- Browser auth uses GitHub OAuth and an HttpOnly Gittensory session cookie. CLI/MCP auth uses the
- LoopOver does not store user GitHub PATs.
- Browser auth uses GitHub OAuth and an HttpOnly LoopOver session cookie. CLI/MCP auth uses the
existing GitHub Device Flow and bearer session token.
- Public PR comments are sanitized and only posted for officially confirmed Gittensor miners when
the installed repository settings allow them.
Expand Down
2 changes: 1 addition & 1 deletion SUPPORT.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,6 @@ For conduct issues, use the expectations in `CODE_OF_CONDUCT.md`.

## Expected Response Posture

Gittensory is maintained as a Cloudflare Worker, frontend, GitHub App, and agent-integration
LoopOver is maintained as a Cloudflare Worker, frontend, GitHub App, and agent-integration
project. Support should keep the same boundaries as the product: no public wallet data, no raw
trust scores, no public reward estimates, and no source-code upload by default.
10 changes: 5 additions & 5 deletions apps/gittensory-ui/src/routes/docs.ai-summaries.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,17 @@ import { Callout } from "@/components/site/primitives";
export const Route = createFileRoute("/docs/ai-summaries")({
head: () => ({
meta: [
{ title: "AI summaries — Gittensory docs" },
{ title: "AI summaries — LoopOver docs" },
{
name: "description",
content:
"How Gittensory uses AI: only over deterministic signals, never as a source of truth, with strict public/private boundaries.",
"How LoopOver uses AI: only over deterministic signals, never as a source of truth, with strict public/private boundaries.",
},
{ property: "og:title", content: "AI summaries — Gittensory docs" },
{ property: "og:title", content: "AI summaries — LoopOver docs" },
{
property: "og:description",
content:
"How Gittensory uses AI: only over deterministic signals, never as a source of truth, with strict public/private boundaries.",
"How LoopOver uses AI: only over deterministic signals, never as a source of truth, with strict public/private boundaries.",
},
{ property: "og:url", content: "/docs/ai-summaries" },
],
Expand All @@ -34,7 +34,7 @@ function AiSummariesDoc() {
>
<h2>The rule</h2>
<p>
Gittensory is deterministic. When AI summaries are enabled, they sit
LoopOver is deterministic. When AI summaries are enabled, they sit
<em> on top of</em> the structured response — they never replace it, never add facts that
aren&apos;t in the response, and never change ranked actions, blockers, or scoreability
numbers.
Expand Down
10 changes: 5 additions & 5 deletions apps/gittensory-ui/src/routes/docs.beta-onboarding.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ import { CodeBlock, Callout } from "@/components/site/primitives";
export const Route = createFileRoute("/docs/beta-onboarding")({
head: () => ({
meta: [
{ title: "Beta onboarding — Gittensory docs" },
{ title: "Beta onboarding — LoopOver docs" },
{
name: "description",
content:
"Role-based beta paths for miners, maintainers, repo owners, and operators — first useful action, not just API reference.",
},
{ property: "og:title", content: "Beta onboarding — Gittensory docs" },
{ property: "og:title", content: "Beta onboarding — LoopOver docs" },
{
property: "og:description",
content:
Expand All @@ -30,10 +30,10 @@ function BetaOnboarding() {
<DocsPage
eyebrow="Get started"
title="Beta onboarding by role"
description="Pick the lane that matches you. Each path ends in a concrete first win — install, configure, or read a report — without treating Gittensory as an official Gittensor product surface."
description="Pick the lane that matches you. Each path ends in a concrete first win — install, configure, or read a report — without treating LoopOver as an official Gittensor product surface."
>
<Callout>
<strong>Product positioning.</strong> Gittensory is a deterministic base-agent and
<strong>Product positioning.</strong> LoopOver is a deterministic base-agent and
control-plane layer for the Gittensor ecosystem. It is{" "}
<a href="https://github.com/jsonbored/gittensory" target="_blank" rel="noreferrer">
jsonbored/gittensory
Expand All @@ -51,7 +51,7 @@ function BetaOnboarding() {
Miners and contributors use the local MCP package. Source contents stay on your machine but
branch metadata (such as branch names, SHAs, changed file paths, commit messages, validation
details, labels, body text, linked issues, and scenario notes) is sent to authenticated
Gittensory MCP/API responses for analysis and packet preparation.
LoopOver MCP/API responses for analysis and packet preparation.
</p>
<ol>
<li>
Expand Down
6 changes: 3 additions & 3 deletions apps/gittensory-ui/src/routes/docs.branch-analysis.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ import { CodeBlock, Callout } from "@/components/site/primitives";
export const Route = createFileRoute("/docs/branch-analysis")({
head: () => ({
meta: [
{ title: "Branch analysis — Gittensory docs" },
{ title: "Branch analysis — LoopOver docs" },
{
name: "description",
content:
"Metadata-only analysis of a branch. Inputs, outputs, and the privacy boundary explained.",
},
{ property: "og:title", content: "Branch analysis — Gittensory docs" },
{ property: "og:title", content: "Branch analysis — LoopOver docs" },
{
property: "og:description",
content:
Expand All @@ -30,7 +30,7 @@ function BranchAnalysis() {
<DocsPage
eyebrow="Core concepts"
title="Branch analysis"
description="Gittensory analyzes branches using metadata only. Your source code never leaves your machine."
description="LoopOver analyzes branches using metadata only. Your source code never leaves your machine."
>
<h2>Inputs</h2>
<ul>
Expand Down
Loading
Loading