AI Slop Code Risk Monitor

sanity-io/sanity

SlopCodeMonitor badge for sanity-io/sanity Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

Sanity Studio – Rapidly configure content workspaces powered by structured content

1.8 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for sanity-io/sanity, a TypeScript project with 6,382 GitHub stars. SynthScan examined 806,296 lines of code across 6501 source files, recording 1265 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 1.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.

1.8
Adjusted Signal
1.8
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
6.4K
Stars
TypeScript
Language
806.3K
Lines of Code
6.5K
Files
1.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 7.4/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 1.0/100 · LOW

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

Agent Over-Engineering Ratio 6.0/100 · LOW

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

PR Review Velocity Impact 8.0/100 · LOW

Which changes need focused human review? 1265 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 3HIGH 3MEDIUM 21LOW 1238

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 1265 distinct pattern matches across 13 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 Identifiers971 hits · 986 pts
SeverityFileLineSnippetContext
LOW…ges/@repo/bundle-manager/src/commands/uploadBundles.ts272function getMonorepoPackageVersions(): Record<string, string> {CODE
LOW…epo/release-notes/src/utils/pullRequestReleaseNotes.ts33export async function extractReleaseNotesFromPrBody(CODE
LOW…epo/release-notes/src/utils/pullRequestReleaseNotes.ts61function sectionContainsHorizontalRule(blocks: PortableTextMarkdownBlock[]): boolean {CODE
LOW…epo/release-notes/src/utils/pullRequestReleaseNotes.ts99export function shouldExcludeReleaseNotes(blocks: PortableTextMarkdownBlock[]): boolean {CODE
LOWpackages/@repo/release-notes/src/utils/ids.ts8export function getSanityDocumentIdsForBaseVersion(baseVersion: string) {CODE
LOW…e-notes/src/utils/generateHumanReadableReleaseNotes.ts11export async function generateHumanReadableReleaseNotes({CODE
LOW…o/release-notes/src/utils/parseRenovateReleaseNotes.ts30export function parseRenovateReleaseNotes(prBody: string): NormalizedMarkdownBlock[] {CODE
LOW…ease-notes/src/commands/createOrUpdateChangelogDocs.ts36export async function createOrUpdateChangelogDocs(args: {CODE
LOWpackages/@repo/debug-proxy/src/requestScenarios.ts29export function intermittentServiceErrors(CODE
LOW…@sanity/types/src/globalDocumentReference/asserters.ts5export function isGlobalDocumentReference(CODE
LOWpackages/@sanity/types/src/markers/asserters.ts11export function isValidationWarningMarker(CODE
LOWpackages/@sanity/types/src/mutations/asserters.ts19export function isCreateIfNotExistsMutation(CODE
LOWpackages/@sanity/types/src/mutations/asserters.ts26export function isCreateOrReplaceMutation(CODE
LOW⚡packages/@sanity/types/src/schema/asserters.ts65export function isArrayOfBlocksSchemaType(CODE
LOW⚡packages/@sanity/types/src/schema/asserters.ts72export function isArrayOfObjectsSchemaType(CODE
LOW⚡packages/@sanity/types/src/schema/asserters.ts79export function isArrayOfPrimitivesSchemaType(type: unknown): type is ArraySchemaType {CODE
LOW⚡packages/@sanity/types/src/schema/asserters.ts84export function isArrayOfStringsSchemaType(type: unknown): type is ArraySchemaType<string> {CODE
LOWpackages/@sanity/types/src/schema/asserters.ts143export function isDeprecationConfiguration(type: unknown): type is DeprecationConfiguration {CODE
LOWpackages/@sanity/types/src/schema/asserters.ts149export function isCrossDatasetReferenceSchemaType(CODE
LOWpackages/@sanity/types/src/schema/asserters.ts200export function isBlockChildrenObjectField(field: unknown): field is BlockChildrenObjectField {CODE
LOWpackages/@sanity/util/src/paths.ts278function normalizeIndexTupleSegment(segment: string): IndexTuple {CODE
LOW…/concurrency-limiter/createClientConcurrencyLimiter.ts51export function createClientConcurrencyLimiter(CODE
LOW…/createClientConcurrencyLimiter.abortSignalAny.test.ts49function describeSignalCombination() {CODE
LOW…ages/@sanity/vision/src/util/apiVersionCapabilities.ts60export function getUnsatisfiedApiVersionCapability(CODE
LOWpackages/@sanity/vision/src/util/getBlobUrl.ts19function getMemoizedBlobUrlResolver(mimeType: string, stringEncoder: (input: any) => string) {CODE
LOW…ges/@sanity/vision/src/components/VisionGui.styled.tsx56export function InputBackgroundContainerLeft(props: ComponentProps<typeof Box>) {CODE
LOW…s/@sanity/vision/src/components/PerspectivePopover.tsx11function PerspectivePopoverContent(props: ComponentProps<typeof Box>) {CODE
LOWpackages/@sanity/vision/src/vista/util/groqFunctions.ts608export function explainDeclarationSyntaxError(CODE
LOW…es/@sanity/vision/src/vista/util/groqFunctionEditor.ts344export function createGroqFunctionExtensions(labels: GroqEditorLabels): Extension[] {CODE
LOWpackages/@sanity/vision/src/vista/util/groqWasm.ts75export function createByteOffsetConverter(text: string): (byteOffset: number) => number {CODE
LOW…y/vision/src/vista/hooks/useFollowNavbarPerspective.ts12export function useFollowNavbarPerspective(CODE
LOW…y/schema/src/manifest/createSchemaFromManifestTypes.ts45export function createSchemaFromManifestTypes(CODE
LOW…kages/@sanity/schema/src/manifest/workspaceSchemaId.ts95export function createStoredWorkspaceSchemaPayload(args: {CODE
LOW…nity/schema/src/manifest/extractManifestSchemaTypes.ts105export async function extractCreateWorkspaceManifest(CODE
LOW…nity/schema/src/manifest/extractManifestSchemaTypes.ts134export function extractManifestSchemaTypes(schema: Schema): ManifestSchemaType[] {CODE
LOW…nity/schema/src/manifest/extractManifestSchemaTypes.ts150function transformCommonTypeFields(CODE
LOW…nity/schema/src/manifest/extractManifestSchemaTypes.ts352function transformCrossDatasetReference(CODE
LOW…nity/schema/src/manifest/extractManifestSchemaTypes.ts369function transformGlobalDocumentReference(CODE
LOW…ges/@sanity/schema/src/manifest/manifestTypeHelpers.ts56export function isGlobalDocumentReference(CODE
LOW…ges/@sanity/schema/src/manifest/manifestTypeHelpers.ts129function getSchemaTypeInternalOwnProps(type: SchemaType): InternalOwnProps | undefined {CODE
LOW…ages/@sanity/schema/src/legacy/searchConfig/resolve.ts116function getCachedStringFieldPaths(type: any, maxDepth: number) {CODE
LOW…ages/@sanity/schema/src/legacy/searchConfig/resolve.ts148function getPortableTextFieldPaths(type: any, maxDepth: any) {CODE
LOW…ages/@sanity/schema/src/legacy/searchConfig/resolve.ts155export function resolveSearchConfigForBaseFieldPaths(type: any, maxDepth?: number) {CODE
LOW…y/schema/src/sanity/validateMediaLibraryAssetAspect.ts32export function validateMediaLibraryAssetAspect(CODE
LOWpackages/@sanity/schema/src/sanity/groupProblems.ts18function createTypeWithMembersProblemsAccessor(CODE
LOWpackages/@sanity/schema/src/sanity/extractSchema.ts394 function createReferenceTypeNodeDefintion(CODE
LOW⚡packages/@sanity/schema/src/sanity/extractSchema.ts545function isCrossDatasetReferenceType(typeDef: SanitySchemaType) {CODE
LOW⚡packages/@sanity/schema/src/sanity/extractSchema.ts548function isGlobalDocumentReferenceType(typeDef: SanitySchemaType) {CODE
LOW⚡packages/@sanity/schema/src/sanity/extractSchema.ts557function createStringTypeNodeDefintion(CODE
LOWpackages/@sanity/schema/src/sanity/extractSchema.ts575function createNumberTypeNodeDefintion(CODE
LOW…anity/schema/src/sanity/validation/types/deprecated.ts4export function validateDeprecatedProperties(type: any): SchemaValidationResult[] {CODE
LOW…sanity/validation/utils/validateNonObjectFieldsProp.ts6export function validateNonObjectFieldsProp(CODE
LOW…ema/src/sanity/validation/utils/validateNoCallbacks.ts24function validateConditionalProperties(typeDef: any): SchemaValidationResult[] {CODE
LOW…ema/src/sanity/validation/utils/validateNoCallbacks.ts185function validateOtherFunctionOptions(options: any): SchemaValidationResult[] {CODE
LOW…ema/src/sanity/validation/utils/validateNoCallbacks.ts198function validateFieldsetsAndGroups(typeDef: any): SchemaValidationResult[] {CODE
LOWpackages/@sanity/schema/src/descriptors/uploadSchema.ts349export async function prepareEncodedSchemaUpload(CODE
LOWpackages/@sanity/schema/src/descriptors/convert.ts591function extractValueFromListOption(option: unknown, typeDef: Record<string, unknown>): unknown {CODE
LOWpackages/@sanity/schema/src/descriptors/sync.ts23export function processSchemaSynchronization(CODE
LOW…s/@sanity/validation/src/resolveConditionalProperty.ts11export function resolveConditionalProperty(CODE
LOWpackages/@sanity/validation/src/validateDocument.ts82function extractFieldRulesFromRule(rule: Rule): NonNullable<Rule['_fieldRules']>[] {CODE
911 more matches not shown…
Fake / Example Data105 hits · 120 pts
SeverityFileLineSnippetContext
LOW.agents/skills/playwright-cli/SKILL.md38playwright-cli fill e5 "user@example.com"CODE
LOW.agents/skills/playwright-cli/SKILL.md233playwright-cli fill e1 "user@example.com"CODE
LOW…ts/skills/playwright-cli/references/test-generation.md21playwright-cli fill e1 "user@example.com"CODE
LOW…ts/skills/playwright-cli/references/test-generation.md23# await page.getByRole('textbox', { name: 'Email' }).fill('user@example.com');COMMENT
LOW…ts/skills/playwright-cli/references/test-generation.md44 await page.getByRole('textbox', {name: 'Email'}).fill('user@example.com')CODE
LOW…gents/skills/playwright-cli/references/running-code.md214 await page.fill('input[name=email]', 'user@example.com');CODE
LOW⚡…ents/skills/playwright-cli/references/storage-state.md238playwright-cli fill e1 "user@example.com"CODE
LOW…skills/playwright-cli/references/session-management.md17playwright-cli -s=auth fill e1 "user@example.com"CODE
LOW…s/playwright-best-practices/advanced/authentication.md198 email: 'admin@example.com',CODE
LOW…ls/playwright-best-practices/advanced/multi-context.md53 await popup.getByLabel('Email').fill('user@example.com')CODE
LOW…nts/skills/playwright-best-practices/core/test-data.md253 {email: 'user@example.com', password: 'pass123', expected: 'Dashboard'},CODE
LOW…nts/skills/playwright-best-practices/core/test-data.md254 {email: 'admin@example.com', password: 'admin123', expected: 'Admin Panel'},CODE
LOW…nts/skills/playwright-best-practices/core/test-data.md432 const user = await seedUser({name: 'John Doe'})CODE
LOW…nts/skills/playwright-best-practices/core/test-data.md435 await expect(page.getByText('John Doe')).toBeVisible()CODE
LOW…ls/playwright-best-practices/core/page-object-model.md71 await loginPage.login('user@example.com', 'password123')CODE
LOW…ls/playwright-best-practices/core/page-object-model.md211const dashboardPage = await loginPage.login('user@example.com', 'pass')CODE
LOW…ls/playwright-best-practices/core/page-object-model.md244await loginPage.login('user@example.com', 'password')CODE
LOW…ls/playwright-best-practices/core/page-object-model.md310 await loginPage.login('user@example.com', 'password')CODE
LOW…kills/playwright-best-practices/core/fixtures-hooks.md103 defaultUser: {email: 'admin@example.com', password: 'admin123'},CODE
LOW…kills/playwright-best-practices/core/fixtures-hooks.md280 await login(page, 'admin@example.com', 'adminpass')CODE
LOW…kills/playwright-best-practices/core/fixtures-hooks.md285 await login(page, 'user@example.com', 'userpass')CODE
LOW…s/skills/playwright-best-practices/core/annotations.md202 await page.getByLabel('Name').fill('John Doe')CODE
LOW…s/playwright-best-practices/core/assertions-waiting.md47await expect(page.getByLabel('Email')).toHaveValue('user@example.com')CODE
LOW…ht-best-practices/testing-patterns/forms-validation.md156 await page.getByLabel('Phone').fill('555-1234')CODE
LOW…ht-best-practices/testing-patterns/forms-validation.md197 await page.getByLabel('Phone').fill('555-1234')CODE
LOW…ht-best-practices/testing-patterns/forms-validation.md482| `await page.fill('#email', 'test@test.com')` | CSS selector is fragile |CODE
LOW…ght-best-practices/testing-patterns/file-operations.md71 expect(content).toContain('John Doe')CODE
LOW…ht-best-practices/testing-patterns/security-testing.md176 await page.getByLabel('Email').fill('user@example.com')CODE
LOW…ht-best-practices/testing-patterns/security-testing.md203 await page1.getByLabel('Email').fill('user@example.com')CODE
LOW…ht-best-practices/testing-patterns/security-testing.md213 await page2.getByLabel('Email').fill('user@example.com')CODE
LOW…ht-best-practices/testing-patterns/security-testing.md232 await page.getByLabel('Email').fill('user@example.com')CODE
LOWexamples/functions/sentiment-analysis/document.json5 "name": "John Doe",CODE
LOW⚡scripts/generate-documents/utils/lorem.ts4 `Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna CODE
LOW⚡scripts/generate-documents/utils/lorem.ts4 `Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna CODE
LOW⚡scripts/generate-documents/utils/lorem.ts8 * Generate a Uint8Array of lorem ipsum text of the given byte sizeCOMMENT
LOWscripts/generate-documents/utils/lorem.ts21 * Generate a lorem ipsum string of the given byte sizeCOMMENT
LOWpackages/@repo/release-notes/src/utils/uploadImages.ts29 let asset = {_id: 'placeholder'}CODE
LOWpackages/sanity/test/form/renderVideoInput.tsx25 fields: [{name: 'placeholder', type: 'string', hidden: true}],CODE
LOWpackages/sanity/test/descriptors/schema.test.tsx501 describe('placeholder', () => {CODE
LOW…/comment-input/__tests__/CommentInput.browser.test.tsx32 email: 'test@test.com',CODE
LOW…nput/__tests__/InlineComposerMentions.browser.test.tsx32 email: 'test@test.com',CODE
LOW…c/core/studio/copyPaste/__test__/transferValue.test.ts284 client: createMockClient([{_type: 'editor', _id: 'yyy', name: 'John Doe'}]),CODE
LOW…c/core/studio/copyPaste/__test__/transferValue.test.ts326 {_type: 'editor', _id: 'versions.rSomeRelease.yyy', name: 'John Doe'},CODE
LOW…c/core/studio/copyPaste/__test__/transferValue.test.ts363 client: createMockClient([{_type: 'editor', _id: 'drafts.yyy', name: 'John Doe'}]),CODE
LOW…c/core/studio/copyPaste/__test__/transferValue.test.ts435 client: createMockClient([{_type: 'editor', _id: 'yyy', name: 'John Doe'}]),CODE
LOW…c/core/studio/copyPaste/__test__/transferValue.test.ts502 client: createMockClient([{_type: 'editor', _id: 'yyy', name: 'John Doe'}]),CODE
LOW…c/core/studio/copyPaste/__test__/transferValue.test.ts541 client: createMockClient([{_type: 'editor', _id: 'yyy', name: 'John Doe'}]),CODE
LOW…c/core/studio/copyPaste/__test__/transferValue.test.ts583 client: createMockClient([{_type: 'editor', _id: 'yyy', name: 'John Doe'}]),CODE
LOW…c/core/studio/copyPaste/__test__/transferValue.test.ts672 client: createMockClient([{_type: 'editor', _id: 'yyy', name: 'John Doe'}]),CODE
LOW…anity/src/core/studio/copyPaste/__test__/mockClient.ts61// { _id: 'doc2', _type: 'author', name: 'John Doe' }COMMENT
LOW…c/core/studio/copyPaste/__test__/useCopyPaste.test.tsx52 {_id: 'doc1', _type: 'author', name: 'John Doe'},CODE
LOW…c/core/studio/copyPaste/__test__/useCopyPaste.test.tsx53 {_id: 'editor1', _type: 'editor', name: 'John Doe'},CODE
LOW…c/core/studio/copyPaste/__test__/useCopyPaste.test.tsx1193 value: 'John Doe',CODE
LOW…udio/workspaces/__tests__/useVisibleWorkspaces.test.ts71 email: 'admin@example.com',CODE
LOW…udio/workspaces/__tests__/useVisibleWorkspaces.test.ts192 email: 'admin@example.com',CODE
LOW…spaceMatcher/__tests__/ActiveWorkspaceMatcher.test.tsx63 email: 'test@test.com',CODE
LOW…ctiveWorkspaceMatcher/__tests__/matchWorkspace.test.ts18 email: 'test@test.com',CODE
LOW…o/components/navbar/new-document/NewDocumentButton.tsx149 'placeholder': placeholder,CODE
LOW…/new-document/__tests__/NewDocumentListOption.test.tsx33 currentUser: {id: 'user1', name: 'Test User', email: 'test@test.com', role: '', roles: []},CODE
LOW…mponents/dialog/__tests__/ReleaseForm.browser.test.tsx62 await expect.element(title).toHaveAttribute('placeholder', 'Untitled release')CODE
45 more matches not shown…
Over-Commented Block107 hits · 107 pts
SeverityFileLineSnippetContext
LOW…nity-ui-migration-progress/scripts/measure-progress.sh1#!/usr/bin/env bashCOMMENT
LOWpackages/@repo/pandacss/src/panda.css.d.ts1// The `types` condition of the `./panda.css` export: a side-effect import of the stylesheetCOMMENT
LOWpackages/@repo/package.bundle/src/package.bundle.ts41 styles: 'panda' | 'css-modules'COMMENT
LOWpackages/@repo/debug-proxy/src/cli.ts221//COMMENT
LOWpackages/@sanity/vision/src/styles.css.d.ts1// Type declarations for `styles.css`, so its side-effect import type-checks like the `bundle.css`COMMENT
LOWpackages/@sanity/vision/src/hooks/useSavedQueries.ts121 const [pendingSaves, setPendingSaves] = useState(0)COMMENT
LOWpackages/@sanity/schema/example/test.js21assert.equal(person.fields[ADDRESS].name, 'address')COMMENT
LOWpackages/@sanity/schema/example/test.js41// console.log(relation)COMMENT
LOW…es/@sanity/schema/src/sanity/validation/types/array.ts41 return quote(value)COMMENT
LOWpackages/@sanity/mutator/test/Matcher.test.ts21COMMENT
LOWpackages/sanity/panda.config.ts1import {defineConfig, type Config} from '@pandacss/dev'COMMENT
LOWpackages/sanity/tsdown.config.ts21 'dashboard.js',COMMENT
LOWpackages/sanity/tsdown.config.ts41 // the way the layers did and leaves every selector as specific as it was.COMMENT
LOWpackages/sanity/test/vitest.setup.ts1// Support for @testing-library/jest-dom via vitestCOMMENT
LOWpackages/sanity/test/setup/idleCallback.ts1// Headless Chromium opens an idle period only after it has produced a frame.COMMENT
LOWpackages/sanity/test/setup/browser.ts1// Browser test setup - runs in a real browser, so no need forCOMMENT
LOWpackages/sanity/test/setup/browser.ts21import {afterEach, beforeEach} from 'vitest'COMMENT
LOWpackages/sanity/test/setup/browser.ts41//COMMENT
LOWpackages/sanity/test/setup/browser.ts61//COMMENT
LOWpackages/sanity/test/browser/testHelpers.ts901 // Menus and listboxes (e.g. the comment mentions popover) are positionedCOMMENT
LOWpackages/sanity/test/browser/testHelpers.ts961 // can open. Synthetic `mouseover` does not clear CSS `:hover`; only aCOMMENT
LOWpackages/sanity/test/descriptors/utils.ts101 // Coerce titles which were added during extractManifestSchemaTypes. This can happen when theCOMMENT
LOW…kages/sanity/src/core/studio/StudioLayoutComponent.tsx121 tools,COMMENT
LOW…anity/src/core/studio/copyPaste/__test__/mockClient.ts61// { _id: 'doc2', _type: 'author', name: 'John Doe' }COMMENT
LOWpackages/sanity/src/core/studio/workspaces/corsCheck.ts81 .then((result) => {COMMENT
LOW…nity/src/core/studio/workspaces/WorkspacesProvider.tsx161 // 2. invalid-session 401 → forced logout: only 401s the API explicitlyCOMMENT
LOW…nity/src/core/studio/workspaces/WorkspacesProvider.tsx321 // `null` initial value (rather than undefined) so react-rx provides aCOMMENT
LOW…/sanity/src/core/studio/screens/ConfigErrorsScreen.tsx1export function ConfigErrorsScreen() {COMMENT
LOW…/sanity/src/core/studio/screens/ConfigErrorsScreen.tsx21 // <Card shadow={1}>COMMENT
LOW…dio/components/navbar/free-trial/FreeTrialProvider.tsx41 // Allows us to override the current state of the trial toCOMMENT
LOWpackages/sanity/src/core/form/useDocumentForm.ts401 const isLocked = editState.transactionSyncLock?.enabledCOMMENT
LOW…c/core/form/studio/assetSourceMediaLibrary/uploader.ts1// The picker-mode uploader is generic (the mounted source component does theCOMMENT
LOW…/form/studio/assetSourceMediaLibrary/shared/Dialog.tsx1// The dialog chrome moved to the generic federated asset-source module (it isCOMMENT
LOW…Library/federated/FederatedMediaLibraryAssetSource.tsx61 // files so the fallback resumes the whole batch; the Media LibraryCOMMENT
LOW…anity/src/core/form/types/definitionExtensions.test.ts21// See: https://github.com/sanity-io/sanity/issues/6542COMMENT
LOW…src/core/form/inputs/ReferenceInput/ReferenceInput.tsx101 // The strengthen-on-publish process is not necessary for documents inside a release, and inCOMMENT
LOW…ext/_legacyDefaultParts/__tests__/BlockExtras.test.tsx81// <PortableTextInputCOMMENT
LOW…ext/_legacyDefaultParts/__tests__/BlockExtras.test.tsx101 // const block = await result.findByText('Lorem ipsum dolor sit amet', {exact: false})COMMENT
LOW…ts/PortableText/__tests__/Annotations.browser.test.tsx541 // back into the DOM when the two differ, so an arrow key landingCOMMENT
LOW…e/form/inputs/PortableText/hooks/useTrackFocusPath.tsx61 selectionRef.current = selectionCOMMENT
LOW…e/form/inputs/PortableText/hooks/useTrackFocusPath.tsx141 )COMMENT
LOW…src/core/form/inputs/PortableText/hooks/useHotKeys.tsx41// ptEditor: PortableTextEditorCOMMENT
LOW…src/core/form/inputs/PortableText/hooks/useHotKeys.tsx61// onFocus([...focus.path, FOCUS_TERMINATOR])COMMENT
LOW…anity/src/core/form/inputs/NumberInput/NumberInput.tsx21COMMENT
LOWpackages/sanity/src/core/config/prepareConfig.tsx281 const brokeredSourcesEnabled = federatedSourcesConfig?.enabled === trueCOMMENT
LOW…ages/sanity/src/core/divergence/divergenceNavigator.ts181 if (!advancedVersionControlEnabled) {COMMENT
LOWpackages/sanity/src/core/field/types.ts181 * SchemaCOMMENT
LOWpackages/sanity/src/core/field/types.ts201// export interface ArraySchemaType<V = unknown> extends BaseArraySchemaType {COMMENT
LOW…ty/src/core/components/popoverDialog/PopoverDialog.tsx61 // Set focus to the reference element when closingCOMMENT
LOWpackages/sanity/src/core/hooks/useValidationStatus.ts21 )COMMENT
LOWpackages/sanity/src/core/hooks/useDocumentSyncState.ts121COMMENT
LOW…es/sanity/src/core/store/grants/templatePermissions.ts61 return defer(() => {COMMENT
LOW…ty/src/core/store/auth/legacy/createLegacyAuthStore.ts921 // Behavior parity: logout has always hit /auth/logout with the clientCOMMENT
LOW…re/auth/legacy/__tests__/createLegacyAuthStore.test.ts561 // and shouldn't broadcast unauthenticated values that would poisonCOMMENT
LOW…re/auth/legacy/__tests__/createLegacyAuthStore.test.ts621 // broadcast `authenticated: false` via the shared cookieAuthStateCOMMENT
LOW…re/auth/legacy/__tests__/createLegacyAuthStore.test.ts761 })COMMENT
LOW…re/auth/legacy/__tests__/createLegacyAuthStore.test.ts841 it('transitions to unauthenticated when /auth/logout itself 401s on a middleware-bearing client', async () => {COMMENT
LOW…/src/core/store/document/document-pair/checkoutPair.ts321 map((result): CommitAttemptResult => ({type: 'success', result})),COMMENT
LOW…core/store/document/document-pair/checkoutPair.test.ts201 // channel (`request.failure` → retry, or `request.cancel` → terminal reset),COMMENT
LOW…ore/store/document/document-pair/operations/helpers.ts101 unpublish: wrap('unpublish', serverUnpublish, args),COMMENT
47 more matches not shown…
Structural Annotation Overuse41 hits · 74 pts
SeverityFileLineSnippetContext
LOW⚡…ents/skills/playwright-cli/references/storage-state.md235# Step 1: Login and save stateCOMMENT
LOW⚡…ents/skills/playwright-cli/references/storage-state.md245# Step 2: Later, restore state and skip loginCOMMENT
LOW⚡…laywright-best-practices/core/projects-dependencies.md172 // Step 1: Database setupCOMMENT
LOW⚡…laywright-best-practices/core/projects-dependencies.md178 // Step 2: Auth setup (needs DB)COMMENT
LOW⚡…laywright-best-practices/core/projects-dependencies.md185 // Step 3: Seed data (needs auth)COMMENT
LOW⚡…ywright-best-practices/testing-patterns/api-testing.md467 // Step 1: Create a productCOMMENT
LOW⚡…ywright-best-practices/testing-patterns/api-testing.md474 // Step 2: Create a cartCOMMENT
LOW⚡…ywright-best-practices/testing-patterns/api-testing.md482 // Step 3: CheckoutCOMMENT
LOW…ywright-best-practices/testing-patterns/api-testing.md498 // Step 4: Verify order in listCOMMENT
LOW…ywright-best-practices/testing-patterns/api-testing.md503 // Step 5: Verify stock decreasedCOMMENT
LOW…skills/migrate-styled-components-to-panda-css/SKILL.md34## Step 1: InventoryCOMMENT
LOW…skills/migrate-styled-components-to-panda-css/SKILL.md54## Step 2: Migrate the codeCOMMENT
LOW…skills/migrate-styled-components-to-panda-css/SKILL.md275## Step 3: VerifyCOMMENT
LOW…kills/rxjs-like-a-pro/references/massive-observable.md55// Step 1: small Observable constructor — bridges EventSource and nothing elseCOMMENT
LOW…kills/rxjs-like-a-pro/references/massive-observable.md65// Step 2: compose everything with operatorsCOMMENT
LOW.agents/skills/find-skills/SKILL.md36### Step 1: Understand What They NeedCOMMENT
LOW.agents/skills/find-skills/SKILL.md44### Step 2: Search for SkillsCOMMENT
LOW.agents/skills/find-skills/SKILL.md67### Step 3: Present Options to the UserCOMMENT
LOW.agents/skills/find-skills/SKILL.md87### Step 4: Offer to InstallCOMMENT
LOW.agents/skills/code-review-and-quality/SKILL.md120### Step 1: Understand the ContextCOMMENT
LOW.agents/skills/code-review-and-quality/SKILL.md130### Step 2: Review the Tests FirstCOMMENT
LOW.agents/skills/code-review-and-quality/SKILL.md142### Step 3: Review the ImplementationCOMMENT
LOW.agents/skills/code-review-and-quality/SKILL.md155### Step 4: Categorize FindingsCOMMENT
LOW.agents/skills/code-review-and-quality/SKILL.md169### Step 5: Verify the VerificationCOMMENT
LOW.agents/skills/code-simplification/SKILL.md110### Step 1: Understand Before Touching (Chesterton's Fence)COMMENT
LOW.agents/skills/code-simplification/SKILL.md126### Step 2: Identify Simplification OpportunitiesCOMMENT
LOW.agents/skills/code-simplification/SKILL.md160### Step 3: Apply Changes IncrementallyCOMMENT
LOW.agents/skills/code-simplification/SKILL.md176### Step 4: Verify the ResultCOMMENT
LOW.agents/skills/performance-optimization/SKILL.md40### Step 1: MeasureCOMMENT
LOW.agents/skills/performance-optimization/SKILL.md101### Step 2: Identify the BottleneckCOMMENT
LOW.agents/skills/performance-optimization/SKILL.md123### Step 3: Fix Common Anti-PatternsCOMMENT
LOW⚡examples/functions/klaviyo-campaign-send/README.md403### Step 1: Content CreationCOMMENT
LOW⚡examples/functions/klaviyo-campaign-send/README.md407### Step 2: Campaign CreationCOMMENT
LOW⚡examples/functions/klaviyo-campaign-send/README.md411### Step 3: Campaign ReviewCOMMENT
LOW⚡examples/functions/klaviyo-campaign-send/README.md415### Step 4: Campaign SendCOMMENT
LOW…y/src/core/preview/components/SanityDefaultPreview.tsx121 // NOTE: This function exists because the previews provides optionsCOMMENT
LOW⚡…core/store/document/document-pair/checkoutPair.test.ts2047 // Step 1: Mutate the draft — this sets firstMutationReceivedAtCOMMENT
LOW⚡…core/store/document/document-pair/checkoutPair.test.ts2050 // Step 2: Advance time significantly (simulating a long gap before reconnection)COMMENT
LOW⚡…core/store/document/document-pair/checkoutPair.test.ts2053 // Step 3: Inject a snapshot event — simulates reconnection resetting the documentCOMMENT
LOW⚡…core/store/document/document-pair/checkoutPair.test.ts2061 // Step 4: Fresh commit subject for the new mutationCOMMENT
LOW⚡…core/store/document/document-pair/checkoutPair.test.ts2065 // Step 5: Mutate again AFTER the snapshot and commitCOMMENT
AI Slop Vocabulary14 hits · 40 pts
SeverityFileLineSnippetContext
MEDIUM…sanity/src/core/studio/__tests__/AuthBoundary.test.tsx491 // We filter mock calls to the event under test so the assertions are robustCOMMENT
MEDIUM…src/core/scheduled-publishing/utils/getErrorMessage.ts5// this is used in place of `instanceof` so the matching can be more robust andCOMMENT
MEDIUMpackages/sanity/src/core/hooks/useTimeZone.tsx410// this is used in place of `instanceof` so the matching can be more robust andCOMMENT
MEDIUM…omponents/confirmDeleteDialog/useReferringDocuments.ts24// this is used in place of `instanceof` so the matching can be more robust andCOMMENT
MEDIUM.github/workflows/release-latest.yml214 # lockfile and packs it for HEAD's harness. It is for trees that no longerCOMMENT
LOW.github/workflows/test.yml7 # just add labeling to allow for full test suite runningCOMMENT
MEDIUM.github/workflows/bench.yml15 # report neutral, anything else is a harness bug (flake resistance rule 6)COMMENT
MEDIUM.github/workflows/bench.yml70 # worktree of HEAD's harness against the packed resultCOMMENT
MEDIUM.github/workflows/bench.yml115 # product diffs as harness driftCOMMENT
MEDIUM.github/workflows/bench.yml148 # from a branch carrying a newer harness): the tag's commit isCOMMENT
MEDIUM.github/workflows/bench.yml187 # historical commit's packages (with HEAD's harness) instead ofCOMMENT
MEDIUM.github/workflows/bench.yml278 # reference outright (keyed on merge-base sha + harness sources).COMMENT
MEDIUM.github/workflows/bench.yml298 # The reference build is the same harness + scenarios (checked outCOMMENT
MEDIUM.github/workflows/bench.yml754 # improvement - a decided verdict here is harness drift and fails this jobCOMMENT
Hallucination Indicators3 hits · 30 pts
SeverityFileLineSnippetContext
CRITICAL…ity/src/core/comments/utils/buildCommentThreadItems.ts79 parentComment.target.path.selection.value.some((v) => v.text),CODE
CRITICAL…/src/core/comments-v2/utils/buildCommentThreadItems.ts100 parentComment.target.path.selection.value.some((v) => hasMarkedFragment(v.text)),CODE
CRITICALe2e/scripts/flakeReport/classify.test.ts114 report.network.requestHistory.sessionSummary.buckets.push({CODE
Decorative Section Separators7 hits · 21 pts
SeverityFileLineSnippetContext
MEDIUMdev/auth-test-studio/sanity.config.ts4// ── Environment toggle ──────────────────────────────────────────────────────COMMENT
MEDIUMdev/auth-test-studio/sanity.config.ts8// ── Shared config ───────────────────────────────────────────────────────────COMMENT
MEDIUMdev/auth-test-studio/sanity.config.ts22// ── Project configs per environment ─────────────────────────────────────────COMMENT
MEDIUMdev/auth-test-studio/sanity.config.ts36// ── SSO provider ────────────────────────────────────────────────────────────COMMENT
MEDIUMdev/auth-test-studio/sanity.config.ts51// ── Workspace definitions ───────────────────────────────────────────────────COMMENT
MEDIUMe2e/tests/auth/dualAuth.spec.ts26// ── Cookie-first path (default dual behavior) ──────────────────────────────COMMENT
MEDIUMe2e/tests/auth/dualAuth.spec.ts111// ── Token-fallback path ─────────────────────────────────────────────────────COMMENT
Magic Placeholder Names3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHexamples/functions/klaviyo-campaign-send/README.md372- Solution: Add `KLAVIYO_API_KEY=your-api-key` to your `.env` fileCODE
HIGHexamples/functions/social-media-crosspost/README.md224 DEVTO_API_KEY=your-api-keyCODE
HIGHexamples/functions/klaviyo-campaign-create/README.md379- Solution: Add `KLAVIYO_API_KEY=your-api-key` to your `.env` fileCODE
Verbosity Indicators6 hits · 13 pts
SeverityFileLineSnippetContext
LOW…anity/src/core/form/inputs/ObjectInput/ObjectInput.tsx94 // Since the focus event will bubble up to the wrapper, we need to check if the object input is the actual targetCOMMENT
LOW⚡…core/store/document/document-pair/checkoutPair.test.ts2047 // Step 1: Mutate the draft — this sets firstMutationReceivedAtCOMMENT
LOW⚡…core/store/document/document-pair/checkoutPair.test.ts2050 // Step 2: Advance time significantly (simulating a long gap before reconnection)COMMENT
LOW⚡…core/store/document/document-pair/checkoutPair.test.ts2053 // Step 3: Inject a snapshot event — simulates reconnection resetting the documentCOMMENT
LOW⚡…core/store/document/document-pair/checkoutPair.test.ts2061 // Step 4: Fresh commit subject for the new mutationCOMMENT
LOW⚡…core/store/document/document-pair/checkoutPair.test.ts2065 // Step 5: Mutate again AFTER the snapshot and commitCOMMENT
TODO Padding3 hits · 4 pts
SeverityFileLineSnippetContext
LOW…ty/src/core/studio/workspaceLoader/WorkspaceLoader.tsx153 // TODO: implement thisCOMMENT
LOW…ty/src/core/studio/workspaceLoader/WorkspaceLoader.tsx156 //TODO: implement config error screen - a story has been created for thisCOMMENT
LOW…/sanity/src/core/store/events/getDocumentAtRevision.ts89 // TODO: Handle errorCOMMENT
Example Usage Blocks2 hits · 3 pts
SeverityFileLineSnippetContext
LOWpackages/@sanity/types/src/schema/define.ts336 * ## Example usageCOMMENT
LOW…anity/src/core/studio/copyPaste/__test__/mockClient.ts58// Example usage:COMMENT
Redundant / Tautological Comments2 hits · 3 pts
SeverityFileLineSnippetContext
LOW.github/workflows/typedoc.yml66 # Check if the file was generated successfullyCOMMENT
LOW.github/actions/check-path-only/action.yml57 # Check if all changed files are in the specified pathCOMMENT
Modern AI Meta-Vocabulary1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUM…skills/playwright-best-practices/core/configuration.md18npx playwright init # scaffold config + first testCODE