Code documentation written as code! How novel and totally my idea!
This report summarizes scanner evidence for adambard/learnxinyminutes-docs, a Markdown project with 12,357 GitHub stars. SynthScan examined 334,067 lines of code across 889 source files, recording 1577 pattern matches distributed across 11 syntactic categories. The legacy adjusted pattern signal is 6.8 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 1156 finding(s).
Are imports declared and package/API names verified? 6 finding(s).
Are wrappers, guards, and repeated structures necessary? 428 finding(s).
Which changes need focused human review? 1577 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 1577 distinct pattern matches across 11 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 | swift.md | 21 | ```swift | COMMENT |
| LOW | swift.md | 301 | //Iterating through a dictionary does not guarantee any specific order | COMMENT |
| LOW | swift.md | 861 | // You can use #warning(message) and #error(message) to have the compiler emit warnings and/or errors | COMMENT |
| LOW | linker.md | 41 | COMMENT | |
| LOW | linker.md | 101 | KEEP (*(.init)) | COMMENT |
| LOW | gleam.md | 61 | pub type UserId = | COMMENT |
| LOW | gleam.md | 81 | // io.println(10) | COMMENT |
| LOW | gleam.md | 161 | let one_point_three = 1.3 | COMMENT |
| LOW | gleam.md | 221 | // \\ - backslash | COMMENT |
| LOW | gleam.md | 281 | let _version: Int = 1 | COMMENT |
| LOW | make.md | 21 | COMMENT | |
| LOW | make.md | 181 | # Variables 2 | COMMENT |
| LOW | sing.md | 21 | Use it to remark-out part of the code. | COMMENT |
| LOW | sing.md | 181 | // | COMMENT |
| LOW | miniscript.md | 241 | print roll(2) // roll two 6-sided dice | COMMENT |
| LOW | miniscript.md | 361 | // prefix on the left-hand side of the assignment, since otherwise | COMMENT |
| LOW | python.md | 721 | # You can shorten module names | COMMENT |
| LOW | python.md | 741 | #################################################### | COMMENT |
| LOW | python.md | 841 | # Inheritance allows new child classes to be defined that inherit methods and | COMMENT |
| LOW | python.md | 861 | # If the child class should inherit all of the parent's definitions without | COMMENT |
| LOW | sorbet.md | 21 | # Strictness levels (lax to strict): | COMMENT |
| LOW | sorbet.md | 181 | # | COMMENT |
| LOW | sorbet.md | 501 | # | COMMENT |
| LOW | sorbet.md | 861 | # `T.unsafe` so Sorbet will let you call it. Although we tend to think of | COMMENT |
| LOW | pascal.md | 81 | // can define zero (0) length arrays that are dynamically sized | COMMENT |
| LOW | coffeescript.md | 41 | #=>var fill; | COMMENT |
| LOW | coffeescript.md | 61 | # "cube": function(x) { return x * square(x); } | COMMENT |
| LOW | coffeescript.md | 81 | # _results = []; | COMMENT |
| LOW | jq.md | 21 | # When running jq from the command line, jq program code can be specified as the | COMMENT |
| LOW | jq.md | 61 | # "name": "jq" | COMMENT |
| LOW | jq.md | 101 | # | COMMENT |
| LOW | jq.md | 121 | jq -n --argjson val 123 '$val' # $val is a number | COMMENT |
| LOW | jq.md | 141 | # | COMMENT |
| LOW | jq.md | 161 | # 1 + 2 = 3 | COMMENT |
| LOW | jq.md | 181 | # NOTE: The + (plus) operator here concatenates strings. | COMMENT |
| LOW | jq.md | 201 | # | COMMENT |
| LOW | jq.md | 221 | # 1 | COMMENT |
| LOW | jq.md | 241 | # [ | COMMENT |
| LOW | jq.md | 261 | # Output: | COMMENT |
| LOW | jq.md | 281 | # | COMMENT |
| LOW | jq.md | 301 | # | COMMENT |
| LOW | jq.md | 321 | # [dot, 4].forEach(dot => console.log(dot)) | COMMENT |
| LOW | jq.md | 341 | # For object attributes, you can also use the `.key` shortcut. | COMMENT |
| LOW | jq.md | 381 | # NOTE: `empty` is actually a built-in function in jq. | COMMENT |
| LOW | jq.md | 401 | # If the lookup index or key is omitted then jq iterates through | COMMENT |
| LOW | jq.md | 421 | # Output: | COMMENT |
| LOW | jq.md | 441 | # "values": 4 | COMMENT |
| LOW | jq.md | 461 | # Another example using a conditional: | COMMENT |
| LOW | jq.md | 481 | # 5 | COMMENT |
| LOW | jq.md | 501 | jq -n '[range(2; 10; 2)]' # => [2, 4, 6, 8] | COMMENT |
| LOW | jq.md | 541 | # | COMMENT |
| LOW | jq.md | 581 | # an array of key-value objects and turn that into an object with keys | COMMENT |
| LOW | jq.md | 601 | COMMENT | |
| LOW | jq.md | 641 | # Average: 3267 | COMMENT |
| LOW | jq.md | 661 | # the collection. Here are some examples: | COMMENT |
| LOW | jq.md | 681 | # "a": 1, | COMMENT |
| LOW | jq.md | 701 | # and then it becomes the result of applying the `reduction_expr` as | COMMENT |
| LOW | jq.md | 721 | COMMENT | |
| LOW | jq.md | 761 | # 2 * 1 = 2 | COMMENT |
| LOW | jq.md | 821 | # for its side effect, and doesn't generate a new output. | COMMENT |
| 1073 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | make.md | 27 | #----------------------------------------------------------------------- | COMMENT |
| MEDIUM | make.md | 29 | #----------------------------------------------------------------------- | COMMENT |
| MEDIUM | make.md | 59 | #----------------------------------------------------------------------- | COMMENT |
| MEDIUM | make.md | 61 | #----------------------------------------------------------------------- | COMMENT |
| MEDIUM | make.md | 80 | #----------------------------------------------------------------------- | COMMENT |
| MEDIUM | make.md | 82 | #----------------------------------------------------------------------- | COMMENT |
| MEDIUM | make.md | 97 | #----------------------------------------------------------------------- | COMMENT |
| MEDIUM | make.md | 99 | #----------------------------------------------------------------------- | COMMENT |
| MEDIUM | make.md | 132 | #----------------------------------------------------------------------- | COMMENT |
| MEDIUM | make.md | 134 | #----------------------------------------------------------------------- | COMMENT |
| MEDIUM | make.md | 180 | #----------------------------------------------------------------------- | COMMENT |
| MEDIUM | make.md | 182 | #----------------------------------------------------------------------- | COMMENT |
| MEDIUM | make.md | 199 | #----------------------------------------------------------------------- | COMMENT |
| MEDIUM | make.md | 201 | #----------------------------------------------------------------------- | COMMENT |
| MEDIUM | make.md | 216 | #----------------------------------------------------------------------- | COMMENT |
| MEDIUM | make.md | 218 | #----------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | jq.md | 642 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | jq.md | 645 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | jq.md | 648 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | jq.md | 651 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | jq.md | 654 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | elixir.md | 26 | ## --------------------------- | COMMENT |
| MEDIUM | elixir.md | 28 | ## --------------------------- | COMMENT |
| MEDIUM | elixir.md | 108 | ## --------------------------- | COMMENT |
| MEDIUM | elixir.md | 110 | ## --------------------------- | COMMENT |
| MEDIUM | elixir.md | 160 | ## --------------------------- | COMMENT |
| MEDIUM | elixir.md | 162 | ## --------------------------- | COMMENT |
| MEDIUM | elixir.md | 225 | ## --------------------------- | COMMENT |
| MEDIUM | elixir.md | 227 | ## --------------------------- | COMMENT |
| MEDIUM | elixir.md | 336 | ## --------------------------- | STRING |
| MEDIUM | elixir.md | 338 | ## --------------------------- | STRING |
| MEDIUM | elixir.md | 374 | ## --------------------------- | STRING |
| MEDIUM | elixir.md | 376 | ## --------------------------- | STRING |
| MEDIUM | elixir.md | 428 | ## --------------------------- | STRING |
| MEDIUM | elixir.md | 430 | ## --------------------------- | STRING |
| MEDIUM | nix.md | 22 | #========================================= | COMMENT |
| MEDIUM | nix.md | 31 | #========================================= | COMMENT |
| MEDIUM | nix.md | 44 | #========================================= | COMMENT |
| MEDIUM | nix.md | 66 | #========================================= | COMMENT |
| MEDIUM | nix.md | 95 | #========================================= | COMMENT |
| MEDIUM | nix.md | 118 | #========================================= | COMMENT |
| MEDIUM | nix.md | 138 | #========================================= | COMMENT |
| MEDIUM | nix.md | 159 | #========================================= | COMMENT |
| MEDIUM | nix.md | 181 | #========================================= | COMMENT |
| MEDIUM | nix.md | 212 | #========================================= | COMMENT |
| MEDIUM | nix.md | 267 | #========================================= | COMMENT |
| MEDIUM | nix.md | 289 | #========================================= | COMMENT |
| MEDIUM | nix.md | 313 | #========================================= | COMMENT |
| MEDIUM | nix.md | 340 | #========================================= | COMMENT |
| MEDIUM | vim9script.md | 70 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | vim9script.md | 96 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | vim9script.md | 130 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | vim9script.md | 162 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | vim9script.md | 190 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | vim9script.md | 237 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | vim9script.md | 271 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | vim9script.md | 291 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | vim9script.md | 310 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | vim9script.md | 330 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | vim9script.md | 347 | # ---------------------------------------------------------------------------- | COMMENT |
| 332 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python.md | 0 | all_the_args(1, 2, a=3, b=4) prints: (1, 2) {"a": 3, "b": 4} | STRING |
| HIGH | pythonlegacy.md | 0 | all_the_args(1, 2, a=3, b=4) prints: (1, 2) {"a": 3, "b": 4} | STRING |
| HIGH | ja/python.md | 0 | all_the_args(1, 2, a=3, b=4) prints: (1, 2) {"a": 3, "b": 4} | STRING |
| HIGH | zh-cn/python.md | 0 | all_the_args(1, 2, a=3, b=4) prints: (1, 2) {"a": 3, "b": 4} | STRING |
| HIGH | zh-cn/pythonlegacy.md | 0 | all_the_args(1, 2, a=3, b=4) prints: (1, 2) {"a": 3, "b": 4} | STRING |
| HIGH | zh-tw/pythonlegacy.md | 0 | all_the_args(1, 2, a=3, b=4) prints: (1, 2) {"a": 3, "b": 4} | STRING |
| HIGH | ar/python.md | 0 | all_the_args(1, 2, a=3, b=4) prints: (1, 2) {"a": 3, "b": 4} | STRING |
| HIGH | tr/pythonlegacy.md | 0 | all_the_args(1, 2, a=3, b=4) prints: (1, 2) {"a": 3, "b": 4} | STRING |
| HIGH | scala.md | 0 | <form id="daform"> <p>press belo', joe</p> | <input type="submit"> </form> | STRING |
| HIGH | el/scala.md | 0 | <form id="daform"> <p>press belo', joe</p> | <input type="submit"> </form> | STRING |
| HIGH | zh-cn/scala.md | 0 | <form id="daform"> <p>press belo', joe</p> | <input type="submit"> </form> | STRING |
| HIGH | pt-br/scala.md | 0 | <form id="daform"> <p>press belo', joe</p> | <input type="submit"> </form> | STRING |
| HIGH | es/scala.md | 0 | <form id="daform"> <p>press belo', joe</p> | <input type="submit"> </form> | STRING |
| HIGH | fr/scala.md | 0 | <form id="daform"> <p>press belo', joe</p> | <input type="submit"> </form> | STRING |
| HIGH | dart.md | 0 | example19 <a href="etc"> example19 don't can't i'm etc example19 </a> | STRING |
| HIGH | zh-cn/dart.md | 0 | example19 <a href="etc"> example19 don't can't i'm etc example19 </a> | STRING |
| HIGH | zh-tw/dart.md | 0 | example19 <a href="etc"> example19 don't can't i'm etc example19 </a> | STRING |
| HIGH | es/dart.md | 0 | example19 <a href="etc"> example19 don't can't i'm etc example19 </a> | STRING |
| HIGH | pythonstatcomp.md | 0 | ix dynasty name birth death election 1 0 nan carolingian charles i 2 april 742 28 january 814 nan 1 nan carolingian loui | STRING |
| HIGH | pt-br/pythonstatcomp.md | 0 | ix dynasty name birth death election 1 0 nan carolingian charles i 2 april 742 28 january 814 nan 1 nan carolingian loui | STRING |
| HIGH | es/pythonstatcomp.md | 0 | ix dynasty name birth death election 1 0 nan carolingian charles i 2 april 742 28 january 814 nan 1 nan carolingian loui | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | nix.md | 358 | # its contents. You can read files from anywhere. In this example, | COMMENT |
| HIGH | raku.md | 663 | # In this example, even though the sequence is infinite, only the 15 | COMMENT |
| HIGH | awk.md | 175 | # between actual function parameters and local variables. In this example, | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | solidity.md | 779 | function checkIfFundingCompleteOrExpired() | CODE |
| LOW | ballerina.md | 76 | public function fromHttpTriggerCosmosDBInput( | CODE |
| LOW | hack.md | 334 | public static function favoriteProgrammingLanguage(): string { | CODE |
| LOW | it/solidity.md | 892 | function checkIfFundingCompleteOrExpired() | CODE |
| LOW | cs/python.md | 443 | def vrat_pojmenovane_argumenty(**pojmenovane_argumenty): | CODE |
| LOW | zh-cn/solidity.md | 669 | function checkIfFundingCompleteOrExpired() | CODE |
| LOW | pt-br/php.md | 491 | final function voceNaoPodeMeSobrescrever() | CODE |
| LOW | pt-br/php.md | 525 | function imprimePropriedadeProtegida() | CODE |
| LOW | pt-br/solidity.md | 746 | function verifiqueSeLevantamentoFoiCompletadoOuExpirado() { | CODE |
| LOW | nl/typescript.md | 41 | function groteVerschrikkelijkeMelding(): void { | CODE |
| LOW | id/php.md | 593 | function tampilkanPropertiTerlindungi() | CODE |
| LOW | es/php.md | 574 | function imprimePropiedadProtegida() | CODE |
| LOW | es/javascript.md | 312 | function decirHolaCadaCincoSegundos(nombre){ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | sorbet.md | 197 | # Sometimes (usually dependency injection), a method will accept a reference | COMMENT |
| MEDIUM | messagepack.md | 107 | # event-driven deserialization | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pythonlegacy.md | 140 | "{} is a {}".format("This", "placeholder") | CODE |
| LOW | dhall.md | 98 | { name = "John Doe" | CODE |
| LOW | messagepack.md | 19 | | {"name":"John Doe","age":12} | | CODE |
| LOW | mongodb.md | 105 | db.engineers.insertOne({ name: "Jane Doe", age: 21, gender: 'Female' }) | CODE |
| LOW | mongodb.md | 212 | db.engineers.updateOne({ name: 'Foo Bar' }, { $set: { name: 'John Doe', age: 100 }}) | CODE |
| LOW | zh-tw/pythonlegacy.md | 127 | "{} is a {}".format("This", "placeholder") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | swift.md | 1003 | print("Error message: \(msg)") | STRING |
| MEDIUM | lint/frontmatter.py | 109 | print(f"Error: {path_input} does not exist.") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | raku.md | 1866 | # IMPORTANT: Don't skip them because you know PCRE. They're different. Some | COMMENT |
| LOW | raku.md | 2080 | # WARNING: They are DIFFERENT from PCRE regexps. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | lint/frontmatter.py | 42 | CODE | |
| LOW | lint/frontmatter.py | 72 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | lint/encoding.sh | 7 | # Check if the encoding is neither UTF-8 nor US-ASCII | COMMENT |