AI Slop Code RIsk Monitor

graphql/graphql-spec

GraphQL is a query language and execution engine tied to any backend service.

6.0 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for graphql/graphql-spec, a HTML project with 14,591 GitHub stars. SynthScan examined 43,217 lines of code across 44 source files, recording 51 pattern matches distributed across 2 syntactic categories. The legacy adjusted pattern signal is 6.0 (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.

6.0
Adjusted Signal
6.0
Raw Pattern Score
100%
Time Factor
2026-09-28
Last Push
14.6K
Stars
HTML
Language
43.2K
Lines of Code
44
Files
51
Pattern Hits
2026-10-12
Scan Date
1.05
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 25.9/100 · MEDIUM

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

Hallucinated Dependency & Supply Chain Risk 0.0/100 · LOW

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

Agent Over-Engineering Ratio 0.0/100 · LOW

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

PR Review Velocity Impact 27.8/100 · MEDIUM

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

What These Metrics Mean

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

Pattern-Signal History

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

Severity Breakdown

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

CRITICAL 0HIGH 46MEDIUM 0LOW 5

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 51 distinct pattern matches across 2 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.

AI Response Leakage46 hits · 252 pts
SeverityFileLineSnippetContext
HIGHpublished/June2018/index.html854</code></pre></section><section id="sec-Language.Arguments" secid="2.6"><h3><span class="spec-secid" title="link to thisCODE
HIGHpublished/June2018/index.html874</code></pre></section><section id="sec-Field-Alias" secid="2.7"><h3><span class="spec-secid" title="link to this sectioCODE
HIGHpublished/June2018/index.html952</code></pre><p>The queries <code>noFragments</code>, <code>withFragments</code>, and <code>withNestedFragments</code> aCODE
HIGHpublished/June2018/index.html1037</code></pre><p><strong>Semantics</strong></p><div class="spec-semantic"><span class="spec-nt"><a href="#ObjectValue" daCODE
HIGHpublished/June2018/index.html1214</code></pre></section><section id="sec-Object-Extensions" secid="3.6.3"><h4><span class="spec-secid" title="link to thiCODE
HIGHpublished/June2018/index.html1263</code></pre><p><strong>Result Coercion</strong></p><p>The interface type should have some way of determining which objeCODE
HIGH⚡published/June2018/index.html1309</code></pre><p><strong>Result Coercion</strong></p><p>The union type should have some way of determining which object aCODE
HIGH⚡published/June2018/index.html1315</code></pre><p><strong>Result Coercion</strong></p><p>GraphQL servers must return one of the defined set of possible vaCODE
HIGH⚡published/June2018/index.html1332</code></pre><div class="spec-note">The Validation section defines providing a nullable variable type to a non&#8208;nulCODE
HIGHpublished/October2015/index.html818</code></pre></section><section id="sec-Language.Query-Document.Arguments" secid="2.2.4"><h4><span class="spec-secid" tiCODE
HIGHpublished/October2015/index.html838</code></pre></section><section id="sec-Field-Alias" secid="2.2.5"><h4><span class="spec-secid" title="link to this sectCODE
HIGHpublished/October2015/index.html916</code></pre><p>The queries <code>noFragments</code>, <code>withFragments</code>, and <code>withNestedFragments</code> aCODE
HIGHpublished/October2015/index.html973</code></pre></section></section><section id="sec-Input-Values" secid="2.2.7"><h4><span class="spec-secid" title="link tCODE
HIGH⚡published/October2015/index.html1138</code></pre><p>Hence, if the value for a Non Null type is hard&#8208;coded in the query, it is always coerced using theCODE
HIGH⚡published/October2015/index.html1141</code></pre></section><section id="sec--include" secid="3.2.2"><h4><span class="spec-secid" title="link to this sectionCODE
HIGHpublished/April2016/index.html818</code></pre></section><section id="sec-Language.Arguments" secid="2.6"><h3><span class="spec-secid" title="link to thisCODE
HIGHpublished/April2016/index.html838</code></pre></section><section id="sec-Field-Alias" secid="2.7"><h3><span class="spec-secid" title="link to this sectioCODE
HIGHpublished/April2016/index.html916</code></pre><p>The queries <code>noFragments</code>, <code>withFragments</code>, and <code>withNestedFragments</code> aCODE
HIGHpublished/April2016/index.html979</code></pre><p><strong>Semantics</strong></p><div class="spec-semantic"><span class="spec-nt"><a href="#ObjectValue">ObCODE
HIGH⚡published/April2016/index.html1173</code></pre></section></section><section id="sec-Type-System.Directives" secid="3.2"><h3><span class="spec-secid" titleCODE
HIGH⚡published/April2016/index.html1176</code></pre></section><section id="sec--include" secid="3.2.2"><h4><span class="spec-secid" title="link to this sectionCODE
HIGHpublished/October2021/index.html658<p data-source="spec/Section%202%20--%20Language.md#L418-L419">In this example, we want to query a specific user (requesCODE
HIGHpublished/October2021/index.html696<p data-source="spec/Section%202%20--%20Language.md#L470-L471">In this example, we can fetch two profile pictures of difCODE
HIGHpublished/October2021/index.html809<p data-source="spec/Section%202%20--%20Language.md#L615-L616">Fragments must specify the type they apply to. In this exCODE
HIGHpublished/October2021/index.html1301<p data-source="spec/Section%202%20--%20Language.md#L1112-L1113">In this example, we want to fetch a profile picture sizCODE
HIGHpublished/October2021/index.html1520<p data-source="spec/Section%203%20--%20Type%20System.md#L193-L194">In this example, a GraphQL schema is defined with boCODE
HIGHpublished/October2021/index.html2033<p data-source="spec/Section%203%20--%20Type%20System.md#L1008">In this example, a local data field is added to a <code>CODE
HIGHpublished/October2021/index.html2039<p data-source="spec/Section%203%20--%20Type%20System.md#L1019">In this example, a directive is added to a <code>User</cCODE
HIGHpublished/October2021/index.html2201<p data-source="spec/Section%203%20--%20Type%20System.md#L1244-L1245">In this example, an extended data field is added tCODE
HIGHpublished/October2021/index.html2215<p data-source="spec/Section%203%20--%20Type%20System.md#L1264-L1265">In this example, a directive is added to a <code>NCODE
HIGHpublished/October2021/index.html2260<p data-source="spec/Section%203%20--%20Type%20System.md#L1329-L1331">In this example, a query operation wants the name CODE
HIGHpublished/October2021/index.html2335<p data-source="spec/Section%203%20--%20Type%20System.md#L1427">In this example, an Enum type called <code>Direction</coCODE
HIGHpublished/October2021/index.html2389<p data-source="spec/Section%203%20--%20Type%20System.md#L1499">In this example, an Input Object called <code>Point2D</cCODE
HIGHpublished/October2021/index.html2864<p data-source="spec/Section%203%20--%20Type%20System.md#L1913-L1914">Directives must only be used in the locations theyCODE
HIGHpublished/October2021/index.html2878<p data-source="spec/Section%203%20--%20Type%20System.md#L1939">In this example, the directive <code>@example</code> annCODE
HIGHpublished/October2021/index.html2919<p data-source="spec/Section%203%20--%20Type%20System.md#L1999-L2000">In this example <code>experimentalField</code> wilCODE
HIGHpublished/October2021/index.html2930<p data-source="spec/Section%203%20--%20Type%20System.md#L2019-L2020">In this example <code>experimentalField</code> wilCODE
HIGHpublished/October2021/index.html2947<p data-source="spec/Section%203%20--%20Type%20System.md#L2051-L2052">In this example type definition, <code>oldField</cCODE
HIGHpublished/October2021/index.html2959<p data-source="spec/Section%203%20--%20Type%20System.md#L2074-L2075">In this example, a custom scalar type for <code>UUCODE
HIGHpublished/October2021/index.html3815<p data-source="spec/Section%205%20--%20Validation.md#L553-L555">However, the field responses must be shapes which can bCODE
HIGHpublished/October2016/index.html818</code></pre></section><section id="sec-Language.Arguments" secid="2.6"><h3><span class="spec-secid" title="link to thisCODE
HIGHpublished/October2016/index.html838</code></pre></section><section id="sec-Field-Alias" secid="2.7"><h3><span class="spec-secid" title="link to this sectioCODE
HIGHpublished/October2016/index.html916</code></pre><p>The queries <code>noFragments</code>, <code>withFragments</code>, and <code>withNestedFragments</code> aCODE
HIGHpublished/October2016/index.html983</code></pre><p><strong>Semantics</strong></p><div class="spec-semantic"><span class="spec-nt"><a href="#ObjectValue">ObCODE
HIGH⚡published/October2016/index.html1181</code></pre><div class="spec-note">The Validation section defines providing a nullable variable type to a non&#8208;nulCODE
HIGH⚡published/October2016/index.html1184</code></pre></section><section id="sec--include" secid="3.2.2"><h4><span class="spec-secid" title="link to this sectionCODE
AI Slop Vocabulary5 hits · 7 pts
SeverityFileLineSnippetContext
LOW⚡published/June2018/index.html1323</code></pre><table><thead><tr><th>Literal Value </th><th>Variables </th><th>Coerced Value</th></tr></thead><tbody><tr><CODE
LOW⚡published/October2015/index.html1129</code></pre><p><strong>Result Coercion</strong></p><p>The union type should have some way of determining which object aCODE
LOW⚡published/April2016/index.html1164</code></pre><p><strong>Result Coercion</strong></p><p>The union type should have some way of determining which object aCODE
LOWpublished/October2021/index.html2592<p data-source="spec/Section%203%20--%20Type%20System.md#L1711-L1714">This allows inputs which accept one or many argumeCODE
LOW⚡published/October2016/index.html1172</code></pre><table><thead><tr><th>Original Value </th><th>Variables </th><th>Coerced Value</th></tr></thead><tbody><tr>CODE