diff --git a/packages/loopover-engine/src/advisory/gate-advisory.ts b/packages/loopover-engine/src/advisory/gate-advisory.ts index 2f956cf60a..aac5148f64 100644 --- a/packages/loopover-engine/src/advisory/gate-advisory.ts +++ b/packages/loopover-engine/src/advisory/gate-advisory.ts @@ -442,7 +442,7 @@ export function evaluateGateCheck(advisoryResult: Advisory, policy: GateCheckPol function evaluateGateCheckCore(advisoryResult: Advisory, policy: GateCheckPolicy = {}): GateCheckEvaluation { const warnings = advisoryResult.findings.filter((finding) => finding.severity === "warning"); - // App/infra state (repo not synced yet, PR not cached): gittensory cannot evaluate this PR yet, so the + // App/infra state (repo not synced yet, PR not cached): loopover cannot evaluate this PR yet, so the // gate is NEUTRAL (non-blocking) and re-evaluates automatically on the next sync/webhook. Never block a // contributor on the app's OWN state. if (advisoryResult.findings.some((finding) => isEvaluationBlocker(finding.code, policy))) { @@ -530,7 +530,7 @@ function evaluateGateCheckCore(advisoryResult: Advisory, policy: GateCheckPolicy function isEvaluationBlocker(code: string, policy: GateCheckPolicy): boolean { // pre_merge_check_unresolved: an enforced path-gated pre-merge check whose changed-file set could not be - // resolved — gittensory cannot evaluate it yet, so the gate is NEUTRAL (held) and re-evaluates on the next + // resolved — loopover cannot evaluate it yet, so the gate is NEUTRAL (held) and re-evaluates on the next // sync, rather than auto-merging past the unverified requirement or hard-closing on a transient miss. (#review-audit) if (code === "repo_not_registered" || code === "repo_not_seen" || code === "pr_not_cached" || code === "pre_merge_check_unresolved") return true; // cla_check_unresolved (#2564): the CLA-bot check-run's conclusion could not be resolved. Unlike the codes diff --git a/packages/loopover-engine/src/duplicate-winner.ts b/packages/loopover-engine/src/duplicate-winner.ts index c853c7fed3..e135e36a73 100644 --- a/packages/loopover-engine/src/duplicate-winner.ts +++ b/packages/loopover-engine/src/duplicate-winner.ts @@ -11,7 +11,7 @@ * caller can compute the winner ONCE per review run and thread the result boolean consistently into every * surface (advisory finding, close reason, slop, panels), so they agree by construction. * - * ELECTION ORDER: compare `linkedIssueClaimedAt`, the time gittensory first observed the PR claiming + * ELECTION ORDER: compare `linkedIssueClaimedAt`, the time loopover first observed the PR claiming * the issue. GitHub `pull_request.created_at` is intentionally not an ordering signal here: contributors can * edit an old placeholder PR to add a linked issue later, so creation time would let backdated claims steal * duplicate-winner credit from the PR that actually claimed the issue first. Sparse legacy rows that lack diff --git a/packages/loopover-engine/src/focus-manifest.ts b/packages/loopover-engine/src/focus-manifest.ts index 8f5e14e78d..7e68c35218 100644 --- a/packages/loopover-engine/src/focus-manifest.ts +++ b/packages/loopover-engine/src/focus-manifest.ts @@ -259,12 +259,12 @@ export type ConvergedFeatureKey = (typeof CONVERGED_FEATURE_KEYS)[number]; * `LOOPOVER_REVIEW_REPOS` allowlist default, so an operator who sets nothing keeps today's behavior. */ export type FocusManifestFeaturesConfig = { present: boolean } & Record; -/** Optional ecosystem/network integrations under the `experimental:` block — plugins that couple gittensory to +/** Optional ecosystem/network integrations under the `experimental:` block — plugins that couple loopover to * an external system rather than core review behavior. Starts with `gittensor` (the subnet mining-registry/ - * scoring integration gittensory originally shipped with); future plugins land in this same array as the + * scoring integration loopover originally shipped with); future plugins land in this same array as the * product broadens beyond gittensor. Deliberately a SEPARATE block from `features:` (converged review * capabilities) — an operator (especially self-host) should be able to see at a glance which toggles are "how - * gittensory reviews PRs" vs "which external network/ecosystem this instance opts into." */ + * loopover reviews PRs" vs "which external network/ecosystem this instance opts into." */ export const EXPERIMENTAL_PLUGIN_KEYS = ["gittensor"] as const; export type ExperimentalPluginKey = (typeof EXPERIMENTAL_PLUGIN_KEYS)[number]; @@ -277,7 +277,7 @@ export type FocusManifestExperimentalConfig = { present: boolean } & Record JSON.stringify(event)).join("\n"); } -/** In-memory appender for tests and local tooling — production persistence uses `gittensory-miner/lib/attempt-log.js`. */ +/** In-memory appender for tests and local tooling — production persistence uses `loopover-miner/lib/attempt-log.js`. */ export function createAttemptLogBuffer(): { append: (event: AttemptLogEvent) => NormalizedAttemptLogEvent; events: () => readonly NormalizedAttemptLogEvent[]; diff --git a/packages/loopover-engine/src/miner/cli-subprocess-driver.ts b/packages/loopover-engine/src/miner/cli-subprocess-driver.ts index 36d6cb907a..b8c66ee659 100644 --- a/packages/loopover-engine/src/miner/cli-subprocess-driver.ts +++ b/packages/loopover-engine/src/miner/cli-subprocess-driver.ts @@ -7,7 +7,7 @@ import { buildAllowlistedEnv, redactSecrets } from "../subprocess-env.js"; // CLI-subprocess CodingAgentDriver (#4266). Implements the CodingAgentDriver seam (#4262) by running the coding // agent (`claude`/`codex`) as a subprocess in the attempt's scoped working directory. The spawn primitive is -// INJECTED (a generalized version of src/selfhost/ai.ts's SpawnFn, redeclared here so gittensory-engine stays +// INJECTED (a generalized version of src/selfhost/ai.ts's SpawnFn, redeclared here so loopover-engine stays // standalone and doesn't import from src/), so the driver is fully testable without a real child process. Two // safety primitives are reused from subprocess-env.ts (#4284) rather than re-implemented: the child gets a STRICT // allowlisted env (never the full host env — a coding-agent subprocess is prompt-injectable), and any subprocess diff --git a/packages/loopover-engine/src/miner/iterate-policy.ts b/packages/loopover-engine/src/miner/iterate-policy.ts index 4d1ee4dcbf..e1aff55917 100644 --- a/packages/loopover-engine/src/miner/iterate-policy.ts +++ b/packages/loopover-engine/src/miner/iterate-policy.ts @@ -3,7 +3,7 @@ // from the loop MECHANICS (#2333) so the actual thresholds/rules are one small, individually-reviewable, pure // artifact -- `decideNextAction` needs no driver, no worktree, no IO to test. // -// STRATEGIC CONSTRAINTS this policy encodes (gittensory-miner-autonomy-roadmap): +// STRATEGIC CONSTRAINTS this policy encodes (loopover-miner-autonomy-roadmap): // - "never auto-submit (P4) before governor+caps (P5)" -- a mandatory clean predicted-gate PASS is the ONLY // path to `"handoff"`; an ambiguous or errored self-review downgrades to abandon, never optimistically // hands off. diff --git a/packages/loopover-engine/src/miner/local-write-tools.ts b/packages/loopover-engine/src/miner/local-write-tools.ts index 55ffe2ecf4..c9f4fdee8a 100644 --- a/packages/loopover-engine/src/miner/local-write-tools.ts +++ b/packages/loopover-engine/src/miner/local-write-tools.ts @@ -1,4 +1,4 @@ -// #780 miner write-tools. These build ACTION SPECS — gittensory supplies the content; the miner's OWN local +// #780 miner write-tools. These build ACTION SPECS — loopover supplies the content; the miner's OWN local // harness runs the command with its OWN GitHub credentials. LoopOver NEVER performs the write, so source code // and the write both stay on the miner's machine: the no-cloud-write boundary holds. Pure + deterministic: every // builder returns a self-contained, shell-safe spec and touches nothing. @@ -6,7 +6,7 @@ // MOVED HERE FROM src/mcp/local-write-tools.ts (#2337): this module has zero root-specific dependencies (it only // ever needed a generic JSON-value type), so it belongs in the shared "brain" layer alongside the rest of the // portable engine, not root-only. This is what lets packages/loopover-miner's own real driving-loop entrypoint -// construct the EXACT SAME open_pr command gittensory's MCP server would return, with zero network round-trip +// construct the EXACT SAME open_pr command loopover's MCP server would return, with zero network round-trip // and zero duplicated/drifting logic: both consumers import the same functions from this one place. Root's // src/mcp/local-write-tools.ts is now a thin re-export preserving every existing import path unchanged. @@ -37,7 +37,7 @@ function spec(action: string, description: string, inputs: Record { }); expect(scorer).toMatchObject({ mode: "external_command", - activeModel: "gittensory-deterministic", + activeModel: "loopover-deterministic", sourceTokenScore: 12, testTokenScore: 8, nonCodeTokenScore: 6,