AI Slop Code Risk Monitor

openfrontio/OpenFrontIO

SlopCodeMonitor badge for openfrontio/OpenFrontIO Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

Online browser-based RTS game

1.1 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for openfrontio/OpenFrontIO, a TypeScript project with 2,858 GitHub stars. SynthScan examined 639,424 lines of code across 1957 source files, recording 503 pattern matches distributed across 9 syntactic categories. The legacy adjusted pattern signal is 1.1 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

1.1
Adjusted Signal
1.1
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
2.9K
Stars
TypeScript
Language
639.4K
Lines of Code
2.0K
Files
503
Pattern Hits
2026-10-31
Scan Date
0.00
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 3.4/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 399 finding(s).

Hallucinated Dependency & Supply Chain Risk 0.1/100 · LOW

Are imports declared and package/API names verified? 14 finding(s).

Agent Over-Engineering Ratio 2.9/100 · LOW

Are wrappers, guards, and repeated structures necessary? 194 finding(s).

PR Review Velocity Impact 5.2/100 · LOW

Which changes need focused human review? 503 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 0HIGH 0MEDIUM 93LOW 410

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 503 distinct pattern matches across 9 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Decorative Section Separators90 hits · 267 pts
SeverityFileLineSnippetContext
MEDIUMtests/ImpassableTerrain.test.ts25// ─── Terrain byte constants (must match GameMapImpl) ────────────────────COMMENT
MEDIUMtests/ImpassableTerrain.test.ts136 // ── Terrain classification ──────────────────────────────────────────COMMENT
MEDIUMtests/ImpassableTerrain.test.ts156 // ── Ownership ────────────────────────────────────────────────────────COMMENT
MEDIUMtests/ImpassableTerrain.test.ts167 // ── Map edge / enclosure ─────────────────────────────────────────────COMMENT
MEDIUMtests/ImpassableTerrain.test.ts227 // ── Rail pathfinding ─────────────────────────────────────────────────COMMENT
MEDIUMtests/ImpassableTerrain.test.ts237 // ── Attacks ──────────────────────────────────────────────────────────COMMENT
MEDIUMtests/ImpassableTerrain.test.ts267 // ── Nukes: targeting ─────────────────────────────────────────────────COMMENT
MEDIUMtests/ImpassableTerrain.test.ts292 // ── Nukes: blast radius ───────────────────────────────────────────────COMMENT
MEDIUMtests/ImpassableTerrain.test.ts317 // ── Nukes: trajectory ─────────────────────────────────────────────────COMMENT
MEDIUMtests/ImpassableTerrain.test.ts359 // ── Water conversion guard ────────────────────────────────────────────COMMENT
MEDIUMtests/ImpassableTerrain.test.ts369 // ── Rendering ─────────────────────────────────────────────────────────COMMENT
MEDIUMtests/ImpassableTerrain.test.ts400 // ── Nation AI: nearby() next to impassable terrain ───────────────────COMMENT
MEDIUMtests/ImpassableTerrain.test.ts422 // ── Nukes: silo selection ─────────────────────────────────────────────COMMENT
MEDIUMtests/NationStructureBehavior.test.ts17// ── Fixed trade-gold values matching DefaultConfig ──────────────────────────COMMENT
MEDIUMtests/NationStructureBehavior.test.ts28// ── Factory helpers ──────────────────────────────────────────────────────────COMMENT
MEDIUMtests/NationStructureBehavior.test.ts98// ── startRound ───────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/NationStructureBehavior.test.ts113// ── buildReachableStations ───────────────────────────────────────────────────COMMENT
MEDIUMtests/NationStructureBehavior.test.ts282// ── tryBuildDefensePost — early-exit guards ──────────────────────────────────COMMENT
MEDIUMtests/NationStructureBehavior.test.ts315 // ── Medium 50% gate ──────────────────────────────────────────────────────COMMENT
MEDIUMtests/NationStructureBehavior.test.ts403// ── Defense posts (real simulation) ─────────────────────────────────────────COMMENT
MEDIUMtests/NationStructureBehavior.test.ts609// ── defensePostNeeded ────────────────────────────────────────────────────────COMMENT
MEDIUMtests/NationStructureBehavior.test.ts680// ── findDefensePostTile ──────────────────────────────────────────────────────COMMENT
MEDIUMtests/NationStructureBehavior.test.ts760// ── getAttackFrontTiles ──────────────────────────────────────────────────────COMMENT
MEDIUMtests/NationStructureBehavior.test.ts908// ── countDefensePostsNearFront ───────────────────────────────────────────────COMMENT
MEDIUMtests/NationStructureBehavior.test.ts958// ── doHandleStructures — crowded-map first-structure exception ──────────────COMMENT
MEDIUMtests/AiAttackBehaviorNukedTerritory.test.ts17// ─── Helpers ────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/AiAttackBehaviorNukedTerritory.test.ts184// ─── Tests ───────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/MapConsistency.test.ts11// ── Helpers ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/MapConsistency.test.ts98// ── Tests ────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/MapConsistency.test.ts430 // ── Compare nations ──────────────────────────────────────────────COMMENT
MEDIUMtests/MapConsistency.test.ts545 // ── Layer validation ────────────────────────────────────────────────────COMMENT
MEDIUMtests/perf/WaterNukeRebuildPerf.ts202// ── Scenarios ────────────────────────────────────────────────────────COMMENT
MEDIUMtests/perf/WaterNukeRebuildPerf.ts249// ── Report ───────────────────────────────────────────────────────────COMMENT
MEDIUMtests/perf/client/ClientRenderPipelinePerf.test.ts62// ───────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/perf/client/ClientRenderPipelinePerf.test.ts64// ───────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/perf/client/ClientRenderPipelinePerf.test.ts438// ───────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/perf/client/ClientRenderPipelinePerf.test.ts440// ───────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/perf/client/ClientRenderPipelinePerf.test.ts516// ───────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/perf/client/ClientRenderPipelinePerf.test.ts518// ───────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/perf/client/ClientRenderPipelinePerf.test.ts622// ───────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/perf/client/ClientRenderPipelinePerf.test.ts624// ───────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/perf/client/ClientRenderPipelinePerf.test.ts748// ───────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/perf/client/ClientRenderPipelinePerf.test.ts750// ───────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/perf/client/ClientRenderPipelinePerf.test.ts888// ───────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/perf/client/ClientRenderPipelinePerf.test.ts890// ───────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/perf/client/ClientRenderPipelinePerf.test.ts1010// ───────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/perf/client/ClientRenderPipelinePerf.test.ts1012// ───────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/perf/client/ClientRenderPipelinePerf.test.ts1093// ───────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/perf/client/ClientRenderPipelinePerf.test.ts1095// ───────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/perf/client/ClientRenderPipelinePerf.test.ts1320// ───────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/perf/client/ClientRenderPipelinePerf.test.ts1322// ───────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/perf/client/ClientRenderPipelinePerf.test.ts1405// ───────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/perf/client/ClientRenderPipelinePerf.test.ts1407// ───────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/perf/client/ClientRenderPipelinePerf.test.ts1467// ───────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/perf/client/ClientRenderPipelinePerf.test.ts1469// ───────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/client/SteamLinkModal.test.ts4// ─── Mocks ───────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/client/SteamLinkModal.test.ts518 // ─── Code-entry path (Task 17) ──────────────────────────────────────────COMMENT
MEDIUMtests/client/SteamLinkModal.test.ts803 // ─── The discard confirmation ──────────────────────────────────────────COMMENT
MEDIUMtests/client/AccountModal.rendering.test.ts4// ─── Mocks (mirrors tests/client/clan/ClanModalTestUtils.ts factories) ──────COMMENT
MEDIUMtests/client/clan/ClanModalTestUtils.ts6// ─── Mock factories ─────────────────────────────────────────────────────────COMMENT
30 more matches not shown…
Over-Commented Block257 hits · 257 pts
SeverityFileLineSnippetContext
LOWupdate.sh101# Ask the API who this container is (infra docs/cluster-registry.md,COMMENT
LOWupdate.sh281 -H "X-API-Key: $API_KEY" \COMMENT
LOWupdate.sh301 # until the static Worker exists, so this is additive and harmless today —COMMENT
LOWupdate.sh441# for the long-lived slots, with restart=always keeping it up. The twoCOMMENT
LOWupdate.sh461# non-main dev container at 25h, so without `always` a single missed nightlyCOMMENT
LOWupdate.sh501# have bookmarked; once the Worker owns it that clause simply never matches.COMMENT
LOWupdate.sh541COMMENT
LOWupdate.sh561# health wait in this script; this retry loop is the closest thing to one, andCOMMENT
LOWdeploy.sh101#COMMENT
LOWdeploy.sh141# is the API registry's answer, fetched on the box by update.sh's "register"COMMENT
LOWgenerate-nginx-upstream.sh1#!/bin/shCOMMENT
LOWvite.config.ts101 if (mime) res.setHeader("Content-Type", mime);COMMENT
LOWvite.config.ts121function steamLinkAliasRedirect(): Plugin {COMMENT
LOWvite.config.ts341 setupFiles: "./tests/setup.ts",COMMENT
LOW.oxfmtrc.json1{COMMENT
LOWmap-generator/codegen.go41 // the display name differs from the canonical (wire-format) name.COMMENT
LOWmap-generator/map_generator.go81}COMMENT
LOWmap-generator/map_generator.go621 terrain[coord.X][coord.Y].Type = replacementCOMMENT
LOWmap-generator/map_generator.go721type RGBA struct {COMMENT
LOWresources/public/ads.txt841# @ @@ @COMMENT
LOWtests/TranslationSystem.test.ts41 /^graphics_setting\.preset_(default|night|evans_pick|colorblind)(_desc)?$/,COMMENT
LOWtests/TranslationSystem.test.ts681 // 60s, raised from the 30s added in #3861 (May 2026). This is starvationCOMMENT
LOWtests/RenderDesktopDescriptor.test.ts21// built image where that directory is the build output. To exercise the realCOMMENT
LOWtests/MenuChrome.test.ts101 it("tolerates the promos element being absent entirely", () => {COMMENT
LOWtests/setup.ts1// Add global mocks or configuration here if neededCOMMENT
LOWtests/AiAttackBehaviorNukedTerritory.test.ts181 return player.outgoingAttacks().slice(before);COMMENT
LOWtests/GameUpdateUtils.test.ts501COMMENT
LOWtests/DoomsdayClockExecution.test.ts21import { vi } from "vitest";COMMENT
LOWtests/DoomsdayClockExecution.test.ts1381 // Gone with their ground, not merely swept up by death cleanup.COMMENT
LOWtests/core/pathfinding/PathFinding.WaterNukes.test.ts481 // 31 and 32 (cluster size 32). First carve a lake strictly in theCOMMENT
LOWtests/util/Wire.ts21 encodeLobbyMessage,COMMENT
LOWtests/client/TribeNameDebtEndToEnd.test.ts1import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";COMMENT
LOWtests/client/SteamLink.test.ts261 it("consumes the stash and still returns true when the modal element isn't present", () => {COMMENT
LOWtests/client/LangSelectorDefaultLocale.test.ts61 expect(defaultLocale()).toBe("et-EE");COMMENT
LOWtests/client/AccountModal.rendering.test.ts441 );COMMENT
LOWtests/client/Auth.steam.test.ts121 // Replaces "falls through to the guest/refresh flow when no Steam ticket isCOMMENT
LOWtests/client/Auth.steam.test.ts501 expect(getDesktopSessionState()).toEqual({COMMENT
LOWtests/client/GameServerApiCallers.test.ts81 // No server runs this build any more (the rollover moved on without thisCOMMENT
LOWtests/zbin/fuzz.test.ts1// Property-based and adversarial testing.COMMENT
LOWtests/zbin/golden.test.ts1// Golden wire vectors.COMMENT
LOW.claude/skills/release/scripts/commits.sh1#!/usr/bin/env bashCOMMENT
LOW.claude/skills/run-openfront/setup.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/buildAssetHashes.ts1import { createHash } from "crypto";COMMENT
LOWpackages/engine-lib/src/Util.ts261COMMENT
LOWpackages/engine-lib/src/configuration/Config.ts41 drainRampSeconds: 90, // ramps LINEARLY to the max over this longCOMMENT
LOWpackages/engine-lib/src/configuration/Config.ts61 rotSpecklePercent: 15,COMMENT
LOWpackages/engine-lib/src/game/DoomsdayClock.ts41COMMENT
LOWpackages/engine-api/src/Schemas.ts101// and share previews (GamePreviewBuilder). Widen freely; never narrow.COMMENT
LOWpackages/engine-api/src/Schemas.ts121// 2. The atlas has no glyphs up there anyway. Of the 128 Latin Extended-ACOMMENT
LOWpackages/engine-api/src/Schemas.ts221// required to win drops steadily from the 80% base at a fixed rate (seeCOMMENT
LOWpackages/engine-api/src/Schemas.ts301 // per-client traffic. See LiveStatsController / GameServer.handleLiveStats.COMMENT
LOWpackages/shared/src/ApiSchemas.ts101COMMENT
LOWpackages/shared/src/ApiSchemas.ts401 // The revision of the API's XP formula (computeXp). The client carries aCOMMENT
LOWpackages/shared/src/ApiSchemas.ts581 // release drops it. Nothing reads it.COMMENT
LOWpackages/shared/src/ApiSchemas.ts641 // /users/@me parse, which would make the player look signed out.COMMENT
LOWpackages/shared/src/ApiSchemas.ts681 .optional(),COMMENT
LOWpackages/shared/src/ApiSchemas.ts701 // behaviour here: on an old server a grant isCOMMENT
LOWpackages/shared/src/ApiSchemas.ts721 .nullable(),COMMENT
LOWpackages/shared/src/ApiSchemas.ts841// `claimed` — premium, got the bare name ("Ninja").COMMENT
LOWpackages/shared/src/ApiSchemas.ts861 base: z.string(),COMMENT
197 more matches not shown…
Hyper-Verbose Identifiers104 hits · 104 pts
SeverityFileLineSnippetContext
LOWtests/TranslationSystem.test.ts282function extractTranslationKeyLikeAttrs(content: string): Set<string> {CODE
LOWtests/TranslationSystem.test.ts293function isPotentialTranslationKey(CODE
LOWtests/TranslationSystem.test.ts321function isKeyNamedPropertyAssignment(node: ObjectProperty): boolean {CODE
LOWtests/DesktopUpdateStateSeeding.test.ts100function publishBeforeAnyConsumerMounts(state: DesktopUpdateState): void {CODE
LOWtests/AiAttackBehavior.test.ts86 function assignAlternatingLandTiles(CODE
LOWtests/AttackStats.test.ts122function expectWarGoldStatIsIncreasedAfterKill(CODE
LOWtests/NationRelation.test.ts100 function lowestRelationWhileEmbargoed(isTemporary: boolean): Relation {CODE
LOWtests/NameBoxCalculator.test.ts15function legacyLargestRectangleInHistogram(widths: number[]): Rectangle {CODE
LOWtests/NameBoxCalculator.test.ts44function legacyFindLargestInscribedRectangle(grid: boolean[][]): Rectangle {CODE
LOWtests/economy/ConstructionCost.test.ts46 function buildFirstCityUnderConstruction() {CODE
LOWtests/core/pathfinding/PathFinding.WaterNukes.test.ts122function expectMagnitudesMatchOracle(map: GameMap, passableCoastOnly: boolean) {CODE
LOWtests/pathfinding/playground/public/client.js365function scheduleSpatialQueryRecalc() {CODE
LOWtests/pathfinding/playground/api/pathfinding.ts43function getOrCreateAdapter(CODE
LOWtests/server/PublicAssetManifest.test.ts33 function getExpectedRelativeEmittedPath(CODE
LOWtests/perf/NukeTrajectoryPerf.ts96function startNukeTrajectoryRender(): {CODE
LOWtests/perf/BuildPreviewControllerPerf.ts143function createControllerDependencies(CODE
LOWtests/perf/BuildPreviewControllerPerf.ts291function unDiffedUpdateNukeTrajectoryPreview(CODE
LOWtests/perf/NameBoxCalculatorPerf.ts17function legacyLargestRectangleInHistogram(widths: number[]): Rectangle {CODE
LOWtests/perf/NameBoxCalculatorPerf.ts42function legacyFindLargestInscribedRectangle(grid: boolean[][]): Rectangle {CODE
LOWtests/perf/fullgame/GcProfiler.ts233export function summarizeAllocationProfile(CODE
LOWtests/client/UserSettingModalValues.test.ts10async function mountGameplayWithEasterEggs(): Promise<TestModal> {CODE
LOWtests/client/BoostTribeNameBadRequest.test.ts28function expectNoConsoleCallContains(needle: string) {CODE
LOWtests/client/PurchaseCosmeticPack.test.ts30function expectNoConsoleCallContains(needle: string) {CODE
LOWtests/client/DisableSafariPinchZoom.test.ts9function dispatchCancelableGestureEvent(CODE
LOWtests/client/PaymentsCheckout.test.ts36function expectNoConsoleCallContains(needle: string) {CODE
LOWtests/client/CosmeticLockerIntegration.test.ts110function expectNoNestedInteractiveControls(root: ParentNode): void {CODE
LOWtests/client/PlayerProfilePage.test.ts285 function expectUrlNotToReopenProfile() {CODE
LOWtests/client/MainInitialize.test.ts271 async function joinPublicLobbyDuringBootAuth(): Promise<void> {CODE
LOWtests/client/render/gl/PointLightPassSmoothing.test.ts14function makePointLightSmoothingHarness(CODE
LOWscripts/issue-lifecycle/rules/assignment-invariant.ts4export function enforceAssignmentInvariant(issue: Issue): Action[] {CODE
LOWscripts/split-packages/lib.ts24export function assertCompilerApiAvailable(): void {CODE
LOWpackages/engine-lib/src/Util.ts201export function calculateBoundingBoxCenter(CODE
LOWpackages/engine-lib/src/game/DoomsdayClock.ts139export function doomsdayClockRequiredTiles(CODE
LOWpackages/shared/src/ZbinWire.ts87export function decodeClientMessageUnvalidated(CODE
LOWpackages/engine/src/GameRunner.ts122export async function createGameRunnerFromSnapshot(CODE
LOWpackages/engine/src/game/GameUpdateUtils.ts198function attackArrayMembershipEqual(CODE
LOWpackages/engine/src/game/NameBoxCalculator.ts141function findLargestInscribedRectangleLegacy(grid: boolean[][]): Rectangle {CODE
LOWpackages/engine/src/game/NameBoxCalculator.ts179export function findLargestInscribedRectangle(CODE
LOWpackages/engine/src/game/NameBoxCalculator.ts211export function largestRectangleInHistogram(CODE
LOWpackages/engine/src/game/TransportShipUtils.ts45export function bestShoreDeploymentSource(CODE
LOW…ages/engine/src/execution/nation/NationNukePlanning.ts99export function isTrajectoryInterceptableBySam(CODE
LOW…ages/engine/src/execution/nation/NationNukePlanning.ts407export function findEnemySamsCoveringTile(CODE
LOWsrc/server/PublicAssetManifest.ts90function resolveDerivedAssetReference(CODE
LOWsrc/server/PublicAssetManifest.ts98function getEmittedAssetRelativePath(CODE
LOWsrc/server/PublicAssetManifest.ts214function getDerivedPublicAssetRenderer(CODE
LOWsrc/server/PublicAssetManifest.ts279function listHashedPublicAssetPaths(sourceDirs: string[]): string[] {CODE
LOWsrc/server/PublicAssetManifest.ts349export function clearPublicAssetManifestCache(): void {CODE
LOWsrc/server/PublicAssetManifest.ts353export function createHashedPublicAssetFiles(CODE
LOWsrc/server/RenderHtml.ts137export function clearAppShellContentCache(): void {CODE
LOWsrc/server/DesktopRelease.ts73function shellWouldRefuseManifestValue(value: string): boolean {CODE
LOWsrc/server/PlayerProfileRoute.ts17export function registerPlayerProfileRoute(opts: {CODE
LOWsrc/server/StaticAssetCache.ts7export function getStaticAssetCacheControl(CODE
LOWsrc/server/StaticAssetCache.ts25export function applyStaticAssetCacheControl(CODE
LOWsrc/server/Worker.ts1083export function getListingEligibilityError(CODE
LOWsrc/client/PortalTutorial.ts11export async function shouldStartPortalTutorial(): Promise<boolean> {CODE
LOWsrc/client/ServerList.ts260export function backendUnreachableConfirmed(): boolean {CODE
LOWsrc/client/ServerList.ts969export function versionedPathForMismatchedGame(CODE
LOWsrc/client/GameModeSelector.ts122export function multiplayerAllowedForBackend(backendOutage: boolean): boolean {CODE
LOWsrc/client/GameModeSelector.ts141export function shouldBlockMultiplayerAction(CODE
LOWsrc/client/GameModeSelector.ts184export function shouldBlockSocketSourcedAction(CODE
44 more matches not shown…
Verbosity Indicators14 hits · 29 pts
SeverityFileLineSnippetContext
LOWbuild-deploy.sh76# Step 1: Run build.shCOMMENT
LOW⚡tests/client/clan/ClanModal.handlers.test.ts194 // Step 1: Click Ban button to open confirm dialogCOMMENT
LOW⚡tests/client/clan/ClanModal.handlers.test.ts202 // Step 2: Find the confirm-dialog and fire its confirm event with reason textCOMMENT
LOW⚡tests/client/clan/ClanModal.handlers.test.ts221 // Step 1: Click Ban button to open confirm dialogCOMMENT
LOW⚡tests/client/clan/ClanModal.handlers.test.ts229 // Step 2: Fire cancel eventCOMMENT
LOW⚡tests/client/clan/ClanModal.handlers.test.ts243 // Step 1: Click Ban buttonCOMMENT
LOW⚡tests/client/clan/ClanModal.handlers.test.ts251 // Step 2: Confirm with empty textCOMMENT
LOW⚡tests/client/clan/ClanModal.handlers.test.ts279 // Step 1: Click Ban buttonCOMMENT
LOW⚡tests/client/clan/ClanModal.handlers.test.ts287 // Step 2: ConfirmCOMMENT
LOW⚡src/client/TransformHandler.ts93 // Step 1: Convert from Cell coordinates to game coordinatesCOMMENT
LOW⚡src/client/TransformHandler.ts98 // Step 2: Reverse the game center offset calculationCOMMENT
LOW⚡src/client/TransformHandler.ts104 // Step 3: Reverse the world point calculationCOMMENT
LOWsrc/client/render/gl/passes/FalloutLightPass.ts215 // Step 1: Extract fallout light in sub-tile spaceCOMMENT
LOWsrc/client/render/gl/passes/FalloutLightPass.ts253 // Step 2: Composite tile-space fallout into target lightmapCOMMENT
Structural Annotation Overuse14 hits · 29 pts
SeverityFileLineSnippetContext
LOWbuild-deploy.sh76# Step 1: Run build.shCOMMENT
LOW⚡tests/client/clan/ClanModal.handlers.test.ts194 // Step 1: Click Ban button to open confirm dialogCOMMENT
LOW⚡tests/client/clan/ClanModal.handlers.test.ts202 // Step 2: Find the confirm-dialog and fire its confirm event with reason textCOMMENT
LOW⚡tests/client/clan/ClanModal.handlers.test.ts221 // Step 1: Click Ban button to open confirm dialogCOMMENT
LOW⚡tests/client/clan/ClanModal.handlers.test.ts229 // Step 2: Fire cancel eventCOMMENT
LOW⚡tests/client/clan/ClanModal.handlers.test.ts243 // Step 1: Click Ban buttonCOMMENT
LOW⚡tests/client/clan/ClanModal.handlers.test.ts251 // Step 2: Confirm with empty textCOMMENT
LOW⚡tests/client/clan/ClanModal.handlers.test.ts279 // Step 1: Click Ban buttonCOMMENT
LOW⚡tests/client/clan/ClanModal.handlers.test.ts287 // Step 2: ConfirmCOMMENT
LOW⚡src/client/TransformHandler.ts93 // Step 1: Convert from Cell coordinates to game coordinatesCOMMENT
LOW⚡src/client/TransformHandler.ts98 // Step 2: Reverse the game center offset calculationCOMMENT
LOW⚡src/client/TransformHandler.ts104 // Step 3: Reverse the world point calculationCOMMENT
LOWsrc/client/render/gl/passes/FalloutLightPass.ts215 // Step 1: Extract fallout light in sub-tile spaceCOMMENT
LOWsrc/client/render/gl/passes/FalloutLightPass.ts253 // Step 2: Composite tile-space fallout into target lightmapCOMMENT
Fake / Example Data14 hits · 18 pts
SeverityFileLineSnippetContext
LOWtests/ApiSchemas.test.ts67 const result = GoogleUserSchema.safeParse({ email: "user@example.com" });CODE
LOWtests/ApiSchemas.test.ts70 expect(result.data.email).toBe("user@example.com");CODE
LOWtests/client/HashedEmail.test.ts9// sha256("user@example.com")COMMENT
LOW⚡tests/client/HashedEmail.test.ts44 await syncHashedEmail(me({ email: "user@example.com" }), true);CODE
LOW⚡tests/client/HashedEmail.test.ts52 await syncHashedEmail(me({ google: { email: "user@example.com" } }), true);CODE
LOW⚡tests/client/HashedEmail.test.ts60 await syncHashedEmail(me({ email: "user@example.com" }), true);CODE
LOW⚡tests/client/HashedEmail.test.ts88 await syncHashedEmail(me({ email: "user@example.com" }), false);CODE
LOW⚡tests/client/HashedEmail.test.ts96 await syncHashedEmail(me({ email: "user@example.com" }), true);CODE
LOW⚡tests/client/HashedEmail.test.ts104 await syncHashedEmail(me({ email: "user@example.com" }), true);CODE
LOW⚡tests/client/HashedEmail.test.ts105 await syncHashedEmail(me({ email: "user@example.com" }), true);CODE
LOW⚡tests/client/HashedEmail.test.ts112 const signIn = syncHashedEmail(me({ email: "user@example.com" }), true);CODE
LOWtests/client/clan/ClanModalTestUtils.ts103 user: { email: "test@test.com" },CODE
LOWtests/client/clan/ClanModal.rendering.test.ts69 user: { email: "test@test.com" },CODE
LOWsrc/client/LangSelector.ts336 applyAttributeTranslation("data-i18n-placeholder", "placeholder");CODE
Redundant / Tautological Comments7 hits · 10 pts
SeverityFileLineSnippetContext
LOWsetup.sh50# Check if Docker is already installedCOMMENT
LOWsetup.sh71# Check if openfront is already in docker groupCOMMENT
LOWsetup.sh97# Check if settings already exist in sysctl.confCOMMENT
LOWsetup.sh286# Check if containers are runningCOMMENT
LOWupdate.sh6# Check if environment file is providedCOMMENT
LOWupdate.sh15# Check if environment file existsCOMMENT
LOWdeploy.sh273# Check if update script existsCOMMENT
AI Slop Vocabulary2 hits · 4 pts
SeverityFileLineSnippetContext
MEDIUMpackage-lock.json8614 "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz",CODE
MEDIUMresources/lang/pt-BR.json1710 "firefox_warning": "O OpenFront.io não performa bem com navegadores baseados em Firefox\n(https://simple.wikipedia.oCODE
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMsetup.sh118# Create the shared Docker network used by Traefik and app containersCOMMENT