The 1st Collaborative AI Design Agent Workspace. Local-first and open source. Create motion, prototypes, websites, apps, dashboards, presentations, images, and videos with your team and AI agents. Share work, exchange feedback, and iterate together in one workspace.
This report summarizes scanner evidence for nexu-io/open-design, a TypeScript project with 105,147 GitHub stars. SynthScan examined 3,429,781 lines of code across 12973 source files, recording 8866 pattern matches distributed across 24 syntactic categories. The legacy adjusted pattern signal is 3.0 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 7231 finding(s).
Are imports declared and package/API names verified? 1036 finding(s).
Are wrappers, guards, and repeated structures necessary? 5819 finding(s).
Which changes need focused human review? 8866 finding(s).
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.
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.
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.
The scanner identified 8866 distinct pattern matches across 24 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.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/pack/tests/mac.test.ts | 364 | async function prepareElectronBuilderConfig(root: string, overrides: Partial<ToolPackConfig>) { | CODE |
| LOW | tools/pack/tests/win-resources.test.ts | 14 | async function writeFakeOpenCodeCompanion( | CODE |
| LOW | tools/pack/tests/win-builder.test.ts | 267 | async function createVersionedExecutable(packagedVersion: string): Promise<Buffer> { | CODE |
| LOW | tools/pack/tests/internal-packages-coverage.test.ts | 17 | function collectWorkspaceRuntimeDeps(relativePath: string): string[] { | CODE |
| LOW | tools/pack/tests/web-standalone-after-pack.test.ts | 43 | async function writeHyperframesRuntimeFixture(options: { | CODE |
| LOW | tools/pack/tests/resources/resources.test.ts | 21 | async function writeFakeOpenCodeCompanion( | CODE |
| LOW | tools/pack/tests/resources/resources.test.ts | 117 | async function velaCliCommandWithOptionalStageDir( | CODE |
| LOW | tools/pack/tests/resources/resources.test.ts | 148 | async function velaCliCommandWithoutStageDir( | CODE |
| LOW | tools/pack/src/linux.ts | 82 | export function resolveLinuxLifecycleMode( | CODE |
| LOW | tools/pack/src/linux.ts | 279 | export function renderLinuxPackagedMainEntry(): string { | CODE |
| LOW | tools/pack/src/linux.ts | 283 | export function renderLinuxAppImageAppRun(): string { | CODE |
| LOW | tools/pack/src/linux.ts | 448 | export function resolveProductionInstallCommand(env: NodeJS.ProcessEnv): ProductionInstallCommand { | CODE |
| LOW | tools/pack/src/linux.ts | 867 | export function shouldRejectLinuxHeadlessInspectOptions(options: { | CODE |
| LOW | tools/pack/src/linux.ts | 902 | export function createLinuxDesktopLaunchEnv( | CODE |
| LOW | tools/pack/src/linux.ts | 1129 | export async function uninstallPackedLinuxHeadless( | CODE |
| LOW | tools/pack/src/linux.ts | 1168 | function resolveHeadlessBundledNodePath(paths: LinuxPaths): string { | CODE |
| LOW | tools/pack/src/linux.ts | 1208 | export async function installPackedLinuxHeadless(config: ToolPackConfig): Promise<LinuxHeadlessInstallResult> { | CODE |
| LOW | tools/pack/src/linux.ts | 1323 | export async function cleanupPackedLinuxNamespace( | CODE |
| LOW | tools/pack/src/workspace-build.ts | 69 | export function workspaceBuildNodeOptions(inherited: string | undefined): string { | CODE |
| LOW | tools/pack/src/workspace-build.ts | 88 | export function createWorkspaceBuildCacheKeyFromInputs(inputs: WorkspaceBuildCacheKeyInputs): string { | CODE |
| LOW | tools/pack/src/workspace-build.ts | 110 | async function resolveWorkspaceBuildVersionFamily(config: ToolPackConfig): Promise<string | null> { | CODE |
| LOW | tools/pack/src/workspace-build.ts | 136 | export async function createWorkspaceBuildCacheKey(config: ToolPackConfig): Promise<string> { | CODE |
| LOW | tools/pack/src/workspace-build.ts | 188 | function workspaceBuildOutputFiles(config: ToolPackConfig): string[] { | CODE |
| LOW | tools/pack/src/workspace-build.ts | 316 | async function symlinkDirectoryForWorkspaceBuild(target: string, linkPath: string): Promise<void> { | CODE |
| LOW | tools/pack/src/workspace-build.ts | 324 | async function hoistStandaloneNextPeerDeps(standaloneRoot: string): Promise<void> { | CODE |
| LOW | tools/pack/src/workspace-build.ts | 359 | async function copyWorkspaceBuildArtifactsToCache(config: ToolPackConfig, entryRoot: string): Promise<void> { | CODE |
| LOW | tools/pack/src/workspace-build.ts | 376 | async function missingWorkspaceBuildOutput(config: ToolPackConfig): Promise<string | null> { | CODE |
| LOW | tools/pack/src/workspace-build.ts | 390 | export async function ensureWorkspaceBuildArtifacts( | CODE |
| LOW | tools/pack/src/node-pty-runtime.ts | 13 | export function resolveNodePtyRuntimeArch(arch: NodeJS.Architecture): NodePtyRuntimeArch { | CODE |
| LOW | tools/pack/src/vela-cli.ts | 85 | export async function copyOptionalVelaCliBinary({ | CODE |
| LOW | tools/pack/src/vela-cli.ts | 115 | async function validateBundledVelaCliBinary( | CODE |
| LOW | tools/pack/src/vela-cli.ts | 272 | export function resolveVelaCliOpenCodeCompanionTree(source: string): string { | CODE |
| LOW | tools/pack/src/vela-cli.ts | 276 | export async function resolveOptionalVelaCliOpenCodeCompanionTree( | CODE |
| LOW | tools/pack/src/vela-cli.ts | 314 | export async function resolveOptionalVelaCliBinary({ | CODE |
| LOW | tools/pack/src/launcher/runtime-snapshot.ts | 33 | export async function readToolPackLauncherRuntimeSnapshot( | CODE |
| LOW⚡ | tools/pack/src/launcher/layout.ts | 34 | export function resolveToolPackLauncherChannel( | CODE |
| LOW⚡ | tools/pack/src/launcher/layout.ts | 42 | export function resolveToolPackLauncherRoot( | CODE |
| LOW⚡ | tools/pack/src/launcher/layout.ts | 48 | export function resolveToolPackLauncherLayout( | CODE |
| LOW | tools/pack/src/launcher/layout.ts | 68 | export function resolveToolPackLauncherPayloadLayout( | CODE |
| LOW | tools/pack/src/launcher/layout.ts | 98 | export function buildInitialLauncherRuntimeDescriptor( | CODE |
| LOW | tools/pack/src/cache/index.ts | 137 | async function readMaterializationMarker(markerPath: string): Promise<CacheMaterializationMarker | null> { | CODE |
| LOW | tools/pack/src/cache/index.ts | 145 | async function materializedTargetIsReusable(target: CacheMaterializeTarget): Promise<boolean> { | CODE |
| LOW | tools/pack/src/config/sidecar-stamps.ts | 37 | export function packagedSidecarStopRequests( | CODE |
| LOW | tools/pack/src/config/sidecar-stamps.ts | 55 | export function allPackagedSidecarStopRequests(config: ToolPackConfig): SidecarStopRequest[] { | CODE |
| LOW⚡ | tools/pack/src/config/index.ts | 178 | function resolveToolPackBuildOutput(platform: ToolPackPlatform, value: string | undefined): ToolPackBuildOutput { | CODE |
| LOW⚡ | tools/pack/src/config/index.ts | 186 | function resolveToolPackMacCompression(value: string | undefined): ToolPackMacCompression { | CODE |
| LOW⚡ | tools/pack/src/config/index.ts | 192 | function resolveToolPackAppVersion(value: string | undefined): string | undefined { | CODE |
| LOW⚡ | tools/pack/src/config/index.ts | 200 | function defaultNamespaceForAppVersion(platform: ToolPackPlatform, appVersion: string | undefined): string { | CODE |
| LOW⚡ | tools/pack/src/config/index.ts | 207 | function resolveToolPackWebOutputMode(platform: ToolPackPlatform, value: string | undefined): ToolPackWebOutputMode { | CODE |
| LOW⚡ | tools/pack/src/config/index.ts | 216 | function resolveToolPackAmrProfile(value: string | undefined): ToolPackAmrProfile | undefined { | CODE |
| LOW⚡ | tools/pack/src/config/index.ts | 226 | function resolveToolPackPosthogKey(value: string | undefined): string | undefined { | CODE |
| LOW | tools/pack/src/config/index.ts | 240 | function resolveToolPackPosthogHost(value: string | undefined): string | undefined { | CODE |
| LOW | tools/pack/src/config/index.ts | 262 | function resolveToolPackVelaWebUrl(value: string | undefined): string | undefined { | CODE |
| LOW | tools/pack/src/config/index.ts | 278 | function resolveToolPackVelaWebUrls(env: NodeJS.ProcessEnv): ToolPackVelaWebUrls | undefined { | CODE |
| LOW | tools/pack/src/config/index.ts | 293 | function resolveToolPackPosthogCliApiKey(value: string | undefined): string | undefined { | CODE |
| LOW | tools/pack/src/config/index.ts | 307 | function resolveToolPackPosthogCliProjectId(value: string | undefined): string | undefined { | CODE |
| LOW | tools/pack/src/config/index.ts | 317 | function resolveToolPackPosthogCliHost(value: string | undefined): string | undefined { | CODE |
| LOW | tools/pack/src/config/index.ts | 333 | function resolveToolPackTelemetryRelayUrl(value: string | undefined): string | undefined { | CODE |
| LOW | tools/pack/src/config/index.ts | 349 | function resolveToolPackUpdateMetadataUrl(value: string | undefined): string | undefined { | CODE |
| LOW | tools/pack/src/config/index.ts | 383 | function resolveElectronBuilderCliPath(): string { | CODE |
| 5156 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/pack/docker-compose.yml | 1 | # Phase 5 / spec §15.4 — reference Docker Compose manifest. | COMMENT |
| LOW | tools/pack/docker-compose.yml | 21 | od: | COMMENT |
| LOW | tools/pack/tests/release-workflows.test.ts | 481 | // a genuine `full` request wires up, and dies before the smoke starts. | COMMENT |
| LOW | tools/pack/tests/release-workflows.test.ts | 501 | // PUBLISH run past a skipped `build_linux`; it does nothing for publish's | COMMENT |
| LOW | tools/pack/tests/release-workflows.test.ts | 561 | // FAR. So a step placed after a step that failed is skipped before its own | COMMENT |
| LOW | …pack/tests/prebundle/internal-packages-closure.test.ts | 21 | return Object.keys(manifest.dependencies ?? {}).filter((dep) => dep.startsWith("@open-design/")); | COMMENT |
| LOW | tools/pack/helm/open-design/values-gcp.yaml | 1 | # Spec §15.5 — Google Cloud override. | COMMENT |
| LOW | tools/pack/helm/open-design/values-aws.yaml | 1 | # Spec §15.5 — AWS override. | COMMENT |
| LOW | tools/pack/helm/open-design/values-self.yaml | 1 | # Spec §15.5 — Self-hosted Kubernetes / k3s / k0s override. | COMMENT |
| LOW | tools/pack/helm/open-design/values.yaml | 1 | # Open Design daemon — Helm chart values. Spec §15.5. | COMMENT |
| LOW | tools/pack/helm/open-design/values-azure.yaml | 1 | # Spec §15.5 — Azure override. | COMMENT |
| LOW | tools/pack/src/linux.ts | 121 | config: ToolPackConfig, | COMMENT |
| LOW | tools/pack/src/linux.ts | 141 | // - config.to is enum-validated by resolveToolPackBuildOutput() in config.ts | COMMENT |
| LOW | tools/pack/src/web-sourcemaps.ts | 1 | // Browser-sourcemap post-build step for packaged builds. | COMMENT |
| LOW | tools/pack/src/web-sourcemaps.ts | 21 | // to bake chunk IDs into the JS/map pair, then `sourcemap upload` to | COMMENT |
| LOW | tools/release/resources/dsh-bootstrap/install-dsh.sh | 1 | #!/usr/bin/env sh | COMMENT |
| LOW | …elease/src/notifications/prerelease-fallback-notice.ts | 1 | // Decides whether the prerelease card lane went silent and, if it did, writes | COMMENT |
| LOW | …elease/src/notifications/prerelease-fallback-notice.ts | 21 | // CHANNEL_LABEL default "Prerelease" | COMMENT |
| LOW | tools/release/src/notifications/feishu.ts | 1 | // Posts a packaged build notification to a Feishu (Lark) custom-bot webhook as | COMMENT |
| LOW | tools/release/src/notifications/feishu.ts | 21 | // after publication, so a red BUILD_STATE routinely | COMMENT |
| LOW | tools/release/src/notifications/feishu-app.ts | 1 | // Feishu (Lark) *application* bot transport. | COMMENT |
| LOW | tools/release/src/notifications/prerelease-fallback.ts | 1 | // Pure decision + rendering for the prerelease card's last-resort alert. | COMMENT |
| LOW | tools/release/src/notifications/feishu-notice.ts | 1 | // Posts a generic notice to a Feishu (Lark) custom-bot webhook as an interactive | COMMENT |
| LOW | …/release/src/notifications/prerelease-progress-card.ts | 1 | // Watches one prerelease across three workflow runs and keeps a single Feishu | COMMENT |
| LOW | tools/release/src/notifications/prerelease-card.ts | 1 | // Pure rendering for the progressive prerelease Feishu card. | COMMENT |
| LOW | tools/serve/src/collab-cloud-fixture.ts | 1 | import { | COMMENT |
| LOW | tools/serve/src/collab-cloud-fixture.ts | 21 | // | COMMENT |
| LOW | clipper/background.js | 1 | // OpenDesign web clipper service worker. | COMMENT |
| LOW | clipper/background.js | 141 | COMMENT | |
| LOW | clipper/capture.js | 1 | // OpenDesign web clipper page-capture runtime. | COMMENT |
| LOW | clipper/capture.js | 21 | // rewrites them to data URIs afterwards (only the worker can | COMMENT |
| LOW | clipper/content.js | 1 | // OpenDesign web clipper on-page UI. | COMMENT |
| LOW | clipper/content.js | 21 | const locale = I18N?.currentLocale ? I18N.currentLocale() : 'en'; | COMMENT |
| LOW | clipper/content.js | 381 | const busyTitleEl = shadow.querySelector('.busy-title'); | COMMENT |
| LOW | specs/current/touchpoint-realtime-vela-handoff.md | 121 | TestRuntimeDecision, | COMMENT |
| LOW | …ideo-templates/frame-data-rollup/source/DataRollup.tsx | 1 | // frame-data-rollup — the first NATIVE Remotion template (RFC-08 Phase 2). | COMMENT |
| LOW | plugins/_official/examples/hyperframes/SKILL.md | 61 | # not run `hyperframes init`, consult an npx cache, or install global skills. | COMMENT |
| LOW | …ns/_official/examples/fs-editorial-forest/example.html | 701 | // (only the document root qualifies), so author rules like | COMMENT |
| LOW | …s/_official/examples/fs-emerald-editorial/example.html | 1801 | // form, so any compound on :root — [attr], .class, #id, :pseudo — | COMMENT |
| LOW | …s/_official/examples/fs-emerald-editorial/example.html | 2201 | }); | COMMENT |
| LOW | …s/_official/examples/fs-emerald-editorial/example.html | 2421 | } | COMMENT |
| LOW | …s/_official/examples/fs-emerald-editorial/example.html | 2601 | }); | COMMENT |
| LOW | …omepage/assets/_next/static/chunks/1098c2541054fc77.js | 401 | #endif | COMMENT |
| LOW | …omepage/assets/_next/static/chunks/1098c2541054fc77.js | 421 | #ifdef COLOR_WRITE | COMMENT |
| LOW | …omepage/assets/_next/static/chunks/1098c2541054fc77.js | 441 | #endif | COMMENT |
| LOW | …omepage/assets/_next/static/chunks/1098c2541054fc77.js | 521 | #else | COMMENT |
| LOW | …omepage/assets/_next/static/chunks/1098c2541054fc77.js | 541 | #endif | COMMENT |
| LOW | …omepage/assets/_next/static/chunks/1098c2541054fc77.js | 561 | uniform mediump sampler2D maskTexture; | COMMENT |
| LOW | …omepage/assets/_next/static/chunks/1098c2541054fc77.js | 581 | #else | COMMENT |
| LOW | …omepage/assets/_next/static/chunks/1098c2541054fc77.js | 601 | #endif | COMMENT |
| LOW | …omepage/assets/_next/static/chunks/1098c2541054fc77.js | 621 | #include <dithering_fragment> | COMMENT |
| LOW | …omepage/assets/_next/static/chunks/1098c2541054fc77.js | 641 | vec4 applyLUT(const in vec3 rgb){ | COMMENT |
| LOW | …omepage/assets/_next/static/chunks/1098c2541054fc77.js | 661 | #else | COMMENT |
| LOW | …omepage/assets/_next/static/chunks/1098c2541054fc77.js | 681 | }`,te=class extends es{constructor({blendFunction:e=ei.SCREEN,premultiply:t=!1}={}){super("NoiseEffect",e7,{blendFunctio | COMMENT |
| LOW | …omepage/assets/_next/static/chunks/1098c2541054fc77.js | 701 | #ifdef PERSPECTIVE_CAMERA | COMMENT |
| LOW | …omepage/assets/_next/static/chunks/1098c2541054fc77.js | 741 | #endif | COMMENT |
| LOW | …omepage/assets/_next/static/chunks/1098c2541054fc77.js | 761 | return orthographicDepthToViewZ(depth,cameraNearFar.x,cameraNearFar.y); | COMMENT |
| LOW | …omepage/assets/_next/static/chunks/1098c2541054fc77.js | 781 | depth.x=viewZToOrthographicDepth(getViewZ(depth.x),cameraNearFar.x,cameraNearFar.y);depth.y=viewZToOrthographicDepth(get | COMMENT |
| LOW | …omepage/assets/_next/static/chunks/1098c2541054fc77.js | 801 | uniform mediump sampler2D depthBuffer; | COMMENT |
| LOW | …omepage/assets/_next/static/chunks/1098c2541054fc77.js | 841 | #endif | COMMENT |
| 1543 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | …gins/community/humanize-ppt/scripts/humanize_ppt_v2.py | 3220 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …gins/community/humanize-ppt/scripts/humanize_ppt_v2.py | 3223 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …gins/community/humanize-ppt/scripts/humanize_ppt_v2.py | 37 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …gins/community/humanize-ppt/scripts/humanize_ppt_v2.py | 1987 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …gins/community/humanize-ppt/scripts/humanize_ppt_v2.py | 1989 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …gins/community/humanize-ppt/scripts/humanize_ppt_v2.py | 1480 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | …gins/community/humanize-ppt/scripts/humanize_ppt_v2.py | 1482 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | …gins/community/humanize-ppt/scripts/humanize_ppt_v2.py | 1484 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | …gins/community/humanize-ppt/scripts/humanize_ppt_v2.py | 1528 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | …gins/community/humanize-ppt/scripts/humanize_ppt_v2.py | 3144 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | …gins/community/humanize-ppt/scripts/humanize_ppt_v2.py | 3147 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | …ns/_official/examples/fs-editorial-forest/example.html | 1334 | // ── Thumbnail rail ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s/_official/examples/fs-emerald-editorial/example.html | 2423 | // ── Thumbnail rail ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | deploy/scripts/uninstall.sh | 19 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/uninstall.sh | 21 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/uninstall.sh | 57 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/uninstall.sh | 59 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | deploy/scripts/uninstall.sh | 92 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | deploy/scripts/uninstall.sh | 94 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | deploy/scripts/uninstall.sh | 104 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | deploy/scripts/uninstall.sh | 106 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/uninstall.sh | 119 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/uninstall.sh | 121 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/uninstall.sh | 170 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/uninstall.sh | 172 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/uninstall.sh | 184 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/uninstall.sh | 186 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | deploy/scripts/install.sh | 10 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | deploy/scripts/install.sh | 12 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | deploy/scripts/install.sh | 118 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | deploy/scripts/install.sh | 120 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | deploy/scripts/install.sh | 130 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | deploy/scripts/install.sh | 132 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | deploy/scripts/install.sh | 425 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | deploy/scripts/install.sh | 427 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | deploy/scripts/install.sh | 434 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | deploy/scripts/install.sh | 436 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/install.sh | 43 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/install.sh | 45 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/install.sh | 81 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/install.sh | 83 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/install.sh | 159 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/install.sh | 161 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/install.sh | 324 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/install.sh | 326 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/install.sh | 345 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/install.sh | 347 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/install.sh | 375 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/install.sh | 377 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/install.sh | 402 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/install.sh | 404 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/install.sh | 468 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/install.sh | 470 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/install.sh | 519 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/install.sh | 521 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/update.sh | 23 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/update.sh | 25 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/update.sh | 38 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/update.sh | 40 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deploy/scripts/update.sh | 91 | # --------------------------------------------------------------------------- | COMMENT |
| 394 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | craft/rtl-and-bidi.md | 181 | - Lorem Ipsum used for RTL prototyping. Arabic word lengths, connection behaviors, and vertical extents differ; use real | CODE |
| LOW | craft/anti-ai-slop.md | 39 | 7. **Filler copy** — `lorem ipsum`, `feature one / two / three`, | CODE |
| LOW | clipper/i18n.js | 629 | el.setAttribute('placeholder', t(el.getAttribute('data-i18n-placeholder'), undefined, resolved)); | CODE |
| LOW | specs/current/critique-theater.md | 216 | Round `n+1` transcript bytes must be less than round `n` transcript bytes. Final shipped artifact must be production-rea | CODE |
| LOW | specs/current/critique-theater-plan.md | 1510 | - DO produce a production-ready artifact: no TODO comments, no Lorem Ipsum, no broken links. | CODE |
| LOW | plugins/spec/examples/share-github-pr/open-design.json | 49 | { "name": "targetRepo", "type": "string", "required": true, "label": "Target repository", "placeholder": "nexu-io/ | CODE |
| LOW | plugins/community/hallmark/references/anti-patterns.md | 367 | "Jane Doe", "John Smith", "Example User". | CODE |
| LOW | plugins/community/hallmark/references/copy.md | 52 | - Stock placeholder names: Jane Doe, John Smith, Lorem Ipsum (unless the page is a lorem-ipsum tool). | CODE |
| LOW | …ugins/community/hallmark/references/macrostructures.md | 71 | - **Testimonials:** include the quoted person's role *and* company. Abstract "Engineering Manager" testimonials are slop | CODE |
| LOW | plugins/community/import-smoke-test/open-design.json | 117 | "placeholder": "Optional detail about the import test." | CODE |
| LOW | …/community/humanize-ppt/references/qa-failure-modes.md | 30 | | 模板占位残留 | 正式页面上出现 `[必填]`、`SLIDES_HERE`、lorem ipsum、TODO、TBD 这样的半成品字样 | `placeholder-residue`(scope `any`,对所有渲染器生效) | | CODE |
| LOW | …/community/humanize-ppt/references/qa-failure-modes.md | 62 | **观众视角会看到什么:** 正式页面上出现 `[必填]`、`<!-- SLIDES_HERE -->`、lorem ipsum、TODO、TBD 这样的字样。观众立刻知道这页没做完。 | CODE |
| LOW | …/community/humanize-ppt/references/qa-failure-modes.md | 64 | **检测:** `check_placeholder_residue`。渲染 HTML 里出现 `[必填]` 或 `SLIDES_HERE` 即 fail;出现 lorem ipsum(不区分大小写)、独立单词 TODO 或 TBD 也 f | CODE |
| LOW | …mmunity/humanize-ppt/references/qa-failure-modes.en.md | 32 | | Template placeholder residue | Half-finished tokens like `[必填]`, `SLIDES_HERE`, lorem ipsum, TODO, TBD on a live slide | CODE |
| LOW | …mmunity/humanize-ppt/references/qa-failure-modes.en.md | 64 | **What the audience sees:** Tokens like `[必填]`, `<!-- SLIDES_HERE -->`, lorem ipsum, TODO, TBD on a live slide. The audi | CODE |
| LOW | …mmunity/humanize-ppt/references/qa-failure-modes.en.md | 66 | **Detection:** `check_placeholder_residue`. `[必填]` or `SLIDES_HERE` in the rendered HTML → fail; lorem ipsum (case-insen | CODE |
| LOW | …gins/community/humanize-ppt/scripts/humanize_ppt_v2.py | 2061 | "placeholder-residue": "Remove all placeholder residue from live slides: substitute [必填] placeholders, remove th | CODE |
| LOW | …gins/community/humanize-ppt/scripts/humanize_ppt_v2.py | 1542 | "description": "Template placeholders like [必填], SLIDES_HERE, lorem ipsum, TODO, or TBD leaked into the rendered | STRING |
| LOW | …gins/community/humanize-ppt/scripts/humanize_ppt_v2.py | 1702 | # see: literal "lorem ipsum" / "TODO" / "TBD" text on a live slide. | STRING |
| LOW | …gins/community/humanize-ppt/scripts/humanize_ppt_v2.py | 1704 | (r"lorem\s+ipsum", "lorem ipsum filler text"), | STRING |
| LOW | plugins/community/clone-audit-mrlv3nl4/SKILL.md | 40 | 5. **TODOs and placeholders** — find TODO or FIXME markers, lorem ipsum, | CODE |
| LOW | …/video-templates/frame-takram-organic/open-design.json | 61 | "en": "Use the Takram Organic Frame template to turn my concept into a soft-tech radial node graph — a frosted r | CODE |
| LOW | …/video-templates/frame-takram-organic/open-design.json | 62 | "zh-CN": "用「东方柔和有机帧」模板把我的概念做成一段柔和科技感放射节点图:毛玻璃圆角卡 + 曲线连接描入 + 节点围绕进化核心放射弹出。保持模板的视觉签名,使用真实内容,避免 lorem ipsum 和占位图片。" | CODE |
| LOW | …/video-templates/frame-data-chart-nyt/open-design.json | 60 | "en": "Use the NYT-Style Data Chart Frame template to turn my content into a frame with NYT-newsroom typography, | CODE |
| LOW | …/video-templates/frame-data-chart-nyt/open-design.json | 61 | "zh-CN": "用「NYT 风数据图表帧」模板把我的内容做成一段「NYT-newsroom 排版 + 错峰揭示动画 + 编辑级图表 (折线/柱/范围带)」。保持模板的视觉签名,使用真实内容和数据,避免 lorem ips | CODE |
| LOW | …icial/video-templates/vfx-text-cursor/open-design.json | 60 | "en": "Use the VFX Text Cursor template to turn my content into a video-intro quote reveal with cursor light tra | CODE |
| LOW | …icial/video-templates/vfx-text-cursor/open-design.json | 61 | "zh-CN": "用「VFX 文字光标」模板把我的内容做成一段「光标拖光 + 彩色像散射线 + 定向光斑, 适合视频片头逐字揭示金句」。保持模板的视觉签名,使用真实内容和数据,避免 lorem ipsum 和占位图片。" | CODE |
| LOW | …cial/video-templates/frame-logo-outro/open-design.json | 60 | "en": "Use the Logo Outro Frame template to turn my content into a video outro or brand closing frame with segme | CODE |
| LOW | …cial/video-templates/frame-logo-outro/open-design.json | 61 | "zh-CN": "用「品牌 Logo 收尾帧」模板把我的内容做成一段「Logo 分块组装入场 + glow bloom + tagline 揭示, 适合视频片尾 / 品牌闭幕」。保持模板的视觉签名,使用真实内容和数据,避免 | CODE |
| LOW | …al/video-templates/frame-glitch-title/open-design.json | 60 | "en": "Use the Glitch Title Frame template to turn my content into a digital-glitch, chromatic-offset, data-corr | CODE |
| LOW | …al/video-templates/frame-glitch-title/open-design.json | 61 | "zh-CN": "用「故障艺术标题帧」模板把我的内容做成一段「数字故障 / 像散偏移 / 数据腐败标题, 适合视频转场 / cyberpunk hero」。保持模板的视觉签名,使用真实内容和数据,避免 lorem ipsu | CODE |
| LOW | …/video-templates/frame-pentagram-stat/open-design.json | 61 | "en": "Use the Pentagram Stat Frame template to turn my key metric into a Swiss-grid data reveal — a giant numbe | CODE |
| LOW | …/video-templates/frame-pentagram-stat/open-design.json | 62 | "zh-CN": "用「瑞士网格数据帧」模板把我的关键指标做成一段瑞士风数据揭示:巨大数字锚点 + 红色强调 + 生长条形图 + 黑色数据底栏。保持模板的视觉签名,使用真实数字,避免 lorem ipsum 和占位图片。" | CODE |
| LOW | …video-templates/frame-electric-studio/open-design.json | 60 | "en": "Use the Electric Studio Frame template to turn my quote into a two-panel split reveal — white top and ele | CODE |
| LOW | …video-templates/frame-electric-studio/open-design.json | 61 | "zh-CN": "用「电光工作室分屏帧」模板把我的引言做成一段双屏开合揭示:白色上屏 + 电光蓝下屏从中心开合 + 接缝处黑色强调条生长 + 引言逐行浮现。保持模板的视觉签名,使用真实内容,避免 lorem ipsum 和 | CODE |
| LOW | …/video-templates/frame-liquid-bg-hero/open-design.json | 60 | "en": "Use the Liquid Background Hero template to turn my content into a WebGL-style fluid displacement backgrou | CODE |
| LOW | …/video-templates/frame-liquid-bg-hero/open-design.json | 61 | "zh-CN": "用「流体背景 Hero 帧」模板把我的内容做成一段「WebGL 风流体置换背景 + 顶部叠加金句, 适合视频片头 / landing hero / 海报」。保持模板的视觉签名,使用真实内容和数据,避免 l | CODE |
| LOW | …ial/video-templates/frame-bold-signal/open-design.json | 61 | "en": "Use the Bold Signal Frame template to turn my section into a bold colored-card divider — a big section nu | CODE |
| LOW | …ial/video-templates/frame-bold-signal/open-design.json | 62 | "zh-CN": "用「大胆信号卡帧」模板把我的章节做成一段大胆色卡分隔:大编号 + 导航面包屑 + 鲜橙卡片从右滑入 + 标题升起。保持模板的视觉签名,使用真实内容,避免 lorem ipsum 和占位图片。" | CODE |
| LOW | …ial/video-templates/frame-bold-poster/open-design.json | 63 | "en": "Use the Bold Poster Frame template to open my deck like a magazine cover — a mono kicker with a red rule | CODE |
| LOW | …ial/video-templates/frame-bold-poster/open-design.json | 64 | "zh-CN": "用「大胆海报帧」模板把我的开场做成杂志封面感:mono kicker + 红线划过 + 巨型倾斜大字 + 三行标题逐行升起(中间行番红)+ 衬线斜体副题。保持印刷海报的视觉签名,使用真实内容,避免 lor | CODE |
| LOW | …ideo-templates/frame-creative-voltage/open-design.json | 60 | "en": "Use the Creative Voltage Frame template to turn my title into an energetic split reveal — electric-blue a | CODE |
| LOW | …ideo-templates/frame-creative-voltage/open-design.json | 61 | "zh-CN": "用「创意电压分屏帧」模板把我的标题做成一段能量感分屏揭示:电光蓝与暗色面板错位滑入 + 标题升起带一个描边电光词 + 手写体自描入。保持模板的视觉签名,使用真实内容,避免 lorem ipsum 和占位图 | CODE |
| LOW | …deo-templates/frame-light-leak-cinema/open-design.json | 60 | "en": "Use the Light-Leak Cinematic Frame template to turn my content into a cinematic opening or chapter card w | CODE |
| LOW | …deo-templates/frame-light-leak-cinema/open-design.json | 61 | "zh-CN": "用「胶片漏光电影帧」模板把我的内容做成一段「胶片漏光 + 颗粒噪点 + 16:9 letterbox + 衬线大字, 电影感开场 / 章节卡」。保持模板的视觉签名,使用真实内容和数据,避免 lorem i | CODE |
| LOW | …l/video-templates/frame-build-minimal/open-design.json | 61 | "en": "Use the Build Minimal Frame template to turn my brand word into a luxury-minimal whitespace hero — a sing | CODE |
| LOW | …l/video-templates/frame-build-minimal/open-design.json | 62 | "zh-CN": "用「奢华极简留白帧」模板把我的品牌词做成一段奢华极简留白 hero:超细字重单词逐字浮现 + 暖金细线 + 呼吸感指示器。保持模板的视觉签名,使用真实内容,避免 lorem ipsum 和占位图片。" | CODE |
| LOW | …ins/_official/examples/hps-y2k-chrome/open-design.json | 108 | "placeholder": "What the deck is about", | CODE |
| LOW | …ins/_official/examples/hps-y2k-chrome/open-design.json | 116 | "placeholder": "Customers, VCs, community, teammates…", | CODE |
| LOW | plugins/_official/examples/hps-y2k-chrome/SKILL.md | 42 | zh-CN: "用千禧银铬把我的内容做成单文件 HTML 幻灯片。先确认主题、观众和页数,然后从种子 example.html 出发——完整保留它的银铬 token 表、磨砂玻璃卡、slide 骨架和键盘运行时,只替换幻灯片内容,使 | CODE |
| LOW | plugins/_official/examples/hps-y2k-chrome/SKILL.md | 166 | 3. Real content, real numbers — no lorem ipsum, no placeholder images. | CODE |
| LOW | plugins/_official/examples/hyperframes/open-design.json | 112 | "placeholder": "a premium AI note-taking app", | CODE |
| LOW | plugins/_official/examples/hyperframes/open-design.json | 138 | "placeholder": "minimal premium, soft side light, restrained motion", | CODE |
| LOW | plugins/_official/examples/hyperframes/open-design.json | 145 | "placeholder": "muted, TTS narration, captions from transcript", | CODE |
| LOW | …_official/examples/hps-true-blueprint/open-design.json | 91 | "placeholder": "A system architecture, an infra migration, an engineering design review...", | CODE |
| LOW | …_official/examples/hps-true-blueprint/open-design.json | 99 | "placeholder": "Engineers, architects, a design-review board...", | CODE |
| LOW | plugins/_official/examples/hps-true-blueprint/SKILL.md | 42 | zh-CN: "用「工程蓝图」把我的架构评审做成一套像工程图纸的单文件 HTML 幻灯片。从种子 example.html 出发——完整保留锁定的 token 表、40px 绘图网格底、图框装置和导航脚本,只替换幻灯片内容,架构图用 | CODE |
| LOW | plugins/_official/examples/hps-true-blueprint/SKILL.md | 179 | 4. Real content, real numbers — no lorem ipsum, no placeholder images. | CODE |
| LOW | plugins/_official/examples/data-report/open-design.json | 87 | "en": "Use the Data Visualization Report template to turn my CSV, Excel, or JSON data into a polished visual rep | CODE |
| LOW | plugins/_official/examples/data-report/open-design.json | 88 | "zh-CN": "用「数据可视化报告」模板把我的内容做成一份「把 CSV/Excel/JSON 数据转成漂亮的可视化报告页」。保持模板的视觉签名,使用真实内容和数据,避免 lorem ipsum 和占位图片。" | CODE |
| 851 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | QUICKSTART.md | 310 | │ │ ├── App.tsx # orchestrates mode / skill / DS pickers + send | CODE |
| MEDIUM | design-browser-task-handoff.md | 178 | ### Static audit (multi-agent workflow) | COMMENT |
| MEDIUM | AGENTS.md | 163 | ## CI test-set orchestration guidance | COMMENT |
| MEDIUM⚡ | …s/change/20260509-token-first-tailwind/phase1-notes.md | 21 | ### Step 3: Base style guardrails | COMMENT |
| MEDIUM | specs/current/ci.md | 1 | # CI orchestration evolution | COMMENT |
| MEDIUM | plugins/community/hallmark/references/assets.md | 99 | | **[Brandfetch](https://brandfetch.com)** | `brandfetch.com` | 22M+ brands | Paid API. Logo + colours + fonts + guardra | CODE |
| MEDIUM | plugins/community/hallmark/references/motion.md | 46 | ## Page-load orchestration | COMMENT |
| MEDIUM | plugins/_official/examples/hyperframes/SKILL.md | 58 | # 2. Get an immediately-renderable scaffold (hyperframes.json, | COMMENT |
| MEDIUM | plugins/_official/examples/hyperframes/SKILL.md | 71 | # Keep edits minimal; the scaffold is already valid HF. | COMMENT |
| MEDIUM | plugins/_official/examples/fs-editorial-forest/SKILL.md | 103 | ## Content guardrails | COMMENT |
| MEDIUM | docs/plugins-spec.md | 1576 | # Path A — let `od` orchestrate Claude Code as the run's agent: | COMMENT |
| MEDIUM | docs/plugins-spec.zh-CN.md | 1571 | # Path A — let `od` orchestrate Claude Code as the run's agent: | COMMENT |
| MEDIUM | docs/i18n/QUICKSTART.th.md | 322 | │ │ ├── App.tsx # orchestrates mode / skill / DS pickers + send | CODE |
| MEDIUM | docs/i18n/QUICKSTART.pt-BR.md | 302 | │ │ ├── App.tsx # orchestrates mode / skill / DS pickers + send | CODE |
| MEDIUM | docs/i18n/QUICKSTART.de.md | 302 | │ │ ├── App.tsx # orchestrates mode / skill / DS pickers + send | CODE |
| MEDIUM | design-templates/hyperframes/SKILL.md | 58 | # 2. Get an immediately-renderable scaffold (hyperframes.json, | COMMENT |
| MEDIUM | design-templates/hyperframes/SKILL.md | 71 | # Keep edits minimal; the scaffold is already valid HF. | COMMENT |
| MEDIUM | design-templates/last30days/scripts/lib/render.py | 628 | # Reuse the existing comparison scaffold by feeding it the synthesized | COMMENT |
| MEDIUM | design-templates/last30days/scripts/lib/render.py | 629 | # topic. _parse_comparison_entities splits on " vs " so the scaffold | COMMENT |
| MEDIUM | design-templates/last30days/scripts/lib/bird_x.py | 252 | # Build OR-group query: ("multi-agent" OR "agent simulation") since:DATE | COMMENT |
| MEDIUM | …lates/live-artifact/examples/monday-operator-live.html | 861 | { num: '#1262', title: 'Settings page redesign · scaffolding only', files: '22 files', author: 'Nora', age: '4h ago' | CODE |
| MEDIUM | design-templates/html-ppt/scripts/new-deck.sh | 2 | # html-ppt :: new-deck.sh — scaffold a new deck from templates/deck.html | COMMENT |
| MEDIUM | packages/contracts/tests/od-next-prompt-recipe.test.ts | 205 | "## OD Next general orchestration", | CODE |
| MEDIUM | packages/contracts/src/prompts/od-next-strategy.ts | 685 | `## OD Next general orchestration\n\n${generalOrchestration}`, | CODE |
| MEDIUM | packages/contracts/src/prompts/system.ts | 560 | // ⚠️ This decides WHEN the legacy path gets the deck scaffold. OD Next has | COMMENT |
| MEDIUM | packages/contracts/src/prompts/system.ts | 562 | // The scaffold is shared; the injection conditions are not. Change both. | COMMENT |
| MEDIUM | packages/contracts/src/prompts/deck-framework.ts | 559 | const LEGACY_DECK_COMPATIBILITY_BODY = `# Slide deck — selected or existing scaffold compatibility | CODE |
| MEDIUM | skills/creative-director/SKILL.md | 25 | ## OpenDesign orchestration mode | COMMENT |
| MEDIUM | …emplates/video/hyperframes-product-reveal-minimal.json | 10 | "prompt": "Build a 5-second HyperFrames composition (1920×1080, 30fps) for a minimal product reveal. The brief is rest | CODE |
| MEDIUM | e2e/ui/real-daemon-run.test.ts | 1216 | // scaffold and action cards below remain the end-to-end oracle. | COMMENT |
| MEDIUM | …ests/components/HomeView.web-clone-seed-scope.test.tsx | 5 | // an empty composer gets a localized "clone this site:" scaffold, because the | COMMENT |
| MEDIUM | …ests/components/HomeView.web-clone-seed-scope.test.tsx | 9 | // Those two rules collide unless the scaffold is distinguishable from a draft: | COMMENT |
| MEDIUM | …ests/components/HomeView.web-clone-seed-scope.test.tsx | 163 | // The scaffold stood in for an empty composer, so releasing it restores | COMMENT |
| MEDIUM | …ests/components/HomeView.web-clone-seed-scope.test.tsx | 195 | // pass must not be mistaken for the scaffold having been handed back. | COMMENT |
| MEDIUM | …ests/components/HomeView.web-clone-seed-scope.test.tsx | 204 | // The scaffold is the one piece of host-authored text this product types into | COMMENT |
| MEDIUM | …ests/components/HomeView.web-clone-seed-scope.test.tsx | 260 | // The user pastes a URL directly after this text, so a scaffold that lost | COMMENT |
| MEDIUM | apps/web/src/components/ChatPane.tsx | 887 | // scaffold. Distinct from AI Optimize, which assumes a ready system exists. | COMMENT |
| MEDIUM⚡ | apps/web/src/components/HomeView.tsx | 2627 | // gets the localized "clone this site: <url>" scaffold instead of | COMMENT |
| MEDIUM⚡ | apps/web/src/components/HomeView.tsx | 2634 | // Only claim ownership when we actually wrote the scaffold. Re-picking | COMMENT |
| MEDIUM⚡ | apps/web/src/components/HomeView.tsx | 2635 | // Website clone while the scaffold is already there produces no seed | COMMENT |
| MEDIUM⚡ | apps/web/src/components/HomeView.tsx | 2637 | // orphan the scaffold — leaving it to ride into the next chip after | COMMENT |
| MEDIUM | apps/web/src/components/HomeView.tsx | 734 | // The exact Website-clone scaffold currently sitting in the composer, or null. | COMMENT |
| MEDIUM | apps/web/src/components/HomeView.tsx | 737 | // which would otherwise translate the scaffold out from under the check and | COMMENT |
| MEDIUM | apps/web/src/components/NextStepActions.tsx | 207 | // Resume the selected agent on an incomplete brand extraction scaffold. | COMMENT |
| MEDIUM | apps/web/src/components/DesignSystemFlow.tsx | 2817 | // flashes the old "Review draft design system" scaffold before the workspace | COMMENT |
| MEDIUM | apps/daemon/tests/plugins-scaffold.test.ts | 1 | // Phase 4 / spec §14.1 — `od plugin scaffold` unit test. | COMMENT |
| MEDIUM | apps/daemon/tests/brand-extraction-engine.test.ts | 813 | // The agent fallback still takes over from the scaffold. | COMMENT |
| MEDIUM | apps/daemon/tests/brand-extraction-engine.test.ts | 1259 | // bails and the agent drives from the scaffold on the fallback prompt. | COMMENT |
| MEDIUM | apps/daemon/tests/finalize-design.test.ts | 38 | // Touch the imports so the unused-import linter stays quiet on the scaffold. | COMMENT |
| MEDIUM | …s/daemon/tests/runtimes/claude-stream-thinking.test.ts | 10 | * emit literal `## user` / `## assistant` lines in chain-of-thought | COMMENT |
| MEDIUM | apps/daemon/tests/runtimes/prompt-budget.test.ts | 9 | // required field). `--auto` enables agentic mode with auto-approval — | COMMENT |
| MEDIUM | apps/daemon/tests/runtimes/agent-args.test.ts | 706 | // mode and found agy's `-c` activates an internal agentic loop (tool | COMMENT |
| MEDIUM | apps/daemon/tests/design-systems/showcase.test.ts | 11 | it('parses `- **Name:** `#hex`` (colon inside bold) — agentic / warm-editorial shape', () => { | CODE |
| MEDIUM | …sts/routes/project-create-preparation-deadline.test.ts | 144 | // The automatic OD Next route keeps this scaffold off the default | COMMENT |
| MEDIUM | apps/daemon/src/cli.ts | 3288 | // Phase 4 / spec §14.1 — `od plugin scaffold` interactive starter. | COMMENT |
| MEDIUM | apps/daemon/src/cli.ts | 3292 | // agent can drop the scaffold into the current repo root. | COMMENT |
| MEDIUM | apps/daemon/src/server.ts | 13294 | // `discovery-question-form` atom in `plugins/scaffold.ts`). That turn | COMMENT |
| MEDIUM | apps/daemon/src/plugins/scaffold.ts | 1 | // Phase 4 / spec §14.1 — `od plugin scaffold` starter folder generator. | COMMENT |
| MEDIUM | apps/daemon/src/plugins/scaffold.ts | 17 | // Target directory the scaffold tree is created under. The function | COMMENT |
| MEDIUM | apps/daemon/src/plugins/validate.ts | 17 | // Rationale: spec §16 Phase 4 ships `od plugin scaffold`, `od | COMMENT |
| 10 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | TRANSLATIONS.md | 15 | ### Step 1: Choose Your Language Code | COMMENT |
| LOW | TRANSLATIONS.md | 22 | ### Step 2: Translate the README | COMMENT |
| LOW | TRANSLATIONS.md | 43 | ### Step 3: Update ALL Language Switchers (Critical!) | COMMENT |
| LOW | TRANSLATIONS.md | 62 | ### Step 4: Add UI Dictionary (Optional but Recommended) | COMMENT |
| LOW | TRANSLATIONS.md | 72 | ### Step 5: Test and Submit | COMMENT |
| LOW⚡ | …ange/20260608-hidden-packaged-amr-profile-menu/spec.md | 382 | ### Step 1: Hidden Desktop Menu | COMMENT |
| LOW⚡ | …ange/20260608-hidden-packaged-amr-profile-menu/spec.md | 392 | ### Step 2: Profile Config Writes | COMMENT |
| LOW⚡ | …ange/20260608-hidden-packaged-amr-profile-menu/spec.md | 401 | ### Step 3: AMR Model Cache Isolation | COMMENT |
| LOW⚡ | …ange/20260608-hidden-packaged-amr-profile-menu/spec.md | 411 | ### Step 4: Validation Pass | COMMENT |
| LOW⚡ | …s/change/20260509-token-first-tailwind/phase1-notes.md | 7 | ### Step 1: Tailwind foundations | COMMENT |
| LOW⚡ | …s/change/20260509-token-first-tailwind/phase1-notes.md | 14 | ### Step 2: OpenDesign Tailwind tokens | COMMENT |
| LOW⚡ | …s/change/20260509-token-first-tailwind/phase1-notes.md | 21 | ### Step 3: Base style guardrails | COMMENT |
| LOW⚡ | …s/change/20260509-token-first-tailwind/phase1-notes.md | 29 | ### Step 4: Migration inventory and visual comparison prep | COMMENT |
| LOW | …s/change/20260509-token-first-tailwind/phase1-notes.md | 78 | ### Step 5: Dual-worktree agent visual comparison workflow | COMMENT |
| LOW | plugins/community/humanize-ppt/scripts/smoke_check.py | 195 | # Step 3: re-run WITHOUT --preview-outline/--confirm-outline to write | COMMENT |
| LOW | plugins/_official/examples/hyperframes/SKILL.md | 231 | // Step 3: Animate INTO those positions | COMMENT |
| LOW | plugins/_official/examples/hyperframes/SKILL.md | 236 | // Step 4: Animate OUT from those positions | COMMENT |
| LOW | docs/deployment/docker.md | 10 | ## Step 1: Open the Deploy Folder | COMMENT |
| LOW | docs/deployment/docker.md | 21 | ## Step 2: Create `.env` and choose an API auth mode | COMMENT |
| LOW | docs/deployment/docker.md | 46 | ## Step 3: Start OpenDesign | COMMENT |
| LOW | docs/deployment/docker.md | 56 | ## Step 4: Confirm Container Health | COMMENT |
| LOW | docs/deployment/docker.md | 70 | ## Step 5: Verify Container Health Over HTTP | COMMENT |
| LOW | docs/deployment/docker.md | 81 | ## Step 6: Open OpenDesign in Your Browser | COMMENT |
| LOW | docs/deployment/cloud/aliyun.md | 38 | ### Step 1: Create the ECS instance | COMMENT |
| LOW | docs/deployment/cloud/aliyun.md | 64 | ### Step 2: Install Docker | COMMENT |
| LOW | docs/deployment/cloud/aliyun.md | 79 | ### Step 3: Configure image acceleration (镜像加速) | COMMENT |
| LOW | docs/deployment/cloud/aliyun.md | 97 | ### Step 4: Run OpenDesign | COMMENT |
| LOW | docs/deployment/cloud/aliyun.md | 107 | ### Step 5: Put a reverse proxy in front | COMMENT |
| LOW | docs/deployment/cloud/azure.md | 13 | ## Step 1: Choose Names | COMMENT |
| LOW | docs/deployment/cloud/azure.md | 26 | ## Step 2: Create The Resource Group | COMMENT |
| LOW | docs/deployment/cloud/azure.md | 34 | ## Step 3: Deploy The Bicep Template | COMMENT |
| LOW | docs/deployment/cloud/azure.md | 58 | ## Step 4: Fetch The ACI Upstream | COMMENT |
| LOW | docs/deployment/cloud/azure.md | 73 | ## Step 5: Put A Trusted Proxy In Front | COMMENT |
| LOW | design-templates/hyperframes/SKILL.md | 231 | // Step 3: Animate INTO those positions | COMMENT |
| LOW | design-templates/hyperframes/SKILL.md | 236 | // Step 4: Animate OUT from those positions | COMMENT |
| LOW⚡ | design-templates/last30days/scripts/lib/setup_wizard.py | 427 | # Step 1: Start device flow | COMMENT |
| LOW⚡ | design-templates/last30days/scripts/lib/setup_wizard.py | 436 | # Step 2: Copy code to clipboard BEFORE opening browser | COMMENT |
| LOW⚡ | design-templates/last30days/scripts/lib/setup_wizard.py | 447 | # Step 3: Show code prominently, then open browser | COMMENT |
| LOW⚡ | design-templates/last30days/scripts/lib/setup_wizard.py | 466 | # Step 4: Poll for token (with periodic code reminders) | COMMENT |
| LOW⚡ | design-templates/last30days/scripts/lib/setup_wizard.py | 474 | # Step 4: Fetch API key | COMMENT |
| LOW⚡ | design-templates/last30days/scripts/lib/setup_wizard.py | 531 | # Step 2: Fall back to device flow | COMMENT |
| LOW | design-templates/last30days/scripts/lib/setup_wizard.py | 503 | # Step 1: Try PAT via gh CLI | COMMENT |
| LOW | design-templates/last30days/scripts/lib/instagram.py | 452 | # Step 0: Creator reels (high-signal, runs first) | COMMENT |
| LOW | design-templates/last30days/scripts/lib/instagram.py | 463 | # Step 1: Multi-query keyword search — run ScrapeCreators for each expanded query | COMMENT |
| LOW⚡ | design-templates/last30days/scripts/lib/instagram.py | 481 | # Step 2: Fetch captions for top N | COMMENT |
| LOW⚡ | design-templates/last30days/scripts/lib/instagram.py | 484 | # Step 3: Attach captions to items | COMMENT |
| LOW⚡ | design-templates/last30days/scripts/lib/tiktok.py | 522 | # Step 2: Fetch captions for top N | COMMENT |
| LOW⚡ | design-templates/last30days/scripts/lib/tiktok.py | 525 | # Step 3: Attach captions to items | COMMENT |
| LOW | design-templates/last30days/scripts/lib/tiktok.py | 504 | # Step 1: Multi-query keyword search — run ScrapeCreators for each expanded query | COMMENT |
| LOW⚡ | design-templates/last30days/scripts/lib/youtube_yt.py | 338 | # Step 1: Fetch the watch page HTML | COMMENT |
| LOW⚡ | design-templates/last30days/scripts/lib/youtube_yt.py | 347 | # Step 2: Extract captions URL from ytInitialPlayerResponse | COMMENT |
| LOW | design-templates/last30days/scripts/lib/youtube_yt.py | 398 | # Step 3: Fetch the VTT subtitle file | COMMENT |
| LOW | design-templates/last30days/scripts/lib/youtube_yt.py | 560 | # Step 1: Multi-query search — run yt-dlp for each expanded query | COMMENT |
| LOW | design-templates/last30days/scripts/lib/youtube_yt.py | 578 | # Step 2: Fetch transcripts for top videos by views. | COMMENT |
| LOW | design-templates/last30days/scripts/lib/youtube_yt.py | 592 | # Step 3: Attach transcripts and extract highlights | COMMENT |
| LOW | design-templates/last30days/scripts/lib/youtube_yt.py | 795 | # Step 1: Search | COMMENT |
| LOW | design-templates/last30days/scripts/lib/youtube_yt.py | 853 | # Step 2: Fetch transcripts for top videos | COMMENT |
| LOW | skills/ecommerce-image-workflow/SKILL.md | 90 | ### Step 0 - Confirm reference-product mode | COMMENT |
| LOW | skills/ecommerce-image-workflow/SKILL.md | 103 | ### Step 1 - Extract product identity anchors | COMMENT |
| LOW | skills/ecommerce-image-workflow/SKILL.md | 117 | ### Step 2 - Build a three-slot shot plan | COMMENT |
| 54 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | design-templates/last30days/scripts/last30days.py | 872 | except Exception: | CODE |
| HIGH | design-templates/last30days/scripts/lib/polymarket.py | 680 | except (IndexError, TypeError): | CODE |
| HIGH | design-templates/last30days/scripts/lib/subproc.py | 77 | except Exception: | CODE |
| HIGH | design-templates/last30days/scripts/lib/bird_x.py | 176 | except ImportError: | CODE |
| HIGH | design-templates/last30days/scripts/lib/bird_x.py | 195 | except Exception: | CODE |
| HIGH | design-templates/last30days/scripts/lib/bird_x.py | 407 | except (ValueError, TypeError): | CODE |
| HIGH | design-templates/last30days/scripts/lib/setup_wizard.py | 444 | except Exception: | CODE |
| HIGH | design-templates/last30days/scripts/lib/http.py | 100 | except (OSError, UnicodeDecodeError): | CODE |
| HIGH | design-templates/last30days/scripts/lib/instagram.py | 140 | except (ValueError, TypeError): | CODE |
| HIGH | design-templates/last30days/scripts/lib/instagram.py | 131 | except (ValueError, TypeError): | CODE |
| HIGH | design-templates/last30days/scripts/lib/tiktok.py | 118 | except (ValueError, TypeError): | CODE |
| HIGH | design-templates/last30days/scripts/lib/dates.py | 30 | except (ValueError, TypeError): | CODE |
| HIGH | design-templates/last30days/scripts/lib/bluesky.py | 116 | except (ValueError, TypeError): | CODE |
| HIGH | design-templates/last30days/scripts/lib/github.py | 60 | except (FileNotFoundError, subprocess.TimeoutExpired, OSError): | CODE |
| HIGH | design-templates/last30days/scripts/lib/github.py | 889 | except Exception: | CODE |
| HIGH | …sign-templates/last30days/scripts/lib/reddit_public.py | 247 | except Exception: | CODE |
| HIGH | …sign-templates/last30days/scripts/lib/reddit_public.py | 145 | except (ValueError, TypeError, OSError): | CODE |
| HIGH | …sign-templates/last30days/scripts/lib/reddit_public.py | 86 | except ValueError: | CODE |
| HIGH | design-templates/last30days/scripts/lib/xquik.py | 187 | except (ValueError, TypeError): | CODE |
| HIGH | …ign-templates/last30days/scripts/lib/cookie_extract.py | 51 | except OSError: | CODE |
| HIGH | …ign-templates/last30days/scripts/lib/cookie_extract.py | 130 | except OSError: | CODE |
| HIGH | …ign-templates/last30days/scripts/lib/cookie_extract.py | 181 | except OSError: | CODE |
| HIGH | …ign-templates/last30days/scripts/lib/cookie_extract.py | 187 | except OSError: | CODE |
| HIGH | …ign-templates/last30days/scripts/lib/chrome_cookies.py | 163 | except Exception: | CODE |
| HIGH | …ign-templates/last30days/scripts/lib/chrome_cookies.py | 264 | except Exception: | CODE |
| HIGH | …ign-templates/last30days/scripts/lib/chrome_cookies.py | 201 | except Exception: | CODE |
| HIGH | .github/scripts/convergence.py | 1944 | except ConfigError: | CODE |
| HIGH | .github/scripts/convergence.py | 1870 | except ConfigError: | CODE |
| HIGH | .github/scripts/convergence.py | 1938 | except ConfigError: | CODE |
| HIGH | .github/scripts/convergence.py | 946 | except OSError: | CODE |
| HIGH | .github/scripts/convergence.py | 1901 | except ConfigError: | CODE |
| HIGH | .github/scripts/convergence.py | 1988 | except ConfigError: | CODE |
| HIGH | .github/scripts/convergence.py | 1980 | except ConfigError: | CODE |
| HIGH | .github/scripts/publish_whats_new.py | 294 | except PublishError: | CODE |
| HIGH | .github/scripts/lib/github.py | 153 | except OSError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL⚡ | …icial/examples/webgl-pixel-reveal-gallery/example.html | 158 | this.mat.uniforms.uResolution.value.set(image.naturalWidth,image.naturalHeight); | CODE |
| CRITICAL⚡ | …icial/examples/webgl-pixel-reveal-gallery/example.html | 159 | this.mat.uniforms.uContainerRes.value.set(this.node.w,this.node.h); | CODE |
| CRITICAL⚡ | …icial/examples/webgl-pixel-reveal-gallery/example.html | 166 | onResize(){ this.setBounds(); this.setDims(); this.setPos(); this.mat.uniforms.uContainerRes.value.set(this.node.w,thi | CODE |
| CRITICAL | …_official/examples/webgl-distortion-grain/example.html | 119 | this.mat.uniforms.uTextureSize.value.set(t.image.width,t.image.height); }); | CODE |
| CRITICAL | …_official/examples/webgl-distortion-grain/example.html | 127 | this.mat.uniforms.uQuadSize.value.set(this.w,this.h); } | CODE |
| CRITICAL | …s/_official/examples/motion-future/assets/three.min.js | 7 | function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?defi | CODE |
| CRITICAL | …ficial/examples/webgl-horizontal-parallax/example.html | 96 | this.mat.uniforms.uImageResolution.value.set(t.image.width,t.image.height); }); | CODE |
| CRITICAL | …ficial/examples/webgl-horizontal-parallax/example.html | 101 | this.mat.uniforms.uResolution.value.set(this.b.width,this.b.height); } | CODE |
| CRITICAL | …omepage/assets/_next/static/chunks/e553ef8ae208a000.js | 1 | (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,94394,(e | CODE |
| CRITICAL | …omepage/assets/_next/static/chunks/7758f29a8aeb1c60.js | 1 | (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,76736,(e | CODE |
| CRITICAL | …omepage/assets/_next/static/chunks/7758f29a8aeb1c60.js | 63 | `,s7=e=>Math.pow(2,Math.ceil(Math.log2(Math.max(1,e)))),ue=e=>{let t=e.image;if(!t)return null;let r=t.width,n=t.height; | CODE |
| CRITICAL | …omepage/assets/_next/static/chunks/7758f29a8aeb1c60.js | 153 | }`,{tDiffuse:{value:null},uVelocity:{value:null},uSimSize:{value:new sy.Vector2(l,l)},uDisplacementStrength:{value:Math. | CODE |
| CRITICAL | …omepage/assets/_next/static/chunks/1098c2541054fc77.js | 1 | (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,25661,(e | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | plugins/community/humanize-ppt/scripts/smoke_check.py | 195 | # Step 3: re-run WITHOUT --preview-outline/--confirm-outline to write | COMMENT |
| LOW⚡ | design-templates/last30days/scripts/lib/setup_wizard.py | 427 | # Step 1: Start device flow | COMMENT |
| LOW⚡ | design-templates/last30days/scripts/lib/setup_wizard.py | 436 | # Step 2: Copy code to clipboard BEFORE opening browser | COMMENT |
| LOW⚡ | design-templates/last30days/scripts/lib/setup_wizard.py | 447 | # Step 3: Show code prominently, then open browser | COMMENT |
| LOW⚡ | design-templates/last30days/scripts/lib/setup_wizard.py | 466 | # Step 4: Poll for token (with periodic code reminders) | COMMENT |
| LOW⚡ | design-templates/last30days/scripts/lib/setup_wizard.py | 474 | # Step 4: Fetch API key | COMMENT |
| LOW⚡ | design-templates/last30days/scripts/lib/setup_wizard.py | 531 | # Step 2: Fall back to device flow | COMMENT |
| LOW | design-templates/last30days/scripts/lib/setup_wizard.py | 503 | # Step 1: Try PAT via gh CLI | COMMENT |
| LOW | design-templates/last30days/scripts/lib/instagram.py | 452 | # Step 0: Creator reels (high-signal, runs first) | COMMENT |
| LOW | design-templates/last30days/scripts/lib/instagram.py | 463 | # Step 1: Multi-query keyword search — run ScrapeCreators for each expanded query | COMMENT |
| LOW⚡ | design-templates/last30days/scripts/lib/instagram.py | 481 | # Step 2: Fetch captions for top N | COMMENT |
| LOW⚡ | design-templates/last30days/scripts/lib/instagram.py | 484 | # Step 3: Attach captions to items | COMMENT |
| LOW⚡ | design-templates/last30days/scripts/lib/tiktok.py | 522 | # Step 2: Fetch captions for top N | COMMENT |
| LOW⚡ | design-templates/last30days/scripts/lib/tiktok.py | 525 | # Step 3: Attach captions to items | COMMENT |
| LOW | design-templates/last30days/scripts/lib/tiktok.py | 504 | # Step 1: Multi-query keyword search — run ScrapeCreators for each expanded query | COMMENT |
| LOW⚡ | design-templates/last30days/scripts/lib/youtube_yt.py | 338 | # Step 1: Fetch the watch page HTML | COMMENT |
| LOW⚡ | design-templates/last30days/scripts/lib/youtube_yt.py | 347 | # Step 2: Extract captions URL from ytInitialPlayerResponse | COMMENT |
| LOW | design-templates/last30days/scripts/lib/youtube_yt.py | 398 | # Step 3: Fetch the VTT subtitle file | COMMENT |
| LOW | design-templates/last30days/scripts/lib/youtube_yt.py | 560 | # Step 1: Multi-query search — run yt-dlp for each expanded query | COMMENT |
| LOW | design-templates/last30days/scripts/lib/youtube_yt.py | 578 | # Step 2: Fetch transcripts for top videos by views. | COMMENT |
| LOW | design-templates/last30days/scripts/lib/youtube_yt.py | 592 | # Step 3: Attach transcripts and extract highlights | COMMENT |
| LOW | design-templates/last30days/scripts/lib/youtube_yt.py | 795 | # Step 1: Search | COMMENT |
| LOW | design-templates/last30days/scripts/lib/youtube_yt.py | 853 | # Step 2: Fetch transcripts for top videos | COMMENT |
| LOW⚡ | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 428 | // Step 3: second Reload click fires BEFORE fetch1 resolves. | COMMENT |
| LOW⚡ | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 434 | // Step 4: resolve fetch1 with a non-2xx to trigger the restore path. | COMMENT |
| LOW⚡ | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 635 | // Step 2: click Reload. The source probe is deferred so we observe the | COMMENT |
| LOW⚡ | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 644 | // Step 3: the same URL transport remains active; it must not fall through | COMMENT |
| LOW⚡ | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 903 | // Step 2: enter Draw (Mark) mode — drawOverlayOpen becomes true, which | COMMENT |
| LOW⚡ | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 909 | // Step 3: click Reload while Draw mode is active. | COMMENT |
| LOW⚡ | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 918 | // Step 4: resolve fetch with V2 content. | COMMENT |
| LOW⚡ | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 924 | // Step 5: KEY ASSERTION — the active srcdoc iframe must show V2 content. | COMMENT |
| LOW⚡ | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 1243 | // Step 3: select a target so the panel (and onApplyPatch) is available. | COMMENT |
| LOW⚡ | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 1246 | // Step 4: mark subsequent raw reads, then click Reload. The handler first | COMMENT |
| LOW | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 400 | // Step 1: initial render — file content "V1" lands in the iframe srcdoc. | COMMENT |
| LOW | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 417 | // Step 2: first Reload click — source goes null, fetch1 is in flight. | COMMENT |
| LOW | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 471 | // Step 1: mount with File A and wait for it to load. | COMMENT |
| LOW | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 499 | // Step 2: click Reload on File A — ref captures "FILE-A-HTML", source goes | COMMENT |
| LOW | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 524 | // Step 3: switch to File B BEFORE the File A fetch resolves. | COMMENT |
| LOW | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 556 | // Step 4: drain microtasks so React processes the file-switch re-render | COMMENT |
| LOW | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 615 | // Step 1: mount with shimHtml and wait for the guarded URL lane. | COMMENT |
| LOW | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 727 | // Step 1: mount with File A and wait for "V1-CONTENT" to appear. | COMMENT |
| LOW | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 743 | // Step 2: click Reload on File A. | COMMENT |
| LOW | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 769 | // Step 3: switch to File B while the File A reload fetch is still in | COMMENT |
| LOW | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 805 | // Step 4: switch back to File A. File A's fetch returns null (500) — a | COMMENT |
| LOW | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 887 | // Step 1: initial render — "V1-HTML" lands in the iframe srcdoc. | COMMENT |
| LOW | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 966 | // Step 1: mount with File A and wait for "A-V1-CONTENT" to appear. | COMMENT |
| LOW | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 982 | // Step 2: click Reload on File A. | COMMENT |
| LOW | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 1008 | // Step 3: switch to file B while A-reload fetch is still in flight. | COMMENT |
| LOW | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 1049 | // Step 4: switch back to File A before B's fetch resolves. | COMMENT |
| LOW | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 1217 | // Step 1: settled source starts on the daemon-guarded URL lane. | COMMENT |
| LOW | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 1232 | // Step 2: enter Manual Edit mode — manualEditFrozenSource captures V1. | COMMENT |
| LOW | …sts/components/FileViewer.srcdoc-reload-races.test.tsx | 1260 | // Step 5: attempt to save a Manual Edit patch while the asynchronous | COMMENT |
| LOW⚡ | apps/daemon/tests/amr-acp-integration.test.ts | 412 | // Step 1: live catalog path normalizes the raw id to the canonical form. | COMMENT |
| LOW⚡ | apps/daemon/tests/amr-acp-integration.test.ts | 422 | // Step 2: the normalized id survives the full ACP session/set_model flow. | COMMENT |
| LOW⚡ | apps/daemon/src/mcp-oauth.ts | 542 | // Step 1: ask the MCP server who its auth server is. If the server | COMMENT |
| LOW⚡ | apps/daemon/src/mcp-oauth.ts | 550 | // Step 2: discovery on the auth server. | COMMENT |
| LOW⚡ | apps/daemon/src/mcp-oauth.ts | 556 | // Step 3: ensure we have a registered client_id (DCR if missing). | COMMENT |
| LOW⚡ | apps/daemon/src/mcp-oauth.ts | 564 | // Step 4: PKCE + state. | COMMENT |
| LOW | apps/daemon/src/byok-tools.ts | 831 | // Step 1: POST /v1/video/create → task_id. | COMMENT |
| LOW | apps/daemon/src/byok-tools.ts | 868 | // Step 2: poll /v1/video/status until completed / failed / timeout. | COMMENT |
| 5 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | plugins/community/humanize-ppt/scripts/pptx_qa.py | 10 | CODE | |
| LOW | …gins/community/humanize-ppt/scripts/humanize_ppt_v1.py | 4 | CODE | |
| LOW | design-templates/last30days/scripts/last30days.py | 5 | CODE | |
| LOW | design-templates/last30days/scripts/watchlist.py | 4 | CODE | |
| LOW | design-templates/last30days/scripts/lib/rerank.py | 3 | CODE | |
| LOW | design-templates/last30days/scripts/lib/rerank.py | 8 | CODE | |
| LOW | design-templates/last30days/scripts/lib/truthsocial.py | 9 | CODE | |
| LOW | design-templates/last30days/scripts/lib/planner.py | 3 | CODE | |
| LOW | design-templates/last30days/scripts/lib/signals.py | 3 | CODE | |
| LOW | design-templates/last30days/scripts/lib/hackernews.py | 10 | CODE | |
| LOW | design-templates/last30days/scripts/lib/hackernews.py | 11 | CODE | |
| LOW | design-templates/last30days/scripts/lib/hackernews.py | 13 | CODE | |
| LOW | design-templates/last30days/scripts/lib/resolve.py | 8 | CODE | |
| LOW | design-templates/last30days/scripts/lib/env.py | 3 | CODE | |
| LOW | design-templates/last30days/scripts/lib/query.py | 5 | CODE | |
| LOW | design-templates/last30days/scripts/lib/render.py | 3 | CODE | |
| LOW | design-templates/last30days/scripts/lib/polymarket.py | 10 | CODE | |
| LOW | design-templates/last30days/scripts/lib/polymarket.py | 13 | CODE | |
| LOW | design-templates/last30days/scripts/lib/categories.py | 24 | CODE | |
| LOW | design-templates/last30days/scripts/lib/subproc.py | 8 | CODE | |
| LOW | design-templates/last30days/scripts/lib/dedupe.py | 3 | CODE | |
| LOW | design-templates/last30days/scripts/lib/normalize.py | 3 | CODE | |
| LOW | design-templates/last30days/scripts/lib/bird_x.py | 11 | CODE | |
| LOW | design-templates/last30days/scripts/lib/bird_x.py | 14 | CODE | |
| LOW | design-templates/last30days/scripts/lib/pinterest.py | 10 | CODE | |
| LOW | design-templates/last30days/scripts/lib/pinterest.py | 11 | CODE | |
| LOW | design-templates/last30days/scripts/lib/pinterest.py | 12 | CODE | |
| LOW | design-templates/last30days/scripts/lib/pinterest.py | 12 | CODE | |
| LOW | design-templates/last30days/scripts/lib/pinterest.py | 19 | CODE | |
| LOW | design-templates/last30days/scripts/lib/snippet.py | 3 | CODE | |
| LOW | design-templates/last30days/scripts/lib/providers.py | 3 | CODE | |
| LOW | design-templates/last30days/scripts/lib/threads.py | 11 | CODE | |
| LOW | design-templates/last30days/scripts/lib/html_render.py | 3 | CODE | |
| LOW | design-templates/last30days/scripts/lib/cluster.py | 3 | CODE | |
| LOW | design-templates/last30days/scripts/lib/pipeline.py | 3 | CODE | |
| LOW | design-templates/last30days/scripts/lib/http.py | 5 | CODE | |
| LOW | design-templates/last30days/scripts/lib/fusion.py | 3 | CODE | |
| LOW | design-templates/last30days/scripts/lib/instagram.py | 11 | CODE | |
| LOW | design-templates/last30days/scripts/lib/tiktok.py | 11 | CODE | |
| LOW | design-templates/last30days/scripts/lib/bluesky.py | 8 | CODE | |
| LOW | design-templates/last30days/scripts/lib/bluesky.py | 9 | CODE | |
| LOW | design-templates/last30days/scripts/lib/bluesky.py | 11 | CODE | |
| LOW | …ign-templates/last30days/scripts/lib/safari_cookies.py | 10 | CODE | |
| LOW | …ign-templates/last30days/scripts/lib/safari_cookies.py | 12 | CODE | |
| LOW | design-templates/last30days/scripts/lib/github.py | 13 | CODE | |
| LOW | design-templates/last30days/scripts/lib/grounding.py | 3 | CODE | |
| LOW | design-templates/last30days/scripts/lib/reddit.py | 11 | CODE | |
| LOW | design-templates/last30days/scripts/lib/reddit.py | 15 | CODE | |
| LOW | design-templates/last30days/scripts/lib/competitors.py | 13 | CODE | |
| LOW | design-templates/last30days/scripts/lib/xquik.py | 8 | CODE | |
| LOW | design-templates/last30days/scripts/lib/fanout.py | 14 | CODE | |
| LOW | design-templates/last30days/scripts/lib/xai_x.py | 5 | CODE | |
| LOW | design-templates/last30days/scripts/lib/youtube_yt.py | 10 | CODE | |
| LOW | design-templates/last30days/scripts/lib/youtube_yt.py | 13 | CODE | |
| LOW | design-templates/last30days/scripts/lib/youtube_yt.py | 19 | CODE | |
| LOW | design-templates/last30days/scripts/lib/schema.py | 3 | CODE | |
| LOW | design-templates/last30days/scripts/lib/preflight.py | 15 | CODE | |
| LOW | .github/scripts/pack.py | 4 | CODE | |
| LOW | .github/scripts/postinstall.py | 5 | CODE | |
| LOW | .github/scripts/release.py | 4 | CODE | |
| 42 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | clipper/background.js | 444 | // width (robust against retina + page zoom, which a raw devicePixelRatio is | COMMENT |
| MEDIUM | …ial/video-templates/frame-swiss-grid/source/index.html | 17 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?def | CODE |
| MEDIUM | …cial/video-templates/frame-nyt-graph/source/index.html | 18 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?def | CODE |
| MEDIUM | …eo-templates/frame-product-promo-30s/source/index.html | 18 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?def | CODE |
| MEDIUM | …l/video-templates/frame-kinetic-type/source/index.html | 18 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?def | CODE |
| MEDIUM | …ial/video-templates/frame-warm-grain/source/index.html | 18 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?def | CODE |
| MEDIUM | …cial/video-templates/frame-play-mode/source/index.html | 18 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?def | CODE |
| MEDIUM | …icial/video-templates/frame-vignelli/source/index.html | 16 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?def | CODE |
| MEDIUM | …/video-templates/frame-decision-tree/source/index.html | 18 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?def | CODE |
| MEDIUM | …/video-templates/frame-product-promo/source/index.html | 18 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?def | CODE |
| MEDIUM⚡ | …icial/examples/webgl-pixel-reveal-gallery/example.html | 172 | // Native scroll (robust across all browsers + the sandbox iframe). The fixed | COMMENT |
| MEDIUM | …xamples/motion-distilbook-explainer/assets/gsap.min.js | 10 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?def | CODE |
| MEDIUM | …amples/motion-prompt-motion-gallery/assets/gsap.min.js | 10 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?def | CODE |
| MEDIUM | …al/examples/motion-claude-agent-lab/assets/gsap.min.js | 10 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?def | CODE |
| MEDIUM | …xamples/motion-mind-clarity-journey/assets/gsap.min.js | 10 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?def | CODE |
| MEDIUM | …/_official/examples/motion-showreel/assets/gsap.min.js | 10 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?def | CODE |
| MEDIUM | …ples/motion-kinetic-motion-designer/assets/gsap.min.js | 10 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?def | CODE |
| MEDIUM | …icial/examples/motion-visual-lesson/assets/gsap.min.js | 10 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?def | CODE |
| MEDIUM | …examples/motion-tixfox-ticket-promo/assets/gsap.min.js | 10 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?def | CODE |
| MEDIUM | …amples/motion-flowdrive-motion-reel/assets/gsap.min.js | 10 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?def | CODE |
| MEDIUM | …/examples/motion-claude-design-team/assets/gsap.min.js | 10 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?def | CODE |
| MEDIUM | …mples/motion-sky-water-tessellation/assets/gsap.min.js | 10 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?def | CODE |
| MEDIUM | …mples/motion-superx-audience-growth/assets/gsap.min.js | 10 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?def | CODE |
| MEDIUM | …amples/motion-windows-studio-launch/assets/gsap.min.js | 10 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?def | CODE |
| MEDIUM | …ns/_official/examples/motion-future/assets/gsap.min.js | 10 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?def | CODE |
| MEDIUM | …/_official/examples/motion-ui-morph/assets/gsap.min.js | 10 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?def | CODE |
| MEDIUM | …omepage/assets/_next/static/chunks/8c2d1abc8462562b.js | 1 | (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,34539,(e | CODE |
| MEDIUM | …omepage/assets/_next/static/chunks/8c2d1abc8462562b.js | 1 | (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,34539,(e | CODE |
| MEDIUM | …ial/examples/motion-opus-design-lab/assets/gsap.min.js | 10 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?def | CODE |
| MEDIUM | …icial/examples/motion-product-promo/assets/gsap.min.js | 10 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?def | CODE |
| MEDIUM | …mples/motion-semantic-color-stripes/assets/gsap.min.js | 10 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?def | CODE |
| MEDIUM | design-templates/last30days/scripts/lib/bird_x.py | 135 | """Get comprehensive Bird search status. | STRING |
| MEDIUM⚡ | design-templates/last30days/scripts/lib/github.py | 707 | # Project-mode search: fetch comprehensive data for specific repos | COMMENT |
| MEDIUM | .github/workflows/critique-conformance.yml | 3 | # Feeds every registered adapter through the conformance harness and | COMMENT |
| MEDIUM | .github/workflows/critique-conformance.yml | 54 | # production agent CLI into the harness; here we drive the | COMMENT |
| MEDIUM | .github/workflows/critique-conformance.yml | 56 | # proves the cron plumbing end-to-end (install + build + harness | COMMENT |
| MEDIUM | apps/web/src/components/DesignBrowserPanel.tsx | 1741 | // path is as robust as the full-frame capture. | COMMENT |
| MEDIUM | apps/web/src/lib/use-deck-preview-scale.ts | 15 | // overflows into an overlapping mess. The robust fix — matching PreviewModal — | COMMENT |
| MEDIUM | apps/daemon/src/qa/deck-layout.ts | 8 | // variable length, so the only durable fix is a template that is robust by | COMMENT |
| MEDIUM | apps/daemon/src/prompts/media-contract.ts | 263 | [--loop] # audio:sfx only; request a seamless loop | CODE |
| MEDIUM | design-systems/lovable/tokens.css | 100 | * background: #f7f4ed (matches page) — for seamless integration". | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …gins/community/humanize-ppt/scripts/humanize_ppt_v2.py | 1309 | def main(): | CODE |
| LOW | …gins/community/humanize-ppt/scripts/humanize_ppt_v2.py | 1312 | except Exception: | CODE |
| LOW | …gins/community/humanize-ppt/scripts/humanize_ppt_v2.py | 2122 | except Exception: | CODE |
| LOW | …gins/community/humanize-ppt/scripts/humanize_ppt_v2.py | 817 | except Exception: | STRING |
| LOW | design-templates/last30days/scripts/last30days.py | 221 | except Exception as exc: | CODE |
| MEDIUM | design-templates/last30days/scripts/last30days.py | 642 | print("Error: --deep-research requires OPENROUTER_API_KEY", file=sys.stderr) | CODE |
| LOW | design-templates/last30days/scripts/last30days.py | 784 | except Exception as exc: | CODE |
| LOW | design-templates/last30days/scripts/last30days.py | 850 | except Exception as exc: | CODE |
| LOW | design-templates/last30days/scripts/last30days.py | 872 | except Exception: | CODE |
| LOW | design-templates/last30days/scripts/watchlist.py | 41 | except Exception as e: | CODE |
| LOW | design-templates/last30days/scripts/lib/xurl_x.py | 94 | except Exception as exc: | CODE |
| LOW | design-templates/last30days/scripts/lib/truthsocial.py | 114 | except Exception as e: | CODE |
| LOW | design-templates/last30days/scripts/lib/hackernews.py | 111 | except Exception as e: | CODE |
| LOW | design-templates/last30days/scripts/lib/hackernews.py | 222 | except Exception as e: | CODE |
| LOW | design-templates/last30days/scripts/lib/resolve.py | 43 | except Exception as exc: | CODE |
| LOW | design-templates/last30days/scripts/lib/resolve.py | 236 | except Exception as exc: | CODE |
| LOW | design-templates/last30days/scripts/lib/env.py | 342 | except Exception: | CODE |
| LOW | design-templates/last30days/scripts/lib/env.py | 574 | except Exception as exc: | CODE |
| LOW | design-templates/last30days/scripts/lib/polymarket.py | 326 | except Exception as e: | CODE |
| LOW | design-templates/last30days/scripts/lib/polymarket.py | 358 | except Exception as e: | CODE |
| LOW | design-templates/last30days/scripts/lib/subproc.py | 77 | except Exception: | CODE |
| LOW | design-templates/last30days/scripts/lib/bird_x.py | 188 | except Exception as e: | CODE |
| LOW | design-templates/last30days/scripts/lib/bird_x.py | 195 | except Exception: | CODE |
| LOW | design-templates/last30days/scripts/lib/perplexity.py | 86 | except Exception as e: | CODE |
| LOW | design-templates/last30days/scripts/lib/pinterest.py | 152 | except Exception as e: | CODE |
| LOW | design-templates/last30days/scripts/lib/pinterest.py | 165 | except Exception as e: | CODE |
| LOW⚡ | design-templates/last30days/scripts/lib/setup_wizard.py | 444 | except Exception: | CODE |
| LOW⚡ | design-templates/last30days/scripts/lib/setup_wizard.py | 461 | except Exception: | CODE |
| LOW⚡ | design-templates/last30days/scripts/lib/setup_wizard.py | 528 | except Exception as exc: | CODE |
| LOW | design-templates/last30days/scripts/lib/setup_wizard.py | 53 | except Exception as exc: | CODE |
| LOW | design-templates/last30days/scripts/lib/setup_wizard.py | 81 | except Exception as exc: | CODE |
| LOW | design-templates/last30days/scripts/lib/threads.py | 168 | except Exception as e: | CODE |
| LOW | design-templates/last30days/scripts/lib/threads.py | 181 | except Exception as e: | CODE |
| LOW | design-templates/last30days/scripts/lib/pipeline.py | 287 | except Exception as exc: | CODE |
| LOW | design-templates/last30days/scripts/lib/pipeline.py | 307 | except Exception as exc: | CODE |
| LOW | design-templates/last30days/scripts/lib/pipeline.py | 365 | except Exception as exc: | CODE |
| LOW | design-templates/last30days/scripts/lib/pipeline.py | 389 | except Exception as retry_exc: | CODE |
| LOW | design-templates/last30days/scripts/lib/pipeline.py | 670 | except Exception as exc: | CODE |
| LOW | design-templates/last30days/scripts/lib/pipeline.py | 697 | except Exception as exc: | CODE |
| LOW | design-templates/last30days/scripts/lib/pipeline.py | 823 | except Exception as exc: | CODE |
| LOW | design-templates/last30days/scripts/lib/pipeline.py | 867 | except Exception as exc: | CODE |
| LOW | design-templates/last30days/scripts/lib/pipeline.py | 887 | except Exception as exc: | CODE |
| LOW | design-templates/last30days/scripts/lib/pipeline.py | 922 | except Exception: | CODE |
| LOW | design-templates/last30days/scripts/lib/instagram.py | 247 | except Exception as e: | CODE |
| LOW | design-templates/last30days/scripts/lib/instagram.py | 260 | except Exception as e: | CODE |
| LOW | design-templates/last30days/scripts/lib/instagram.py | 305 | except Exception as e: | CODE |
| LOW | design-templates/last30days/scripts/lib/instagram.py | 318 | except Exception as e: | CODE |
| LOW | design-templates/last30days/scripts/lib/instagram.py | 415 | except Exception as e: | CODE |
| LOW | …sign-templates/last30days/scripts/lib/quality_nudge.py | 39 | except Exception: | CODE |
| LOW | …sign-templates/last30days/scripts/lib/quality_nudge.py | 93 | except Exception: | CODE |
| LOW | design-templates/last30days/scripts/lib/tiktok.py | 225 | except Exception as e: | CODE |
| LOW | design-templates/last30days/scripts/lib/tiktok.py | 238 | except Exception as e: | CODE |
| LOW | design-templates/last30days/scripts/lib/tiktok.py | 272 | except Exception as e: | CODE |
| LOW | design-templates/last30days/scripts/lib/tiktok.py | 285 | except Exception as e: | CODE |
| LOW | design-templates/last30days/scripts/lib/tiktok.py | 330 | except Exception as e: | CODE |
| LOW | design-templates/last30days/scripts/lib/tiktok.py | 343 | except Exception as e: | CODE |
| LOW | design-templates/last30days/scripts/lib/tiktok.py | 443 | except Exception as e: | CODE |
| LOW | design-templates/last30days/scripts/lib/tiktok.py | 589 | except Exception as exc: | CODE |
| LOW | design-templates/last30days/scripts/lib/tiktok.py | 631 | except Exception as exc: | CODE |
| LOW | design-templates/last30days/scripts/lib/tiktok.py | 644 | except Exception as exc: | CODE |
| 35 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | plugins/community/humanize-ppt/scripts/pptx_qa.py | 134 | CODE | |
| LOW | …gins/community/humanize-ppt/scripts/humanize_ppt_v2.py | 356 | CODE | |
| LOW | …gins/community/humanize-ppt/scripts/humanize_ppt_v2.py | 572 | CODE | |
| LOW | …gins/community/humanize-ppt/scripts/humanize_ppt_v2.py | 2237 | CODE | |
| LOW | …gins/community/humanize-ppt/scripts/humanize_ppt_v2.py | 3150 | CODE | |
| LOW | …gins/community/humanize-ppt/scripts/humanize_ppt_v2.py | 3782 | CODE | |
| LOW | design-templates/last30days/scripts/last30days.py | 526 | CODE | |
| LOW | design-templates/last30days/scripts/lib/truthsocial.py | 57 | CODE | |
| LOW | design-templates/last30days/scripts/lib/planner.py | 303 | CODE | |
| LOW | design-templates/last30days/scripts/lib/planner.py | 491 | CODE | |
| LOW | design-templates/last30days/scripts/lib/planner.py | 681 | CODE | |
| LOW | design-templates/last30days/scripts/lib/resolve.py | 142 | CODE | |
| LOW | design-templates/last30days/scripts/lib/env.py | 70 | CODE | |
| LOW | design-templates/last30days/scripts/lib/env.py | 309 | CODE | |
| LOW | design-templates/last30days/scripts/lib/render.py | 14 | CODE | |
| LOW | design-templates/last30days/scripts/lib/render.py | 772 | CODE | |
| LOW | design-templates/last30days/scripts/lib/render.py | 1374 | CODE | |
| LOW | design-templates/last30days/scripts/lib/render.py | 1690 | CODE | |
| LOW | design-templates/last30days/scripts/lib/polymarket.py | 331 | CODE | |
| LOW | design-templates/last30days/scripts/lib/polymarket.py | 557 | CODE | |
| LOW | design-templates/last30days/scripts/lib/bird_x.py | 355 | CODE | |
| LOW | design-templates/last30days/scripts/lib/setup_wizard.py | 30 | CODE | |
| LOW | design-templates/last30days/scripts/lib/setup_wizard.py | 101 | CODE | |
| LOW | design-templates/last30days/scripts/lib/setup_wizard.py | 151 | CODE | |
| LOW | design-templates/last30days/scripts/lib/setup_wizard.py | 491 | CODE | |
| LOW | design-templates/last30days/scripts/lib/providers.py | 259 | CODE | |
| LOW | design-templates/last30days/scripts/lib/providers.py | 381 | CODE | |
| LOW | design-templates/last30days/scripts/lib/pipeline.py | 130 | CODE | |
| LOW | design-templates/last30days/scripts/lib/pipeline.py | 164 | CODE | |
| LOW | design-templates/last30days/scripts/lib/pipeline.py | 578 | CODE | |
| LOW | design-templates/last30days/scripts/lib/pipeline.py | 726 | CODE | |
| LOW | design-templates/last30days/scripts/lib/http.py | 36 | CODE | |
| LOW | design-templates/last30days/scripts/lib/fusion.py | 110 | CODE | |
| LOW | design-templates/last30days/scripts/lib/instagram.py | 66 | CODE | |
| LOW | design-templates/last30days/scripts/lib/instagram.py | 348 | CODE | |
| LOW | design-templates/last30days/scripts/lib/instagram.py | 423 | CODE | |
| LOW | design-templates/last30days/scripts/lib/tiktok.py | 65 | CODE | |
| LOW | design-templates/last30days/scripts/lib/tiktok.py | 378 | CODE | |
| LOW | design-templates/last30days/scripts/lib/tiktok.py | 451 | CODE | |
| LOW | design-templates/last30days/scripts/lib/github.py | 453 | CODE | |
| LOW | design-templates/last30days/scripts/lib/github.py | 710 | CODE | |
| LOW | design-templates/last30days/scripts/lib/github.py | 828 | CODE | |
| LOW | design-templates/last30days/scripts/lib/github.py | 854 | CODE | |
| LOW | …sign-templates/last30days/scripts/lib/reddit_public.py | 55 | CODE | |
| LOW | …sign-templates/last30days/scripts/lib/reddit_public.py | 253 | CODE | |
| LOW | …sign-templates/last30days/scripts/lib/reddit_public.py | 301 | CODE | |
| LOW | design-templates/last30days/scripts/lib/grounding.py | 190 | CODE | |
| LOW | design-templates/last30days/scripts/lib/reddit.py | 431 | CODE | |
| LOW | design-templates/last30days/scripts/lib/reddit.py | 562 | CODE | |
| LOW | design-templates/last30days/scripts/lib/xquik.py | 65 | CODE | |
| LOW | …ign-templates/last30days/scripts/lib/cookie_extract.py | 70 | CODE | |
| LOW | design-templates/last30days/scripts/lib/xai_x.py | 128 | CODE | |
| LOW | design-templates/last30days/scripts/lib/youtube_yt.py | 144 | CODE | |
| LOW | design-templates/last30days/scripts/lib/youtube_yt.py | 498 | CODE | |
| LOW | design-templates/last30days/scripts/lib/relevance.py | 95 | CODE | |
| LOW | …ign-templates/last30days/scripts/lib/chrome_cookies.py | 168 | CODE | |
| LOW | …sign-templates/last30days/scripts/lib/reddit_enrich.py | 71 | CODE | |
| LOW | …sign-templates/last30days/scripts/lib/reddit_enrich.py | 147 | CODE | |
| LOW | .github/scripts/scopes.py | 70 | CODE | |
| LOW | .github/scripts/scopes.py | 98 | CODE | |
| 34 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | design-templates/last30days/scripts/lib/pinterest.py | 0 | parse youtube search response to normalized format. returns: list of item dicts ready for normalization. | STRING |
| HIGH | design-templates/last30days/scripts/lib/threads.py | 0 | parse youtube search response to normalized format. returns: list of item dicts ready for normalization. | STRING |
| HIGH | design-templates/last30days/scripts/lib/instagram.py | 0 | parse youtube search response to normalized format. returns: list of item dicts ready for normalization. | STRING |
| HIGH | design-templates/last30days/scripts/lib/tiktok.py | 0 | parse youtube search response to normalized format. returns: list of item dicts ready for normalization. | STRING |
| HIGH | design-templates/last30days/scripts/lib/youtube_yt.py | 0 | parse youtube search response to normalized format. returns: list of item dicts ready for normalization. | STRING |
| HIGH | design-templates/last30days/scripts/lib/pinterest.py | 0 | search tiktok via scrapecreators api. args: topic: search topic from_date: start date (yyyy-mm-dd) to_date: end date (yy | STRING |
| HIGH | design-templates/last30days/scripts/lib/threads.py | 0 | search tiktok via scrapecreators api. args: topic: search topic from_date: start date (yyyy-mm-dd) to_date: end date (yy | STRING |
| HIGH | design-templates/last30days/scripts/lib/instagram.py | 0 | search tiktok via scrapecreators api. args: topic: search topic from_date: start date (yyyy-mm-dd) to_date: end date (yy | STRING |
| HIGH | design-templates/last30days/scripts/lib/tiktok.py | 0 | search tiktok via scrapecreators api. args: topic: search topic from_date: start date (yyyy-mm-dd) to_date: end date (yy | STRING |
| HIGH | design-templates/last30days/scripts/lib/instagram.py | 0 | generate multiple youtube search queries from a topic. mirrors reddit.py's expand_reddit_queries() pattern: 1. extract c | STRING |
| HIGH | design-templates/last30days/scripts/lib/tiktok.py | 0 | generate multiple youtube search queries from a topic. mirrors reddit.py's expand_reddit_queries() pattern: 1. extract c | STRING |
| HIGH | design-templates/last30days/scripts/lib/youtube_yt.py | 0 | generate multiple youtube search queries from a topic. mirrors reddit.py's expand_reddit_queries() pattern: 1. extract c | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | plugins/community/hallmark/references/anti-patterns.md | 125 | ## Major (looks AI-generated) | COMMENT |
| HIGH | …tes/frame-swiss-grid/source/compositions/captions.html | 142 | // Hard cut animation (no fades) as requested | COMMENT |
| HIGH | plugins/_official/design-systems/atelier-zero/DESIGN.md | 244 | ### Anti-patterns specific to AI-generated imagery | COMMENT |
| HIGH | plugins/_official/design-systems/replicate/DESIGN.md | 256 | - "Create a manifesto section on Replicate Dark (#202020) with 'Imagine what you can build.' at 128px rb-freigeist-neue | CODE |
| HIGH | skills/writing-guidelines/references/guidelines.md | 34 | ### AI-generated tells (flag these) | COMMENT |
| HIGH | apps/web/src/components/DesignBrowserPanel.tsx | 446 | { label: 'Lummi', url: 'https://www.lummi.ai/', detail: 'Free AI-generated visuals.' }, | CODE |
| HIGH | design-systems/atelier-zero/DESIGN.md | 244 | ### Anti-patterns specific to AI-generated imagery | COMMENT |
| HIGH | design-systems/replicate/DESIGN.md | 256 | - "Create a manifesto section on Replicate Dark (#202020) with 'Imagine what you can build.' at 128px rb-freigeist-neue | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …gins/community/humanize-ppt/scripts/humanize_ppt_v2.py | 1164 | function sendDeck(){{ if(deckFrame && deckFrame.contentWindow) deckFrame.contentWindow.postMessage({{type:'presenter-got | CODE |
| HIGH | …gins/community/humanize-ppt/scripts/humanize_ppt_v2.py | 1313 | raise SystemExit("Missing playwright. Run: python3 -m pip install playwright && python3 -m playwright install ch | CODE |
| HIGH⚡ | .github/scripts/pack.py | 105 | signatures: keys.map(({keyId, privateKey}) => ({algorithm: 'Ed25519', keyId, value: sign(null, payload, privateKey). | CODE |
| HIGH⚡ | .github/scripts/pack.py | 109 | return key && signature.algorithm === 'Ed25519' && verify(null, payload, key.publicKey, Buffer.from(signature.value, | CODE |
| HIGH⚡ | .github/scripts/pack.py | 109 | return key && signature.algorithm === 'Ed25519' && verify(null, payload, key.publicKey, Buffer.from(signature.value, | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | packages/host/src/protocol.ts | 403 | print(html: string, nonce?: string, options?: OpenDesignHostPdfPrintOptions): Promise<OpenDesignHostActionResult>; | CODE |
| HIGH | apps/daemon/tests/run-retry-runtime.test.ts | 839 | elif [ ${String(successfulPromptDelayMs)} -gt 0 ]; then | CODE |
| HIGH | apps/daemon/tests/run-retry-runtime.test.ts | 869 | elif [ ${stallFirstAttempt ? '1' : '0'} -eq 1 ]; then | CODE |
| HIGH | apps/daemon/src/prompts/media-contract.ts | 421 | elif [ "\$ec" -ne 2 ]; then | CODE |
| HIGH | apps/daemon/src/prompts/system.ts | 503 | elif [ "\$ec" -ne 2 ]; then | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | design-templates/last30days/scripts/lib/subproc.py | 37 | Run a subprocess with process-group cleanup on timeout. Spawns ``cmd`` inside its own process group via ``os.setsid | STRING |
| HIGH | design-templates/last30days/scripts/lib/http.py | 47 | Make an HTTP request and return JSON response. Args: method: HTTP method (GET, POST, etc.) url: Req | STRING |
| HIGH | …sign-templates/last30days/scripts/lib/reddit_enrich.py | 41 | Fetch Reddit thread JSON data. Args: url: Reddit thread URL mock_data: Mock data for testing | STRING |
| HIGH | …sign-templates/last30days/scripts/lib/reddit_enrich.py | 203 | Enrich a Reddit item with real engagement data. Args: item: Reddit item dict mock_thread_data: Mock | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | design-templates/last30days/scripts/lib/env.py | 58 | # Check if group or other can read (bits 0o044) | COMMENT |
| LOW | design-templates/last30days/scripts/lib/ui.py | 9 | # Check if we're in a real terminal (not captured by Claude Code) | COMMENT |
| LOW | design-templates/last30days/scripts/lib/bird_x.py | 243 | # Check if we got results | COMMENT |
| LOW | design-templates/last30days/scripts/lib/pipeline.py | 645 | # Check if X is rate-limited | COMMENT |
| LOW | …sign-templates/last30days/scripts/lib/quality_nudge.py | 89 | # Check if configured but errored (yt-dlp installed but failed this run) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .claude/skills/od-contribute/scripts/create-issue.sh | 2 | # Create a bug-report issue on nexu-io/open-design from a rendered body file. | COMMENT |
| MEDIUM | design-templates/last30days/scripts/lib/pipeline.py | 773 | # Create a retry subquery with the simplified core subject | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | deploy/scripts/install.sh | 5 | # Usage: | COMMENT |
| LOW | .claude/skills/od-contribute/scripts/create-issue.sh | 3 | # Usage: | COMMENT |
| LOW | design-templates/html-ppt/scripts/render.sh | 4 | # Usage: | COMMENT |
| LOW | design-templates/html-ppt/scripts/new-deck.sh | 4 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …gins/community/humanize-ppt/scripts/humanize_ppt_v2.py | 2741 | CODE | |
| LOW | design-templates/last30days/scripts/lib/ui.py | 386 | CODE | |
| LOW | design-templates/last30days/scripts/lib/pipeline.py | 164 | CODE | |
| LOW | design-templates/last30days/scripts/lib/pipeline.py | 827 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | design-templates/last30days/scripts/lib/setup_wizard.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ign-templates/last30days/scripts/lib/cookie_extract.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ign-templates/last30days/scripts/lib/chrome_cookies.py | 19 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | design-templates/last30days/scripts/lib/youtube_yt.py | 60 | r"^(hey |hi |what's up|welcome back|in today's video|don't forget to)", | CODE |