Code Push for Flutter and other tools for Flutter businesses.
This report presents the forensic synthetic code analysis of shorebirdtech/shorebird, a Dart project with 2,994 GitHub stars. SynthScan v2.0 examined 119,491 lines of code across 697 source files, recording 164 pattern matches distributed across 8 syntactic categories. The overall adjusted score of 2.7 places this repository in the Likely human-written band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 164 distinct pattern matches across 8 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …/shorebird_cli/test/src/platform/apple/plist_test.dart | 0 | <?xml version="1.0" encoding="utf-8"?> <!doctype plist public "-//apple//dtd plist 1.0//en" "http://www.apple.com/dtds/p | STRING |
| HIGH | …d_cli/test/src/commands/release/ios_releaser_test.dart | 0 | <?xml version="1.0" encoding="utf-8"?> <!doctype plist public "-//apple//dtd plist 1.0//en" "http://www.apple.com/dtds/p | STRING |
| HIGH | …bird_cli/test/src/commands/patch/ios_patcher_test.dart | 0 | <?xml version="1.0" encoding="utf-8"?> <!doctype plist public "-//apple//dtd plist 1.0//en" "http://www.apple.com/dtds/p | STRING |
| HIGH | …rebird_cli/test/src/commands/preview_command_test.dart | 0 | the --staging flag is deprecated and will be removed in a future release. use --track=staging instead. | STRING |
| HIGH | …rd_cli/test/src/commands/patch/patch_command_test.dart | 0 | the --staging flag is deprecated and will be removed in a future release. use --track=staging instead. | STRING |
| HIGH | …es/shorebird_cli/lib/src/commands/preview_command.dart | 0 | the --staging flag is deprecated and will be removed in a future release. use --track=staging instead. | STRING |
| HIGH | …horebird_cli/lib/src/commands/patch/patch_command.dart | 0 | the --staging flag is deprecated and will be removed in a future release. use --track=staging instead. | STRING |
| HIGH | …cli/test/src/commands/release/linux_releaser_test.dart | 0 | the "--release-version" flag is only supported for aar and ios-framework releases. to change the version of this release | STRING |
| HIGH | …i/test/src/commands/release/windows_releaser_test.dart | 0 | the "--release-version" flag is only supported for aar and ios-framework releases. to change the version of this release | STRING |
| HIGH | …cli/test/src/commands/release/macos_releaser_test.dart | 0 | the "--release-version" flag is only supported for aar and ios-framework releases. to change the version of this release | STRING |
| HIGH | …i/test/src/commands/release/android_releaser_test.dart | 0 | the "--release-version" flag is only supported for aar and ios-framework releases. to change the version of this release | STRING |
| HIGH | …d_cli/test/src/commands/release/ios_releaser_test.dart | 0 | the "--release-version" flag is only supported for aar and ios-framework releases. to change the version of this release | STRING |
| HIGH | …ebird_cli/lib/src/commands/release/linux_releaser.dart | 0 | the "--release-version" flag is only supported for aar and ios-framework releases. to change the version of this release | STRING |
| HIGH | …ird_cli/lib/src/commands/release/android_releaser.dart | 0 | the "--release-version" flag is only supported for aar and ios-framework releases. to change the version of this release | STRING |
| HIGH | …cli/lib/src/commands/release/apple_releaser_mixin.dart | 0 | the "--release-version" flag is only supported for aar and ios-framework releases. to change the version of this release | STRING |
| HIGH | …ird_cli/lib/src/commands/release/windows_releaser.dart | 0 | the "--release-version" flag is only supported for aar and ios-framework releases. to change the version of this release | STRING |
| HIGH | …cli/test/src/commands/release/macos_releaser_test.dart | 0 | building for device with codesigning disabled. you will have to manually codesign before deploying to device. | STRING |
| HIGH | …d_cli/test/src/commands/release/ios_releaser_test.dart | 0 | building for device with codesigning disabled. you will have to manually codesign before deploying to device. | STRING |
| HIGH | …orebird_cli/lib/src/commands/release/ios_releaser.dart | 0 | building for device with codesigning disabled. you will have to manually codesign before deploying to device. | STRING |
| HIGH | …ebird_cli/lib/src/commands/release/macos_releaser.dart | 0 | building for device with codesigning disabled. you will have to manually codesign before deploying to device. | STRING |
| HIGH | …cli/test/src/commands/release/macos_releaser_test.dart | 0 | shorebird preview will not work for releases created with "--no-codesign". however, you can still preview your app by si | STRING |
| HIGH | …d_cli/test/src/commands/release/ios_releaser_test.dart | 0 | shorebird preview will not work for releases created with "--no-codesign". however, you can still preview your app by si | STRING |
| HIGH | …orebird_cli/lib/src/commands/release/ios_releaser.dart | 0 | shorebird preview will not work for releases created with "--no-codesign". however, you can still preview your app by si | STRING |
| HIGH | …ebird_cli/lib/src/commands/release/macos_releaser.dart | 0 | shorebird preview will not work for releases created with "--no-codesign". however, you can still preview your app by si | STRING |
| HIGH | …cli/test/src/commands/release/macos_releaser_test.dart | 0 | <?xml version="1.0" encoding="utf-8"?> <!doctype plist public "-//apple//dtd plist 1.0//en" "http://www.apple.com/dtds/p | STRING |
| HIGH | …d_cli/test/src/commands/release/ios_releaser_test.dart | 0 | <?xml version="1.0" encoding="utf-8"?> <!doctype plist public "-//apple//dtd plist 1.0//en" "http://www.apple.com/dtds/p | STRING |
| HIGH | …bird_cli/test/src/commands/patch/ios_patcher_test.dart | 0 | <?xml version="1.0" encoding="utf-8"?> <!doctype plist public "-//apple//dtd plist 1.0//en" "http://www.apple.com/dtds/p | STRING |
| HIGH | …rd_cli/test/src/commands/patch/macos_patcher_test.dart | 0 | <?xml version="1.0" encoding="utf-8"?> <!doctype plist public "-//apple//dtd plist 1.0//en" "http://www.apple.com/dtds/p | STRING |
| HIGH | …li/test/src/commands/release/release_command_test.dart | 0 | no platforms were provided. use the --platforms argument to provide one or more platforms | STRING |
| HIGH | …rd_cli/test/src/commands/patch/patch_command_test.dart | 0 | no platforms were provided. use the --platforms argument to provide one or more platforms | STRING |
| HIGH | …bird_cli/lib/src/commands/release/release_command.dart | 0 | no platforms were provided. use the --platforms argument to provide one or more platforms | STRING |
| HIGH | …horebird_cli/lib/src/commands/patch/patch_command.dart | 0 | no platforms were provided. use the --platforms argument to provide one or more platforms | STRING |
| HIGH | …bird_cli/test/src/commands/patch/ios_patcher_test.dart | 0 | your $podfilelockrelativepath is different from the one used to build the release. this may indicate that the patch cont | STRING |
| HIGH | …rd_cli/test/src/commands/patch/macos_patcher_test.dart | 0 | your $podfilelockrelativepath is different from the one used to build the release. this may indicate that the patch cont | STRING |
| HIGH | …rd_cli/lib/src/commands/patch/apple_patcher_mixin.dart | 0 | your $podfilelockrelativepath is different from the one used to build the release. this may indicate that the patch cont | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | third_party/flutter/bin/internal/shared.sh | 61 | # | COMMENT |
| LOW | third_party/flutter/bin/internal/shared.sh | 81 | # exclusive lock you need a file descriptor that is open for writing. Thus, we | COMMENT |
| LOW | third_party/flutter/bin/internal/shared.sh | 121 | mkdir -p "$SHOREBIRD_ROOT/bin/cache" | COMMENT |
| LOW | scripts/patch_e2e.sh | 1 | #!/bin/bash -ex | COMMENT |
| LOW | scripts/bootstrap.sh | 1 | #!/bin/bash | COMMENT |
| LOW | packages/jwt/lib/src/jwks_format.dart | 1 | /// {@template jwks_format} | COMMENT |
| LOW | packages/redis_client/lib/src/redis_client.dart | 81 | /// Defaults to 10 seconds. | COMMENT |
| LOW | packages/redis_client/lib/src/redis_client.dart | 221 | COMMENT | |
| LOW | packages/redis_client/lib/src/redis_client.dart | 401 | COMMENT | |
| LOW | packages/redis_client/lib/src/redis_client.dart | 421 | /// seconds. | COMMENT |
| LOW | packages/redis_client/lib/src/redis_client.dart | 441 | /// value: 42, | COMMENT |
| LOW | packages/redis_client/lib/src/redis_client.dart | 461 | /// {@template redis_time_series_clock} | COMMENT |
| LOW | packages/redis_client/lib/src/redis_connection.dart | 1 | part of 'redis_client.dart'; | COMMENT |
| LOW | …s/shorebird_build_trace/lib/shorebird_build_trace.dart | 1 | /// Chrome Trace Event Format producer for Shorebird's build-trace | COMMENT |
| LOW | …ckages/shorebird_build_trace/lib/src/build_tracer.dart | 1 | import 'dart:convert'; | COMMENT |
| LOW | …ckages/shorebird_build_trace/lib/src/build_tracer.dart | 21 | /// * [recordNetworkSpan] → HTTP-request span with the standard args | COMMENT |
| LOW | …kages/shorebird_build_trace/lib/src/phase_tracker.dart | 1 | import 'package:shorebird_build_trace/src/build_tracer.dart'; | COMMENT |
| LOW | packages/shorebird_build_trace/lib/src/process_id.dart | 1 | import 'dart:io' show pid; | COMMENT |
| LOW | …ckages/shorebird_build_trace/lib/src/trace_schema.dart | 1 | /// String-level API contract between the trace producers (flutter_tools, | COMMENT |
| LOW | …ckages/shorebird_build_trace/lib/src/trace_schema.dart | 21 | /// Producers emit via [wireName]. Consumers (shorebird_cli) parse via | COMMENT |
| LOW | …ckages/shorebird_build_trace/lib/src/trace_schema.dart | 141 | /// Span name prefixes emitted by the producers. These are format | COMMENT |
| LOW | …ckages/shorebird_build_trace/lib/src/trace_schema.dart | 161 | /// Prefix for the outer xcode span. Span name is | COMMENT |
| LOW | packages/shorebird_cli/test/src/auth/auth_test.dart | 161 | const ciToken = CiToken( | COMMENT |
| LOW | …shorebird_cli/lib/src/shorebird_android_artifacts.dart | 61 | /// ## AABs | COMMENT |
| LOW | packages/shorebird_cli/lib/src/interactive_mode.dart | 1 | import 'dart:io' as io; | COMMENT |
| LOW | …shorebird_cli/lib/src/flutter_version_constraints.dart | 1 | import 'package:pub_semver/pub_semver.dart'; | COMMENT |
| LOW | …shorebird_cli/lib/src/flutter_version_constraints.dart | 21 | /// The minimum allowed Flutter version for creating Windows releases. | COMMENT |
| LOW | …shorebird_cli/lib/src/flutter_version_constraints.dart | 41 | /// users on those perfectly-good N revisions. The allowlist is a bridge | COMMENT |
| LOW | …shorebird_cli/lib/src/flutter_version_constraints.dart | 81 | /// | COMMENT |
| LOW | …shorebird_cli/lib/src/flutter_version_constraints.dart | 101 | /// Background: upstream Flutter PR | COMMENT |
| LOW | …horebird_cli/lib/src/shorebird_cli_command_runner.dart | 21 | COMMENT | |
| LOW | packages/shorebird_cli/lib/src/artifact_manager.dart | 241 | return archsDirectory.existsSync() ? archsDirectory : null; | COMMENT |
| LOW | packages/shorebird_cli/lib/src/shorebird_flutter.dart | 281 | flutterRevision: versionOrHash, | COMMENT |
| LOW | packages/shorebird_cli/lib/src/code_signer.dart | 21 | pkcs8, | COMMENT |
| LOW | packages/shorebird_cli/lib/src/json_output.dart | 101 | 'code': code.code, | COMMENT |
| LOW | packages/shorebird_cli/lib/src/android_sdk.dart | 21 | /// The [AndroidSdk] instance available in the current zone. | COMMENT |
| LOW | packages/shorebird_cli/lib/src/shorebird_process.dart | 21 | // "ProcessFactory" than a "Process". | COMMENT |
| LOW | packages/shorebird_cli/lib/src/shorebird_command.dart | 61 | /// Reads from the [isJsonModeRef] scoped dependency, which is set by the | COMMENT |
| LOW | …kages/shorebird_cli/lib/src/config/shorebird_yaml.dart | 41 | final String appId; | COMMENT |
| LOW | packages/shorebird_cli/lib/src/auth/auth.dart | 501 | COMMENT | |
| LOW | …ckages/shorebird_cli/lib/src/auth/shorebird_oauth.dart | 201 | /// [oauth2.AccessCredentials]. | COMMENT |
| LOW | packages/shorebird_cli/lib/src/executables/gradlew.dart | 221 | // rules: | COMMENT |
| LOW | packages/shorebird_cli/lib/src/executables/gradlew.dart | 261 | extension on String { | COMMENT |
| LOW | packages/shorebird_cli/lib/src/executables/java.dart | 21 | class Java { | COMMENT |
| LOW | …ckages/shorebird_cli/lib/src/platform/apple/plist.dart | 41 | /// This key is a user-visible string for the version of the bundle. The | COMMENT |
| LOW | …_cli/lib/src/platform/windows/portable_executable.dart | 1 | import 'dart:io'; | COMMENT |
| LOW | …_cli/lib/src/platform/windows/portable_executable.dart | 21 | /// Timestamps are DWORD (4-byte) values at: | COMMENT |
| LOW | …ages/shorebird_cli/lib/src/extensions/arg_results.dart | 21 | /// `--` without changing behavior. | COMMENT |
| LOW | …ages/shorebird_cli/lib/src/extensions/arg_results.dart | 121 | String? get encodedPublicKey { | COMMENT |
| LOW | …i/lib/src/archive_analysis/android_archive_differ.dart | 21 | final Map<String, DexDiffResult> dexDiffResults; | COMMENT |
| LOW | …cli/lib/src/archive_analysis/apple_archive_differ.dart | 21 | /// | COMMENT |
| LOW | …i/lib/src/archive_analysis/windows_archive_differ.dart | 21 | } | COMMENT |
| LOW | …_cli/lib/src/artifact_builder/build_trace_session.dart | 21 | /// supported on the pinned Flutter or hasn't been set up yet. | COMMENT |
| LOW | …_cli/lib/src/artifact_builder/build_trace_summary.dart | 1 | // This file is the consumer end of a string-level contract shared with | COMMENT |
| LOW | …_cli/lib/src/artifact_builder/build_trace_summary.dart | 381 | /// hashing, archive assembly, aot_tools link/gen_snapshot bookkeeping | COMMENT |
| LOW | …_cli/lib/src/artifact_builder/build_trace_summary.dart | 701 | COMMENT | |
| LOW | …ird_cli/lib/src/artifact_builder/artifact_builder.dart | 121 | final _traceSupport = <String, bool>{}; | COMMENT |
| LOW | …ird_cli/lib/src/artifact_builder/artifact_builder.dart | 681 | /// | COMMENT |
| LOW | …rd_cli/lib/src/artifact_builder/build_environment.dart | 1 | import 'dart:io'; | COMMENT |
| LOW | …rd_cli/lib/src/artifact_builder/build_environment.dart | 141 | /// | COMMENT |
| 44 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | third_party/flutter/bin/internal/shared.sh | 117 | # This function is always run in a subshell. Running the function in a subshell | COMMENT |
| MEDIUM | third_party/flutter/bin/internal/shared.sh | 186 | # This function is intended to be executed by entrypoints (e.g. `//bin/shorebird`). | COMMENT |
| MEDIUM | scripts/patch_e2e.sh | 23 | # Create a new empty flutter project | COMMENT |
| MEDIUM | scripts/patch_e2e.sh | 50 | # Create a new release on Android | COMMENT |
| MEDIUM | scripts/patch_e2e.sh | 68 | # Create a patch | COMMENT |
| MEDIUM | …kages/shorebird_cli/lib/src/commands/init_command.dart | 374 | # This file is used to configure the Shorebird updater used by your app. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …d_code_push_client/test/src/code_push_client_test.dart | 1683 | const userName = 'Jane Doe'; | CODE |
| LOW | …rebird_cli/test/src/code_push_client_wrapper_test.dart | 309 | email: 'user@example.com', | CODE |
| LOW | …d_cli/test/src/commands/account/orgs_command_test.dart | 24 | name: 'Acme Corp', | CODE |
| LOW | …d_cli/test/src/commands/account/orgs_command_test.dart | 34 | name: 'user@example.com', | CODE |
| LOW | …d_cli/test/src/commands/account/orgs_command_test.dart | 119 | expect(lines[0], allOf(contains('Acme Corp'), contains('admin'))); | CODE |
| LOW | …d_cli/test/src/commands/account/orgs_command_test.dart | 122 | allOf(contains('user@example.com'), contains('owner')), | CODE |
| LOW | …d_cli/test/src/commands/account/orgs_command_test.dart | 206 | expect(firstOrg['name'], 'Acme Corp'); | CODE |
| LOW | …cli/test/src/commands/account/whoami_command_test.dart | 23 | email: 'user@example.com', | CODE |
| LOW | …cli/test/src/commands/account/whoami_command_test.dart | 108 | () => logger.info(any(that: contains('user@example.com'))), | CODE |
| LOW | …cli/test/src/commands/account/whoami_command_test.dart | 237 | expect(userData['email'], 'user@example.com'); | CODE |
| LOW | …s/stripe_api/test/src/models/stripe_customer_test.dart | 12 | expect(customer.name, 'Jane Doe'); | CODE |
| LOW | …s/stripe_api/test/src/models/stripe_customer_test.dart | 29 | expect(customer.name, 'Jane Doe'); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …d_cli/test/src/commands/release/ios_releaser_test.dart | 1166 | 3. Run ${lightCyan.wrap('xcrun altool --upload-app --type ios -f ${p.relative('build/ios/ipa/*.ipa')} --apiKey your_ | CODE |
| HIGH | …orebird_cli/lib/src/commands/release/ios_releaser.dart | 205 | 3. Run ${lightCyan.wrap('xcrun altool --upload-app --type ios -f $ipaSearchString --apiKey your_api_key --apiIssuer | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ckages/shorebird_cli/lib/src/platform/apple/macho.dart | 30 | // probably write a more robust MachO header parser, but this is all we need | COMMENT |
| MEDIUM | …rd_cli/lib/src/artifact_builder/build_environment.dart | 137 | /// Presence-check (rather than value-compare) to stay robust against | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …es/shorebird_cli/lib/src/logging/shorebird_logger.dart | 150 | /// for agentic consumers that need predictable line-oriented output. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …es/shorebird_ci/lib/src/commands/generate_command.dart | 244 | // ── Static (dorny/paths-filter + reusable workflows) ───────────── | STRING |
| MEDIUM | …es/shorebird_ci/lib/src/commands/generate_command.dart | 601 | // ── Dynamic (affected_packages + matrix) ───────────────────────── | STRING |