Repository Analysis

Myriad-Dreamin/tinymist

Tinymist [ˈtaɪni mɪst] is an integrated language service for Typst [taɪpst].

2.8 Likely human-written View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of Myriad-Dreamin/tinymist, a Rust project with 3,401 GitHub stars. SynthScan v2.0 examined 181,320 lines of code across 982 source files, recording 327 pattern matches distributed across 14 syntactic categories. The overall adjusted score of 2.8 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).

2.8
Adjusted Score
2.8
Raw Score
100%
Time Factor
2026-07-13
Last Push
3.4K
Stars
Rust
Language
181.3K
Lines of Code
982
Files
327
Pattern Hits
2026-07-14
Scan Date
0.02
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

Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.

No multi-scan history yet — run the scanner again to build trend data.

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 10HIGH 6MEDIUM 14LOW 297

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 327 distinct pattern matches across 14 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.

Over-Commented Block232 hits · 232 pts
SeverityFileLineSnippetContext
LOWCargo.toml341typst-ansi-hl = { git = "https://github.com/Myriad-Dreamin/typst-ansi-hl.git", rev = "3867cb7229ec6b3e3c8f5b1222af96f98bCOMMENT
LOWCargo.toml361# typstyle-core = { path = "../typstyle/crates/typstyle-core" }COMMENT
LOWCargo.toml381tinymist-task = { path = "crates/tinymist-task" }COMMENT
LOWdist-workspace.toml41 # Not supported yet.COMMENT
LOWqodana.yaml1#-------------------------------------------------------------------------------#COMMENT
LOWqodana.yaml21projectJDK: "21" #(Applied in CI/CD pipeline)COMMENT
LOWtools/editor-tools/src/main.base.ts21 /// The page to render.COMMENT
LOWtools/editor-tools/src/features/docs.ts441 // ...[COMMENT
LOWcrates/tinymist-world/src/config.rs41 #[serde(rename = "creationTimestamp")]COMMENT
LOWcrates/tinymist-world/src/world.rs1//! The world of the compiler.COMMENT
LOWcrates/tinymist-world/src/compute.rs41 /// The output type.COMMENT
LOWcrates/tinymist-world/src/compute.rs61 /// pub struct SystemFontsOnce {COMMENT
LOWcrates/tinymist-world/src/snapshot.rs21impl ProjectInsId {COMMENT
LOWcrates/tinymist-world/src/entry.rs21}COMMENT
LOWcrates/tinymist-world/src/args.rs61/// Common arguments to create a world (environment) to run typst tasks, e.g.COMMENT
LOWcrates/tinymist-world/src/args.rs81COMMENT
LOWcrates/tinymist-world/src/args.rs241 ///COMMENT
LOWcrates/tinymist-world/src/args.rs281/// ## ExamplesCOMMENT
LOWcrates/tinymist-world/src/args.rs321 Pdf,COMMENT
LOWcrates/tinymist-world/src/args.rs341pub enum ExportTarget {COMMENT
LOWcrates/tinymist-world/src/args.rs361 #[serde(rename = "1.5")]COMMENT
LOWcrates/tinymist-world/src/args.rs381 #[serde(rename = "a-1a")]COMMENT
LOWcrates/tinymist-world/src/args.rs401 #[serde(rename = "a-3u")]COMMENT
LOWcrates/tinymist-world/src/debug_loc.rs1//! The debug location that can be used to locate a position in a document or aCOMMENT
LOWcrates/tinymist-world/src/debug_loc.rs81 pub pos: LspPosition,COMMENT
LOWcrates/tinymist-world/src/debug_loc.rs101/// See [`CharPosition`] for the definition of the position inside a file.COMMENT
LOWcrates/tinymist-world/src/font/mod.rs1//! The font implementations for typst worlds.COMMENT
LOWcrates/cmark-writer/src/options.rs1//! CommonMark formatting options.COMMENT
LOWcrates/cmark-writer/src/writer/runtime/visitor/mod.rs1//! Shared AST visitor utilities used by writer backends.COMMENT
LOWcrates/cmark-writer/src/writer/html/options.rs1use ecow::EcoString;COMMENT
LOWcrates/cmark-writer/src/writer/html/options.rs21/// #[cfg(feature = "gfm")]COMMENT
LOWcrates/cmark-writer/src/writer/html/core/mod.rs21/// - For building HTML elements programmatically using the tag and attribute methodsCOMMENT
LOWcrates/cmark-writer/src/writer/html/core/mod.rs41///COMMENT
LOWcrates/cmark-writer/src/ast/custom.rs1//! Custom node definitions for the CommonMark AST.COMMENT
LOWcrates/cmark-writer/src/ast/custom.rs21/// use cmark_writer_macros::custom_node;COMMENT
LOWcrates/cmark-writer/src/ast/custom.rs41/// Ok(())COMMENT
LOWcrates/cmark-writer/src/ast/custom.rs61 Err(WriteError::UnsupportedNodeType)COMMENT
LOWcrates/cmark-writer/src/ast/node.rs21 /// ATX Type - Beginning with #COMMENT
LOWcrates/cmark-writer/src/ast/node.rs301 /// # ArgumentsCOMMENT
LOWcrates/cmark-writer/src/ast/node.rs341COMMENT
LOWcrates/cmark-writer/src/ast/tables.rs1//! Table support for CommonMark and GFMCOMMENT
LOWcrates/cmark-writer/src/gfm/formatting.rs1//! GFM text formatting extensionsCOMMENT
LOWcrates/cmark-writer/src/gfm/formatting.rs21/// # ArgumentsCOMMENT
LOWcrates/cmark-writer/src/gfm/formatting.rs41/// Creates a combined formatted node with strikethrough and strong emphasisCOMMENT
LOWcrates/cmark-writer/src/gfm/tasks.rs1//! GFM task list supportCOMMENT
LOWcrates/cmark-writer/src/gfm/tasks.rs21///COMMENT
LOWcrates/cmark-writer/src/gfm/mod.rs1//! GitHub Flavored Markdown (GFM) extensionsCOMMENT
LOWcrates/cmark-writer/src/gfm/tables.rs1//! GFM table support with alignment featuresCOMMENT
LOWcrates/tinymist-package/src/registry.rs81#[derive(Debug, Clone, Deserialize)]COMMENT
LOWcrates/tinymist-tests/src/mock.rs1//! Aggregate mock test support.COMMENT
LOWcrates/tinymist-project/src/watch.rs521 /// Notify any update of the file entryCOMMENT
LOWcrates/tinymist-project/src/entry.rs21 /// tinymist tracks your preview and compilation history, and stores theCOMMENT
LOWcrates/tinymist-project/src/args.rs121 #[clap(flatten)]COMMENT
LOWcrates/tinymist-project/src/args.rs141 /// write output to stdout.COMMENT
LOWcrates/tinymist-project/src/args.rs161 /// pages after it).COMMENT
LOWcrates/tinymist-project/src/model.rs61 /// The project's document (input).COMMENT
LOWcrates/tinymist-project/src/model.rs81 /// The path to the root directory of the project.COMMENT
LOWcrates/sync-lsp/src/transport.rs21/// It records an LSP or DAP session and replays it to compare the output.COMMENT
LOWcrates/sync-lsp/src/transport.rs101 io_threads.join_write()?;COMMENT
LOWcrates/sync-lsp/src/dap.rs21 Response(Response),COMMENT
172 more matches not shown…
Hallucination Indicators10 hits · 100 pts
SeverityFileLineSnippetContext
CRITICALcrates/tinymist-query/src/analysis/signature.rs347 let docs = self.ctx.inner.info.var_docs.get(&u.def).map(|x| x.as_ref());CODE
CRITICAL…ates/tinymist-query/src/analysis/completion/snippet.rs71 if !self.worker.ctx.analysis.completion_feat.postfix() {CODE
CRITICAL…ates/tinymist-query/src/analysis/completion/snippet.rs192 if !self.worker.ctx.analysis.completion_feat.any_ufcs() {CODE
CRITICAL…ates/tinymist-query/src/analysis/completion/snippet.rs255 if self.worker.ctx.analysis.completion_feat.ufcs() && fn_feat.min_pos() == 1 {CODE
CRITICAL…ates/tinymist-query/src/analysis/completion/snippet.rs272 if self.worker.ctx.analysis.completion_feat.ufcs_left() && more_args {CODE
CRITICAL…ates/tinymist-query/src/analysis/completion/snippet.rs289 if self.worker.ctx.analysis.completion_feat.ufcs_right() && more_args {CODE
CRITICAL…nymist-query/src/analysis/completion/typst_specific.rs343 let is_stepless = self.cursor.ctx.analysis.completion_feat.is_stepless();CODE
CRITICALcrates/tinymist/src/cmd.rs167 let cli_args = self.config.preview.browsing.args.clone();CODE
CRITICALcrates/tinymist/src/tool/preview.rs264 let args = self.config.preview.background.args.clone();CODE
CRITICALcrates/tinymist-cli/src/cmd/package.rs362 pdf_standards: ctx.args.compile.pdf.standard.clone(),CODE
Hyper-Verbose Identifiers51 hits · 51 pts
SeverityFileLineSnippetContext
LOWtools/typst-preview-frontend-ng/src/navigation.ts15export function scrollViewportToTypstLocation(CODE
LOWtools/typst-preview-frontend-ng/src/interactions.ts216function alignTextClipToVisualRect(clippedRect: PageRect, visualRect: PageRect): PageRect {CODE
LOWtools/typst-preview-frontend-ng/src/interactions.ts251function renderInteractionHighlights(CODE
LOWtools/typst-preview-frontend-ng/src/app.ts279function createFallbackImageBitmap(width?: number, height?: number) {CODE
LOW…s/typst-preview-frontend-ng/src/worker/render-utils.ts29export function computeInteractivePixelPerPt(value: number) {CODE
LOWtools/editor-tools/src/vscode.ts113export function requestSaveFontsExportConfigure(data: fontsExportConfigure) {CODE
LOW…s/editor-tools/src/features/symbol-view/categorized.ts21function pickSymbolsByDrawCandidates(CODE
LOWtools/editor-tools/src/features/exporter/exporter.ts99function createMockPreviewResponse(format: ExportFormat, version: number): PreviewResponse {CODE
LOWtools/typst-preview-frontend/src/html-preview.ts145function replaceWithHtmlPreviewDocument(html: string, url: string) {CODE
LOWeditors/vscode/src/snippets.ts19export async function applySnippetWorkspaceEdit(CODE
LOWeditors/vscode/src/extension.ts76function previewActivateInTinymist(context: IContext) {CODE
LOWeditors/vscode/src/extension.ts254async function commandGetCurrentDocumentMetrics(): Promise<any> {CODE
LOWeditors/vscode/src/extension.ts639function triggerSuggestAndParameterHints() {CODE
LOWeditors/vscode/src/lsp.web.ts8export async function createBrowserLanguageClient(CODE
LOWeditors/vscode/src/lsp.ts861export function registerPreviewTaskDispose(taskId: string, dl: DisposeList): void {CODE
LOWeditors/vscode/src/lsp.ts885function isCodeActionWithoutEditsAndCommands(value: any): boolean {CODE
LOWeditors/vscode/src/extension.shared.ts33function configureEditorAndLanguage(context: ExtensionContext, trait: TinymistTrait) {CODE
LOWeditors/vscode/src/util.ts93export function getSensibleTextEditorColumn(): ViewColumn {CODE
LOWeditors/vscode/src/config.ts44export function patchInjectedClientOptionsInConfig(CODE
LOWeditors/vscode/src/config.ts163function patchInjectedClientOptionsObject(CODE
LOWeditors/vscode/src/lsp.system.ts8export async function createSystemLanguageClient(CODE
LOWeditors/vscode/src/package-manager.ts86export async function commandCreateLocalPackage() {CODE
LOWeditors/vscode/src/features/preview-window-state.ts28export function loadStoredViewerWindowState(CODE
LOWeditors/vscode/src/features/preview-window-state.ts39export async function saveStoredViewerWindowState(CODE
LOWeditors/vscode/src/features/preview-window-state.ts60function normalizeViewerWindowStateNotification(CODE
LOWeditors/vscode/src/features/preview-window-state.ts98function normalizeViewerWindowState(value: unknown): ViewerWindowState | undefined {CODE
LOWeditors/vscode/src/features/previewer.ts110export function setPreviewBuiltinSourceMode(mode: "compat" | "tinymist") {CODE
LOWeditors/vscode/src/features/previewer.ts133export function getConfiguredPreviewTarget(): PreviewTarget {CODE
LOWeditors/vscode/src/features/previewer.ts164export async function resolveConfiguredPreviewer(CODE
LOWeditors/vscode/src/features/previewer.ts252async function resolveBuiltinPreviewerSelection(CODE
LOWeditors/vscode/src/features/previewer.ts304async function resolveExtensionPreviewer(CODE
LOWeditors/vscode/src/features/previewer.ts451async function resolveCommandBackedExtensionPreviewer(CODE
LOWeditors/vscode/src/features/previewer.ts596async function handlePreviewerResolutionFailure(CODE
LOWeditors/vscode/src/features/previewer.ts671function normalizeSupportedTargets(supportedTargets: unknown): PreviewTarget[] | undefined {CODE
LOWeditors/vscode/src/features/preview.ts50function hasReportedPreviewerError(error: unknown): boolean {CODE
LOWeditors/vscode/src/features/testing/debug.ts41 function findDefaultFileForDebugging() {CODE
LOWcontrib/renderer-diff/src/github.ts70export function normalizeActionArtifactId(input: string): string | null {CODE
LOWcontrib/renderer-diff/src/github.ts94export async function listRendererDiffArtifacts(CODE
LOWcontrib/renderer-diff/src/github.ts185async function githubArtifactsRequestError(response: Response): Promise<Error> {CODE
LOWcontrib/renderer-diff/src/github.ts195function githubArtifactsStatusMessage(response: Response): string {CODE
LOW…ib/tinymist-gpu-viewer/editors/vscode/src/extension.ts176function commandBackedPreviewerMetadata(compatibleTinymistVersion: string): CommandBackedPreviewer {CODE
LOW…ib/tinymist-gpu-viewer/editors/vscode/src/extension.ts267async function prepareSideBySideInitialWindowState(): Promise<ViewerWindowState | undefined> {CODE
LOW…ib/tinymist-gpu-viewer/editors/vscode/src/extension.ts314function normalizeStoredWindowState(value: unknown): ViewerWindowState | undefined {CODE
LOW…ib/tinymist-gpu-viewer/editors/vscode/src/extension.ts384function workingDirectoryForDocument(CODE
LOW…ib/tinymist-gpu-viewer/editors/vscode/src/extension.ts434async function prepareSideBySideLayoutBeforeSpawn(): Promise<WindowRect | undefined> {CODE
LOW…ib/tinymist-gpu-viewer/editors/vscode/src/extension.ts556async function prepareSideBySideLayoutBeforeSpawnMacOS(): Promise<WindowRect> {CODE
LOW…ib/tinymist-gpu-viewer/editors/vscode/src/extension.ts604async function prepareSideBySideLayoutBeforeSpawnLinux(): Promise<WindowRect> {CODE
LOW…ib/tinymist-gpu-viewer/editors/vscode/src/extension.ts747async function arrangeWindowsSideBySideMacOS(viewerTitle: string) {CODE
LOW…ib/tinymist-gpu-viewer/editors/vscode/src/extension.ts811function powershellSingleQuotedString(value: string): string {CODE
LOW…ib/tinymist-gpu-viewer/editors/vscode/src/extension.ts819async function arrangeWindowsSideBySideLinux(viewerPid: number) {CODE
LOW.github/copilot-instructions.md121 export function requestSaveFontsExportConfigure(data: fontsExportConfigure) {CODE
Synthetic Comment Markers5 hits · 35 pts
SeverityFileLineSnippetContext
HIGHcrates/tinymist-l10n/src/lib.rs116 result.push_str("\n# The translations are partially generated by copilot\n");CODE
HIGHlocales/tinymist-rt.toml2# The translations are partially generated by copilotCOMMENT
HIGHlocales/tinymist-vscode.toml2# The translation are partially generated by copilotCOMMENT
HIGHlocales/tinymist-vscode-rt.toml2# The translations are partially generated by copilotCOMMENT
HIGH.github/copilot-instructions-l10n.md97# The translations are partially generated by copilotCOMMENT
Decorative Section Separators6 hits · 27 pts
SeverityFileLineSnippetContext
MEDIUMcrates/tinymist/src/project.rs4//! ┌────────────────────────────────┐ ┌────────────┐COMMENT
MEDIUMcrates/tinymist/src/project.rs5//! │ main::main_loop │◄───────►│notify_actor│COMMENT
MEDIUMcrates/tinymist/src/project.rs6//! └─────┬────────────────────▲─────┘ └────────────┘COMMENT
MEDIUMcrates/tinymist/src/project.rs8//! ┌─────▼────────────────────┴─────┐ handler ┌────────────┐COMMENT
MEDIUMcrates/tinymist/src/project.rs9//! │ compiler::compile_handler ├────────►│ rest actors│COMMENT
MEDIUMcrates/tinymist/src/project.rs10//! └────────────────────────────────┘ └────────────┘COMMENT
Verbosity Indicators6 hits · 13 pts
SeverityFileLineSnippetContext
LOWcrates/tinymist-std/src/fs/paths.rs463 // For Windows, we need to check if the file is a symlink to a directoryCOMMENT
LOW…nymist/intellij/lsp/TinymistLanguageServerInstaller.kt140 // Step 1: Create installation directoryCOMMENT
LOW…nymist/intellij/lsp/TinymistLanguageServerInstaller.kt145 // Step 2: Download the archiveCOMMENT
LOW…nymist/intellij/lsp/TinymistLanguageServerInstaller.kt153 // Step 3: Extract the archiveCOMMENT
LOW…nymist/intellij/lsp/TinymistLanguageServerInstaller.kt158 // Step 4: Set executable permissions (Unix-like systems)COMMENT
LOW…nymist/intellij/lsp/TinymistLanguageServerInstaller.kt167 // Step 5: Verify installationCOMMENT
Structural Annotation Overuse5 hits · 11 pts
SeverityFileLineSnippetContext
LOW…nymist/intellij/lsp/TinymistLanguageServerInstaller.kt140 // Step 1: Create installation directoryCOMMENT
LOW…nymist/intellij/lsp/TinymistLanguageServerInstaller.kt145 // Step 2: Download the archiveCOMMENT
LOW…nymist/intellij/lsp/TinymistLanguageServerInstaller.kt153 // Step 3: Extract the archiveCOMMENT
LOW…nymist/intellij/lsp/TinymistLanguageServerInstaller.kt158 // Step 4: Set executable permissions (Unix-like systems)COMMENT
LOW…nymist/intellij/lsp/TinymistLanguageServerInstaller.kt167 // Step 5: Verify installationCOMMENT
Self-Referential Comments4 hits · 11 pts
SeverityFileLineSnippetContext
MEDIUMcrates/tinymist-project/src/lock/system.rs87 let marker_line = "# This file is automatically @generated by tinymist.";CODE
MEDIUMcrates/tinymist-std/src/fs/paths.rs774# This file is a cache directory tag created by cargo.COMMENT
MEDIUM.github/workflows/release.yml319 # Create a GitHub Release while uploading all files to itCOMMENT
MEDIUM.github/workflows/build-intellij-plugin.yml201 # Create a new release draft which is not publicly visible and requires manual acceptanceCOMMENT
AI Slop Vocabulary3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMcrates/tinymist-query/src/analysis/global.rs75 /// Whether to utilize the extended `tinymist.resolveCodeAction` at clientCOMMENT
MEDIUMcrates/tinymist-query/src/analysis/tyck/syntax.rs692 // todo: This doesn't fully utilize the existing checkers. We have a better wayCOMMENT
MEDIUMcrates/tinymist/src/config.rs108 /// Whether to utilize the extended `tinymist.resolveCodeAction` at clientCOMMENT
Cross-Language Confusion (JS/TS)1 hit · 8 pts
SeverityFileLineSnippetContext
HIGHeditors/vscode/src/gitpod.ts3 * @return True if the current environment is Gitpod, false otherwise.COMMENT
Modern AI Meta-Vocabulary1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUM…ec/changes/add-mock-vfs-world-test-harness/proposal.md5That gap makes issues like `#2359` slower and riskier to fix because the first step is often inventing test scaffolding CODE
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWeditors/neovim/spec/main.py63 # Check if any test files are provided as command line argumentsCOMMENT
Unused Imports1 hit · 1 pts
SeverityFileLineSnippetContext
LOW…ymist/dev/notify-rs-file-operation-decomposition.z3.py1CODE
Fake / Example Data1 hit · 1 pts
SeverityFileLineSnippetContext
LOW.codex/skills/gh-cli/SKILL.md676gh repo license mit --fullname "John Doe"CODE