AI Slop Code Risk Monitor

pascalorg/editor

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

Open-source 3D architectural editor with a local CLI, MCP tools, and practical workflows for humans and AI agents.

2.8 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for pascalorg/editor, a TypeScript project with 25,243 GitHub stars. SynthScan examined 1,007,733 lines of code across 4298 source files, recording 2293 pattern matches distributed across 11 syntactic categories. The legacy adjusted pattern signal is 2.8 (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.

2.8
Adjusted Signal
2.8
Raw Pattern Score
100%
Time Factor
2026-10-30
Last Push
25.2K
Stars
TypeScript
Language
1.0M
Lines of Code
4.3K
Files
2.3K
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 9.7/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.5/100 · LOW

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

Agent Over-Engineering Ratio 11.8/100 · LOW

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

PR Review Velocity Impact 13.3/100 · LOW

Which changes need focused human review? 2293 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 8HIGH 6MEDIUM 238LOW 2041

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 2293 distinct pattern matches across 11 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.

Hyper-Verbose Identifiers1857 hits · 1846 pts
SeverityFileLineSnippetContext
LOWscripts/validate-skills.ts534function deriveFurnitureNextAction(context: FurnitureDecisionContext): FurnitureNextActionKind {CODE
LOWscripts/openai-tool-annotation-policy.ts115export function validateOpenAiToolAnnotationPacket(value: unknown): string[] {CODE
LOWscripts/clawhub-ignore-policy.ts19export function validateClawHubIgnorePolicy(CODE
LOWscripts/public-skill-discovery-policy.ts35export function parseSkillDiscoveryMetadata(content: string): {CODE
LOWscripts/public-skill-discovery-policy.ts62export function collectSkillDiscoveryEntries(repositoryRoot: string): SkillDiscoveryEntry[] {CODE
LOWscripts/public-skill-discovery-policy.ts95export function validatePublicSkillDiscoverySurface(entries: SkillDiscoveryEntry[]): string[] {CODE
LOWscripts/cursor-plugin-policy.ts5export function validateCursorPluginPackage(root: string): string[] {CODE
LOWpackages/core/src/material-library.ts5003function notifyDynamicLibraryChange(): void {CODE
LOW⚡packages/core/src/material-library.ts5018export function unregisterLibraryMaterials(ids: string[]): void {CODE
LOW⚡packages/core/src/material-library.ts5026export function getDynamicLibraryMaterials(): MaterialCatalogItem[] {CODE
LOW⚡packages/core/src/material-library.ts5030export function subscribeLibraryMaterials(listener: () => void): () => void {CODE
LOW⚡packages/core/src/material-library.ts5037export function getLibraryMaterialsVersion(): number {CODE
LOWpackages/core/src/material-library.ts5100export function getLibraryMaterialIdFromRef(materialRef?: string | null) {CODE
LOWpackages/core/src/material-library.ts5106export function getSceneMaterialIdFromRef(materialRef?: string | null): string | null {CODE
LOWpackages/core/src/capture/schema.ts246export function normalizeCaptureSessionManifest(value: unknown): CaptureSessionDescriptor {CODE
LOWpackages/core/src/capture/schema.ts327function validateSurfaceMeshByteLength(CODE
LOWpackages/core/src/agent-operations/scene-materials.ts35export function resolveInlinePaintMaterial(CODE
LOWpackages/core/src/agent-operations/scene-materials.ts120export function referencedSceneMaterialIds(value: unknown): Set<string> {CODE
LOWpackages/core/src/agent-operations/material-preset.ts49export function unknownMaterialPresetRefusal(CODE
LOWpackages/core/src/agent-operations/add-object.ts646export function refuseParamsWithoutScript(CODE
LOWpackages/core/src/agent-operations/scene-view.ts91export function sceneViewPresentationLevel(CODE
LOWpackages/core/src/agent-operations/scene-view.ts109export function confirmSceneViewPresentation(CODE
LOWpackages/core/src/agent-operations/layout-clearance.ts76export function collectOccupiedFootprints(CODE
LOWpackages/core/src/agent-operations/layout-clearance.ts448export function generatePlacementCandidates(CODE
LOW…re/src/agent-operations/ceiling-object-observations.ts57export function ceilingObjectObservations(CODE
LOWpackages/core/src/agent-operations/plan-geometry.ts30export function projectWorldPointToWallLocalX(CODE
LOWpackages/core/src/contracts/reference-discovery.ts19export function discoverReferenceCandidates(schema: z.ZodType): string[] {CODE
LOWpackages/core/src/runtime/dependencies.ts61export function matchesCollectionPredicate(CODE
LOWpackages/core/src/runtime/apply.ts331export function applyPatchWithDependencies(CODE
LOWpackages/core/src/runtime/scene-runtime.ts270export function declareActionDependencies(CODE
LOWpackages/core/src/utils/ensure-scene-openings.ts5function ensureSceneOpeningsOnView(sourceNodes: Record<string, unknown>) {CODE
LOWpackages/core/src/utils/floor-follow-migration.ts7export function migrateFootprintFollowing(nodes: Record<string, AnyNode>): Record<string, AnyNode> {CODE
LOWpackages/core/src/utils/floor-plate-migration.ts94export function associateLegacyManualFloors(CODE
LOWpackages/core/src/utils/floor-plate-migration.ts358function absorbCompleteManualFloors(source: Record<string, AnyNode>) {CODE
LOWpackages/core/src/utils/floor-plate-migration.ts453function clearDanglingFloorSources(nodes: Record<string, AnyNode>) {CODE
LOWpackages/core/src/utils/legacy-material-slots.ts61export function migrateWallSurfaceMaterials(node: Record<string, any>, minted: MintedMaterials) {CODE
LOWpackages/core/src/utils/legacy-material-slots.ts106export function migrateSingleMaterialSlots(CODE
LOWpackages/core/src/utils/legacy-material-slots.ts134function migrateStructuralMaterialSlotsOnView(sourceNodes: Record<string, unknown>) {CODE
LOWpackages/core/src/utils/exterior-threshold-migration.ts64export function migrateExteriorThresholds(CODE
LOWpackages/core/src/utils/floor-opening-migration.ts39function migrateFloorOpeningNodesOnView(sourceNodes: Record<string, unknown>) {CODE
LOWpackages/core/src/utils/reconcile-structure-on-load.ts25function discardOrphanLegacySlabCuts(source: Record<string, unknown>) {CODE
LOWpackages/core/src/utils/clone-scene-graph.ts30function remapFloorOpeningReferences(node: AnyNode, ids: Map<string, string>) {CODE
LOWpackages/core/src/utils/vertical-scene-migration.ts42function migrateVerticalSceneNodesOnView(CODE
LOWpackages/core/src/utils/wall-face-migration.ts174function migrateWallFaceKeysOnView(sourceNodes: Record<string, unknown>) {CODE
LOWpackages/core/src/utils/wall-face-migration.ts259function migrateWallFaceBandsOnView(sourceNodes: Record<string, unknown>) {CODE
LOWpackages/core/src/utils/clone-scene-graph.test.ts150 function sceneWithControlledDimensions(): SceneGraph {CODE
LOWpackages/core/src/utils/structure-id.ts70export function reconcileStructureWithStableIds(CODE
LOWpackages/core/src/utils/wall-assembly-migration.ts17export function migrateLegacyWallAssemblies(nodes: Record<string, unknown>): WallAssemblyMigration {CODE
LOW…ckages/core/src/utils/owned-floor-opening-migration.ts126function materializeLegacyAutoOpeningsOnView(CODE
LOW…ckages/core/src/utils/owned-floor-opening-migration.ts350function migrateOwnedFloorOpeningsOnView(sourceNodes: Record<string, unknown>) {CODE
LOWpackages/core/src/utils/room-zone-migration.ts232function migrateCeilingRoomLinksOnView(CODE
LOWpackages/core/src/schema/compiled-node-parsers.ts34export function enableCompiledNodeParsers(value = true): void {CODE
LOWpackages/core/src/schema/compiled-node-parsers.ts39export function compiledNodeParsersEnabled(): boolean {CODE
LOWpackages/core/src/schema/nodes/dormer.ts139export function dormerWallFacePointToDormer(CODE
LOWpackages/core/src/schema/nodes/dormer.ts168export function getDormerWallVerticalBounds(CODE
LOWpackages/core/src/schema/nodes/dormer.ts197export function getDormerWallOpeningVerticalBounds(CODE
LOWpackages/core/src/schema/nodes/dormer.ts213export function getDormerWallHorizontalBoundsAtHeight(CODE
LOWpackages/core/src/schema/nodes/dormer.ts262export function getDormerDefaultWindowFace(CODE
LOWpackages/core/src/schema/nodes/dormer.ts271export function createDormerDefaultWindow(CODE
LOWpackages/core/src/schema/nodes/dormer.ts330export function getEffectiveDormerSurfaceMaterial(CODE
1797 more matches not shown…
Decorative Section Separators229 hits · 694 pts
SeverityFileLineSnippetContext
MEDIUM…/src/agent-operations/__fixtures__/build-room-cases.ts151// ─── Checks the table cannot state: minted ids and derived construction ───────────────────────COMMENT
MEDIUM…/src/agent-operations/__fixtures__/build-room-cases.ts688// ─── furnish_room ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…e/src/agent-operations/__fixtures__/node-read-cases.ts123// ─── Source ids: a slice of the converted /next house, as find_nodes' own tests seeded it ─────────COMMENT
MEDIUM…e/src/agent-operations/__fixtures__/node-read-cases.ts166// ─── Zones: what stands in one, by its plan point on the zone's level ──────────────────────────────COMMENT
MEDIUM…e/src/agent-operations/__fixtures__/node-read-cases.ts216// ─── Kinds, parents and the driveway Architect's method looks for ──────────────────────────────────COMMENT
MEDIUM…e/src/agent-operations/__fixtures__/node-read-cases.ts843// ─── describe_node: its ancestry, children, properties and sentence, from get_node ────────────────COMMENT
MEDIUMpackages/core/src/contracts/reference-inventory.ts142 // ─── Hierarchy ────────────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/contracts/reference-inventory.ts188 // ─── Hosts and supports ───────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/contracts/reference-inventory.ts353 // ─── Parts and topology owned by the node ─────────────────────────COMMENT
MEDIUMpackages/core/src/contracts/reference-inventory.ts371 // ─── Connections (explicit and derived) ───────────────────────────COMMENT
MEDIUMpackages/core/src/contracts/reference-inventory.ts406 // ─── Membership ───────────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/contracts/reference-inventory.ts502 // ─── Control ──────────────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/contracts/reference-inventory.ts584 // ─── Measurements and dimensions ──────────────────────────────────COMMENT
MEDIUMpackages/core/src/contracts/reference-inventory.ts597 // ─── Content: materials, assets, sources ──────────────────────────COMMENT
MEDIUMpackages/core/src/contracts/reference-inventory.ts711 // ─── Typed provenance (D5) ────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/contracts/reference-inventory.ts859// ─── metadata.* ───────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/contracts/reference-inventory.test.ts124// ─── metadata.* ───────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/contracts/reference-inventory.test.ts215// ─── Dependents and labels ────────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/contracts/reference-inventory.test.ts365// ─── Clone columns, executed ──────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/utils/wall-face-migration.test.ts19// ── The renderer before phase 7, restated as a pure oracle ───────────────────COMMENT
MEDIUMpackages/core/src/utils/wall-face-migration.test.ts117// ── The phase-7 renderer on a migrated node ──────────────────────────────────COMMENT
MEDIUMpackages/core/src/utils/wall-face-migration.test.ts145// ── Fixtures ────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/schema/types.ts160// ─── Fidelity F0 contract names (frozen, type-only) ─────────────────────COMMENT
MEDIUM…ckages/core/src/schema/__bench__/node-parsers.bench.ts71// ── sections ────────────────────────────────────────────────────────────────COMMENT
MEDIUM…ckages/core/src/schema/__bench__/node-parsers.bench.ts308// ── child mode ──────────────────────────────────────────────────────────────COMMENT
MEDIUM…ckages/core/src/schema/__bench__/node-parsers.bench.ts329// ── parent ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/registry/types.ts15// ─── GeometryContext ─────────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/registry/types.ts199// ─── FloorplanPalette ────────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/registry/types.ts238// ─── FloorplanGeometry ───────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/registry/types.ts301// ─── NodePort ────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/registry/types.ts350// ─── ToolHint ────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/registry/types.ts405// ─── ToolOption ──────────────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/registry/types.ts819// ─── FloorplanAffordance ─────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/registry/types.ts897// ─── FloorplanMoveTarget ─────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/registry/types.ts979// ─── Plugin manifest ─────────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/registry/types.ts1028// ─── NodeDefinition ──────────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/registry/types.ts1564// ─── Keyboard actions ────────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/registry/types.ts1599// ─── Presentation (tool palette + UI surface) ────────────────────────COMMENT
MEDIUMpackages/core/src/registry/types.ts1703// ─── Capabilities ────────────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/registry/types.ts2738// ─── Relations ───────────────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/registry/types.ts2751// ─── References (R3; F5a, F8 typed reference policy) ─────────────────COMMENT
MEDIUMpackages/core/src/registry/types.ts2853// ─── Evaluation context (F5a/§2.12; R2) ──────────────────────────────COMMENT
MEDIUMpackages/core/src/registry/types.ts2868// ─── Export identity (F4) ────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/registry/types.ts2914// ─── ParametricDescriptor ────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/registry/types.ts3072// ─── Affordance ──────────────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/registry/types.ts3085// ─── DragAction primitive ────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/registry/types.ts3102// ─── SceneApi ────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/registry/types.ts3157// ─── Registry surface ────────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/lib/below-grade-footprints.test.ts364// ── What the house covers ────────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/lib/below-grade-footprints.test.ts689// ── Site flatwork is not a floor of the house ───────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/lib/below-grade-footprints.test.ts755// ── A split level under a hill: every floor is judged at its own height ───────────────────────COMMENT
MEDIUMpackages/core/src/lib/below-grade-footprints.test.ts848// ── The same split level on a flat site: every floor against the datum ──────────────────────COMMENT
MEDIUMpackages/core/src/services/validate-dwv.ts92 // ── Per-segment slope (waste only) ──────────────────────────────COMMENT
MEDIUMpackages/core/src/services/validate-dwv.ts128 // ── Component-scoped trap rules ──────────────────────────────────COMMENT
MEDIUMpackages/core/src/services/snap.ts23// ─── Grid snap ────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/services/snap.ts104// ─── Angle snap ───────────────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/services/snap.ts182// ─── Top-level SnapServices facade ────────────────────────────────────COMMENT
MEDIUMpackages/core/src/services/alignment.ts258// ─── Anchor extractors (pure) ─────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/building/opening-style-presets.ts11// ── Doors ────────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/core/src/building/opening-style-presets.ts139// ── Windows ──────────────────────────────────────────────────────────────────COMMENT
169 more matches not shown…
Over-Commented Block173 hits · 169 pts
SeverityFileLineSnippetContext
LOWtooling/release/release.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/bun-preload-three.ts1import { resolveSync } from 'bun'COMMENT
LOWpackages/core/src/utils/heal-scene-graph.ts1// Repairs scene-graph corruption that pre-dates the source fixes, so existingCOMMENT
LOWpackages/core/src/schema/nodes/item.ts101 // from `items.userId`: null → 'library', current user → 'mine',COMMENT
LOWpackages/core/src/schema/nodes/item.ts161 // later edits that translate or slope the face.COMMENT
LOWpackages/core/src/schema/nodes/duct-segment.ts41 // Cross-section. Round is the branch default; rect is the trunk /COMMENT
LOWpackages/core/src/schema/nodes/duct-segment.ts61 // Construction material. Spiral is round rigid sheet metal with theCOMMENT
LOWpackages/core/src/schema/nodes/duct-fitting.ts61 // Adapter end profiles; omitted values use the fitting type's standard profiles.COMMENT
LOWpackages/core/src/schema/nodes/door.ts81 wallId: z.string().optional(),COMMENT
LOWpackages/core/src/schema/nodes/gutter.ts61 // "White" instead of "no material" on a freshly-placed gutter.COMMENT
LOWpackages/core/src/schema/nodes/gutter.ts101 // out the sides. Independent per-end because a downspout typicallyCOMMENT
LOWpackages/core/src/schema/nodes/roof-segment.ts121 .min(-Math.PI * 2)COMMENT
LOWpackages/core/src/schema/nodes/roof-segment.ts181 fascia: z.boolean().optional(),COMMENT
LOWpackages/core/src/schema/nodes/downspout.ts21 // every other roof accessory). gutterId then drives the LOOKUP ofCOMMENT
LOWpackages/core/src/schema/nodes/downspout.ts41 // metres. The downspout's offset elbows step it back from the eaveCOMMENT
LOWpackages/core/src/schema/nodes/turbine-vent.ts21 position: z.tuple([z.number(), z.number(), z.number()]).default([0, 0, 0]),COMMENT
LOWpackages/core/src/schema/nodes/fence.ts61 end: z.tuple([z.number(), z.number()]),COMMENT
LOWpackages/core/src/schema/nodes/box-vent.ts41 // cap's flange. Reads as the ventilation slot on real attic vents.COMMENT
LOWpackages/core/src/schema/nodes/duct-terminal.ts21 position: z.tuple([z.number(), z.number(), z.number()]).default([0, 0, 0]),COMMENT
LOWpackages/core/src/schema/nodes/window.ts41 wallId: z.string().optional(),COMMENT
LOWpackages/core/src/schema/nodes/shelf.ts81COMMENT
LOW…ore/src/hooks/spatial-grid/pointer-support-cap.test.ts261 // move an item over the deck near its far edge with an angled camera.COMMENT
LOWpackages/core/src/registry/types.ts301// ─── NodePort ────────────────────────────────────────────────────────COMMENT
LOWpackages/core/src/registry/types.ts821// 2D drag session contract for floor-plan interactions. The registryCOMMENT
LOWpackages/core/src/registry/types.ts901//COMMENT
LOWpackages/core/src/registry/subtree.ts1import { EXISTING_REFERENCES, METADATA_REFERENCES } from '../contracts/reference-inventory'COMMENT
LOWpackages/core/src/registry/registry.ts21// registry-version bump — plugins load asynchronously, after first mount.COMMENT
LOWpackages/core/src/registry/handles.ts1// In-world resize / move arrow descriptors. Each `NodeDefinition` mayCOMMENT
LOWpackages/core/src/lib/space-detection.ts101 wall.height == nullCOMMENT
LOWpackages/core/src/systems/wall/wall-assembly.ts961 return offsets[0]! >= offsets[offsets.length - 1]! ? offsets : offsets.slice().reverse()COMMENT
LOWpackages/core/src/systems/wall/wall-assembly.ts981// existing footprint miter exactly.COMMENT
LOWpackages/core/src/systems/wall/wall-mitering.ts181 }COMMENT
LOW…ore/src/systems/wall/__fixtures__/wall-assembly-ws5.ts521// need exactly the same treatment at an ARBITRARY offset from the centreline,COMMENT
LOW…ore/src/systems/wall/__fixtures__/wall-assembly-ws5.ts541// junctions), the corner it is NEARER to wins (priority = its index inCOMMENT
LOWpackages/core/src/services/opening-guides.ts1// Proximity / alignment guides for wall-hosted openings (doors, windows).COMMENT
LOWpackages/core/src/services/alignment.ts161 return { guides: result.guides, snap: { dx: dxL, dz: dzL } }COMMENT
LOWpackages/core/src/validation/validate-build-json.ts181 if (installedPluginsRaw !== undefined && installedPlugins === undefined) {COMMENT
LOWpackages/core/src/store/use-scene.ts921 mintedMaterials,COMMENT
LOWpackages/core/src/store/use-scene.ts981 } as AnyNodeCOMMENT
LOW…ckages/core/src/store/derived-writer-allowlist.test.ts1import { expect, test } from 'bun:test'COMMENT
LOWpackages/nodes/src/lean-to-extension/arc.ts1import type { LeanToExtensionNode, Point2D } from '@pascal-app/core'COMMENT
LOWpackages/nodes/src/dormer/definition.ts41// dragging one arrow grows the dormer outward from its own edge whileCOMMENT
LOWpackages/nodes/src/dormer/definition.ts241 dormerWallHeightHandle(),COMMENT
LOWpackages/nodes/src/dormer/csg-geometry.ts381 return geoCOMMENT
LOWpackages/nodes/src/wall/renderer.tsx121COMMENT
LOWpackages/nodes/src/wall/move-tool.tsx481 // Seeding a controller grab is not movement; don't snap an off-grid wallCOMMENT
LOWpackages/nodes/src/wall/floorplan.ts101// the assembly's layers, offset in from the footprint and mitered at the sameCOMMENT
LOWpackages/nodes/src/wall/floorplan-affordances.ts341 sceneState.markDirty(upd.id)COMMENT
LOWpackages/nodes/src/wall/pointer-transparency.test.ts21// the wall's own render mesh) land in event.intersections at the wall'sCOMMENT
LOWpackages/nodes/src/wall/move-endpoint-tool.tsx261 // fences, items, slabs, ceilings, columns), gathered once (the set isCOMMENT
LOWpackages/nodes/src/wall/move-endpoint-tool.tsx281 // handlers re-run the FULL snap pipeline immediately on a modifier changeCOMMENT
LOWpackages/nodes/src/wall/move-endpoint-tool.tsx541 // Drop the live overrides; the store write below is the source of truth.COMMENT
LOWpackages/nodes/src/slab/definition.ts381 module: () => import('./renderer'),COMMENT
LOWpackages/nodes/src/stair-segment/definition.ts61 (footprintBounds(n).minZ + footprintBounds(n).maxZ) / 2,COMMENT
LOWpackages/nodes/src/gutter/renderer.tsx221 ],COMMENT
LOWpackages/nodes/src/gutter/renderer.tsx281 // `node.position` is segment-local — the placement tool resolves theCOMMENT
LOWpackages/nodes/src/gutter/floorplan.ts61COMMENT
LOWpackages/nodes/src/gutter/geometry.ts101 // Z_cs = depth maps to mesh--X (left end).COMMENT
LOWpackages/nodes/src/gutter/geometry.ts121 // formula handles both. In mesh coords:COMMENT
LOWpackages/nodes/src/gutter/geometry.ts401 }COMMENT
113 more matches not shown…
Hallucination Indicators8 hits · 80 pts
SeverityFileLineSnippetContext
CRITICALwiki/blender-geometry-scripts.md25 bpy.context.scene.collection.objects.link(obj)CODE
CRITICALwiki/blender-geometry-scripts.md54 bpy.context.scene.collection.objects.link(top)CODE
CRITICALwiki/blender-geometry-scripts.md59 bpy.context.scene.collection.objects.link(lamp)CODE
CRITICALpackages/mcp/src/tools/author-scene.test.ts595 expect(room.floor.script.manifest.slots.map((s: { id: string }) => s.id)).toEqual(['wood'])CODE
CRITICAL…es/geometry-script/src/__fixtures__/blender/cabinet.py18 bpy.context.scene.collection.objects.link(obj)CODE
CRITICAL…es/geometry-script/src/__fixtures__/blender/cabinet.py44 bpy.context.scene.collection.objects.link(top)CODE
CRITICAL…es/geometry-script/src/__fixtures__/blender/cabinet.py48 bpy.context.scene.collection.objects.link(lamp)CODE
CRITICAL…iewer/src/systems/item-light/item-light-system.test.ts219 expect([...sprite.material.colorNode.value.array.slice(0, 6)].every(Number.isFinite)).toBe(true)CODE
Synthetic Comment Markers3 hits · 22 pts
SeverityFileLineSnippetContext
HIGHpackages/core/src/schema/material.ts30 // Coerce unknown presets (legacy/AI-generated data) to 'custom' instead of throwing.COMMENT
HIGHpackages/nodes/src/wall/renderer.tsx189 // Same for the dynamic library: AI-generated `library:mtl_*` presetsCOMMENT
HIGHpackages/viewer/src/systems/wall/wall-materials.ts205// cache. A `library:` ref carries its resolution state instead: AI-generatedCOMMENT
Modern AI Meta-Vocabulary7 hits · 21 pts
SeverityFileLineSnippetContext
MEDIUMpackages/mcp/src/tools/clear-scene.ts35 // Resetting drops the plugin state on every host; the scaffold is applied again with it.COMMENT
MEDIUMpackages/mcp/src/tools/clear-scene.test.ts16// accident is refused, as the hosted store refuses it (the scaffold: a site, a building, a level).COMMENT
MEDIUMpackages/mcp/src/tools/clear-scene.test.ts127 // The walls and what they derived (the room, its floor and ceiling) go; the scaffold stays.COMMENT
MEDIUMpackages/mcp/src/tools/clear-scene.test.ts139 // A fresh session loads what was stored: the scaffold and the one new wall.COMMENT
MEDIUMpackages/editor/src/components/editor/index.tsx1568 // scene: an editor that renders the default scaffold after a failed loadCOMMENT
MEDIUMpackages/editor/src/components/editor/index.tsx1569 // autosaves that scaffold over the real project.COMMENT
MEDIUMpackages/editor/src/hooks/use-auto-save.test.ts23 // scaffold and only learns the real size when the load lands. Without this,COMMENT
Cross-Language Confusion (JS/TS)3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHpackages/cli/src/bin/pascal.ts463 print(await readLogTail(paths.editorLog, lines))CODE
HIGHpackages/cli/src/bin/pascal.ts883 print(JSON.stringify(run, null, 2))CODE
HIGHpackages/cli/src/bin/pascal.ts982 print(json ? JSON.stringify(value, null, 2) : human)CODE
Fake / Example Data9 hits · 9 pts
SeverityFileLineSnippetContext
LOWscripts/i18n-literals.ts52 'placeholder',CODE
LOWscripts/i18n-literals.ts69 'placeholder',CODE
LOWscripts/claude-mcp-config-policy.test.ts79 pascal: { ...localServer, env: { PASCAL_API_KEY: 'placeholder' } },CODE
LOWscripts/claude-mcp-config-policy.test.ts147 pluginWithUserConfig({ pascal_api_key: { ...canonicalKeyOption, default: 'placeholder' } }),CODE
LOWscripts/i18n-pseudo-audit.ts79 for (const name of ['aria-label', 'title', 'placeholder', 'alt']) {CODE
LOW…s/core/src/agent-operations/__fixtures__/site-cases.ts160 mentions: ['placeholder'],CODE
LOW…s/core/src/agent-operations/__fixtures__/site-cases.ts620 mentions: ['placeholder'],CODE
LOW…src/agent-operations/__fixtures__/scene-check-cases.ts546 () => ground(...finished('placeholder', 'Room')),CODE
LOWpackages/nodes/src/item/definition.ts206 id: 'placeholder',CODE
AI Slop Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMpackages/nodes/src/door/floorplan.ts654 // the leaf. Built as a polygon so it's robust to wall orientation.COMMENT
MEDIUMpackages/ifc-converter/src/index.ts461 // type id — robust across web-ifc versions. IfcCircleProfileDef has aCOMMENT
Excessive Try-Catch Wrapping1 hit · 1 pts
SeverityFileLineSnippetContext
LOWpackages/geometry-script/bpy/runner.py157 except Exception as error:CODE
Deep Nesting1 hit · 1 pts
SeverityFileLineSnippetContext
LOWpackages/geometry-script/bpy/runner.py30CODE