Repository Analysis

emdash-cms/emdash

EmDash is a full-stack TypeScript CMS based on Astro; the spiritual successor to WordPress

3.1 Likely human-written View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of emdash-cms/emdash, a TypeScript project with 11,149 GitHub stars. SynthScan v2.0 examined 650,582 lines of code across 2306 source files, recording 1057 pattern matches distributed across 9 syntactic categories. The overall adjusted score of 3.1 places this repository in the Likely human-written band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

3.1
Adjusted Score
3.1
Raw Score
100%
Time Factor
2026-07-14
Last Push
11.1K
Stars
TypeScript
Language
650.6K
Lines of Code
2.3K
Files
1.1K
Pattern Hits
2026-07-14
Scan Date
0.00
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 0HIGH 3MEDIUM 415LOW 639

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 1057 distinct pattern matches across 9 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Decorative Section Separators396 hits · 1198 pts
SeverityFileLineSnippetContext
MEDIUMinfra/perf-monitor/worker-configuration.d.ts10185// ── Error types ──────────────────────────────────────────────────────────────COMMENT
MEDIUMinfra/perf-monitor/worker-configuration.d.ts10206// ── Binding ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMinfra/discord-bot/src/index.ts40// ─── Discord Interaction Handler ─────────────────────────────────COMMENT
MEDIUMinfra/discord-bot/src/index.ts100// ─── GitHub OAuth Callback ───────────────────────────────────────COMMENT
MEDIUMinfra/discord-bot/src/index.ts175// ─── GitHub Webhook Handler ──────────────────────────────────────COMMENT
MEDIUMinfra/discord-bot/src/index.ts262// ─── Message Templates ───────────────────────────────────────────COMMENT
MEDIUMinfra/discord-bot/src/index.ts296// ─── Helpers ─────────────────────────────────────────────────────COMMENT
MEDIUMpackages/blocks/playground/src/templates.ts9// ── Sample data generators ───────────────────────────────────────────────────COMMENT
MEDIUMpackages/blocks/playground/src/Playground.tsx10// ── Types ────────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/blocks/playground/src/Playground.tsx18// ── Hash sharing ─────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/blocks/playground/src/Playground.tsx42// ── Drag handle ──────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/blocks/playground/src/Playground.tsx62// ── Component ────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/blocks/tests/form-conditions.test.tsx8// ── Mocks ────────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/blocks/tests/form-conditions.test.tsx198// ── Helpers ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/blocks/tests/form-conditions.test.tsx208// ── Tests ────────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/blocks/tests/renderer.test.tsx8// ── Mocks ────────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/blocks/tests/renderer.test.tsx272// ── Helpers ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/blocks/tests/renderer.test.tsx279// ── Tests ────────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/blocks/tests/validation.test.ts6 // ── Valid blocks ─────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/blocks/tests/validation.test.ts209 // ── Invalid blocks ───────────────────────────────────────────────────────COMMENT
MEDIUMpackages/blocks/tests/validation.test.ts771 // ── Edge cases ───────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/blocks/src/types.ts1// ── Composition Objects ──────────────────────────────────────────────────────COMMENT
MEDIUMpackages/blocks/src/types.ts11// ── Elements ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/blocks/src/types.ts167// ── Form Fields (elements + optional condition) ──────────────────────────────COMMENT
MEDIUMpackages/blocks/src/types.ts188// ── Block Sub-types ──────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/blocks/src/types.ts245// ── Blocks ───────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/blocks/src/types.ts387// ── Interactions ─────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/blocks/src/types.ts410// ── Response ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/blocks/src/builders.ts43// ── Block Builders ───────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/blocks/src/builders.ts169// ── Element Builders ─────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/blocks/src/builders.ts498// ── Exports ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/blocks/src/blocks/chart.tsx27// ── Security: HTML-escape untrusted strings before they reach ECharts ────────COMMENT
MEDIUMpackages/blocks/src/blocks/chart.tsx46// ── Security: Sanitize custom ECharts options ────────────────────────────────COMMENT
MEDIUMpackages/atproto-test-utils/tests/round-trip.test.ts421// ── helpers ────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/atproto-test-utils/src/mock-pds.ts121 // ─── handlers ────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/atproto-test-utils/src/mock-pds.ts252// ─── helpers ─────────────────────────────────────────────────────────────────COMMENT
MEDIUM…es/core/tests/unit/plugins/adapt-sandbox-entry.test.ts453 // ── Deprecation alias layer ────────────────────────────────COMMENT
MEDIUM…ges/core/tests/unit/plugins/marketplace-client.test.ts26// ── Helpers ───────────���────────────────────────────────────────────COMMENT
MEDIUMpackages/core/tests/unit/plugins/define-plugin.test.ts269 // ── Deprecation alias layer ────────────────────────────────COMMENT
MEDIUM…es/core/tests/unit/api/registry-artifact-proxy.test.ts130 // ── auth ───────────────────────────────────────────────────────────COMMENT
MEDIUM…es/core/tests/unit/api/registry-artifact-proxy.test.ts142 // ── param validation ───────────────────────────────────────────────COMMENT
MEDIUM…es/core/tests/unit/api/registry-artifact-proxy.test.ts185 // ── config ─────────────────────────────────────────────────────────COMMENT
MEDIUM…es/core/tests/unit/api/registry-artifact-proxy.test.ts198 // ── resolution → declared URL is proxied ───────────────────────────COMMENT
MEDIUM…es/core/tests/unit/api/registry-artifact-proxy.test.ts250 // ── 404s ───────────────────────────────────────────────────────────COMMENT
MEDIUM…es/core/tests/unit/api/registry-artifact-proxy.test.ts277 // ── content-type allowlist ─────────────────────────────────────────COMMENT
MEDIUM…es/core/tests/unit/api/registry-artifact-proxy.test.ts325 // ── SSRF on the RESOLVED url ────────────────────────────────────────COMMENT
MEDIUM…es/core/tests/unit/api/registry-artifact-proxy.test.ts371 // ── upstream + size ─────────────────────────────────────────────────COMMENT
MEDIUM…kages/core/tests/unit/api/marketplace-handlers.test.ts40// ── Mock factories ────────────────────────────────────────────────COMMENT
MEDIUM…kages/core/tests/unit/api/marketplace-handlers.test.ts291 // ── Install ────────────────────────────────────────────────────COMMENT
MEDIUM…kages/core/tests/unit/api/marketplace-handlers.test.ts438 // ── Update ─────────────────────────────────────────────────────COMMENT
MEDIUM…kages/core/tests/unit/api/marketplace-handlers.test.ts699 // ── Uninstall ──────────────────────────────────────────────────COMMENT
MEDIUM…kages/core/tests/unit/api/marketplace-handlers.test.ts783 // ── Update check ───────────────────────────────────────────────COMMENT
MEDIUM…kages/core/tests/unit/api/marketplace-handlers.test.ts865 // ── Search proxy ───────────────────────────────────────────────COMMENT
MEDIUM…kages/core/tests/unit/api/marketplace-handlers.test.ts885 // ── GetPlugin proxy ────────────────────────────────────────────COMMENT
MEDIUMpackages/core/tests/unit/api/backup-handlers.test.ts30// ── Storage fake ────────────────────────────────────────────────COMMENT
MEDIUMpackages/core/tests/unit/api/backup-handlers.test.ts92// ── Tests ───────────────────────────────────────────────────────COMMENT
MEDIUMpackages/core/tests/unit/api/registry-handlers.test.ts36// ── Mock storage ─────────────────────────────────────────────────COMMENT
MEDIUMpackages/core/tests/unit/api/registry-handlers.test.ts91// ── Suite ────────────────────────────────────────────────────────COMMENT
MEDIUM…s/core/tests/unit/import/wordpress-plugin-i18n.test.ts13// ─── Mock fetch ──────────────────────────────────────────────────────────────COMMENT
MEDIUM…s/core/tests/unit/import/wordpress-plugin-i18n.test.ts31// ─── Fixtures ────────────────────────────────────────────────────────────────COMMENT
336 more matches not shown…
Hyper-Verbose Identifiers246 hits · 250 pts
SeverityFileLineSnippetContext
LOWinfra/discord-bot/src/discord.ts102export function interactionResponseWithButton(CODE
LOWinfra/flue-review/.flue/sandboxes/cloudflare-shell.ts72function createWorkspaceSessionEnv(CODE
LOWpackages/blocks/src/validation.ts80function validateInitialValueInOptions(CODE
LOWpackages/blocks/src/elements/number-input.tsx6export function NumberInputElementComponent({CODE
LOWpackages/blocks/src/elements/text-input.tsx6export function TextInputElementComponent({CODE
LOWpackages/blocks/src/elements/secret-input.tsx6export function SecretInputElementComponent({CODE
LOWpackages/blocks/src/elements/date-input.tsx5export function DateInputElementComponent({CODE
LOWpackages/atproto-test-utils/src/fake-publisher.ts148export function createFakePublisherFixture(CODE
LOW…ckages/core/tests/unit/plugins/exclusive-hooks.test.ts970function createSelectCountingPlugin(): { plugin: KyselyPlugin; counter: { count: number } } {CODE
LOWpackages/core/tests/unit/menus/menus.test.ts419 async function insertMenuWithCollectionItem(item: {CODE
LOW…e/tests/unit/astro/middleware-security-headers.test.ts137function anonymousPublicPageContext() {CODE
LOW…ges/core/tests/unit/astro/middleware-prerender.test.ts174function createAnonymousPublicPageContext(locals: Record<string, unknown> = {}) {CODE
LOW…ges/core/tests/unit/astro/middleware-prerender.test.ts582 function anonymousCategoryPageContext() {CODE
LOWpackages/core/tests/unit/import/wxr-taxonomies.test.ts45async function createPostsCollectionWithEntry(CODE
LOWpackages/core/tests/unit/client/client.test.ts58function mediaUsageRepairCollection(CODE
LOW…core/tests/integration/smoke/site-matrix-smoke.test.ts29function nodeOptionsWithFontFetchRetry(): string {CODE
LOW…tegration/database/media-usage-content-refresh.test.ts535async function installSourceReplacementConflictTrigger(ctx: DialectTestContext): Promise<void> {CODE
LOW…tegration/database/media-usage-content-refresh.test.ts639async function installOneTimeSourceReplacementConflictTrigger(CODE
LOW…tegration/database/media-usage-content-refresh.test.ts747async function installDraftOverlayDeletionConflictTrigger(ctx: DialectTestContext): Promise<void> {CODE
LOW…ntegration/database/media-usage-content-repair.test.ts1223async function createInvalidRepeaterField(CODE
LOW…ntegration/database/media-usage-content-repair.test.ts1245async function setMismatchedDraftRevision(CODE
LOW…ntegration/database/media-usage-content-repair.test.ts1406async function installConcurrentPostInsertTrigger(ctx: DialectTestContext): Promise<void> {CODE
LOW…ntegration/database/media-usage-content-repair.test.ts1485async function installConcurrentPostDeleteTrigger(ctx: DialectTestContext): Promise<void> {CODE
LOW…ntegration/database/media-usage-content-repair.test.ts1519async function installStaleStatusTrigger(ctx: DialectTestContext): Promise<void> {CODE
LOW…ntegration/database/media-usage-content-repair.test.ts1562async function installDoomedCollectionDeleteTrigger(ctx: DialectTestContext): Promise<void> {CODE
LOW…ntegration/database/media-usage-content-repair.test.ts1596async function installVanishingCollectionDeleteTrigger(ctx: DialectTestContext): Promise<void> {CODE
LOW…ntegration/database/media-usage-content-repair.test.ts1630async function installRecreatedCollectionRecreateTrigger(ctx: DialectTestContext): Promise<void> {CODE
LOW…ntegration/database/media-usage-content-repair.test.ts1702async function installFresherColumnsSourceDuringRepairTrigger(CODE
LOW…ntegration/database/media-usage-content-repair.test.ts1884async function installFresherDraftSourceDuringRepairTrigger(CODE
LOW…gration/database/media-usage-content-snapshots.test.ts596async function allowMissingDraftRevision(ctx: DialectTestContext): Promise<void> {CODE
LOW…ts/integration/database/media-usage-repository.test.ts1386async function insertOccurrenceGeneration(CODE
LOW…ts/integration/database/media-usage-repository.test.ts1437async function installSourceDeleteFailureTrigger(ctx: DialectTestContext): Promise<void> {CODE
LOW…tegration/database/media-usage-runtime-refresh.test.ts892async function corruptFuturePostDraftRevisionSnapshots(ctx: DialectTestContext): Promise<void> {CODE
LOW…/integration/database/media-usage-stale-bypass.test.ts273 async function createCollectionWithFields(slug: string) {CODE
LOWpackages/core/tests/integration/mcp/search.test.ts31async function setupSearchablePostCollection(db: Kysely<Database>): Promise<void> {CODE
LOWpackages/core/tests/utils/test-db.ts26function resetSchemaCachesForTests(): void {CODE
LOWpackages/core/tests/utils/test-db.ts76export async function setupTestDatabaseWithCollections(): Promise<Kysely<DatabaseSchema>> {CODE
LOWpackages/core/tests/utils/test-db.ts176function getWorkerConnectionString(): Promise<string> {CODE
LOWpackages/core/tests/utils/test-db.ts266export async function createTestPostgresDatabase(): Promise<PgTestContext> {CODE
LOWpackages/core/tests/utils/test-db.ts301export async function setupTestPostgresDatabase(): Promise<PgTestContext> {CODE
LOWpackages/core/tests/utils/test-db.ts310export async function setupTestPostgresDatabaseWithCollections(): Promise<PgTestContext> {CODE
LOWpackages/core/tests/utils/test-db.ts352export async function teardownTestPostgresDatabase(ctx: PgTestContext): Promise<void> {CODE
LOWpackages/core/tests/utils/test-db.ts416export async function setupForDialectWithCollections(CODE
LOWpackages/core/tests/utils/test-db.ts443export function getMigrationStatusForDialect(ctx: DialectTestContext): Promise<MigrationStatus> {CODE
LOWpackages/core/src/plugin-utils.ts39export function getPublicPluginApiRouteHandler(CODE
LOWpackages/core/src/emdash-runtime.ts102function isValidMetadataContribution(c: unknown): c is PageMetadataContribution {CODE
LOWpackages/core/src/query.ts1336export function invalidateUrlPatternCache(): void {CODE
LOWpackages/core/src/settings/index.ts66export function invalidateSiteSettingsCache(): void {CODE
LOWpackages/core/src/database/connection.ts22export function formatNativeModuleVersionError(error: unknown): string | null {CODE
LOW…kages/core/src/database/repositories/plugin-storage.ts318export function createPluginStorageAccessor(CODE
LOWpackages/core/src/comments/notifications.ts33export function buildCommentNotificationEmail(CODE
LOWpackages/core/src/page/seo-contributions.ts28export function generateBaseSeoContributions(CODE
LOWpackages/core/src/page/seo-contributions.ts157export function generateSiteSeoContributions(CODE
LOWpackages/core/src/seed/apply.ts1417function getExtensionFromContentType(contentType: string): string | null {CODE
LOWpackages/core/src/config/secrets.ts351export async function validateEncryptionKeyAtStartup(env?: SecretsEnv): Promise<boolean> {CODE
LOWpackages/core/src/security/ssrf.ts388export async function resolveAndValidateExternalUrl(CODE
LOWpackages/core/src/auth/allowed-origins.ts34export function getConfiguredAllowedOrigins(config?: EmDashConfig): TaggedOrigin[] {CODE
LOWpackages/core/src/plugins/context.ts368export function createContentAccessWithWrite(db: Kysely<Database>): ContentAccessWithWrite {CODE
LOWpackages/core/src/plugins/context.ts549export function createMediaAccessWithWrite(CODE
LOWpackages/core/src/plugins/context.ts756export function createUnrestrictedHttpAccess(pluginId: string): HttpAccess {CODE
186 more matches not shown…
Over-Commented Block163 hits · 158 pts
SeverityFileLineSnippetContext
LOWinfra/perf-monitor/worker-configuration.d.ts11961// PubSubMessage represents an incoming PubSub message.COMMENT
LOWinfra/perf-monitor/worker-configuration.d.ts12081 // Note `unknown & T` is equivalent to `T`.COMMENT
LOWinfra/perf-monitor/worker-configuration.d.ts12101 type MaybeCallableProvider<T> = T extends (...args: any[]) => any ? MethodOrProperty<T> : unknown;COMMENT
LOWinfra/perf-monitor/worker-configuration.d.ts12121 // declaration will be merged with this one.COMMENT
LOWinfra/perf-monitor/worker-configuration.d.ts13201 }COMMENT
LOWinfra/discord-bot/worker-configuration.d.ts13041}COMMENT
LOWinfra/discord-bot/worker-configuration.d.ts13221 [K in keyof T]: MethodOrProperty<T[K]>;COMMENT
LOWinfra/discord-bot/worker-configuration.d.ts13241 // interface GlobalProps {COMMENT
LOWinfra/flue-review/.flue/app.ts1// Custom Flue application: the GitHub App webhook orchestrator.COMMENT
LOWinfra/flue-review/.flue/workflows/review.ts1// Review workflow (Cloudflare target) -- cf-shell (Cloudflare Shell) variant.COMMENT
LOWinfra/flue-review/.flue/workflows/review.ts81 }COMMENT
LOWinfra/flue-review/.flue/lib/capacity.ts1// Graceful handling for Workers AI capacity (HTTP 429) errors and stalledCOMMENT
LOW.flue/workflows/investigate.ts1// Investigate workflow.COMMENT
LOW.flue/workflows/investigate.ts21// implements diagnose's proposedFix). Writes the change, runs theCOMMENT
LOW.flue/workflows/investigate.ts101 // markdown, but unescaped `]` could close the alt-textCOMMENT
LOW.flue/workflows/investigate.ts561COMMENT
LOW.flue/scripts/run-local.ts1// Local prototype runner.COMMENT
LOW.flue/lib/capacity.ts1// Graceful handling for Workers AI capacity (HTTP 429) errors and stalledCOMMENT
LOWdocs/worker-configuration.d.ts12261 // Message IDCOMMENT
LOWdocs/worker-configuration.d.ts12401 };COMMENT
LOWdocs/worker-configuration.d.ts12441 // Type of `env`.COMMENT
LOWdocs/worker-configuration.d.ts12461 // // thus should behave as Durable Object namsepace bindings.COMMENT
LOWscripts/sync-blog-demos.sh1#!/bin/bashCOMMENT
LOWpackages/core/tsdown.config.ts121 // Standard plugin adapter (loaded by virtual:emdash/plugins at runtime)COMMENT
LOWpackages/core/tests/unit/settings/settings.test.ts461// URL, contentType, width, and height into a worker-scoped cache. Every codeCOMMENT
LOW…s/core/tests/unit/database/repositories/byline.test.ts1281 // Both posts must see the byline with its customFields populatedCOMMENT
LOWpackages/core/tests/unit/config/secrets.test.ts121 // has zero low-2-bits: A(0), E(4), I(8), M(12), Q(16), U(20),COMMENT
LOWpackages/core/tests/unit/bylines/bylines-query.test.ts361 // the per-bucket findByUserIds calls each fired their ownCOMMENT
LOWpackages/core/tests/unit/import/ssrf.test.ts621 });COMMENT
LOW…ore/tests/integration/redirects/log404-bounded.test.ts181COMMENT
LOW…sts/integration/api/bylines-customfields-write.test.ts101 beforeEach(async () => {COMMENT
LOW…tegration/wordpress-import/wxr-i18n-taxonomies.test.ts841 // disagree only on `tag`.COMMENT
LOWpackages/core/tests/utils/mcp-runtime.ts81// ---------------------------------------------------------------------------COMMENT
LOWpackages/core/tests/utils/test-db.ts121 await db.destroy();COMMENT
LOWpackages/core/src/loader.ts1401 const locale = filter?.locale;COMMENT
LOWpackages/core/src/emdash-runtime.ts1081 const db = await phase("rt.db", "DB init + migrations", () => EmDashRuntime.getDatabase(deps));COMMENT
LOWpackages/core/src/emdash-runtime.ts1701 // piling up as idle Postgres connections).COMMENT
LOWpackages/core/src/emdash-runtime.ts2581 // Return a clone rather than mutating in place. The responseCOMMENT
LOWpackages/core/src/query.ts621//COMMENT
LOWpackages/core/src/plugins/marketplace.ts381 * same parse / validate / hash primitive. Despite the file name, thisCOMMENT
LOWpackages/core/src/plugins/types.ts1461// wire shape uses looser types like `string` for hook names so the registryCOMMENT
LOWpackages/core/src/schema/zod-generator.ts81 // `deserializeValue` never converts them back, so reads returnCOMMENT
LOWpackages/core/src/api/handlers/content.ts721COMMENT
LOWpackages/core/src/api/handlers/taxonomies.ts481 };COMMENT
LOWpackages/core/src/api/handlers/registry.ts741 error: {COMMENT
LOWpackages/core/src/api/handlers/registry.ts821 // Step 3a: enforce the configured minimum release age. The browserCOMMENT
LOWpackages/core/src/api/handlers/registry.ts1041 error: {COMMENT
LOWpackages/core/src/api/handlers/registry.ts1061 //COMMENT
LOWpackages/core/src/api/handlers/registry.ts1101 // Step 7: store in R2 under the registry prefix.COMMENT
LOWpackages/core/src/api/handlers/registry.ts1121 // loser of that race would delete the winner's bundle and theCOMMENT
LOWpackages/core/src/bylines/index.ts221 // Pre-migration databases (bylines table missing) fall through to theCOMMENT
LOWpackages/core/src/astro/middleware.ts481 // so auth middleware can verify their session for visual editingCOMMENT
LOWpackages/core/src/astro/middleware.ts521 // Public pages call getSiteSettings() / getMenu() via getDb(), whichCOMMENT
LOWpackages/core/src/astro/middleware.ts621 ? { ...parent, db: anonScoped.db }COMMENT
LOWpackages/core/src/astro/middleware.ts741COMMENT
LOWpackages/core/src/astro/middleware/request-context.ts221 const needsContext = hasEditCookie || hasPreviewToken;COMMENT
LOWpackages/core/src/astro/integration/vite-config.ts301 // Generate wait-until module — re-exports cloudflare:workers'COMMENT
LOWpackages/core/src/astro/integration/vite-config.ts381 // The styles.css alias must come before the package alias, otherwiseCOMMENT
LOWpackages/core/src/astro/integration/vite-config.ts421 },COMMENT
LOWpackages/core/src/astro/integration/vite-config.ts441 // Exclude EmDash virtual modules from esbuild's dependencyCOMMENT
103 more matches not shown…
Fake / Example Data134 hits · 134 pts
SeverityFileLineSnippetContext
LOWpackages/blocks/src/validation.ts188 message: "Field 'placeholder' must be a string",CODE
LOWpackages/blocks/src/validation.ts293 message: "Field 'placeholder' must be a string",CODE
LOWpackages/blocks/src/validation.ts414 message: "Field 'placeholder' must be a string",CODE
LOWpackages/blocks/src/validation.ts462 message: "Field 'placeholder' must be a string",CODE
LOWpackages/blocks/src/validation.ts581 message: "Field 'placeholder' must be a string",CODE
LOW…s/core/tests/unit/database/repositories/byline.test.ts36 displayName: "Jane Doe",CODE
LOW…s/core/tests/unit/database/repositories/byline.test.ts41 expect(created.displayName).toBe("Jane Doe");CODE
LOW…s/core/tests/unit/database/repositories/byline.test.ts400 displayName: "Jane Doe",CODE
LOW…s/core/tests/unit/database/repositories/byline.test.ts410 displayName: "Jane Doe",CODE
LOW…s/core/tests/unit/database/repositories/byline.test.ts439 displayName: "Jane Doe",CODE
LOW…s/core/tests/unit/database/repositories/byline.test.ts456 displayName: "Jane Doe",CODE
LOW…s/core/tests/unit/database/repositories/byline.test.ts470 expect(enHit?.displayName).toBe("Jane Doe");CODE
LOW…s/core/tests/unit/database/repositories/byline.test.ts508 displayName: "Jane Doe",CODE
LOW…s/core/tests/unit/database/repositories/byline.test.ts536 displayName: "Jane Doe",CODE
LOW…s/core/tests/unit/database/repositories/byline.test.ts567 displayName: "Jane Doe",CODE
LOW…s/core/tests/unit/database/repositories/byline.test.ts592 displayName: "Jane Doe",CODE
LOW…s/core/tests/unit/database/repositories/byline.test.ts613 expect(enCredits[0]?.byline.displayName).toBe("Jane Doe");CODE
LOW…s/core/tests/unit/database/repositories/byline.test.ts621 displayName: "Jane Doe",CODE
LOW…s/core/tests/unit/database/repositories/byline.test.ts651 displayName: "Jane Doe",CODE
LOW…s/core/tests/unit/database/repositories/byline.test.ts677 displayName: "Jane Doe",CODE
LOW…s/core/tests/unit/database/repositories/byline.test.ts704 expect(enResult.get(enPost.id)?.[0]?.byline.displayName).toBe("Jane Doe");CODE
LOW…s/core/tests/unit/database/repositories/byline.test.ts705 expect(enResult.get(frPost.id)?.[0]?.byline.displayName).toBe("Jane Doe");CODE
LOW…s/core/tests/unit/database/repositories/byline.test.ts717 displayName: "Jane Doe",CODE
LOW…s/core/tests/unit/database/repositories/byline.test.ts780 displayName: "Jane Doe",CODE
LOW…s/core/tests/unit/database/repositories/byline.test.ts847 displayName: "Jane Doe",CODE
LOW…s/core/tests/unit/database/repositories/byline.test.ts878 displayName: "Jane Doe",CODE
LOW…s/core/tests/unit/database/repositories/byline.test.ts910 displayName: "Jane Doe",CODE
LOW…s/core/tests/unit/database/repositories/byline.test.ts941 displayName: "Jane Doe",CODE
LOW…s/core/tests/unit/database/repositories/byline.test.ts988 displayName: "Jane Doe",CODE
LOW…s/core/tests/unit/database/repositories/byline.test.ts2073 await bylineRepo.update(byline.id, { displayName: "Jane Doe" });CODE
LOW…s/core/tests/unit/database/repositories/byline.test.ts2076 expect(reloaded?.displayName).toBe("Jane Doe");CODE
LOW…/tests/unit/auth/invite-register-options-route.test.ts41 email: "admin@example.com",CODE
LOWpackages/core/tests/unit/auth/oauth-invite.test.ts32 email: "admin@example.com",CODE
LOWpackages/core/tests/unit/auth/invite.test.ts35 email: "admin@example.com",CODE
LOWpackages/core/tests/unit/plugins/email-pipeline.test.ts81 to: "user@example.com",CODE
LOWpackages/core/tests/unit/plugins/email-pipeline.test.ts1154 to: "admin@example.com",CODE
LOWpackages/core/tests/unit/plugins/email-pipeline.test.ts1167 to: "admin@example.com",CODE
LOWpackages/core/tests/unit/plugins/email-pipeline.test.ts1199 await emailPipeline.send(createTestMessage({ to: "admin@example.com" }), "system");CODE
LOWpackages/core/tests/unit/plugins/email-pipeline.test.ts1305 await emailPipeline.send(createTestMessage({ to: "user@example.com" }), "some-plugin");CODE
LOWpackages/core/tests/unit/plugins/email-pipeline.test.ts1308 expect(infoSpy).toHaveBeenCalledWith(expect.stringContaining("user@example.com"));CODE
LOWpackages/core/tests/unit/cli/wxr-parser.test.ts211 expect(result.authors[0]?.email).toBe("admin@example.com");CODE
LOWpackages/core/tests/unit/api/content-handlers.test.ts350 displayName: "Jane Doe",CODE
LOWpackages/core/tests/unit/api/content-handlers.test.ts383 displayName: "Jane Doe",CODE
LOWpackages/core/tests/unit/api/content-handlers.test.ts451 displayName: "Jane Doe",CODE
LOWpackages/core/tests/unit/api/content-handlers.test.ts600 displayName: "Jane Doe",CODE
LOWpackages/core/tests/unit/api/handlers/bylines.test.ts30 displayName: "Jane Doe",CODE
LOWpackages/core/tests/unit/api/handlers/bylines.test.ts71 displayName: "Jane Doe",CODE
LOWpackages/core/tests/unit/api/handlers/bylines.test.ts99 displayName: "Jane Doe",CODE
LOWpackages/core/tests/unit/api/handlers/bylines.test.ts134 displayName: "Jane Doe",CODE
LOWpackages/core/tests/unit/api/handlers/bylines.test.ts164 displayName: "Jane Doe",CODE
LOWpackages/core/tests/unit/api/handlers/bylines.test.ts193 displayName: "Jane Doe",CODE
LOWpackages/core/tests/unit/bylines/bylines-query.test.ts46 displayName: "Jane Doe",CODE
LOWpackages/core/tests/unit/bylines/bylines-query.test.ts53 expect(result?.displayName).toBe("Jane Doe");CODE
LOWpackages/core/tests/unit/bylines/bylines-query.test.ts90 displayName: "Jane Doe",CODE
LOWpackages/core/tests/unit/bylines/bylines-query.test.ts103 expect(result?.displayName).toBe("Jane Doe");CODE
LOWpackages/core/tests/unit/bylines/bylines-query.test.ts114 displayName: "Jane Doe",CODE
LOWpackages/core/tests/unit/bylines/bylines-query.test.ts561 displayName: "Jane Doe",CODE
LOWpackages/core/tests/unit/bylines/bylines-query.test.ts581 expect(enCredits[0]?.byline.displayName).toBe("Jane Doe");CODE
LOWpackages/core/tests/unit/bylines/bylines-query.test.ts606 displayName: "Jane Doe",CODE
LOWpackages/core/tests/unit/bylines/bylines-query.test.ts631 displayName: "Jane Doe",CODE
74 more matches not shown…
Verbosity Indicators48 hits · 89 pts
SeverityFileLineSnippetContext
LOW…ckages/core/tests/integration/auth/device-flow.test.ts104 // Step 1: Request device codeCOMMENT
LOW…ckages/core/tests/integration/auth/device-flow.test.ts115 // Step 2: Poll before authorization → pendingCOMMENT
LOW…ckages/core/tests/integration/auth/device-flow.test.ts123 // Step 3: User authorizes (admin role = 50)COMMENT
LOW…ckages/core/tests/integration/auth/device-flow.test.ts131 // Step 4: Exchange for tokensCOMMENT
LOW…ckages/core/tests/integration/auth/device-flow.test.ts145 // Step 5: Device code should be consumedCOMMENT
LOW…ckages/core/tests/integration/auth/device-flow.test.ts153 // Step 6: Tokens should be storedCOMMENT
LOW…core/tests/integration/auth/authorization-code.test.ts166 // Step 1: Generate PKCE pairCOMMENT
LOW…core/tests/integration/auth/authorization-code.test.ts170 // Step 2: Get authorization codeCOMMENT
LOW…core/tests/integration/auth/authorization-code.test.ts186 // Step 3: Exchange code for tokensCOMMENT
LOW…core/tests/integration/auth/authorization-code.test.ts203 // Step 4: Verify tokens are storedCOMMENT
LOW…core/tests/integration/auth/authorization-code.test.ts215 // Step 5: Authorization code is consumed (single-use)COMMENT
LOW…/core/tests/integration/client/oauth-discovery.test.ts43 // Step 1: get the authorization server URL from protected resource metadataCOMMENT
LOW…/core/tests/integration/client/oauth-discovery.test.ts49 // Step 2: the SDK constructs /.well-known/oauth-authorization-server/_emdashCOMMENT
LOWpackages/core/src/cli/commands/publish.ts76 // Step 1: Fetch auth discovery to get GitHub client_idCOMMENT
LOWpackages/core/src/cli/commands/publish.ts84 // Step 2: Request device code from GitHubCOMMENT
LOWpackages/core/src/cli/commands/publish.ts103 // Step 3: Display instructionsCOMMENT
LOWpackages/core/src/cli/commands/publish.ts125 // Step 4: Poll GitHub for access tokenCOMMENT
LOWpackages/core/src/cli/commands/publish.ts135 // Step 5: Exchange GitHub token for marketplace JWTCOMMENT
LOWpackages/core/src/cli/commands/login.ts208 // Step 1: Fetch auth discovery.COMMENT
LOWpackages/core/src/cli/commands/login.ts263 // Step 2: Request device codeCOMMENT
LOWpackages/core/src/cli/commands/login.ts285 // Step 3: Display instructionsCOMMENT
LOWpackages/core/src/cli/commands/login.ts307 // Step 4: Poll for tokenCOMMENT
LOWpackages/core/src/cli/commands/login.ts319 // Step 5: Fetch user infoCOMMENT
LOWpackages/core/src/cli/commands/login.ts346 // Step 6: Save credentials (persist custom headers so subsequent commands inherit them)COMMENT
LOWpackages/core/src/api/handlers/registry.ts685 // Step 1: look up the package by DID + slug. The browser alreadyCOMMENT
LOWpackages/core/src/api/handlers/registry.ts695 // Step 2: select the target release.COMMENT
LOWpackages/core/src/api/handlers/registry.ts1101 // Step 7: store in R2 under the registry prefix.COMMENT
LOWpackages/core/src/api/handlers/registry.ts1104 // Step 8: write plugin state.COMMENT
LOWpackages/core/src/api/handlers/registry.ts791 // Step 3: takedown label check (hard-enforced via aggregator'sCOMMENT
LOWpackages/core/src/api/handlers/registry.ts938 // Step 4: fetch the artifact bytes.COMMENT
LOWpackages/core/src/api/handlers/registry.ts960 // Step 5: verify the bytes against the signed record's checksum.COMMENT
LOWpackages/core/src/api/handlers/registry.ts973 // Step 6: extract the bundle.COMMENT
LOWpackages/marketplace/src/workflows/audit.ts75 // Step 1: Run code auditCOMMENT
LOWpackages/marketplace/src/workflows/audit.ts96 // Step 2: Run image audit (skip if no images)COMMENT
LOWpackages/marketplace/src/workflows/audit.ts112 // Step 3: Store results in D1 and link to versionCOMMENT
LOWpackages/marketplace/src/workflows/audit.ts146 // Step 4: Resolve version status and update D1COMMENT
LOWpackages/admin/src/components/auth/PasskeyLogin.tsx165 // Step 1: Get authentication options from serverCOMMENT
LOWpackages/admin/src/components/auth/PasskeyLogin.tsx179 // Step 2: Get assertion from browserCOMMENT
LOWpackages/admin/src/components/auth/PasskeyLogin.tsx210 // Step 3: Send credential to server for verificationCOMMENT
LOW…ages/admin/src/components/auth/PasskeyRegistration.tsx169 // Step 1: Get registration options from serverCOMMENT
LOW…ages/admin/src/components/auth/PasskeyRegistration.tsx183 // Step 2: Create credential with browserCOMMENT
LOW…ages/admin/src/components/auth/PasskeyRegistration.tsx214 // Step 3: Send credential to server for verificationCOMMENT
LOWe2e/tests/invite-flow.spec.ts192 // Step 1: Create invite via server-side APICOMMENT
LOWe2e/tests/invite-flow.spec.ts196 // Step 2: Set up virtual authenticatorCOMMENT
LOWe2e/tests/invite-flow.spec.ts200 // Step 3: Navigate to invite accept pageCOMMENT
LOWe2e/tests/invite-flow.spec.ts204 // Step 4: Verify the registration form rendersCOMMENT
LOWe2e/tests/invite-flow.spec.ts210 // Step 5: Fill in name and click Create AccountCOMMENT
LOWe2e/tests/invite-flow.spec.ts216 // Step 6: Wait for passkey flow to complete and redirectCOMMENT
Structural Annotation Overuse48 hits · 89 pts
SeverityFileLineSnippetContext
LOW…ckages/core/tests/integration/auth/device-flow.test.ts104 // Step 1: Request device codeCOMMENT
LOW…ckages/core/tests/integration/auth/device-flow.test.ts115 // Step 2: Poll before authorization → pendingCOMMENT
LOW…ckages/core/tests/integration/auth/device-flow.test.ts123 // Step 3: User authorizes (admin role = 50)COMMENT
LOW…ckages/core/tests/integration/auth/device-flow.test.ts131 // Step 4: Exchange for tokensCOMMENT
LOW…ckages/core/tests/integration/auth/device-flow.test.ts145 // Step 5: Device code should be consumedCOMMENT
LOW…ckages/core/tests/integration/auth/device-flow.test.ts153 // Step 6: Tokens should be storedCOMMENT
LOW…core/tests/integration/auth/authorization-code.test.ts166 // Step 1: Generate PKCE pairCOMMENT
LOW…core/tests/integration/auth/authorization-code.test.ts170 // Step 2: Get authorization codeCOMMENT
LOW…core/tests/integration/auth/authorization-code.test.ts186 // Step 3: Exchange code for tokensCOMMENT
LOW…core/tests/integration/auth/authorization-code.test.ts203 // Step 4: Verify tokens are storedCOMMENT
LOW…core/tests/integration/auth/authorization-code.test.ts215 // Step 5: Authorization code is consumed (single-use)COMMENT
LOW…/core/tests/integration/client/oauth-discovery.test.ts43 // Step 1: get the authorization server URL from protected resource metadataCOMMENT
LOW…/core/tests/integration/client/oauth-discovery.test.ts49 // Step 2: the SDK constructs /.well-known/oauth-authorization-server/_emdashCOMMENT
LOWpackages/core/src/cli/commands/publish.ts76 // Step 1: Fetch auth discovery to get GitHub client_idCOMMENT
LOWpackages/core/src/cli/commands/publish.ts84 // Step 2: Request device code from GitHubCOMMENT
LOWpackages/core/src/cli/commands/publish.ts103 // Step 3: Display instructionsCOMMENT
LOWpackages/core/src/cli/commands/publish.ts125 // Step 4: Poll GitHub for access tokenCOMMENT
LOWpackages/core/src/cli/commands/publish.ts135 // Step 5: Exchange GitHub token for marketplace JWTCOMMENT
LOWpackages/core/src/cli/commands/login.ts208 // Step 1: Fetch auth discovery.COMMENT
LOWpackages/core/src/cli/commands/login.ts263 // Step 2: Request device codeCOMMENT
LOWpackages/core/src/cli/commands/login.ts285 // Step 3: Display instructionsCOMMENT
LOWpackages/core/src/cli/commands/login.ts307 // Step 4: Poll for tokenCOMMENT
LOWpackages/core/src/cli/commands/login.ts319 // Step 5: Fetch user infoCOMMENT
LOWpackages/core/src/cli/commands/login.ts346 // Step 6: Save credentials (persist custom headers so subsequent commands inherit them)COMMENT
LOWpackages/core/src/api/handlers/registry.ts685 // Step 1: look up the package by DID + slug. The browser alreadyCOMMENT
LOWpackages/core/src/api/handlers/registry.ts695 // Step 2: select the target release.COMMENT
LOWpackages/core/src/api/handlers/registry.ts1101 // Step 7: store in R2 under the registry prefix.COMMENT
LOWpackages/core/src/api/handlers/registry.ts1104 // Step 8: write plugin state.COMMENT
LOWpackages/core/src/api/handlers/registry.ts791 // Step 3: takedown label check (hard-enforced via aggregator'sCOMMENT
LOWpackages/core/src/api/handlers/registry.ts938 // Step 4: fetch the artifact bytes.COMMENT
LOWpackages/core/src/api/handlers/registry.ts960 // Step 5: verify the bytes against the signed record's checksum.COMMENT
LOWpackages/core/src/api/handlers/registry.ts973 // Step 6: extract the bundle.COMMENT
LOWpackages/marketplace/src/workflows/audit.ts75 // Step 1: Run code auditCOMMENT
LOWpackages/marketplace/src/workflows/audit.ts96 // Step 2: Run image audit (skip if no images)COMMENT
LOWpackages/marketplace/src/workflows/audit.ts112 // Step 3: Store results in D1 and link to versionCOMMENT
LOWpackages/marketplace/src/workflows/audit.ts146 // Step 4: Resolve version status and update D1COMMENT
LOWpackages/admin/src/components/auth/PasskeyLogin.tsx165 // Step 1: Get authentication options from serverCOMMENT
LOWpackages/admin/src/components/auth/PasskeyLogin.tsx179 // Step 2: Get assertion from browserCOMMENT
LOWpackages/admin/src/components/auth/PasskeyLogin.tsx210 // Step 3: Send credential to server for verificationCOMMENT
LOW…ages/admin/src/components/auth/PasskeyRegistration.tsx169 // Step 1: Get registration options from serverCOMMENT
LOW…ages/admin/src/components/auth/PasskeyRegistration.tsx183 // Step 2: Create credential with browserCOMMENT
LOW…ages/admin/src/components/auth/PasskeyRegistration.tsx214 // Step 3: Send credential to server for verificationCOMMENT
LOWe2e/tests/invite-flow.spec.ts192 // Step 1: Create invite via server-side APICOMMENT
LOWe2e/tests/invite-flow.spec.ts196 // Step 2: Set up virtual authenticatorCOMMENT
LOWe2e/tests/invite-flow.spec.ts200 // Step 3: Navigate to invite accept pageCOMMENT
LOWe2e/tests/invite-flow.spec.ts204 // Step 4: Verify the registration form rendersCOMMENT
LOWe2e/tests/invite-flow.spec.ts210 // Step 5: Fill in name and click Create AccountCOMMENT
LOWe2e/tests/invite-flow.spec.ts216 // Step 6: Wait for passkey flow to complete and redirectCOMMENT
Modern AI Meta-Vocabulary18 hits · 50 pts
SeverityFileLineSnippetContext
MEDIUMinfra/perf-monitor/README.md122pnpm db:migrations:create # scaffold a new migration fileCODE
MEDIUMpackages/create-emdash/CHANGELOG.md78- [#900](https://github.com/emdash-cms/emdash/pull/900) [`b3d1f40`](https://github.com/emdash-cms/emdash/commit/b3d1f40bCODE
MEDIUMpackages/create-emdash/CHANGELOG.md78- [#900](https://github.com/emdash-cms/emdash/pull/900) [`b3d1f40`](https://github.com/emdash-cms/emdash/commit/b3d1f40bCODE
MEDIUMpackages/create-emdash/CHANGELOG.md84- [#859](https://github.com/emdash-cms/emdash/pull/859) [`3015280`](https://github.com/emdash-cms/emdash/commit/30152807CODE
MEDIUMpackages/create-emdash/CHANGELOG.md128- [#785](https://github.com/emdash-cms/emdash/pull/785) [`e0dd616`](https://github.com/emdash-cms/emdash/commit/e0dd6168CODE
MEDIUMpackages/create-emdash/CHANGELOG.md128- [#785](https://github.com/emdash-cms/emdash/pull/785) [`e0dd616`](https://github.com/emdash-cms/emdash/commit/e0dd6168CODE
MEDIUMpackages/create-emdash/tests/utils.test.ts234// scaffold-time-no-emdash-dep constraint) so both need their own tests.COMMENT
MEDIUMpackages/create-emdash/src/flags.ts119 // Positional name: first non-flag arg. We accept "." for "scaffold intoCOMMENT
MEDIUMpackages/plugin-cli/tests/init-scaffold.test.ts80 // `version` is intentionally omitted from the scaffold manifest;COMMENT
MEDIUMpackages/plugin-cli/tests/init-scaffold.test.ts88 // Minimal scaffold writes TODO placeholders. The loader's JSONCCOMMENT
MEDIUMpackages/plugin-cli/tests/init-scaffold.test.ts138 // The scaffold wrote the real package.json over the stub.COMMENT
MEDIUMpackages/plugin-cli/tests/init-scaffold.test.ts160 // scaffold.ts). The exact order is part of the API surfaceCOMMENT
MEDIUMpackages/plugin-cli/tests/init-templates.test.ts63 // `version` deliberately omitted from the manifest scaffold —COMMENT
MEDIUMpackages/plugin-cli/tests/init-templates.test.ts228 // definePlugin must not appear in the scaffold — it'sCOMMENT
MEDIUMpackages/plugin-cli/src/init/scaffold.ts93 // partial scaffold can't leave the target dir in a half-broken state.COMMENT
MEDIUMpackages/plugin-cli/src/init/templates.ts99 // plugins (no package.json) would set it here, but the scaffoldCOMMENT
MEDIUMpackages/plugin-cli/src/commands/init.ts609 consola.info(` 3. ${pc.cyan("pnpm test")} # confirm the scaffold passes its own test`);CODE
MEDIUM.github/workflows/review.yml133 # remain enabled in the agent definition so it can scaffold fixesCOMMENT
Synthetic Comment Markers3 hits · 20 pts
SeverityFileLineSnippetContext
HIGHCONTRIBUTING.md136### AI-generated PRsCOMMENT
HIGH.github/PULL_REQUEST_TEMPLATE.md32## AI-generated code disclosureCOMMENT
HIGH.github/PULL_REQUEST_TEMPLATE.md34<!-- If any part of this PR was generated by AI tools (Copilot, Claude, GPT, Cursor, etc.), check the box and name the mCODE
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM.github/workflows/query-counts-apply.yml89 // matches the workflow_run's head SHA. This is more robustCOMMENT