D2 is a modern diagram scripting language that turns text to diagrams.
This report summarizes scanner evidence for terrastruct/d2, a Go project with 25,772 GitHub stars. SynthScan examined 2,042,552 lines of code across 3460 source files, recording 1222 pattern matches distributed across 10 syntactic categories. The legacy adjusted pattern signal is 1.8 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
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? 242 finding(s).
Are imports declared and package/API names verified? 54 finding(s).
Are wrappers, guards, and repeated structures necessary? 964 finding(s).
Which changes need focused human review? 1222 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 1222 distinct pattern matches across 10 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 |
|---|---|---|---|---|
| MEDIUM⚡ | lib/shape/shape_oval.go | 52 | // ┌──────────────────* ┬ | COMMENT |
| MEDIUM⚡ | lib/shape/shape_oval.go | 54 | // │ *┌───────────┤ │ ┬ | COMMENT |
| MEDIUM⚡ | lib/shape/shape_oval.go | 57 | // *──────┴───────────┼ ┴ ┴ | COMMENT |
| MEDIUM⚡ | lib/shape/shape_oval.go | 58 | // ├────────rx────────┤ | COMMENT |
| MEDIUM | lib/shape/shape.go | 223 | // . ┌────r─────────────────────────┐ | COMMENT |
| MEDIUM | lib/shape/shape.go | 234 | // . └──────xxxxxxxxxxxxxx──────────┘ | COMMENT |
| MEDIUM⚡ | lib/label/label.go | 562 | // ┌────────────────────┐ ┬ | ┌─┬─┐ | COMMENT |
| MEDIUM⚡ | lib/label/label.go | 563 | // │ │ │ | │ │ │ ┌───────────┬───────────┐ | COMMENT |
| MEDIUM⚡ | lib/label/label.go | 568 | // └────────────────────┘ │ ┴ ┬ | │ │ │ └───────────┴───────────┘ | COMMENT |
| MEDIUM⚡ | lib/label/label.go | 570 | // offset│ │label padding | ├──────────────────┤ | COMMENT |
| MEDIUM⚡ | lib/label/label.go | 572 | // ┌──────────────────────┐ │ ┬ ┴ | ├───────────┼───────────┤ | COMMENT |
| MEDIUM⚡ | lib/label/label.go | 574 | // ├─────edge─center──────┤ ┴ ┼stroke width | label padding | COMMENT |
| MEDIUM⚡ | lib/label/label.go | 576 | // └──────────────────────┘ ┴ | stroke width | COMMENT |
| MEDIUM⚡ | lib/pptx/pptx.go | 118 | // ┌──────────────────────────────────────────────────┐ ─┬─ | COMMENT |
| MEDIUM⚡ | lib/pptx/pptx.go | 120 | // ├──┬────────────────────────────────────────────┬──┤ │ ─┬─ | COMMENT |
| MEDIUM⚡ | lib/pptx/pptx.go | 130 | // └──┴────────────────────────────────────────────┴──┘ ─┴─ ─┴─ | COMMENT |
| MEDIUM⚡ | lib/pptx/pptx.go | 131 | // ├────────────────────SLIDE WIDTH───────────────────┤ | COMMENT |
| MEDIUM⚡ | lib/pptx/pptx.go | 132 | // ├─────────────────IMAGE WIDTH────────────────┤ | COMMENT |
| MEDIUM⚡ | d2layouts/d2layouts.go | 125 | // ┌grid(g.Root)───────────────────┐ ┌grid(g.Root)───────────────────┐ | COMMENT |
| MEDIUM⚡ | d2layouts/d2layouts.go | 126 | // │ ┌────┐ ┌curr───────────┐ │ │ ┌────┐ │ | COMMENT |
| MEDIUM⚡ | d2layouts/d2layouts.go | 129 | // │ │ ├──────┼C─┼──┼───►│ │ │ │ │ │ │ │ | COMMENT |
| MEDIUM⚡ | d2layouts/d2layouts.go | 131 | // │ └────┘ └───────────────┘ │ │ └────┘ │ | COMMENT |
| MEDIUM⚡ | d2layouts/d2layouts.go | 132 | // └───────────────────────────────┘ └───────────────────────────────┘ | COMMENT |
| MEDIUM⚡ | d2layouts/d2layouts.go | 193 | // ┌grid(g.Root)───────────────────┐ ┌grid(g.Root)───────────────────┐ | COMMENT |
| MEDIUM⚡ | d2layouts/d2layouts.go | 194 | // │ ┌────┐ ┌curr───────────┐ │ │ ┌────┐ ┌curr───────────┐ │ | COMMENT |
| MEDIUM⚡ | d2layouts/d2layouts.go | 197 | // │ │ ├──────┼C─┼──┼───►│ │ │ │ │ │ │ │ │ │ | COMMENT |
| MEDIUM⚡ | d2layouts/d2layouts.go | 199 | // │ └────┘ └───────────────┘ │ │ └────┘ └───────────────┘ │ | COMMENT |
| MEDIUM⚡ | d2layouts/d2layouts.go | 200 | // └───────────────────────────────┘ └───────────────────────────────┘ | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 339 | // . ┌A──────────────┐ ┌B──┐ ┌C─────────┐ ┌D────────┐ ┌E────────────────┐ | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 340 | // . └───────────────┘ │ │ │ │ │ │ │ │ | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 341 | // . │ │ └──────────┘ │ │ │ │ | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 342 | // . │ │ │ │ └─────────────────┘ | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 344 | // . └─────────┘ | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 346 | // . ┌A─────────────┐ ┌B──┐ ┌C─────────┐ ┌D────────┐ ┌E────────────────┐ | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 351 | // . └──────────────┘ └───┘ └──────────┘ └─────────┘ └─────────────────┘ | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 392 | // . ┌A─────────────┐ ┌B──┐ ┌C─────────┐ ┬ maxHeight(A,B,C) | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 396 | // . └──────────────┘ └───┘ └──────────┘ ┴ | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 397 | // . ┌D────────┬────┐ ┌E────────────────┐ ┬ maxHeight(D,E) | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 402 | // . └─────────┴────┘ └─────────────────┘ ┴ | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 440 | // . ┌A─────────────┐ ┌B──┐ ┌C─────────┐ ┬ maxHeight(A,B,C) | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 444 | // . └──────────────┘ └───┘ └──────────┘ ┴ | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 445 | // . ┌D────────┐ ┌E────────────────┐ ┬ maxHeight(D,E) | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 450 | // . └─────────┘ └─────────────────┘ ┴ | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 483 | // . ├maxWidth(A,B)─┤ ├maxW(C,D)─┤ ├maxWidth(E)──────┤ | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 484 | // . ┌A─────────────┐ ┌C─────────┐ ┌E────────────────┐ | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 486 | // . │ │ └──────────┘ │ │ | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 487 | // . └──────────────┘ ┌D─────────┐ ├ ─ ─ ─ ─ ─ ─ ─ ─ ┤ | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 488 | // . ┌B─────────────┐ │ │ │ │ | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 492 | // . └──────────────┘ └──────────┘ └─────────────────┘ | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 529 | // . ├maxWidth(A,B)─┤ ├maxW(C,D)─┤ ├maxWidth(E)──────┤ | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 530 | // . ┌A─────────────┐ ┌C─────────┐ ┌E────────────────┐ | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 531 | // . └──────────────┘ │ │ │ │ | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 532 | // . ┌B──┬──────────┐ └──────────┘ │ │ | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 533 | // . │ │ ┌D────────┬┐ └─────────────────┘ | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 536 | // . └───┴──────────┘ │ │ | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 538 | // . └─────────┴┘ | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 653 | // . A │ B C D │ E ┌D───────────┐ | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 654 | // . A B │ C │ D E └────────────┘ | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 655 | // . A │ B C │ D E ┌E───────────┐ | COMMENT |
| MEDIUM⚡ | d2layouts/d2grid/layout.go | 656 | // . A │ B │ C D E └────────────┘ | COMMENT |
| 866 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | install.sh | 1 | #!/bin/sh | COMMENT |
| LOW | install.sh | 381 | # https://github.com/d2lang/ci/issues/6 | COMMENT |
| LOW | install.sh | 401 | # If a flag requires an argument, call flag_reqarg | COMMENT |
| LOW | d2parser/parse_test.go | 81 | name: "one_line_comment", | COMMENT |
| LOW | d2parser/parse.go | 21 | COMMENT | |
| LOW | d2parser/parse.go | 401 | // peek | COMMENT |
| LOW | d2ir/compile.go | 81 | type CompileOptions struct { | COMMENT |
| LOW | d2ir/compile.go | 861 | fieldNode, fok := node.(*Field) | COMMENT |
| LOW | d2oracle/edit.go | 361 | imported := false | COMMENT |
| LOW | d2oracle/edit.go | 2001 | // e.g. "a.b.shape: circle" | COMMENT |
| LOW | d2ast/d2ast.go | 1 | // TODO: Remove boxes and cleanup like d2ir | COMMENT |
| LOW | d2ast/d2ast.go | 781 | COMMENT | |
| LOW | d2lib/d2.go | 21 | "github.com/d2lang/util-go/go2" | COMMENT |
| LOW | d2chaos/d2chaos_test.go | 21 | "github.com/d2lang/d2/lib/textmeasure" | COMMENT |
| LOW | ci/release/gen_install.sh | 1 | #!/bin/sh | COMMENT |
| LOW | ci/release/gen_template_lib.sh | 1 | #!/bin/sh | COMMENT |
| LOW | ci/release/template/scripts/lib.sh | 1 | #!/bin/sh | COMMENT |
| LOW | lib/shape/shape_oval.go | 41 | paddedHeight := height + paddingY*math.Sin(theta) | COMMENT |
| LOW | lib/shape/shape.go | 221 | // . │ | COMMENT |
| LOW | lib/imageasset/imageasset.go | 81 | // MaxSVGBytes bounds raw or declared-compressed SVG XML before tokenization. | COMMENT |
| LOW | lib/imageasset/imageasset.go | 301 | // Options configures one independent resolver. | COMMENT |
| LOW | lib/textmeasure/textmeasure.go | 41 | Runes = append(Runes, r) | COMMENT |
| LOW | lib/textmeasure/textmeasure.go | 61 | // | COMMENT |
| LOW | lib/textmeasure/textmeasure.go | 101 | COMMENT | |
| LOW | lib/imgbundler/imgbundler.go | 81 | } | COMMENT |
| LOW | lib/geo/point.go | 221 | // Creates a Vector pointing to point | COMMENT |
| LOW | lib/geo/point.go | 241 | // they intersect and we compute the point of intersection to return | COMMENT |
| LOW | lib/geo/segment.go | 61 | // buffer says how close the segment can be, on both axes, to other segments given | COMMENT |
| LOW | lib/label/label.go | 561 | // Horizontal Edge with Outside Label | Vertical Edge with Outside Label | COMMENT |
| LOW | lib/pptx/pptx.go | 121 | // │ │ │ │ │ │ | COMMENT |
| LOW | lib/localfile/localfile.go | 1 | // Package localfile provides explicit policies for opening regular local files. | COMMENT |
| LOW | lib/xgif/xgif.go | 1681 | // gifBytes. | COMMENT |
| LOW | d2layouts/d2layouts.go | 121 | // we need to run layout on them first, even if they are not special diagram types | COMMENT |
| LOW | d2layouts/d2layouts.go | 181 | o.TopLeft.X += dx | COMMENT |
| LOW | d2layouts/d2grid/layout.go | 341 | // . │ │ └──────────┘ │ │ │ │ | COMMENT |
| LOW | d2layouts/d2grid/layout.go | 381 | for _, o := range row { | COMMENT |
| LOW | d2layouts/d2grid/layout.go | 441 | // . ├ ─ ─ ─ ─ ─ ─ ─┤ │ │ │ │ │ | COMMENT |
| LOW | d2layouts/d2grid/layout.go | 481 | COMMENT | |
| LOW | d2layouts/d2grid/layout.go | 521 | if delta > totalDiff { | COMMENT |
| LOW | d2layouts/d2grid/layout.go | 841 | o.Height += margin.Top + margin.Bottom | COMMENT |
| LOW | d2layouts/d2grid/layout.go | 861 | // . ├───mr────┤ margin.right added to width during layout | COMMENT |
| LOW | d2layouts/d2grid/layout.go | 881 | // . ┌───────────────────┐ | COMMENT |
| LOW | d2layouts/d2grid/search_reference_test.go | 161 | // │ 0 │ 4 │ 2 │ [A B C D | E] │ │ | COMMENT |
| LOW | d2layouts/d2grid/grid_diagram.go | 61 | if err != nil { | COMMENT |
| LOW | d2layouts/d2sequence/layout_test.go | 21 | ) | COMMENT |
| LOW | d2layouts/d2elklayout/layout.go | 1121 | // │ │ ┌LABEL─ ┴ ─────────────│───────┐┬ ┌ICON── ┬ ────┐ │ │ | COMMENT |
| LOW | d2layouts/d2talalayout/doc.go | 1 | // Package d2talalayout adapts D2 graphs to TALA's layout and edge-routing | COMMENT |
| LOW | d2layouts/d2talalayout/internal/layoutgraph/edge.go | 441 | // . │ │ | COMMENT |
| LOW | d2layouts/d2talalayout/internal/layoutgraph/edge.go | 461 | // . │ │◄─────────────────┐ | COMMENT |
| LOW | d2layouts/d2talalayout/internal/layoutgraph/edge.go | 481 | // . │ │ │ │ │ | COMMENT |
| LOW | d2layouts/d2talalayout/internal/layoutgraph/edge.go | 581 | } | COMMENT |
| LOW | d2layouts/d2talalayout/internal/layoutgraph/edge.go | 601 | // │ | COMMENT |
| LOW | d2layouts/d2talalayout/internal/layoutgraph/graph.go | 41 | // ---- They can be nested | COMMENT |
| LOW | d2layouts/d2talalayout/internal/layoutgraph/graph.go | 221 | // If it is reachable, reflecting maintains edge length. Otherwise, reflecting could reverse edge directions undesirably | COMMENT |
| LOW | d2layouts/d2talalayout/internal/layoutgraph/layout.go | 141 | // . │ ▼ │ | COMMENT |
| LOW | d2layouts/d2talalayout/internal/layoutgraph/layout.go | 201 | // This is an intra-container edge (points from a child into a descendant of child, or vice versa) | COMMENT |
| LOW | d2layouts/d2talalayout/internal/layoutgraph/doc.go | 1 | // Package layoutgraph defines the mutable state used by TALA's layout | COMMENT |
| LOW | …ayouts/d2talalayout/internal/layoutgraph/graph_test.go | 141 | } | COMMENT |
| LOW | …youts/d2talalayout/internal/layoutgraph/layout_test.go | 21 | assert.True(t, clusterNodeChild.isDescendantOf(vessel)) | COMMENT |
| LOW | …layouts/d2talalayout/internal/layoutgraph/node_test.go | 581 | COMMENT | |
| 130 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | d2ir/index_test.go | 159 | placeholder := base.GetField(d2ast.FlatUnquotedString("placeholder")) | CODE |
| LOW⚡ | e2etests/markdowntest.md | 72 | > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, | CODE |
| LOW⚡ | e2etests/markdowntest.md | 72 | > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, | CODE |
| LOW⚡ | e2etests/markdowntest.md | 81 | > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, | CODE |
| LOW⚡ | e2etests/markdowntest.md | 81 | > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, | CODE |
| LOW⚡ | e2etests/markdowntest.md | 164 | - Lorem ipsum dolor sit amet, consectetuer adipiscing elit. | CODE |
| LOW⚡ | e2etests/markdowntest.md | 164 | - Lorem ipsum dolor sit amet, consectetuer adipiscing elit. | CODE |
| LOW⚡ | e2etests/markdowntest.md | 172 | - Lorem ipsum dolor sit amet, consectetuer adipiscing elit. | CODE |
| LOW⚡ | e2etests/markdowntest.md | 172 | - Lorem ipsum dolor sit amet, consectetuer adipiscing elit. | CODE |
| LOW⚡ | e2etests/markdowntest.md | 182 | 1. This is a list item with two paragraphs. Lorem ipsum dolor | CODE |
| LOW | e2etests/markdowntest.md | 200 | only required to indent the first line. Lorem ipsum dolor | CODE |
| LOW | e2etests/stable_test.go | 1020 | 1. This is a list item with two paragraphs. Lorem ipsum dolor | CODE |
| LOW | e2etests/stable_test.go | 1038 | only required to indent the first line. Lorem ipsum dolor | CODE |
| LOW | e2etests/stable_test.go | 1073 | Lorem ipsum dolor | CODE |
| LOW | e2etests/stable_test.go | 1076 | Lorem ipsum dolor | CODE |
| LOW | e2etests/stable_test.go | 1362 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, ` + ` | CODE |
| LOW | e2etests/stable_test.go | 1362 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, ` + ` | CODE |
| LOW | e2etests/stable_test.go | 1373 | Lorem ipsum dolor sit amet, consectetur adipiscing elit,\ | CODE |
| LOW | e2etests/stable_test.go | 1373 | Lorem ipsum dolor sit amet, consectetur adipiscing elit,\ | CODE |
| LOW⚡ | e2etests/regression_test.go | 561 | # Lorem Ipsum | COMMENT |
| LOW⚡ | e2etests/regression_test.go | 563 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ac urna justo. Praesent vehicula sit amet sem quis fa | CODE |
| LOW⚡ | e2etests/regression_test.go | 563 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ac urna justo. Praesent vehicula sit amet sem quis fa | CODE |
| LOW⚡ | …estdata/stable/giant_markdown_test/tala/board.exp.json | 43 | "label": "# Markdown: Syntax\n\n- [Overview](#overview)\n - [Philosophy](#philosophy)\n - [Inline HTML](#html)\n | CODE |
| LOW⚡ | …estdata/stable/giant_markdown_test/tala/board.exp.json | 43 | "label": "# Markdown: Syntax\n\n- [Overview](#overview)\n - [Philosophy](#philosophy)\n - [Inline HTML](#html)\n | CODE |
| LOW⚡ | …testdata/stable/giant_markdown_test/elk/board.exp.json | 43 | "label": "# Markdown: Syntax\n\n- [Overview](#overview)\n - [Philosophy](#philosophy)\n - [Inline HTML](#html)\n | CODE |
| LOW⚡ | …testdata/stable/giant_markdown_test/elk/board.exp.json | 43 | "label": "# Markdown: Syntax\n\n- [Overview](#overview)\n - [Philosophy](#philosophy)\n - [Inline HTML](#html)\n | CODE |
| LOW⚡ | …stdata/stable/giant_markdown_test/dagre/board.exp.json | 43 | "label": "# Markdown: Syntax\n\n- [Overview](#overview)\n - [Philosophy](#philosophy)\n - [Inline HTML](#html)\n | CODE |
| LOW⚡ | …stdata/stable/giant_markdown_test/dagre/board.exp.json | 43 | "label": "# Markdown: Syntax\n\n- [Overview](#overview)\n - [Philosophy](#philosophy)\n - [Inline HTML](#html)\n | CODE |
| LOW | …stdata/stable/md_backslash_newline/tala/board.exp.json | 85 | "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit,\\\nsed do eiusmod tempor incididunt ut labore e | CODE |
| LOW | …stdata/stable/md_backslash_newline/tala/board.exp.json | 85 | "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit,\\\nsed do eiusmod tempor incididunt ut labore e | CODE |
| LOW | …estdata/stable/md_backslash_newline/elk/board.exp.json | 85 | "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit,\\\nsed do eiusmod tempor incididunt ut labore e | CODE |
| LOW | …estdata/stable/md_backslash_newline/elk/board.exp.json | 85 | "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit,\\\nsed do eiusmod tempor incididunt ut labore e | CODE |
| LOW | …tdata/stable/md_backslash_newline/dagre/board.exp.json | 85 | "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit,\\\nsed do eiusmod tempor incididunt ut labore e | CODE |
| LOW | …tdata/stable/md_backslash_newline/dagre/board.exp.json | 85 | "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit,\\\nsed do eiusmod tempor incididunt ut labore e | CODE |
| LOW | …/testdata/stable/md_2space_newline/tala/board.exp.json | 85 | "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, \nsed do eiusmod tempor incididunt ut labore e | CODE |
| LOW | …/testdata/stable/md_2space_newline/tala/board.exp.json | 85 | "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, \nsed do eiusmod tempor incididunt ut labore e | CODE |
| LOW | …s/testdata/stable/md_2space_newline/elk/board.exp.json | 85 | "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, \nsed do eiusmod tempor incididunt ut labore e | CODE |
| LOW | …s/testdata/stable/md_2space_newline/elk/board.exp.json | 85 | "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, \nsed do eiusmod tempor incididunt ut labore e | CODE |
| LOW | …testdata/stable/md_2space_newline/dagre/board.exp.json | 85 | "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, \nsed do eiusmod tempor incididunt ut labore e | CODE |
| LOW | …testdata/stable/md_2space_newline/dagre/board.exp.json | 85 | "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, \nsed do eiusmod tempor incididunt ut labore e | CODE |
| LOW | e2etests/testdata/stable/li4/tala/board.exp.json | 43 | "label": "\nList items may consist of multiple paragraphs. Each subsequent\nparagraph in a list item must be inden | CODE |
| LOW | e2etests/testdata/stable/li4/elk/board.exp.json | 43 | "label": "\nList items may consist of multiple paragraphs. Each subsequent\nparagraph in a list item must be inden | CODE |
| LOW | e2etests/testdata/stable/li4/dagre/board.exp.json | 43 | "label": "\nList items may consist of multiple paragraphs. Each subsequent\nparagraph in a list item must be inden | CODE |
| LOW | e2etests/testdata/stable/br/tala/board.exp.json | 43 | "label": "# Headline 1\n## Headline 2\nLorem ipsum dolor\n<br />\n## Headline 3\nLorem ipsum dolor\n<br />\n<br /> | CODE |
| LOW | e2etests/testdata/stable/br/elk/board.exp.json | 43 | "label": "# Headline 1\n## Headline 2\nLorem ipsum dolor\n<br />\n## Headline 3\nLorem ipsum dolor\n<br />\n<br /> | CODE |
| LOW | e2etests/testdata/stable/br/dagre/board.exp.json | 43 | "label": "# Headline 1\n## Headline 2\nLorem ipsum dolor\n<br />\n## Headline 3\nLorem ipsum dolor\n<br />\n<br /> | CODE |
| LOW | …n/markdown_terminal_last_word_1884/tala/board.exp.json | 43 | "label": "# LOREM IPSUM\n\nLOREM IPSUM DOLOR SIT AMET, CONSECTETUR ADIPISCING ELIT. DONEC AC URNA JUSTO. PRAESENT | CODE |
| LOW | …n/markdown_terminal_last_word_1884/tala/board.exp.json | 43 | "label": "# LOREM IPSUM\n\nLOREM IPSUM DOLOR SIT AMET, CONSECTETUR ADIPISCING ELIT. DONEC AC URNA JUSTO. PRAESENT | CODE |
| LOW | …on/markdown_terminal_last_word_1884/elk/board.exp.json | 43 | "label": "# LOREM IPSUM\n\nLOREM IPSUM DOLOR SIT AMET, CONSECTETUR ADIPISCING ELIT. DONEC AC URNA JUSTO. PRAESENT | CODE |
| LOW | …on/markdown_terminal_last_word_1884/elk/board.exp.json | 43 | "label": "# LOREM IPSUM\n\nLOREM IPSUM DOLOR SIT AMET, CONSECTETUR ADIPISCING ELIT. DONEC AC URNA JUSTO. PRAESENT | CODE |
| LOW | …/markdown_terminal_last_word_1884/dagre/board.exp.json | 43 | "label": "# LOREM IPSUM\n\nLOREM IPSUM DOLOR SIT AMET, CONSECTETUR ADIPISCING ELIT. DONEC AC URNA JUSTO. PRAESENT | CODE |
| LOW | …/markdown_terminal_last_word_1884/dagre/board.exp.json | 43 | "label": "# LOREM IPSUM\n\nLOREM IPSUM DOLOR SIT AMET, CONSECTETUR ADIPISCING ELIT. DONEC AC URNA JUSTO. PRAESENT | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | ci/release/upload_draft_test.py | 120 | def test_manifest_rejects_changed_archive(self): | CODE |
| LOW⚡ | ci/release/upload_draft_test.py | 125 | def test_manifest_rejects_duplicate_entry(self): | CODE |
| LOW⚡ | ci/release/upload_draft_test.py | 131 | def test_manifest_rejects_extra_asset(self): | CODE |
| LOW⚡ | ci/release/upload_draft_test.py | 136 | def test_rejects_symlinked_installer(self): | CODE |
| LOW⚡ | ci/release/upload_draft_test.py | 143 | def test_upload_and_retry_preserve_exact_bytes(self): | CODE |
| LOW⚡ | ci/release/upload_draft_test.py | 150 | def test_conflict_preflight_prevents_partial_upload(self): | CODE |
| LOW⚡ | ci/release/upload_draft_test.py | 157 | def test_starter_cleanup_recovers_repeated_upload_failure(self): | CODE |
| LOW | ci/release/upload_draft_test.py | 175 | def test_unsafe_starter_metadata_is_never_deleted(self): | CODE |
| LOW | ci/release/upload_draft_test.py | 185 | def test_starter_change_before_cleanup_prevents_deletion(self): | CODE |
| LOW | ci/release/upload_draft_test.py | 202 | def test_starter_name_change_at_exact_asset_read_prevents_deletion(self): | CODE |
| LOW | ci/release/upload_draft_test.py | 210 | def test_conflict_elsewhere_prevents_starter_cleanup(self): | CODE |
| LOW | ci/release/upload_draft_test.py | 225 | def test_duplicate_starters_are_never_deleted(self): | CODE |
| LOW | ci/release/upload_draft_test.py | 233 | def test_release_or_tag_change_before_cleanup_prevents_deletion(self): | CODE |
| LOW⚡ | ci/release/upload_draft_test.py | 248 | def test_published_release_is_never_modified(self): | CODE |
| LOW⚡ | ci/release/upload_draft_test.py | 254 | def test_moved_tag_is_never_modified(self): | CODE |
| LOW⚡ | ci/release/upload_draft_test.py | 261 | def test_tag_change_during_upload_stops_following_writes(self): | CODE |
| LOW⚡ | ci/release/upload_draft_test.py | 268 | def test_draft_change_during_upload_stops_following_writes(self): | CODE |
| LOW⚡ | ci/release/upload_draft_test.py | 277 | def test_create_requires_notes_and_stays_draft(self): | CODE |
| LOW | ci/release/prepare_test.py | 82 | def test_prepares_tag_and_pr_without_building_or_uploading(self): | STRING |
| LOW⚡ | ci/release/prepare_test.py | 93 | def test_existing_pr_description_is_untouched(self): | STRING |
| LOW⚡ | ci/release/prepare_test.py | 98 | def test_completed_release_stops_before_git_mutation(self): | STRING |
| LOW⚡ | ci/release/prepare_test.py | 105 | def test_existing_draft_without_remote_tag_is_not_reused(self): | STRING |
| LOW⚡ | ci/release/prepare_test.py | 111 | def test_published_tagged_release_is_rejected_without_changes(self): | STRING |
| LOW⚡ | ci/release/prepare_test.py | 118 | def test_dry_run_does_not_change_git_or_github(self): | STRING |
| LOW⚡ | ci/release/prepare_test.py | 140 | def assert_rejected_without_ref_changes(self): | STRING |
| LOW⚡ | ci/release/prepare_test.py | 147 | def test_existing_matching_tag_is_a_noop_even_from_master(self): | STRING |
| LOW⚡ | ci/release/prepare_test.py | 156 | def test_existing_remote_tag_does_not_recreate_missing_local_tag(self): | STRING |
| LOW⚡ | ci/release/prepare_test.py | 163 | def test_changed_source_after_tag_requires_new_version(self): | STRING |
| LOW⚡ | ci/release/prepare_test.py | 168 | def test_conflicting_tag_objects_at_same_commit_are_rejected(self): | STRING |
| LOW⚡ | ci/release/prepare_test.py | 173 | def test_conflicting_remote_tag_commit_is_rejected(self): | STRING |
| LOW⚡ | ci/release/prepare_test.py | 178 | def test_partial_preparation_retry_does_not_create_another_commit(self): | STRING |
| LOW | ci/release/prepare_test.py | 189 | def test_partial_remote_branch_can_resume_without_new_commit(self): | STRING |
| LOW | ci/release/prepare_test.py | 200 | def test_local_tag_from_failed_push_is_pushed_without_recreation(self): | STRING |
| LOW⚡ | ci/release/prepare_test.py | 211 | def test_follow_tags_config_cannot_push_tag_before_pr_success(self): | STRING |
| LOW⚡ | ci/release/prepare_test.py | 220 | def test_conflicting_local_only_tag_is_rejected(self): | STRING |
| LOW⚡ | ci/release/prepare_test.py | 226 | def test_divergent_untagged_branch_is_rejected_before_checkout(self): | STRING |
| LOW⚡ | ci/release/prepare_test.py | 236 | def test_removed_flags_are_rejected_before_any_action(self): | STRING |
| LOW⚡ | ci/release/prepare_test.py | 242 | def test_stable_prerelease_flag_is_rejected(self): | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | d2renderers/internal/fontface/colrv1.go | 240 | layers, err := b.face.Shaping.COLR.LayerList.Resolve(p) | CODE |
| CRITICAL | d2renderers/internal/fontface/colrv1.go | 368 | clip, found := b.face.Shaping.COLR.ClipList.Search(glyph) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | install.sh | 372 | # flag_parse implements a robust flag parser. | COMMENT |
| MEDIUM | e2etests-cli/main_test.go | 1908 | // getNumBoards gets the number of boards in an SVG file through a non-robust pattern search | COMMENT |
| MEDIUM | d2renderers/d2isometric/d2isometricimg/native.go | 55 | // share a seamless GIF loop without changing the public exact-time frame API. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | …estdata/stable/giant_markdown_test/tala/board.exp.json | 43 | "label": "# Markdown: Syntax\n\n- [Overview](#overview)\n - [Philosophy](#philosophy)\n - [Inline HTML](#html)\n | CODE |
| MEDIUM⚡ | …testdata/stable/giant_markdown_test/elk/board.exp.json | 43 | "label": "# Markdown: Syntax\n\n- [Overview](#overview)\n - [Philosophy](#philosophy)\n - [Inline HTML](#html)\n | CODE |
| MEDIUM⚡ | …stdata/stable/giant_markdown_test/dagre/board.exp.json | 43 | "label": "# Markdown: Syntax\n\n- [Overview](#overview)\n - [Philosophy](#philosophy)\n - [Inline HTML](#html)\n | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | d2parser/parse.go | 1331 | // TODO: implement all Go escapes like the unicode ones | COMMENT |
| LOW | d2ast/d2ast.go | 1480 | // TODO: implement ScalarString() | COMMENT |
| LOW | lib/shape/shape_person.go | 52 | // TODO: implement s command with mirroring last control point | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ci/nonlayout-perf/overlay.py | 24 | CODE | |
| LOW | ci/nonlayout-perf/run.py | 142 | CODE | |
| LOW | ci/nonlayout-perf/run.py | 190 | CODE | |
| LOW | ci/release/upload_draft_test.py | 185 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .github/workflows/docker-publish.yml | 90 | # Run the reviewed orchestration from the dispatch, including for older releases. | COMMENT |