The loop never sleeps — you finally can. Agents automate the entire development lifecycle (write, review, merge, learn) end to end, with a published safety record. Self-host today; rentable hosted loops in development. Any GitHub repo; Gittensor-native intelligence built in.
Drift inferred · capture-to-capture
- HIGH code analysis flagged dynamic code execution ×4 in JSONbored/loopover
- HIGH code analysis flagged dynamic code execution ×2 in JSONbored/loopover
transport stdio · streamable-http · http counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
No tools enumerated yet for this server.
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 81f28ca · analyzer v28 · 1d ago
skills & prompt files 3
danger signals63
- dynamic code execution eval() JSONbored-loopover-81f28ca/src/review/auto-apply.ts :385
/** This project's freshly-computed merge precision from THIS tick's gate eval (the same field - dynamic code execution eval() JSONbored-loopover-81f28ca/src/review/stats.ts :236
/** Ranked tuning recommendations derived from the eval (ready-to-flip / tighten / loosen). */ - dynamic code execution eval() JSONbored-loopover-81f28ca/test/unit/selfhost-redis-cache.test.ts :41
async eval(script: string, _numkeys: number, k: string, expected: string, ttl?: string) { - dynamic code execution eval() JSONbored-loopover-81f28ca/test/unit/selfhost-redis-ratelimit.test.ts :20
async eval(_script: string, _numKeys: number, key: string, windowMs: string) { - suspicious endpoint us.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/packages/discovery-index/scripts/validate-posthog-release.ts :10
const DEFAULT_POSTHOG_APP_HOST = "https://us.posthog.com"; - suspicious endpoint us.i.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/packages/discovery-index/src/posthog.ts :27
const DEFAULT_POSTHOG_HOST = "https://us.i.posthog.com"; - suspicious endpoint us.i.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/packages/loopover-mcp/lib/telemetry.ts :30
const DEFAULT_POSTHOG_HOST = "https://us.i.posthog.com"; - suspicious endpoint us.i.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/packages/loopover-miner/lib/posthog.ts :25
const DEFAULT_POSTHOG_HOST = "https://us.i.posthog.com"; - suspicious endpoint us.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/review-enrichment/scripts/validate-posthog-release.ts :9
const DEFAULT_POSTHOG_APP_HOST = "https://us.posthog.com"; - suspicious endpoint us.i.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/review-enrichment/src/posthog.ts :27
const DEFAULT_POSTHOG_HOST = "https://us.i.posthog.com"; - suspicious endpoint eu.i.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/review-enrichment/test/posthog-degradation.test.ts :287
const activated = await initReesPostHog({ POSTHOG_API_KEY: "phc_test", POSTHOG_HOST: "https://eu.i.posthog.com" } as NodeJS.ProcessEnv); - suspicious endpoint us.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/review-enrichment/test/posthog-release-validation.test.ts :37
baseUrl: "https://us.posthog.com", - suspicious endpoint eu.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/review-enrichment/test/posthog-release-validation.test.ts :43
const config = loadPostHogReleaseValidationConfig({ POSTHOG_CLI_HOST: "https://eu.posthog.com/" }); - suspicious endpoint discord.com JSONbored-loopover-81f28ca/review-enrichment/test/secret-scan.test.ts :1408
["discord_webhook_url", "https://discord.com/api/webhooks/123456789012345678/" + b62(69) + "-"], - suspicious endpoint us.i.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/src/api/worker-posthog.ts :27
const DEFAULT_POSTHOG_HOST = "https://us.i.posthog.com"; - suspicious endpoint us.i.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/src/mcp/dispatch-telemetry-sink.ts :23
const DEFAULT_POSTHOG_HOST = "https://us.i.posthog.com"; - suspicious endpoint us.i.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/src/mcp/telemetry.ts :21
const DEFAULT_POSTHOG_HOST = "https://us.i.posthog.com"; - suspicious endpoint us.i.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/src/selfhost/otel.ts :36
const DEFAULT_POSTHOG_OTEL_HOST = "https://us.i.posthog.com"; - suspicious endpoint posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/src/selfhost/otel.ts :48
/** PostHog's distributed-tracing product (beta: https://posthog.com/docs/distributed-tracing) is a plain - suspicious endpoint us.i.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/src/selfhost/posthog.ts :69
const DEFAULT_POSTHOG_HOST = "https://us.i.posthog.com"; - suspicious endpoint discord.com JSONbored-loopover-81f28ca/test/unit/alerts.test.ts :205
const WEBHOOK = "https://discord.com/api/webhooks/123/abc"; - suspicious endpoint 169.254.169.254 (cloud metadata) JSONbored-loopover-81f28ca/test/unit/content-lane-safe-url.test.ts :22
expect(isSafeHttpUrl("https://169.254.169.254")).toBe(false); // cloud metadata - suspicious endpoint 100.63.255.255 JSONbored-loopover-81f28ca/test/unit/content-lane-safe-url.test.ts :34
expect(isSafeHttpUrl("https://100.63.255.255")).toBe(true); // one below the range - suspicious endpoint 100.128.0.0 JSONbored-loopover-81f28ca/test/unit/content-lane-safe-url.test.ts :35
expect(isSafeHttpUrl("https://100.128.0.0")).toBe(true); // one above the range - suspicious endpoint 8.8.8.8 JSONbored-loopover-81f28ca/test/unit/content-lane-safe-url.test.ts :106
expect(isSafeHttpUrl("https://8.8.8.8")).toBe(true); - suspicious endpoint 1.1.1.1 JSONbored-loopover-81f28ca/test/unit/content-lane-safe-url.test.ts :107
expect(isSafeHttpUrl("https://1.1.1.1")).toBe(true); - suspicious endpoint 172.15.0.1 JSONbored-loopover-81f28ca/test/unit/content-lane-safe-url.test.ts :109
expect(isSafeHttpUrl("https://172.15.0.1")).toBe(true); - suspicious endpoint 172.32.0.1 JSONbored-loopover-81f28ca/test/unit/content-lane-safe-url.test.ts :110
expect(isSafeHttpUrl("https://172.32.0.1")).toBe(true); - suspicious endpoint us.i.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/test/unit/discovery-index/posthog.test.ts :118
expect(capturedOptions?.host).toBe("https://us.i.posthog.com"); - suspicious endpoint eu.i.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/test/unit/discovery-index/posthog.test.ts :141
await initFresh({ POSTHOG_API_KEY: "phc_test", POSTHOG_HOST: "https://eu.i.posthog.com" } as unknown as NodeJS.ProcessEnv); - suspicious endpoint us.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/test/unit/discovery-index/validate-posthog-release.test.ts :22
expect(config).toEqual({ apiKey: "phx_test", projectId: "42", release: "loopover-discovery-index@abc", baseUrl: "https://us.posthog.com" }); - suspicious endpoint eu.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/test/unit/discovery-index/validate-posthog-release.test.ts :26
const config = loadPostHogReleaseValidationConfig({ POSTHOG_CLI_HOST: "https://eu.posthog.com/" }); - suspicious endpoint discord.com JSONbored-loopover-81f28ca/test/unit/loop-escalation-wire.test.ts :29
expect(isValidDiscordWebhook("http://discord.com/api/webhooks/123/abc")).toBe(false); // not https - suspicious endpoint discord.com JSONbored-loopover-81f28ca/test/unit/maintainer-recap-wire.test.ts :12
const HOOK = "https://discord.com/api/webhooks/123/abc"; - suspicious endpoint discord.com JSONbored-loopover-81f28ca/test/unit/maintainer-recap.test.ts :20
const DISCORD_HOOK = "https://discord.com/api/webhooks/123/abc"; - suspicious endpoint us.i.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/test/unit/mcp-local-telemetry.test.ts :104
host: "https://us.i.posthog.com", - suspicious endpoint eu.i.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/test/unit/mcp-local-telemetry.test.ts :168
vi.stubEnv("LOOPOVER_MCP_POSTHOG_HOST", "https://eu.i.posthog.com"); - suspicious endpoint us.i.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/test/unit/mcp-telemetry.test.ts :62
host: "https://us.i.posthog.com", - suspicious endpoint eu.i.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/test/unit/mcp-telemetry.test.ts :91
{ POSTHOG_API_KEY: "phc_test", POSTHOG_HOST: "https://eu.i.posthog.com" }, - suspicious endpoint 169.254.169.254 (cloud metadata) JSONbored-loopover-81f28ca/test/unit/miner-cli.test.ts :135
LOOPOVER_NPM_REGISTRY_URL: "http://169.254.169.254/", - suspicious endpoint eu.i.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/test/unit/miner-egress-allowlist.test.ts :103
LOOPOVER_MINER_POSTHOG_HOST: "https://eu.i.posthog.com", - suspicious endpoint us.i.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/test/unit/miner-posthog.test.ts :75
host: "https://us.i.posthog.com", - suspicious endpoint eu.i.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/test/unit/miner-posthog.test.ts :82
await initMinerPostHog({ LOOPOVER_MINER_POSTHOG_API_KEY: "phc_test_key", LOOPOVER_MINER_POSTHOG_HOST: "https://eu.i.posthog.com" }); - suspicious endpoint discord.com JSONbored-loopover-81f28ca/test/unit/notify-discord.test.ts :6
const HOOK = "https://discord.com/api/webhooks/123/abc"; - suspicious endpoint discord.com JSONbored-loopover-81f28ca/test/unit/outcomes-wire.test.ts :181
const env = Object.assign(createTestEnv(), { DISCORD_REPO_WEBHOOKS: JSON.stringify({ "owner/repo": "https://discord.com/api/webhooks/repo/token" }) }) as Env; - suspicious endpoint discord.com JSONbored-loopover-81f28ca/test/unit/queue-5.test.ts :6323
DISCORD_WEBHOOK_URL: "https://discord.com/api/webhooks/123/abc", - suspicious endpoint discord.com JSONbored-loopover-81f28ca/test/unit/queue.test.ts :509
const env = Object.assign(createTestEnv(), { LOOPOVER_DISCORD_WEBHOOK: "https://discord.com/api/webhooks/123/abc" }) as Env; - suspicious endpoint discord.com JSONbored-loopover-81f28ca/test/unit/review-recap.test.ts :228
const HOOK = "https://discord.com/api/webhooks/123/abc"; - suspicious endpoint 169.254.169.254 (cloud metadata) JSONbored-loopover-81f28ca/test/unit/safe-url-engine.test.ts :23
expect(isSafeHttpUrl("https://169.254.169.254")).toBe(false); // cloud metadata - suspicious endpoint 100.63.255.255 JSONbored-loopover-81f28ca/test/unit/safe-url-engine.test.ts :35
expect(isSafeHttpUrl("https://100.63.255.255")).toBe(true); // one below the range - suspicious endpoint 100.128.0.0 JSONbored-loopover-81f28ca/test/unit/safe-url-engine.test.ts :36
expect(isSafeHttpUrl("https://100.128.0.0")).toBe(true); // one above the range - suspicious endpoint 8.8.8.8 JSONbored-loopover-81f28ca/test/unit/safe-url-engine.test.ts :107
expect(isSafeHttpUrl("https://8.8.8.8")).toBe(true); - suspicious endpoint 1.1.1.1 JSONbored-loopover-81f28ca/test/unit/safe-url-engine.test.ts :108
expect(isSafeHttpUrl("https://1.1.1.1")).toBe(true); - suspicious endpoint 172.15.0.1 JSONbored-loopover-81f28ca/test/unit/safe-url-engine.test.ts :110
expect(isSafeHttpUrl("https://172.15.0.1")).toBe(true); - suspicious endpoint 172.32.0.1 JSONbored-loopover-81f28ca/test/unit/safe-url-engine.test.ts :111
expect(isSafeHttpUrl("https://172.32.0.1")).toBe(true); - suspicious endpoint 169.254.169.254 (cloud metadata) JSONbored-loopover-81f28ca/test/unit/screenshot-table-vision-wiring.test.ts :148
prBody: tableBody("https://169.254.169.254/before.png", AFTER_URL), - suspicious endpoint 8.8.8.8 JSONbored-loopover-81f28ca/test/unit/selfhost-health.test.ts :297
const fine = ["https://8.8.8.8", "http://172.15.0.5", "http://172.32.0.5", "https://reviews.example.com"]; - suspicious endpoint us.i.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/test/unit/selfhost-otel.test.ts :384
"https://us.i.posthog.com/i/v1/traces", - suspicious endpoint eu.i.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/test/unit/selfhost-otel.test.ts :387
resolveOtelTraceEndpoint(env({ POSTHOG_API_KEY: "phc_test", POSTHOG_HOST: "https://eu.i.posthog.com/", ...postHogFallbackFlag })), - suspicious endpoint us.i.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/test/unit/selfhost-posthog.test.ts :67
expect(mocks.PostHog).toHaveBeenCalledWith("phc_test_key", expect.objectContaining({ host: "https://us.i.posthog.com" })); - suspicious endpoint eu.i.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/test/unit/selfhost-posthog.test.ts :71
await initPostHog({ POSTHOG_API_KEY: "phc_test_key", POSTHOG_HOST: "https://eu.i.posthog.com" } as unknown as NodeJS.ProcessEnv); - suspicious endpoint us.i.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/test/unit/worker-posthog.test.ts :96
expect(mocks.getLastOptions()).toMatchObject({ host: "https://us.i.posthog.com", flushAt: 1, flushInterval: 0 }); - suspicious endpoint eu.i.posthog.com (telemetry)
expected for this server's purpose
JSONbored-loopover-81f28ca/test/unit/worker-posthog.test.ts :101
{ WORKER_POSTHOG_API_KEY: "phc_test", WORKER_POSTHOG_HOST: "https://eu.i.posthog.com" } as WorkerPostHogEnv,
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 3192
filesystem 41
- fs JSONbored-loopover-81f28ca/apps/loopover-miner-ui/vite-attempt-log-api.ts :1
import { existsSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/apps/loopover-miner-ui/vite-governor-api.ts :1
import { existsSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/apps/loopover-miner-ui/vite-ledgers-api.ts :1
import { existsSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/apps/loopover-miner-ui/vite-portfolio-queue-actions-api.ts :1
import { existsSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/apps/loopover-miner-ui/vite-portfolio-queue-api.ts :1
import { existsSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/apps/loopover-miner-ui/vite-ranked-candidates-api.ts :1
import { existsSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/apps/loopover-miner-ui/vite-run-state-api.ts :1
import { existsSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/packages/discovery-index/src/upload-sourcemaps.ts :10
import { existsSync, readFileSync, readdirSync, statSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/packages/loopover-engine/src/miner/repo-map.ts :20
import { readFileSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/packages/loopover-mcp/bin/loopover-mcp.ts :5
import { closeSync, constants as fsConstants, existsSync, fstatSync, mkdirSync, openSync, readdirSync, readFileSync, readSync, realpathSync, rmSync, statSync, writeFileSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/packages/loopover-mcp/lib/local-branch.ts :2
import { realpathSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/packages/loopover-miner/bin/loopover-miner-mcp.ts :2
import { readFileSync, realpathSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/packages/loopover-miner/lib/ams-calibration.ts :24
import { existsSync as fsExistsSync, readFileSync as fsReadFileSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/packages/loopover-miner/lib/ams-policy.ts :1
import { existsSync, readFileSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/packages/loopover-miner/lib/calibration-cli.ts :5
import type { existsSync, readFileSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/packages/loopover-miner/lib/coding-task-spec.ts :1
import { closeSync, constants as fsConstants, openSync, realpathSync, writeFileSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/packages/loopover-miner/lib/cross-repo-evaluation.ts :8
import { cpSync, existsSync, mkdtempSync, realpathSync, rmSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/packages/loopover-miner/lib/deny-hooks-cli.ts :13
import { readFileSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/packages/loopover-miner/lib/discover-cli.ts :3
import { existsSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/packages/loopover-miner/lib/env-file-indirection.ts :10
import { readFileSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/packages/loopover-miner/lib/generate-egress-firewall-config.ts :15
import { writeFileSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/packages/loopover-miner/lib/github-token-resolution.ts :10
import { existsSync, readFileSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/packages/loopover-miner/lib/hosted-entry.ts :12
import { access } from "node:fs/promises"; - fs JSONbored-loopover-81f28ca/packages/loopover-miner/lib/init-wizard.ts :2
import { chmodSync, mkdirSync, writeFileSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/packages/loopover-miner/lib/laptop-init.ts :1
import { accessSync, constants, existsSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/packages/loopover-miner/lib/local-store.ts :1
import { chmodSync, mkdirSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/packages/loopover-miner/lib/migrate-cli.ts :11
import { existsSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/packages/loopover-miner/lib/miner-goal-spec.ts :1
import { closeSync, constants, existsSync, fstatSync, openSync, readSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/packages/loopover-miner/lib/purge-cli.ts :14
import { existsSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/packages/loopover-miner/lib/repo-clone.ts :3
import { closeSync, existsSync, mkdirSync, openSync, readFileSync, statSync, unlinkSync, writeSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/packages/loopover-miner/lib/stack-detection.ts :8
import { existsSync, readFileSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/packages/loopover-miner/lib/status.ts :1
import { accessSync, constants, existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/packages/loopover-miner/lib/store-maintenance.ts :14
import { existsSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/packages/loopover-miner/lib/worktree-allocator.ts :4
import { mkdirSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/review-enrichment/src/upload-sourcemaps.ts :11
import { existsSync, readFileSync, readdirSync, statSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/src/selfhost/blob-store.ts :8
import { mkdir, readFile, rename, rm, writeFile } from "node:fs/promises"; - fs JSONbored-loopover-81f28ca/src/selfhost/load-file-secrets.ts :8
import { readFileSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/src/selfhost/migrate.ts :6
import { readdirSync, readFileSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/src/selfhost/private-config.ts :35
import { readFile, readdir, mkdir, copyFile, rename, writeFile, stat } from "node:fs/promises"; - fs JSONbored-loopover-81f28ca/src/server.ts :9
import { existsSync, readdirSync, writeFileSync } from "node:fs"; - fs JSONbored-loopover-81f28ca/vitest.config.ts :1
import { readFileSync } from "node:fs";
shell / exec 35
- shell JSONbored-loopover-81f28ca/packages/discovery-index/src/upload-sourcemaps.ts :9
import { spawnSync } from "node:child_process"; - shell JSONbored-loopover-81f28ca/packages/loopover-engine/src/miner/agent-sdk-driver.ts :11
import { execFile } from "node:child_process"; - shell JSONbored-loopover-81f28ca/packages/loopover-engine/src/miner/cli-subprocess-driver.ts :19
* so the driver never hardcodes `child_process`; a fake resolves this in tests. */ - shell JSONbored-loopover-81f28ca/packages/loopover-engine/src/miner/coding-agent-mode.ts :13
// • Chosen: never spawn (cheapest, safest, mirrors `agentActionModeExecutes` skipping GitHub mutations). - shell JSONbored-loopover-81f28ca/packages/loopover-engine/src/miner/deny-hooks.ts :69
return new RegExp(`^${source}$`, "i"); - shell JSONbored-loopover-81f28ca/packages/loopover-engine/src/miner/lint-guard.ts :79
const { code, output } = await spawn("node", ["--check", file], { cwd }); - shell JSONbored-loopover-81f28ca/packages/loopover-engine/src/miner/worktree-plan.ts :18
/** The injected git exec — a real `child_process` spawn in prod, a fake in tests. */ - shell JSONbored-loopover-81f28ca/packages/loopover-engine/src/scoring/label-match.ts :101
const compiled = new RegExp(`^${regex}$`, "i"); - shell JSONbored-loopover-81f28ca/packages/loopover-engine/src/signals/change-guardrail.ts :102
return new RegExp(`^${re}$`); - shell JSONbored-loopover-81f28ca/packages/loopover-mcp/lib/local-branch.ts :1
import { execFileSync } from "node:child_process"; - shell JSONbored-loopover-81f28ca/packages/loopover-miner/lib/attempt-cli.ts :168
/** Neon branch-per-attempt disposable DB fork (#7858). Defaults to reading LOOPOVER_MINER_NEON_* env vars - shell JSONbored-loopover-81f28ca/packages/loopover-miner/lib/attempt-worktree.ts :1
import { spawn } from "node:child_process"; - shell JSONbored-loopover-81f28ca/packages/loopover-miner/lib/coding-agent-construction.ts :4
// call site -- it provides a real `child_process`-backed spawn (mirroring src/selfhost/ai.ts's `defaultSpawn`, - shell JSONbored-loopover-81f28ca/packages/loopover-miner/lib/cross-repo-evaluation.ts :7
import { spawn as nodeSpawn } from "node:child_process"; - shell JSONbored-loopover-81f28ca/packages/loopover-miner/lib/execute-local-write.ts :2
// createRealCliSubprocessSpawn pattern (real child_process, resolve-not-reject on error/timeout so a - shell JSONbored-loopover-81f28ca/packages/loopover-miner/lib/opportunity-fanout.ts :170
? issue.repository_url.match(new RegExp(`${repoPathPrefix}/([^/?#]+)/([^/?#]+)(?:[?#].*)?$`)) - shell JSONbored-loopover-81f28ca/packages/loopover-miner/lib/replay-snapshot.ts :118
const result = await exec("git", ["worktree", "add", "--detach", worktreePath, commitSha], { cwd: repoPath }); - shell JSONbored-loopover-81f28ca/packages/loopover-miner/lib/repo-clone.ts :1
import { execFile } from "node:child_process"; - shell JSONbored-loopover-81f28ca/packages/loopover-miner/lib/store-db-adapter.ts :16
exec(sql: string): void; - shell JSONbored-loopover-81f28ca/packages/loopover-miner/lib/target-repo-verification.ts :14
import { spawn as nodeSpawn } from "node:child_process"; - shell JSONbored-loopover-81f28ca/review-enrichment/src/analyzers/binary-extensions.ts :102
`\\.(?:${BINARY_FILE_EXTENSIONS.join("|")})$`, - shell JSONbored-loopover-81f28ca/review-enrichment/src/analyzers/codeowners.ts :153
return new RegExp(anchored ? `^${re}$` : `(^|/)${re}$`); - shell JSONbored-loopover-81f28ca/review-enrichment/src/analyzers/secret-scan.ts :780
// Braintree production access token: `access_token$production$` + 16 base36 merchant id + `$` + 32 hex. - shell JSONbored-loopover-81f28ca/review-enrichment/src/upload-sourcemaps.ts :10
import { spawnSync } from "node:child_process"; - shell JSONbored-loopover-81f28ca/src/db/repositories.ts :3731
const upperBound = `${repoFullName.toLowerCase()}$`; - shell JSONbored-loopover-81f28ca/src/github/backfill.ts :2623
// as failing made ciState="failed" → the agent one-shot CLOSED the fork ("CI is failing") even though no check - shell JSONbored-loopover-81f28ca/src/notifications/ams-events.ts :118
export const AMS_PR_OUTCOME_DEDUP_KEY_PATTERN = new RegExp(`^${AMS_PR_OUTCOME_DEDUP_KEY_PREFIX}:.+#\\d+:(merged|closed):.+$`); - shell JSONbored-loopover-81f28ca/src/selfhost/ai.ts :899
const cp = await import("node:child_process"); - shell JSONbored-loopover-81f28ca/src/selfhost/backend-contracts.ts :96
exec(query: string): Promise<{ count: number; duration: number }>; - shell JSONbored-loopover-81f28ca/src/selfhost/d1-adapter.ts :22
exec(sql: string): void; - shell JSONbored-loopover-81f28ca/src/selfhost/migrate.ts :3
// through the D1 adapter's exec(). Tracked in a `_selfhost_migrations` table so a restart re-applies only the - shell JSONbored-loopover-81f28ca/src/selfhost/pg-adapter.ts :28
private async exec(runner: Runner = this.pool): Promise<{ rows: Row[]; rowCount: number }> { - shell JSONbored-loopover-81f28ca/src/selfhost/pg-dialect.ts :240
/** Migrations are applied as whole multi-statement files via exec(), so the statement-anchored - shell JSONbored-loopover-81f28ca/src/server.ts :995
const { spawn } = await import("node:child_process"); - shell JSONbored-loopover-81f28ca/vitest.config.ts :115
// exclusively via subprocess spawn (test/unit/mcp-cli-*.test.ts, mcp-discovery.test.ts et al) --
network 60
- net JSONbored-loopover-81f28ca/apps/loopover-miner-ui/src/lib/chat-stream.ts :3
// fetch() + ReadableStream (not the native EventSource, which can't send the POST body the endpoint needs). - net JSONbored-loopover-81f28ca/apps/loopover-miner-ui/vite-chat-api.ts :9
// - `text/event-stream`, one `data: <json>\n\n` line per event, consumed client-side via fetch() + ReadableStream - net JSONbored-loopover-81f28ca/apps/loopover-ui/src/components/site/api/try-it.tsx :118
res = await fetch(url, { ...init, signal: ctrl.signal }); - net JSONbored-loopover-81f28ca/apps/loopover-ui/src/components/site/github-stats-chip.tsx :99
const ghResponse = await fetch(`https://api.github.com/repos/${REPO}`, { - net JSONbored-loopover-81f28ca/apps/loopover-ui/src/lib/analytics-proxy.ts :87
upstream = await fetch(upstreamUrl, { - net JSONbored-loopover-81f28ca/apps/loopover-ui/src/lib/api/request.ts :62
const res = await fetch(input, { ...init, signal: ctrl.signal }); - net JSONbored-loopover-81f28ca/apps/loopover-ui/src/lib/api/status.ts :131
const res = await fetch(HEALTH_URL, { signal: ctrl.signal, cache: "no-store" }); - net JSONbored-loopover-81f28ca/apps/loopover-ui/src/lib/openapi.ts :207
return `const res = await fetch('${url}', {\n${init.join(",\n")},\n});\nconst data = await res.json();`; - net JSONbored-loopover-81f28ca/apps/loopover-ui/src/routes/__root.tsx :107
fetch(endpoint, { method: "POST", headers: { "content-type": "application/json" }, body: payload, keepalive: true }); - net JSONbored-loopover-81f28ca/apps/loopover-ui/src/server.ts :42
async fetch(request: Request, env: unknown, ctx: unknown) { - net JSONbored-loopover-81f28ca/control-plane/src/neon-database-driver.ts :108
const response = await fetch(`${baseUrl}${path}`, { - net JSONbored-loopover-81f28ca/control-plane/src/orb-webhook-router.ts :17
* polls for completion; ORB's container is a persistent HTTP server, so a plain `fetch()` is enough -- - net JSONbored-loopover-81f28ca/control-plane/src/pagerduty-notify.ts :95
const response = await fetch(PAGERDUTY_EVENTS_URL, { - net JSONbored-loopover-81f28ca/control-plane/src/worker.ts :72
* use. `defaultPort` is what `Container.fetch()` proxies to -- orb-webhook-router.ts (#7181) is the thing - net JSONbored-loopover-81f28ca/packages/discovery-index/src/rate-limiter.ts :28
override async fetch(request: Request): Promise<Response> { - net JSONbored-loopover-81f28ca/packages/discovery-index/src/worker.ts :81
async fetch(request: Request, workerEnv: WorkerEnv): Promise<Response> { - net JSONbored-loopover-81f28ca/packages/loopover-engine/src/miner/attempt-db-fork.ts :87
const response = await fetch(`${baseUrl}${path}`, { - net JSONbored-loopover-81f28ca/packages/loopover-mcp/bin/loopover-mcp.ts :2534
const response = await fetch(url, init as RequestInit); - net JSONbored-loopover-81f28ca/packages/loopover-mcp/bin/loopover-verify.ts :77
const response = await fetch(`${baseUrl}${path}`, { - net JSONbored-loopover-81f28ca/packages/loopover-miner/lib/ams-health-server.ts :1
import { createServer, type Server } from "node:http"; - net JSONbored-loopover-81f28ca/packages/loopover-miner/lib/attempt-cli.ts :4
// real coding-agent driver (#5131) and slop assessor (#5133), a live SelfReviewContext fetch (#5145), a real - net JSONbored-loopover-81f28ca/packages/loopover-miner/lib/claim-conflict-resolver.ts :102
* Bounded retry for the live-state snapshot fetch (#6058): up to `maxAttempts` (default 3) attempts with - net JSONbored-loopover-81f28ca/packages/loopover-miner/lib/governor-kill-switch.ts :59
const response = await fetch(PAGERDUTY_EVENTS_URL, { - net JSONbored-loopover-81f28ca/packages/loopover-miner/lib/governor-pause-cli.ts :118
const response = await fetch(`${session.apiUrl}/v1/auth/session`, { - net JSONbored-loopover-81f28ca/packages/loopover-miner/lib/hosted-entry.ts :11
import type { Server } from "node:http"; - net JSONbored-loopover-81f28ca/packages/loopover-miner/lib/submission-freshness-check.ts :68
// Bounded retry for the pre-submission live-state fetch (#7089), mirroring claim-conflict-resolver.js's - net JSONbored-loopover-81f28ca/packages/loopover-miner/lib/update-check.ts :126
const response = await fetch(registryPath, { - net JSONbored-loopover-81f28ca/src/api/worker-posthog.ts :142
* every possible Workers-runtime failure mode (e.g. a crash reachable only via the raw fetch() export outside - net JSONbored-loopover-81f28ca/src/auth/rate-limit.ts :34
override async fetch(request: Request): Promise<Response> { - net JSONbored-loopover-81f28ca/src/github/backfill.ts :2329
// does not depend on `headSha` or `forceFiles` at all -- `forceFiles` only ever forces a FILES re-fetch (see - net JSONbored-loopover-81f28ca/src/github/client.ts :14
// Scope note: this governs INSTALLATION-token Octokit writes only. A few paths write via raw fetch() with - net JSONbored-loopover-81f28ca/src/gittensor/api.ts :306
const response = await fetch(url, { - net JSONbored-loopover-81f28ca/src/integrations/linear-adapter.ts :6
// on every raw fetch() outside the shared GitHub client helpers, so a stalled Linear connection degrades - net JSONbored-loopover-81f28ca/src/mcp/server.ts :3878
const response = await this.env.RATE_LIMITER.get(id).fetch("https://rate-limit/check", { - net JSONbored-loopover-81f28ca/src/queue/processors.ts :8885
// Dedicated fetch (independent of resolveLinkedIssueAdvisoryContext's own, narrower, conditional fetch) so - net JSONbored-loopover-81f28ca/src/queue/submission-lock.ts :35
override async fetch(request: Request): Promise<Response> { - net JSONbored-loopover-81f28ca/src/queue/transient-locks.ts :109
const response = await ns.get(id).fetch("https://submission-lock/claim", { - net JSONbored-loopover-81f28ca/src/registry/sync.ts :13
// hung this whole sequential probe with no bound, since `fetch()` has no default timeout. - net JSONbored-loopover-81f28ca/src/review/alerts.ts :263
await fetch(webhookUrl, { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify(body), signal: AbortSignal.timeout(10_000) }); - net JSONbored-loopover-81f28ca/src/review/content-lane/netuid-verification.ts :19
// I/O is the injected fetch (`fetchImpl`, default global fetch) + a `readSecret` over a plain env - net JSONbored-loopover-81f28ca/src/review/content-lane/orchestrator.ts :348
// The entry's head/base fetch and the companion provider's head/base fetch (when present) are up to four - net JSONbored-loopover-81f28ca/src/review/content-lane/registry-logic.ts :420
* treated as a "degraded" near-empty fetch (the length-based heuristic is meaningful only for HTML/text). */ - net JSONbored-loopover-81f28ca/src/review/enrichment-wire.ts :90
fetch(url, { - net JSONbored-loopover-81f28ca/src/review/visual/actions-fallback.ts :431
const zipResponse = await fetch(`${base}/actions/artifacts/${artifact.id}/zip`, { - net JSONbored-loopover-81f28ca/src/review/visual/capture.ts :159
const response = await fetch(url, { signal: AbortSignal.timeout(EXTERNAL_SCREENSHOT_FETCH_TIMEOUT_MS) }); - net JSONbored-loopover-81f28ca/src/selfhost/ai.ts :345
const res = await fetch(`${base}/embeddings`, { - net JSONbored-loopover-81f28ca/src/selfhost/d1-size-probe.ts :286
// Threshold check only on a FRESH size reading: a failed fetch (carried-forward or -1 sample) must neither - net JSONbored-loopover-81f28ca/src/selfhost/qdrant-vectorize.ts :76
const res = await fetch(`${base}/collections/${collection}`, { - net JSONbored-loopover-81f28ca/src/selfhost/redeploy-companion-client.ts :7
import { createConnection } from "node:net"; - net JSONbored-loopover-81f28ca/src/selfhost/redis-ratelimit.ts :46
// A DO stub's fetch is called fetch-style: `.fetch(url, init)`. On Workers the runtime builds the Request; - net JSONbored-loopover-81f28ca/src/selfhost/s3-blob-store.ts :65
const response = await client.fetch(urlFor(key), { method: "GET", signal: AbortSignal.timeout(S3_FETCH_TIMEOUT_MS) }); - net JSONbored-loopover-81f28ca/src/server.ts :847
fetch(qdrantReadyzUrl(qdrantUrl), { - net JSONbored-loopover-81f28ca/src/services/agent-action-executor.ts :642
// Only a CONFIRMED non-"open" clears a duplicate-justified close -- a failed/ambiguous fetch (undefined) - net JSONbored-loopover-81f28ca/src/services/agent-approval-queue.ts :320
// Only a CONFIRMED non-"open" clears a duplicate-justified close -- a rejected/failed fetch (undefined) - net JSONbored-loopover-81f28ca/src/services/ai-review.ts :2075
response = await fetch("https://api.anthropic.com/v1/messages", { - net JSONbored-loopover-81f28ca/src/services/draft.ts :427
const response = await fetch("https://github.com/login/oauth/access_token", { - net JSONbored-loopover-81f28ca/src/services/notify-discord.ts :131
const response = await fetch(url, init); - net JSONbored-loopover-81f28ca/src/services/notify-pagerduty.ts :201
const response = await fetch(PAGERDUTY_EVENTS_URL, { - net JSONbored-loopover-81f28ca/src/services/review-recap.ts :172
const response = await fetch(resolved.url, { - net JSONbored-loopover-81f28ca/src/signals/focus-manifest-loader.ts :12
// Per-request ceiling for each raw-content candidate fetch (#7071), matching the bounded-fetch convention in
secrets 15
- secrets JSONbored-loopover-81f28ca/apps/loopover-ui/src/lib/config.server.ts :24
// stripeSecretKey: process.env.STRIPE_SECRET_KEY, - secrets JSONbored-loopover-81f28ca/packages/discovery-index/src/app.ts :59
const secret = normalizeSharedSecret(process.env.DISCOVERY_INDEX_SHARED_SECRET); - secrets JSONbored-loopover-81f28ca/packages/discovery-index/src/server.ts :21
const githubToken = process.env.DISCOVERY_INDEX_GITHUB_TOKEN ?? ""; - secrets JSONbored-loopover-81f28ca/packages/discovery-index/src/upload-sourcemaps.ts :157
POSTHOG_CLI_API_KEY: nonBlank(process.env.POSTHOG_CLI_API_KEY), - secrets JSONbored-loopover-81f28ca/packages/loopover-mcp/bin/loopover-mcp.ts :4530
const githubToken = optionText(options.githubToken) ?? process.env.GITHUB_TOKEN; - secrets JSONbored-loopover-81f28ca/packages/loopover-mcp/lib/telemetry.ts :64
const apiKey = trimmedOrUndefined(process.env.LOOPOVER_MCP_POSTHOG_API_KEY); - secrets JSONbored-loopover-81f28ca/packages/loopover-miner/lib/contribution-profile-extract.ts :332
options.githubToken ?? process.env.GITHUB_TOKEN, - secrets JSONbored-loopover-81f28ca/packages/loopover-miner/lib/live-issue-snapshot.ts :114
const githubToken = options.githubToken ?? process.env.GITHUB_TOKEN ?? ""; - secrets JSONbored-loopover-81f28ca/packages/loopover-miner/lib/loop-cli.ts :325
// pollPrDisposition (unlike runDiscover, which falls back to process.env.GITHUB_TOKEN internally) has NO - secrets JSONbored-loopover-81f28ca/packages/loopover-miner/lib/rejection-signal.ts :163
githubToken: typeof options.githubToken === "string" ? options.githubToken.trim() : (process.env.GITHUB_TOKEN ?? ""), - secrets JSONbored-loopover-81f28ca/review-enrichment/src/server.ts :60
const secret = normalizeSharedSecret(process.env.REES_SHARED_SECRET); - secrets JSONbored-loopover-81f28ca/review-enrichment/src/upload-sourcemaps.ts :163
POSTHOG_CLI_API_KEY: nonBlank(process.env.POSTHOG_CLI_API_KEY), - secrets JSONbored-loopover-81f28ca/src/selfhost/orb-collector.ts :251
const brokered = Boolean((process.env.ORB_ENROLLMENT_SECRET ?? "").trim()); - secrets JSONbored-loopover-81f28ca/src/selfhost/qdrant-vectorize.ts :52
if (process.env.QDRANT_API_KEY) h["api-key"] = process.env.QDRANT_API_KEY; - secrets JSONbored-loopover-81f28ca/src/server.ts :423
const redeployCompanionToken = nonBlank(process.env.REDEPLOY_COMPANION_TOKEN);
database 7
- db JSONbored-loopover-81f28ca/src/selfhost/pg-adapter.ts :10
import type { Pool, PoolClient } from "pg"; - db JSONbored-loopover-81f28ca/src/selfhost/pg-queue.ts :5
import type { Pool, QueryResult } from "pg"; - db JSONbored-loopover-81f28ca/src/selfhost/pg-vectorize.ts :15
import type { Pool } from "pg"; - db JSONbored-loopover-81f28ca/src/selfhost/redis-cache.ts :6
import type { Redis } from "ioredis"; - db JSONbored-loopover-81f28ca/src/selfhost/redis-ratelimit.ts :5
import type { Redis } from "ioredis"; - db JSONbored-loopover-81f28ca/src/selfhost/redis-response-cache.ts :10
import type { Redis } from "ioredis"; - db JSONbored-loopover-81f28ca/src/selfhost/redis-token-cache.ts :7
import type { Redis } from "ioredis";
install hooks 1
- postinstall JSONbored-loopover-81f28ca/apps/loopover-ui/package.json :10
fumadocs-mdx
declared dependencies 47
- @modelcontextprotocol/sdk@1.29.0
- @asteasolutions/zod-to-openapi@^8.5.0
- @cloudflare/puppeteer@^1.1.0
- @hono/node-server@^2.0.11
- @loopover/contract@^0.1.0
- @loopover/engine@*
- @octokit/core@^7.0.6
- @opentelemetry/api@^1.9.1
- @opentelemetry/exporter-trace-otlp-http@^0.221.0
- @opentelemetry/resources@^2.10.0
- @opentelemetry/sdk-trace-node@^2.10.0
- agents@^0.19.0
- aws4fetch@^1.0.20
- drizzle-orm@^0.45.2
- hono@^4.12.31
- ioredis@^5.11.1
- pg@^8.22.0
- posthog-node@^5.46.1
- sharp@^0.35.3
- yaml@^2.9.0
- zod@^4.4.3
- @cloudflare/vitest-pool-workers@^0.18.8
- @tktco/node-actionlint@^1.6.0
- @types/node@^24.13.3
- @types/pg@^8.20.0
- @types/pixelmatch@^5.2.6
- @types/pngjs@^6.0.5
- @types/semver@^7.7.1
- @vitest/coverage-v8@^4.1.10
- ajv@^8.20.0
- drizzle-kit@^0.31.10
- gifenc@^1.0.3
- git-cliff@^2.13.1
- github-actionlint@^1.7.12
- node-addon-api@^8.9.0
- node-gyp@^12.4.0
- pixelmatch@^7.2.0
- playwright@^1.61.1
- pngjs@^7.0.0
- semver@^7.8.5
- tree-sitter-wasms@^0.1.13
- tsx@^4.23.1
- turbo@^2.10.6
- typescript@^5.9.3
- vitest@^4.1.10
- web-tree-sitter@^0.20.8
- wrangler@^4.114.0
transport_posture 1
- network-listening, binds all interfaces, no auth detected JSONbored-loopover-81f28ca/test/unit/selfhost-observability-config.test.ts :249
host: "0.0.0.0",