AI Slop Code RIsk Monitor

Tencent/libpag

The official rendering library for PAG (Portable Animated Graphics) files that renders After Effects animations natively across multiple platforms.

5.5 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for Tencent/libpag, a HTML project with 5,803 GitHub stars. SynthScan examined 478,238 lines of code across 2678 source files, recording 2441 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 5.5 (Moderate 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.

5.5
Adjusted Signal
5.5
Raw Pattern Score
100%
Time Factor
2026-10-09
Last Push
5.8K
Stars
HTML
Language
478.2K
Lines of Code
2.7K
Files
2.4K
Pattern Hits
2026-10-12
Scan Date
0.00
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 22.2/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.4/100 · LOW

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

Agent Over-Engineering Ratio 2.5/100 · LOW

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

PR Review Velocity Impact 24.1/100 · LOW

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

What These Metrics Mean

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

Pattern-Signal History

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

Severity Breakdown

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

CRITICAL 0HIGH 12MEDIUM 67LOW 2362

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 2441 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.

Over-Commented Block2212 hits · 2144 pts
SeverityFileLineSnippetContext
LOWpagx/wechat/CMakeLists.txt21endif ()COMMENT
LOWpagx/wechat/script/cmake.wx.js1#!/usr/bin/env nodeCOMMENT
LOWpagx/wechat/script/rollup.wx.js1/////////////////////////////////////////////////////////////////////////////////////////////////COMMENT
LOWpagx/wechat/ts/decorators.ts1/////////////////////////////////////////////////////////////////////////////////////////////////COMMENT
LOWpagx/wechat/ts/render-canvas.ts1/////////////////////////////////////////////////////////////////////////////////////////////////COMMENT
LOWpagx/wechat/ts/binding.ts1/////////////////////////////////////////////////////////////////////////////////////////////////COMMENT
LOWpagx/wechat/ts/wx-system-info.ts1/////////////////////////////////////////////////////////////////////////////////////////////////COMMENT
LOWpagx/wechat/ts/backend-texture.ts1///////////////////////////////////////////////////////////////////////////////////////////////COMMENT
LOWpagx/wechat/ts/babel.ts1/////////////////////////////////////////////////////////////////////////////////////////////////COMMENT
LOWpagx/wechat/ts/gesture-manager.ts1/////////////////////////////////////////////////////////////////////////////////////////////////COMMENT
LOWpagx/wechat/ts/backend-context.ts1/////////////////////////////////////////////////////////////////////////////////////////////////COMMENT
LOWpagx/wechat/ts/types.ts1/////////////////////////////////////////////////////////////////////////////////////////////////COMMENT
LOWpagx/wechat/ts/pagx.ts1/////////////////////////////////////////////////////////////////////////////////////////////////COMMENT
LOWpagx/wechat/ts/pagx-view.ts1/////////////////////////////////////////////////////////////////////////////////////////////////COMMENT
LOWpagx/wechat/ts/pagx-view.ts221 // pan/zoom clamp math. Kept in canvas-physical-pixel space (offset) andCOMMENT
LOWpagx/wechat/ts/interfaces.ts1/////////////////////////////////////////////////////////////////////////////////////////////////COMMENT
LOWpagx/wechat/src/binding.cpp1/////////////////////////////////////////////////////////////////////////////////////////////////COMMENT
LOWpagx/wechat/src/PAGXView.cpp1/////////////////////////////////////////////////////////////////////////////////////////////////COMMENT
LOWpagx/wechat/src/PAGXView.cpp21#include <emscripten/html5.h>COMMENT
LOWpagx/wechat/src/PAGXView.cpp41#include "pagx/nodes/Stroke.h"COMMENT
LOWpagx/wechat/src/PAGXView.cpp61constexpr uint32_t RGBA_BYTES_PER_PIXEL = 4;COMMENT
LOWpagx/wechat/src/PAGXView.cpp81constexpr double ZOOM_IN_END_TIMEOUT_MS = 300.0;COMMENT
LOWpagx/wechat/src/PAGXView.cpp461 // Replacement subtraction: when the same path is already attached, flushPendingUploadsCOMMENT
LOWpagx/wechat/src/PAGXView.cpp541 if (pendingUploads.empty() || context == nullptr || !document) {COMMENT
LOWpagx/wechat/src/PAGXView.cpp1561COMMENT
LOWpagx/wechat/src/PAGXView.h1/////////////////////////////////////////////////////////////////////////////////////////////////COMMENT
LOWpagx/wechat/src/PAGXView.h21#include <emscripten/val.h>COMMENT
LOWpagx/wechat/src/PAGXView.h381 // the display list carried the user pan/zoom) now that the runtime tree is owned by PAGScene.COMMENT
LOWpagx/wechat/src/PAGXView.h421 // Wall-clock timestamp (emscripten_get_now ms) of the previous timeline advance, used to deriveCOMMENT
LOWpagx/wechat/src/PAGXView.h441 // without a full Record(). setGestureActive takes effect once a snapshot exists. Cleared onCOMMENT
LOWpagx/wechat/src/PAGXView.h481 // push_back / clear / swap that touches pendingUploads.COMMENT
LOWpagx/wechat/src/PAGXView.h501 // LRU pressure entirely.COMMENT
LOWpagx/wechat/src/PAGXView.h521 // totalBytes crosses this line, but uploads are still allowed: the buffer betweenCOMMENT
LOWpagx/wechat/src/PAGXView.h541 size_t fullBudgetHardCap = 384ULL * 1024 * 1024;COMMENT
LOWpagx/wechat/src/PAGXView.h561COMMENT
LOWpagx/wechat/src/PAGXView.h581 // GL.textures indices retired during the current draw (eviction, replacement upload, orCOMMENT
LOWpagx/wechat/src/PAGXView.h601 // via the JS helper, wraps it in a non-adopted tgfx::Image (Image::MakeFrom) so tgfx neverCOMMENT
LOWpagx/wechat/src/PAGXView.h621 // logged in this case so sustained overflow stays visible without flooding the console.COMMENT
LOWpagx/wechat/src/PAGXView.h641COMMENT
LOWpagx/wechat/src/PAGXView.h661 // that the upload can now fit. Eviction is silent (no host callback).COMMENT
LOWpagx/wechat/src/utils/ImagePatternMatrixCalculator.h1/////////////////////////////////////////////////////////////////////////////////////////////////COMMENT
LOWpagx/wechat/src/utils/ImagePatternMatrixCalculator.h41// image loading: they represent the full-resolution pixel dimensions recorded by the exporterCOMMENT
LOWpagx/wechat/src/utils/ImagePatternMatrixCalculator.h61// first call, so repeated invocations after runtime image changes recompute against theCOMMENT
LOWpagx/wechat/src/utils/ImagePatternMatrixCalculator.cpp1/////////////////////////////////////////////////////////////////////////////////////////////////COMMENT
LOWpagx/wechat/src/utils/ImagePatternMatrixCalculator.cpp21#include <cstdio>COMMENT
LOWpagx/wechat/src/utils/StringParser.h1/////////////////////////////////////////////////////////////////////////////////////////////////COMMENT
LOWtools/html-snapshot/server.js181 fail(`unknown option: ${a}`);COMMENT
LOWtools/html-snapshot/build-browser-bundle.js81 * PAGX. The snapshot conforms to spec/html_subset.md.COMMENT
LOWtools/html-snapshot/bench/run-native.sh1#!/usr/bin/env bashCOMMENT
LOWtools/html-snapshot/bench/run-native.sh21#COMMENT
LOWtools/html-snapshot/bench/run-native.sh41# BASELINE_HOLD_MS ms each baseline run holds the page open (default 200)COMMENT
LOWtools/html-snapshot/bench/run-native.sh61# computes from /proc/<pid>/stat (Linux native) or `ps -A -o time=`COMMENT
LOWtools/html-snapshot/bench/summarize.js1#!/usr/bin/env nodeCOMMENT
LOWtools/html-snapshot/bench/summarize.js21// so reviewers can drill into the heavy onesCOMMENT
LOWtools/html-snapshot/bench/summarize-html.js1#!/usr/bin/env nodeCOMMENT
LOWtools/html-snapshot/bench/summarize-html.js21// notes caveat box explaining the three memory metricsCOMMENT
LOWtools/html-snapshot/bench/baseline-blank.js1#!/usr/bin/env nodeCOMMENT
LOWtools/html-snapshot/bench/baseline-blank.js21// 1. Launch the same browser engine `snapshot.js` uses (puppeteer,COMMENT
LOWtools/html-snapshot/bench/run-bench.sh1#!/usr/bin/env bashCOMMENT
LOWtools/html-snapshot/bench/run-bench.sh21# the sampler. Default: puppeteer.COMMENT
2152 more matches not shown…
Decorative Section Separators57 hits · 189 pts
SeverityFileLineSnippetContext
MEDIUM⚡test/gen_html_comparison.sh50#-------------------------------------------------------------------------COMMENT
MEDIUM⚡test/gen_html_comparison.sh52#-------------------------------------------------------------------------COMMENT
MEDIUM⚡test/gen_html_comparison.sh147#-------------------------------------------------------------------------COMMENT
MEDIUM⚡test/gen_html_comparison.sh149#-------------------------------------------------------------------------COMMENT
MEDIUM⚡test/gen_html_comparison.sh154#-------------------------------------------------------------------------COMMENT
MEDIUM⚡test/gen_html_comparison.sh156#-------------------------------------------------------------------------COMMENT
MEDIUMtest/gen_html_comparison.sh77#-------------------------------------------------------------------------COMMENT
MEDIUMtest/gen_html_comparison.sh79#-------------------------------------------------------------------------COMMENT
MEDIUMtest/gen_html_comparison.sh104#-------------------------------------------------------------------------COMMENT
MEDIUMtest/gen_html_comparison.sh106#-------------------------------------------------------------------------COMMENT
MEDIUMtest/gen_html_comparison.sh124#-------------------------------------------------------------------------COMMENT
MEDIUMtest/gen_html_comparison.sh126#-------------------------------------------------------------------------COMMENT
MEDIUMtest/gen_html_comparison.sh168#-------------------------------------------------------------------------COMMENT
MEDIUMtest/gen_html_comparison.sh170#-------------------------------------------------------------------------COMMENT
MEDIUMtest/gen_html_comparison.sh259#-------------------------------------------------------------------------COMMENT
MEDIUMtest/gen_html_comparison.sh261#-------------------------------------------------------------------------COMMENT
MEDIUMtest/gen_html_comparison.sh286#-------------------------------------------------------------------------COMMENT
MEDIUMtest/gen_html_comparison.sh288#-------------------------------------------------------------------------COMMENT
MEDIUMtest/gen_html_comparison.sh319#-------------------------------------------------------------------------COMMENT
MEDIUMtest/gen_html_comparison.sh321#-------------------------------------------------------------------------COMMENT
MEDIUMtest/gen_html_comparison.sh391#-------------------------------------------------------------------------COMMENT
MEDIUMtest/gen_html_comparison.sh393#-------------------------------------------------------------------------COMMENT
MEDIUM⚡.codebuddy/skills/squash/scripts/replace_branch.py295 # ======================================================================COMMENT
MEDIUM⚡.codebuddy/skills/squash/scripts/replace_branch.py297 # ======================================================================COMMENT
MEDIUM.codebuddy/skills/squash/scripts/replace_branch.py166 # ======================================================================COMMENT
MEDIUM.codebuddy/skills/squash/scripts/replace_branch.py168 # ======================================================================COMMENT
MEDIUM.codebuddy/skills/squash/scripts/replace_branch.py186 # ======================================================================COMMENT
MEDIUM.codebuddy/skills/squash/scripts/replace_branch.py188 # ======================================================================COMMENT
MEDIUM.codebuddy/skills/squash/scripts/replace_branch.py207 # ======================================================================COMMENT
MEDIUM.codebuddy/skills/squash/scripts/replace_branch.py209 # ======================================================================COMMENT
MEDIUM.codebuddy/skills/squash/scripts/replace_branch.py231 # ======================================================================COMMENT
MEDIUM.codebuddy/skills/squash/scripts/replace_branch.py233 # ======================================================================COMMENT
MEDIUM.codebuddy/skills/squash/scripts/replace_branch.py256 # ======================================================================COMMENT
MEDIUM.codebuddy/skills/squash/scripts/replace_branch.py260 # ======================================================================COMMENT
MEDIUM.codebuddy/skills/squash/scripts/replace_branch.py277 # ======================================================================COMMENT
MEDIUM.codebuddy/skills/squash/scripts/replace_branch.py280 # ======================================================================COMMENT
MEDIUMsrc/pagx/svg/SVGExporter.cpp2121// ── writeTextAsPath ─────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/pagx/svg/SVGExporter.cpp2243// ── writeTextAsFont ─────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/pagx/svg/SVGExporter.cpp2380// ── writeText ───────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/pagx/ppt/PPTExporter.cpp132// ── Transform decomposition ────────────────────────────────────────────────COMMENT
MEDIUMsrc/pagx/ppt/PPTExporter.cpp176// ── Shape envelope ─────────────────────────────────────────────────────────COMMENT
MEDIUM⚡src/pagx/ppt/PPTExporter.cpp228// ── Lazy build result ───────────────────────────────────────────────────────COMMENT
MEDIUM⚡src/pagx/ppt/PPTExporter.cpp238// ── Shared XML helpers ──────────────────────────────────────────────────────COMMENT
MEDIUM⚡src/pagx/ppt/PPTExporter.cpp240// ── Custom geometry ────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/pagx/ppt/PPTExporter.cpp258// ── Shape writers ──────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/pagx/ppt/PPTTextWriter.cpp200 // ── Bitmap glyphs ─────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/pagx/ppt/PPTTextWriter.cpp866// ── TextBox group ──────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/pagx/ppt/PPTTextWriter.cpp1324// ── Element / layer traversal ──────────────────────────────────────────────COMMENT
MEDIUMsrc/pagx/ppt/PPTStyleEmitter.cpp56// ── Picture helpers ─────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/pagx/ppt/PPTStyleEmitter.cpp87// ── Rasterized picture ──────────────────────────────────────────────────────COMMENT
MEDIUMsrc/pagx/ppt/PPTStyleEmitter.cpp101// ── ImagePattern as p:pic element ──────────────────────────────────────────COMMENT
MEDIUMsrc/pagx/ppt/PPTStyleEmitter.cpp158// ── Color source / gradient ────────────────────────────────────────────────COMMENT
MEDIUMsrc/pagx/ppt/PPTStyleEmitter.cpp391// ── Fill / stroke ──────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/pagx/ppt/PPTStyleEmitter.cpp476// ── Effects (shadow) ───────────────────────────────────────────────────────COMMENT
MEDIUM⚡src/rendering/filters/DisplacementMapFilter.cpp308 // │ │ └─────────────── B -> horizontal modulationCOMMENT
MEDIUM⚡src/rendering/filters/DisplacementMapFilter.cpp309 // │ └─────────────────────────────── G -> vertical displacementCOMMENT
MEDIUM⚡src/rendering/filters/DisplacementMapFilter.cpp310 // └─────────────────────────────────────────── R -> horizontal displacementCOMMENT
Structural Annotation Overuse73 hits · 126 pts
SeverityFileLineSnippetContext
LOW⚡pagx/wechat/wx_demo/BUILD.md36### Step 1: 配置环境COMMENT
LOW⚡pagx/wechat/wx_demo/BUILD.md46### Step 2: 运行构建COMMENT
LOW⚡pagx/wechat/wx_demo/BUILD.md53### Step 3: 验证输出COMMENT
LOW⚡test/src/PAGXTest.cpp281 // Step 2: Layout and embed fontsCOMMENT
LOW⚡test/src/PAGXTest.cpp285 // Step 3: Export to XML and save as PAGX fileCOMMENT
LOW⚡test/src/PAGXTest.cpp294 // Step 4: Load PAGX file and build layer tree (this is the viewer's actual path)COMMENT
LOW⚡test/src/PAGXTest.cpp1159 // Step 3: Re-import from XML.COMMENT
LOW⚡test/src/PAGXTest.cpp1164 // Step 4: Verify Document customData.COMMENT
LOW⚡test/src/PAGXTest.cpp1169 // Step 5: Verify Layer customData.COMMENT
LOW⚡test/src/PAGXTest.cpp1176 // Step 6: Verify Element customData.COMMENT
LOW⚡test/src/PAGXTest.cpp1188 // Step 7: Verify SolidColor resource customData.COMMENT
LOW⚡test/src/PAGXTest.cpp1194 // Step 8: Re-export and re-import to verify consistency.COMMENT
LOWtest/src/PAGXTest.cpp263 // Step 1: Parse SVG to PAGXDocumentCOMMENT
LOWtest/src/PAGXTest.cpp1120 // Step 1: Create document with customData on various nodes.COMMENT
LOWtest/src/PAGXTest.cpp1147 // Step 2: Export to XML.COMMENT
LOWtest/src/PAGSurfaceTest.cpp175 // Step 1: Set external GL state before PAG renderingCOMMENT
LOW⚡test/src/PAGSurfaceTest.cpp188 // Step 2: PAG rendering (GLRestorer should save state on lockContext, restore on unlockContext)COMMENT
LOW⚡test/src/PAGSurfaceTest.cpp195 // Step 3: Verify GL state is restored after PAG renderingCOMMENT
LOW⚡playground/pagx-viewer/README.md40// Step 1: Parse PAGX data without building layers.COMMENT
LOW⚡playground/pagx-viewer/README.md43// Step 2: Get external file paths (e.g., images) referenced by the document.COMMENT
LOW⚡playground/pagx-viewer/README.md46// Step 3: Download each external file and inject it back into the view.COMMENT
LOW⚡playground/pagx-viewer/README.md53// Step 4: Build the layer tree after all external files are loaded.COMMENT
LOW.codebuddy/skills/pagx/SKILL.md105### Step 1: Assess the current fileCOMMENT
LOW.codebuddy/skills/pagx/SKILL.md121### Step 2: Make the editsCOMMENT
LOW.codebuddy/skills/pagx/SKILL.md146### Step 3: Polish & QACOMMENT
LOW.codebuddy/skills/pagx/SKILL.md231### Step 0: One-time setupCOMMENT
LOW.codebuddy/skills/pagx/SKILL.md269### Step 1: Understand the requestCOMMENT
LOW.codebuddy/skills/pagx/SKILL.md284### Step 2: Generate the HTMLCOMMENT
LOW.codebuddy/skills/pagx/SKILL.md312### Step 3: Convert to PAGXCOMMENT
LOW.codebuddy/skills/pagx/SKILL.md377### Step 4: Review and iterateCOMMENT
LOW⚡.codebuddy/skills/pagx/spec/sync_pagx_spec.md130### Step 1: Confirm the ScopeCOMMENT
LOW⚡.codebuddy/skills/pagx/spec/sync_pagx_spec.md138### Step 2: Read the libpag SourceCOMMENT
LOW⚡.codebuddy/skills/pagx/spec/sync_pagx_spec.md145### Step 3: Compare the DocsCOMMENT
LOW.codebuddy/skills/pagx/spec/sync_pagx_spec.md159### Step 4: Sync the Chinese/English Docs and the XSDCOMMENT
LOW.codebuddy/skills/pagx/spec/sync_pagx_spec.md167### Step 5: Check Whether a Sample Is NeededCOMMENT
LOW.codebuddy/skills/pagx/spec/sync_pagx_spec.md185### Step 6: In-Subsection Sample PlacementCOMMENT
LOW.codebuddy/skills/pagx/spec/sync_pagx_spec.md189### Step 7: Report the ChangesCOMMENT
LOW.codebuddy/skills/squash/SKILL.md47## Step 1: CleanupCOMMENT
LOW.codebuddy/skills/squash/SKILL.md64## Step 2: Collect CommitsCOMMENT
LOW.codebuddy/skills/squash/SKILL.md88## Step 3: Analyze & DecideCOMMENT
LOW.codebuddy/skills/squash/SKILL.md145## Step 4: Build New HistoryCOMMENT
LOW.codebuddy/skills/squash/SKILL.md160## Step 5: User ConfirmationCOMMENT
LOW.codebuddy/skills/squash/SKILL.md179## Step 6: Replace BranchCOMMENT
LOW.codebuddy/skills/squash/SKILL.md216## Step 7: Offer to PushCOMMENT
LOW⚡.codebuddy/skills/squash/scripts/replace_branch.py299 # Step 1: Atomically update the branch ref FIRST, before removingCOMMENT
LOW⚡.codebuddy/skills/squash/scripts/replace_branch.py315 # Step 2: Remove the temporary worktree (branch still exists)COMMENT
LOW⚡.codebuddy/skills/squash/scripts/replace_branch.py325 # Step 3: Verify the update succeededCOMMENT
LOW⚡.codebuddy/skills/squash/scripts/replace_branch.py349 # Step 4: Delete the temporary branch (worktree is already removed)COMMENT
LOW⚡.codebuddy/skills/squash/scripts/replace_branch.py355 # Step 5: Restore upstream tracking if it existedCOMMENT
LOW.codebuddy/skills/cr/references/local-review.md17## Step 1: ScopeCOMMENT
LOW.codebuddy/skills/cr/references/local-review.md52## Step 2: ReviewCOMMENT
LOW.codebuddy/skills/cr/references/local-review.md70## Step 3: FilterCOMMENT
LOW.codebuddy/skills/cr/references/local-review.md79## Step 4: Report and fixCOMMENT
LOW.codebuddy/skills/cr/references/local-review.md92## Step 5: Checklist evolutionCOMMENT
LOW.codebuddy/skills/cr/references/checklist-evolution.md7## Step 1: Draft candidatesCOMMENT
LOW.codebuddy/skills/cr/references/checklist-evolution.md26## Step 2: User confirmationCOMMENT
LOW.codebuddy/skills/cr/references/checklist-evolution.md31## Step 3: InsertCOMMENT
LOW.codebuddy/skills/cr/references/pr-review.md18## Step 1: Create worktreeCOMMENT
LOW.codebuddy/skills/cr/references/pr-review.md58## Step 2: Collect diff and contextCOMMENT
LOW.codebuddy/skills/cr/references/pr-review.md78## Step 3: ReviewCOMMENT
13 more matches not shown…
Verbosity Indicators28 hits · 51 pts
SeverityFileLineSnippetContext
LOW⚡test/src/PAGXTest.cpp281 // Step 2: Layout and embed fontsCOMMENT
LOW⚡test/src/PAGXTest.cpp285 // Step 3: Export to XML and save as PAGX fileCOMMENT
LOW⚡test/src/PAGXTest.cpp294 // Step 4: Load PAGX file and build layer tree (this is the viewer's actual path)COMMENT
LOW⚡test/src/PAGXTest.cpp1159 // Step 3: Re-import from XML.COMMENT
LOW⚡test/src/PAGXTest.cpp1164 // Step 4: Verify Document customData.COMMENT
LOW⚡test/src/PAGXTest.cpp1169 // Step 5: Verify Layer customData.COMMENT
LOW⚡test/src/PAGXTest.cpp1176 // Step 6: Verify Element customData.COMMENT
LOW⚡test/src/PAGXTest.cpp1188 // Step 7: Verify SolidColor resource customData.COMMENT
LOW⚡test/src/PAGXTest.cpp1194 // Step 8: Re-export and re-import to verify consistency.COMMENT
LOWtest/src/PAGXTest.cpp263 // Step 1: Parse SVG to PAGXDocumentCOMMENT
LOWtest/src/PAGXTest.cpp1120 // Step 1: Create document with customData on various nodes.COMMENT
LOWtest/src/PAGXTest.cpp1147 // Step 2: Export to XML.COMMENT
LOWtest/src/PAGSurfaceTest.cpp175 // Step 1: Set external GL state before PAG renderingCOMMENT
LOW⚡test/src/PAGSurfaceTest.cpp188 // Step 2: PAG rendering (GLRestorer should save state on lockContext, restore on unlockContext)COMMENT
LOW⚡test/src/PAGSurfaceTest.cpp195 // Step 3: Verify GL state is restored after PAG renderingCOMMENT
LOW⚡.codebuddy/skills/squash/scripts/replace_branch.py299 # Step 1: Atomically update the branch ref FIRST, before removingCOMMENT
LOW⚡.codebuddy/skills/squash/scripts/replace_branch.py315 # Step 2: Remove the temporary worktree (branch still exists)COMMENT
LOW⚡.codebuddy/skills/squash/scripts/replace_branch.py325 # Step 3: Verify the update succeededCOMMENT
LOW⚡.codebuddy/skills/squash/scripts/replace_branch.py349 # Step 4: Delete the temporary branch (worktree is already removed)COMMENT
LOW⚡.codebuddy/skills/squash/scripts/replace_branch.py355 # Step 5: Restore upstream tracking if it existedCOMMENT
LOWsrc/renderer/GlyphRunRenderer.cpp215 // Step 1: Compute the final matrix for each glyph (source transform × inverseMatrix).COMMENT
LOW⚡src/renderer/GlyphRunRenderer.cpp275 // Step 2: Classify all glyph matrices to find the most compact positioning mode.COMMENT
LOW⚡src/renderer/GlyphRunRenderer.cpp284 // Step 3: Write glyphs into the TextBlob with the determined mode.COMMENT
LOWsrc/renderer/GlyphRunRenderer.cpp306 // Step 1: Compute the final matrix for each glyph.COMMENT
LOW⚡src/renderer/GlyphRunRenderer.cpp321 // Step 2: Classify all glyph matrices to find the most compact positioning mode.COMMENT
LOW⚡src/renderer/GlyphRunRenderer.cpp330 // Step 3: Write glyphs into the TextBlob with the determined mode.COMMENT
LOWsrc/cli/CommandVerify.cpp3034 // Step 1: Resolve all import directives in the file (full file, idempotent).COMMENT
LOWsrc/cli/CommandVerify.cpp3045 // Step 2: Load document and compute layout.COMMENT
Hyper-Verbose Identifiers33 hits · 33 pts
SeverityFileLineSnippetContext
LOWpagx/wechat/ts/wx-system-info.ts86function getDeviceBenchmarkInfoNativeAsync(): Promise<{CODE
LOWpagx/wechat/ts/pagx-check.ts542function countPathDataWithExpansion(root: XmlNode): number {CODE
LOWtools/html-snapshot/lib/icon-font.ts334async function browserCollectFontFaceMap(): Promise<Record<string, FontFaceEntry[]>> {CODE
LOWtools/html-snapshot/lib/icon-font.ts358async function browserCollectIconFontTargets(): Promise<IconFontTarget[]> {CODE
LOWtools/html-snapshot/lib/animation-capture.ts491export function pagxResolveCapturedTransformOrigin(CODE
LOWtools/html-snapshot/lib/animation-capture.ts960export function pagxResolveClipNoneSamples(CODE
LOWtools/html-snapshot/lib/animation-capture.ts1034export function pagxElementUsesStepTiming(el: Element): boolean {CODE
LOWtools/html-snapshot/lib/animation-capture.ts1562export function pagxBuildCanonicalAnimation(CODE
LOWtools/html-snapshot/lib/animation-capture.ts1640export function pagxTransitionDescriptorFromBags(CODE
LOWtools/html-snapshot/lib/animation-capture.ts1800export function pagxSettleAndInlineCanvases(settleBudgetMs: number): { count: number } {CODE
LOWtools/html-snapshot/lib/animation-capture.ts2556export function pagxMeasureGlobalDurationMs(): number {CODE
LOWtools/html-snapshot/lib/animation-capture.ts2634export function pagxCaptureAnimeInstances(): void {CODE
LOWtools/html-snapshot/lib/animation-capture.ts3630export function buildAnimationCapturePayload(opts: {CODE
LOWtools/html-snapshot/lib/animation-capture.ts3647export async function capturePagxAnimationsOnPage(CODE
LOWtools/html-snapshot/lib/animation-capture.ts3692export async function settleAndInlineCanvasesOnPage(CODE
LOWtools/html-snapshot/lib/snapshot-runner.ts129export function makeResourceCacheRouteHandler(CODE
LOWtools/html-snapshot/lib/snapshot-runner.ts150export function makeResourceCacheListener(CODE
LOWtools/html-snapshot/lib/snapshot-runner.ts297async function resettleAfterViewportRevert(page: any): Promise<void> {CODE
LOWtools/html-snapshot/lib/browser-snapshot.ts734function hasHiddenAnimatedAncestor(el) {CODE
LOWtools/html-snapshot/lib/browser-snapshot.ts1036function normalizeEmptyImagePlaceholders(root) {CODE
LOWtools/html-snapshot/lib/browser-snapshot.ts1097function restoreEmptyImagePlaceholders(root) {CODE
LOWtools/html-snapshot/lib/browser-snapshot.ts1405function appendBackgroundImageFitting(parts, computed) {CODE
LOWtools/html-snapshot/lib/browser-snapshot.ts1918function isCssBorderTrianglePattern(el, computed) {CODE
LOWtools/html-snapshot/lib/browser-snapshot.ts2537function boundarySpacePreservation(textNode, computed) {CODE
LOWtools/html-snapshot/lib/browser-snapshot.ts3514function isIntrinsicWidthInlineRunChild(el) {CODE
LOWtools/html-snapshot/lib/browser-snapshot.ts3553function isInlineTextLeafCandidate(el, computed, precomputedHasChildren) {CODE
LOWtools/html-snapshot/lib/browser-snapshot.ts4222function isIntrinsicInlineContentWidth(el, computed, rect, opts) {CODE
LOWtools/html-snapshot/lib/browser-snapshot.ts5794async function materializeDecorativePseudoElements() {CODE
LOWtools/html-snapshot/lib/browser-snapshot.ts6204function expandStickyScrollytelling() {CODE
LOWplayground/pagx-player/src/editor/index.ts79function ensureEditorStylesInjected(): void {CODE
LOWplayground/pagx-preview/scripts/prebuild.js161function buildUpstreamDependencies({ release, mt }) {CODE
LOWweb/lite/src/base/time-range.ts79export function convertFrameByStaticTimeRanges(timeRanges: Array<TimeRange>, frame: number): number {CODE
LOWohos/hvigorfile.ts11function overrideSigningConfigIfNeeded() {CODE
Cross-Language Confusion7 hits · 32 pts
SeverityFileLineSnippetContext
HIGH⚡test/gen_html_comparison.py172 if (found && location.hash !== '#' + id) {CODE
HIGH⚡test/gen_html_comparison.py173 history.replaceState(null, '', '#' + id);CODE
HIGH⚡test/gen_html_comparison.py181 history.pushState(null, '', '#' + id);CODE
HIGH.codebuddy/skills/squash/scripts/replace_branch.py15 - upstream_remote: original upstream remote name (or null)STRING
HIGH.codebuddy/skills/squash/scripts/replace_branch.py16 - upstream_merge: original upstream merge ref (or null)STRING
HIGH.codebuddy/skills/squash/scripts/build_history.py15 - upstream_remote: original upstream remote name (or null)STRING
HIGH.codebuddy/skills/squash/scripts/build_history.py16 - upstream_merge: original upstream merge ref (or null)STRING
AI Slop Vocabulary9 hits · 27 pts
SeverityFileLineSnippetContext
MEDIUMtools/html-snapshot/bench/run-native.sh27# (mirrors the eval/ harness — every run gets its ownCOMMENT
MEDIUMtools/html-snapshot/bench/run-bench.sh12# (mirrors the eval/ harness — every run gets its ownCOMMENT
MEDIUMtest/src/PAGXRuntimeTest.cpp885 // (seamless loop t == duration equals t == 0).COMMENT
MEDIUMsrc/pagx/html/importer/HTMLValueParser.cpp772 // to exactly one `periodPx`-tall (or wide) span in the layer, keeping the repeat seamless and theCOMMENT
MEDIUMsrc/pagx/html/importer/HTMLCssCascade.cpp288 // Ensure the declaration block is terminated so re-parsing stays robust.COMMENT
MEDIUMsrc/pagx/html/importer/HTMLElementEmitter.cpp1384 // blend is the more robust of the two here: a non-Normal blend renders the subtree into anCOMMENT
MEDIUMsrc/pagx/ppt/PPTContourUtils.cpp74// approximation, this is robust to paths with few high-curvature curves.COMMENT
MEDIUMsrc/pagx/ppt/PPTContourUtils.cpp158// midpoint makes the ContourInsideContour fallback robust for high-curvatureCOMMENT
MEDIUMsrc/renderer/LayerBuilder.cpp3420 // subtree build so it is robust even if TextBoxes were ever nested.COMMENT
Empty Error Handlers5 hits · 25 pts
SeverityFileLineSnippetContext
HIGH.codebuddy/skills/squash/scripts/resolve_scope.py81except OSError:CODE
HIGH.codebuddy/skills/squash/scripts/replace_branch.py352except GitError:CODE
HIGH.codebuddy/skills/squash/scripts/replace_branch.py364except GitError:CODE
HIGH.codebuddy/skills/squash/scripts/build_history.py291except GitError:CODE
HIGH.codebuddy/skills/squash/scripts/build_history.py295except GitError:CODE
Example Usage Blocks6 hits · 9 pts
SeverityFileLineSnippetContext
LOWtools/html-snapshot/bench/run-native.sh22# Usage:COMMENT
LOWtools/html-snapshot/bench/run-bench.sh7# Usage:COMMENT
LOWtools/html-snapshot/bench/run-cases.sh17# Usage:COMMENT
LOWtest/run_html_eval.sh23# Usage:COMMENT
LOW⚡test/gen_html_comparison.sh45# Usage:COMMENT
LOWcli/npm/pack.sh35# Usage:COMMENT
Deep Nesting6 hits · 6 pts
SeverityFileLineSnippetContext
LOW.codebuddy/skills/squash/scripts/resolve_scope.py37CODE
LOW.codebuddy/skills/squash/scripts/format_report.py31CODE
LOW.codebuddy/skills/squash/scripts/collect_commits.py87CODE
LOW.codebuddy/skills/squash/scripts/collect_commits.py182CODE
LOW.codebuddy/skills/squash/scripts/build_history.py120CODE
LOW.codebuddy/skills/squash/scripts/build_history.py276CODE
Fake / Example Data3 hits · 3 pts
SeverityFileLineSnippetContext
LOWtools/html-snapshot/lib/browser-snapshot.ts1136 return (el.value || el.getAttribute('placeholder') || '').trim();CODE
LOWtools/html-snapshot/lib/browser-snapshot.ts1141 return (el.value || el.getAttribute('placeholder') || '').trim();CODE
LOWtools/html-snapshot/lib/browser-snapshot.ts3238 const placeholderColor = (!el.value && el.getAttribute('placeholder'))CODE
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMsrc/pagx/ppt/PPTWriter.h913 // scaffold that both native-text and TextBox shape frames share. The callerCOMMENT
Unused Imports1 hit · 1 pts
SeverityFileLineSnippetContext
LOWtest/gen_html_comparison.py21CODE