AI Slop Code RIsk Monitor

appwrite/appwrite

The open-source cloud for agents & devs. Including Auth, Databases, Storage, Functions, Messaging, Hosting, Realtime, WAF and more

7.3 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for appwrite/appwrite, a TypeScript project with 57,623 GitHub stars. SynthScan examined 1,904,828 lines of code across 9182 source files, recording 13881 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 7.3 (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.

7.3
Adjusted Signal
7.3
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
57.6K
Stars
TypeScript
Language
1.9M
Lines of Code
9.2K
Files
13.9K
Pattern Hits
2026-10-12
Scan Date
0.01
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 27.9/100 · MEDIUM

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

Hallucinated Dependency & Supply Chain Risk 2.8/100 · LOW

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

Agent Over-Engineering Ratio 26.6/100 · MEDIUM

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

PR Review Velocity Impact 31.8/100 · MEDIUM

Which changes need focused human review? 13881 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 83MEDIUM 140LOW 13658

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 13881 distinct pattern matches across 13 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.

Hyper-Verbose Identifiers12424 hits · 11450 pts
SeverityFileLineSnippetContext
LOWtests/unit/AvatarPhotos/Providers/FallbackTest.php64 public function testGetDrawsOnNeutralSurface(): voidCODE
LOWtests/unit/AvatarPhotos/Providers/InitialsTest.php51 public function testGetDeclinesUnprintableName(): voidCODE
LOWtests/unit/AvatarPhotos/Providers/InitialsTest.php76 public function testGetRendersMultibyteNames(string $name, bool $renders): voidCODE
LOWtests/unit/AvatarPhotos/Providers/InitialsTest.php91 public function testGetUppercasesInitials(): voidCODE
LOWtests/unit/AvatarPhotos/Providers/InitialsTest.php118 public function testGetDerivesInitialsFromWords(string $name, string $equivalent): voidCODE
LOWtests/unit/AvatarPhotos/Providers/InitialsTest.php136 public function testGetDrawsOnNeutralSurface(): voidCODE
LOWtests/unit/AvatarPhotos/Providers/InitialsTest.php149 public function testGetHonoursBackgroundOverride(): voidCODE
LOWtests/unit/Advisor/Validator/CTAsTest.php43 public function testAcceptsEntryWithoutParams(): voidCODE
LOWtests/unit/Advisor/Validator/CTAsTest.php54 public function testRejectsEntryMissingRequiredKeys(): voidCODE
LOWtests/unit/Advisor/Validator/CTAsTest.php63 public function testRejectsEntryWithEmptyStrings(): voidCODE
LOWtests/unit/Advisor/Validator/CTAsTest.php74 public function testRejectsEntryWithNonStringFields(): voidCODE
LOWtests/unit/Advisor/Validator/CTAsTest.php85 public function testRejectsEntryWithScalarParams(): voidCODE
LOWtests/unit/Advisor/Validator/CTAsTest.php105 public function testRejectsMoreThanMaxCount(): voidCODE
LOWtests/unit/Advisor/Validator/CTAsTest.php122 public function testAcceptsExactlyMaxCount(): voidCODE
LOWtests/unit/Advisor/Validator/CTAsTest.php152 public function testRejectsEntryWithEmptyService(): voidCODE
LOWtests/unit/Advisor/Validator/CTAsTest.php163 public function testRejectsEntryWithEmptyMethod(): voidCODE
LOWtests/unit/Advisor/Validator/CTAsTest.php174 public function testRejectsUnknownService(): voidCODE
LOWtests/unit/Advisor/Validator/CTAsTest.php198 public function testAcceptsCustomAllowedLists(): voidCODE
LOWtests/unit/Advisor/Validator/CTAsTest.php218 public function testDefaultMaxCountIsSixteen(): voidCODE
LOWtests/unit/Schedule/Source/DatabaseTest.php14 public function testRemovesMissingProjectScheduleOnce(): voidCODE
LOWtests/unit/Schedule/Source/DatabaseTest.php39 public function testRetriesFailedProjectRead(): voidCODE
LOWtests/unit/Schedule/Source/DatabaseTest.php61 public function testRetriesFailedDeletion(): voidCODE
LOWtests/unit/Schedule/Source/DatabaseTest.php84 public function testDoesNotCacheMissingProject(): voidCODE
LOWtests/unit/Schedule/Source/FunctionsTest.php14 public function testIntervalRunsOncePerPeriodAtStablePhase(): voidCODE
LOWtests/unit/Schedule/Source/FunctionsTest.php29 public function testSkipsUnsupportedInterval(): voidCODE
LOWtests/unit/Docker/EnvTest.php45 public function testMultilineDoubleQuotedPrivateKey(): voidCODE
LOWtests/unit/Docker/EnvTest.php56 public function testEscapedNewlineInDoubleQuotedValue(): voidCODE
LOWtests/unit/Docker/EnvTest.php68 public function testRoundTripPreservesMultilineSecret(): voidCODE
LOW⚡tests/unit/Docker/EnvTest.php84 public function testEncodeValueEscapesSpecialCharacters(): voidCODE
LOW⚡tests/unit/Docker/EnvTest.php92 public function testUnknownEscapesPreserveBackslash(): voidCODE
LOW⚡tests/unit/Docker/EnvTest.php102 public function testIndentedCommentDoesNotCaptureNextAssignment(): voidCODE
LOWtests/unit/Docker/EnvTest.php114 public function testLineWithoutAssignmentIsSkipped(): voidCODE
LOWtests/unit/Docker/EnvTest.php124 public function testUnterminatedQuoteDoesNotAbsorbLaterAssignments(): voidCODE
LOWtests/unit/Docker/EnvTest.php135 public function testUnterminatedQuoteDoesNotAbsorbLaterQuotedAssignment(): voidCODE
LOWtests/unit/Docker/Compose/GeneratorTest.php23 public function testSelectsDatabaseService(): voidCODE
LOWtests/unit/Docker/Compose/GeneratorTest.php49 public function testKeepsProductionWorkers(): voidCODE
LOWtests/unit/Docker/Compose/GeneratorTest.php62 public function testSelectsSeparateTopology(): voidCODE
LOWtests/unit/Docker/Compose/GeneratorTest.php94 public function testAddsLocalHostPathMount(): voidCODE
LOWtests/unit/Docker/Compose/GeneratorTest.php104 public function testRewritesLocalRelativeBindMountsToHostPath(): voidCODE
LOWtests/unit/Docker/Compose/GeneratorTest.php118 public function testLeavesNoRelativeBindMountOnPublishedVersions(): voidCODE
LOWtests/unit/Docker/Compose/GeneratorTest.php136 public function testDoesNotAddDatabaseDependencyWithoutPlaceholder(): voidCODE
LOWtests/unit/Docker/Compose/GeneratorTest.php147 public function testKeepsLongCommandsReadable(): voidCODE
LOWtests/unit/Utopia/ResponseTest.php94 public function testResponseModelRequired(): voidCODE
LOWtests/unit/Utopia/ResponseTest.php109 public function testResponseModelRequiredException(): voidCODE
LOWtests/unit/Utopia/ResponseTest.php267 public function testShowSensitiveRestoresPreviousState(): voidCODE
LOWtests/unit/Utopia/RequestTest.php28 public function testGetIPIgnoresClientForwardedForWhenProxiesEmpty(): voidCODE
LOWtests/unit/Utopia/RequestTest.php46 public function testGetIPHonorsForwardedForFromTrustedProxy(string $forwardedFor, string $expected): voidCODE
LOWtests/unit/Utopia/RequestTest.php113 public function testGetParamsWithMultipleMethods(): voidCODE
LOWtests/unit/Utopia/RequestTest.php129 public function testGetParamsWithAllRequired(): voidCODE
LOWtests/unit/Utopia/RequestTest.php147 public function testGetParamsWithAllOptional(): voidCODE
LOWtests/unit/Utopia/RequestTest.php164 public function testGetParamsMatchesMethodB(): voidCODE
LOWtests/unit/Utopia/RequestTest.php180 public function testGetParamsFallbackForMixedAndUnknown(): voidCODE
LOWtests/unit/Utopia/RequestTest.php201 public function testRouteIsScopedToRequestInstance(): voidCODE
LOW⚡tests/unit/Utopia/RequestTest.php216 public function testGetHeaderLineReturnsStringValue(): voidCODE
LOW⚡tests/unit/Utopia/RequestTest.php223 public function testGetHeaderLineReturnsDefaultWhenMissing(): voidCODE
LOW⚡tests/unit/Utopia/RequestTest.php229 public function testGetHeaderLineJoinsMultipleValues(): voidCODE
LOW⚡tests/unit/Utopia/RequestTest.php238 public function testGetHeadersSynthesizesCookieHeaderFromCookieJar(): voidCODE
LOWtests/unit/Utopia/RequestTest.php253 public function testGetHeadersOmitsCookieHeaderWhenNoCookies(): voidCODE
LOWtests/unit/Utopia/RequestTest.php298 public function testGetParamsDoesNotCacheRawParamsForServerError(): voidCODE
LOWtests/unit/Utopia/RequestTest.php324 public function testGetParamsDoesNotCacheRawParamsForUncodedException(): voidCODE
12364 more matches not shown…
Structural Annotation Overuse346 hits · 630 pts
SeverityFileLineSnippetContext
LOW⚡app/controllers/shared/api.php125 // Step 1: Check if project is emptyCOMMENT
LOW⚡app/controllers/shared/api.php130 // Step 2: Get roles configurationCOMMENT
LOW⚡app/controllers/shared/api.php133 // Step 3: Determine role for userCOMMENT
LOW⚡app/controllers/shared/api.php140 // Step 4: Get scopes for the roleCOMMENT
LOW⚡app/controllers/shared/api.php143 // Step 5: API Key AuthenticationCOMMENT
LOW⚡app/controllers/shared/api.php530 // Step 9: Validate scope permissionsCOMMENT
LOW⚡app/controllers/shared/api.php536 // Step 10: Check if user is blockedCOMMENT
LOW⚡app/controllers/shared/api.php541 // Step 11: Verify password statusCOMMENT
LOW⚡app/controllers/shared/api.php546 // Step 12: Validate MFA requirementsCOMMENT
LOW⚡app/controllers/shared/api.php556 // Step 13: Handle Multi-Factor AuthenticationCOMMENT
LOWapp/controllers/shared/api.php406 // Step 6: Update project and user last activityCOMMENT
LOW⚡tests/unit/Messaging/MessagingTest.php594 // Step 1: guest subscribes. convertChannels preserves the literal form.COMMENT
LOW⚡tests/unit/Messaging/MessagingTest.php599 // Step 2: fromPayload publishes account.create alongside the user-scoped form.COMMENT
LOWtests/unit/Messaging/MessagingTest.php547 // Step 2: A → B.COMMENT
LOWtests/unit/Messaging/MessagingTest.php558 // Step 3: permissions-change for B (userId stays 'B').COMMENT
LOWtests/unit/Messaging/MessagingTest.php569 // Step 4: B → C.COMMENT
LOWtests/unit/Messaging/MessagingTest.php618 // Step 3: in-band auth promotes the guest to user 'B'.COMMENT
LOWtests/benchmarks/bulk-operations/utils.js69 // Step 1: Create AccountCOMMENT
LOWtests/benchmarks/bulk-operations/utils.js85 // Step 2: Create SessionCOMMENT
LOWtests/benchmarks/bulk-operations/utils.js110 // Step 3: Create TeamCOMMENT
LOWtests/benchmarks/bulk-operations/utils.js122 // Step 4: Create ProjectCOMMENT
LOWtests/benchmarks/bulk-operations/utils.js135 // Step 5: Create API KeyCOMMENT
LOWtests/e2e/Services/Organization/KeysIntegrationTest.php37 // Step 1: Create an ephemeral key scoped to users.read only.COMMENT
LOWtests/e2e/Services/Organization/KeysIntegrationTest.php58 // Step 2: Create a project user using console headers.COMMENT
LOW⚡tests/e2e/Services/Organization/KeysIntegrationTest.php73 // Step 3: Ephemeral key can list users.COMMENT
LOW⚡tests/e2e/Services/Organization/KeysIntegrationTest.php82 // Step 4: Ephemeral key can get the specific user.COMMENT
LOW⚡tests/e2e/Services/Organization/KeysIntegrationTest.php91 // Step 5: Ephemeral key cannot create users (missing users.write scope).COMMENT
LOW…e/Services/Databases/Transactions/TransactionsBase.php3511 // Step 1: Create new documents with age > 25 in transactionCOMMENT
LOW…e/Services/Databases/Transactions/TransactionsBase.php3544 // Step 2: Bulk update all documents with age > 25 to have status 'active'COMMENT
LOW…e/Services/Databases/Transactions/TransactionsBase.php3694 // Step 1: Update some documents to have category 'special' in transactionCOMMENT
LOW…e/Services/Databases/Transactions/TransactionsBase.php3721 // Step 2: Bulk update all documents with category 'special' to have priority 'high'COMMENT
LOW…e/Services/Databases/Transactions/TransactionsBase.php3860 // Step 1: Create temporary documents in transactionCOMMENT
LOW…e/Services/Databases/Transactions/TransactionsBase.php3891 // Step 2: Bulk delete all documents with type 'temporary'COMMENT
LOW…e/Services/Databases/Transactions/TransactionsBase.php4024 // Step 1: Mark some documents for deletion by updating their statusCOMMENT
LOW…e/Services/Databases/Transactions/TransactionsBase.php4051 // Step 2: Bulk delete all documents with status 'marked_for_deletion'COMMENT
LOW…Services/Project/PoliciesMFAFactorsIntegrationTest.php71 // Step 1: Enable the custom factor and disable emailCOMMENT
LOW⚡…Services/Project/PoliciesMFAFactorsIntegrationTest.php85 // Step 2: A user with a verified email sees the policy reflected in factorsCOMMENT
LOW⚡…Services/Project/PoliciesMFAFactorsIntegrationTest.php93 // Step 3: Challenges for a disabled factor are rejectedCOMMENT
LOW⚡…Services/Project/PoliciesMFAFactorsIntegrationTest.php100 // Step 4: The custom factor completes the full challenge flowCOMMENT
LOW…Services/Project/PoliciesMFAFactorsIntegrationTest.php119 // Step 5: Leave a custom challenge pending, then restore email and disable custom againCOMMENT
LOW⚡…ces/Project/PoliciesSessionDurationIntegrationTest.php44 // Step 1: Set session duration to 60 seconds (the policy minimum)COMMENT
LOW⚡…ces/Project/PoliciesSessionDurationIntegrationTest.php47 // Step 2: Create user and a sessionCOMMENT
LOW⚡…ces/Project/PoliciesSessionDurationIntegrationTest.php76 // Step 3: Poll until the 60s TTL elapses - session should expireCOMMENT
LOW⚡…ces/Project/PoliciesSessionDurationIntegrationTest.php82 // Step 4: Raise duration to 120s - same session should still not be usableCOMMENT
LOW⚡…ces/Project/PoliciesSessionDurationIntegrationTest.php88 // Step 5: Set duration to 1 yearCOMMENT
LOW⚡…ces/Project/PoliciesSessionDurationIntegrationTest.php91 // Step 6: Same session should still not be usableCOMMENT
LOW⚡…roject/PoliciesPasswordPersonalDataIntegrationTest.php87 // Step 1: Enable password personal data policyCOMMENT
LOW⚡…roject/PoliciesPasswordPersonalDataIntegrationTest.php90 // Step 2: Each of the four personal-data fields in the password must block user creationCOMMENT
LOW⚡…roject/PoliciesPasswordPersonalDataIntegrationTest.php97 // Step 3: Disable password personal data policyCOMMENT
LOW⚡…roject/PoliciesPasswordPersonalDataIntegrationTest.php100 // Step 4: The same categories of passwords should now be accepted (fresh data to avoid uniqueness conflicts)COMMENT
LOW…/Services/Project/MockPhonesSessionIntegrationTest.php35 // Step 1: Configure two mock phones with distinct OTPs.COMMENT
LOW⚡tests/e2e/Services/Project/SMTPBase.php369 // Step 1: Set a custom replyToEmail.COMMENT
LOW⚡tests/e2e/Services/Project/SMTPBase.php380 // Step 2: Clear it with an empty string.COMMENT
LOW⚡tests/e2e/Services/Project/SMTPBase.php385 // Step 3: Verify the cleared value persists.COMMENT
LOW⚡tests/e2e/Services/Project/SMTPBase.php396 // Step 1: Configure SMTP with a sender email, then disable it.COMMENT
LOW⚡tests/e2e/Services/Project/SMTPBase.php405 // Step 2: Clear senderEmail while keeping SMTP disabled.COMMENT
LOW⚡tests/e2e/Services/Project/SMTPBase.php414 // Step 3: Verify the cleared value persists.COMMENT
LOW⚡tests/e2e/Services/Project/SMTPBase.php615 // Step 1: Set username and password.COMMENT
LOW⚡tests/e2e/Services/Project/SMTPBase.php627 // Step 2: Clear both credentials by passing empty strings.COMMENT
LOW⚡tests/e2e/Services/Project/SMTPBase.php637 // Step 3: Verify the cleared username persists (a no-params PATCH must not restore it).COMMENT
286 more matches not shown…
Fake / Example Data680 hits · 604 pts
SeverityFileLineSnippetContext
LOW⚡app/config/templates/function.php216 'placeholder' => 'neo4j+s://4tg4mddo.databases.neo4j.io',CODE
LOW⚡app/config/templates/function.php224 'placeholder' => 'neo4j',CODE
LOW⚡app/config/templates/function.php232 'placeholder' => 'mCUc4PbVUQN-_NkTLJLisb6ccnwzQKKhrkF77YMctzx',CODE
LOW⚡app/config/templates/function.php309 'placeholder' => 'ep-still-sea-a792sh84.eu-central-1.aws.neon.tech',CODE
LOW⚡app/config/templates/function.php317 'placeholder' => 'main',CODE
LOW⚡app/config/templates/function.php325 'placeholder' => 'main_owner',CODE
LOW⚡app/config/templates/function.php333 'placeholder' => 'iQCfaUaaWB3B',CODE
LOW⚡app/config/templates/function.php341 'placeholder' => 'ep-still-sea-a792sh84',CODE
LOW⚡app/config/templates/function.php399 'placeholder' => 'sk-wzG...vcy',CODE
LOW⚡app/config/templates/function.php407 'placeholder' => '512',CODE
LOW⚡app/config/templates/function.php444 'placeholder' => 'appwrite-hosted-mcp',CODE
LOW⚡app/config/templates/function.php452 'placeholder' => 'none',CODE
LOW⚡app/config/templates/function.php460 'placeholder' => 'your-long-random-secret',CODE
LOW⚡app/config/templates/function.php468 'placeholder' => 'openid tasks.read',CODE
LOW⚡app/config/templates/function.php476 'placeholder' => '25',CODE
LOW⚡app/config/templates/function.php527 'placeholder' => 'db9...980',CODE
LOW⚡app/config/templates/function.php535 'placeholder' => '427...169',CODE
LOW⚡app/config/templates/function.php543 'placeholder' => 'NDI...LUfg',CODE
LOW⚡app/config/templates/function.php737 'placeholder' => 'urlShortener',CODE
LOW⚡app/config/templates/function.php745 'placeholder' => 'urls',CODE
LOW⚡app/config/templates/function.php753 'placeholder' => 'https://shortdomain.io',CODE
LOW⚡app/config/templates/function.php803 'placeholder' => '64a55...7b912',CODE
LOW⚡app/config/templates/function.php810 'placeholder' => '7c3e8...2a9f1',CODE
LOW⚡app/config/templates/function.php817 'placeholder' => 'OFCNCOG2CU',CODE
LOW⚡app/config/templates/function.php824 'placeholder' => 'fd0aa...136a8',CODE
LOW⚡app/config/templates/function.php831 'placeholder' => 'my_index',CODE
LOW⚡app/config/templates/function.php838 'placeholder' => 'bf2f5...df733',CODE
LOW⚡app/config/templates/function.php902 'placeholder' => '64a55...7b912',CODE
LOW⚡app/config/templates/function.php909 'placeholder' => '7c3e8...2a9f1',CODE
LOW⚡app/config/templates/function.php916 'placeholder' => 'http://127.0.0.1:7700',CODE
LOW⚡app/config/templates/function.php923 'placeholder' => 'masterKey1234',CODE
LOW⚡app/config/templates/function.php930 'placeholder' => 'searchKey1234',CODE
LOW⚡app/config/templates/function.php937 'placeholder' => 'appwrite_index',CODE
LOW⚡app/config/templates/function.php1009 'placeholder' => '62...97',CODE
LOW⚡app/config/templates/function.php1016 'placeholder' => 'Zjc...5PH',CODE
LOW⚡app/config/templates/function.php1023 'placeholder' => 'NXOi3...IBHDa',CODE
LOW⚡app/config/templates/function.php1030 'placeholder' => '+14000000102',CODE
LOW⚡app/config/templates/function.php1067 'placeholder' => 'mywebapp-f6e57',CODE
LOW⚡app/config/templates/function.php1074 'placeholder' => 'fcm-adminsdk-2f0de@test-f7q57.iam.gserviceaccount.com',CODE
LOW⚡app/config/templates/function.php1081 'placeholder' => '0b683...75675',CODE
LOW⚡app/config/templates/function.php1088 'placeholder' => 'https://my-app-f298e.firebaseio.com',CODE
LOW⚡app/config/templates/function.php1139 'placeholder' => 'smtp.mailgun.org',CODE
LOW⚡app/config/templates/function.php1146 'placeholder' => '25',CODE
LOW⚡app/config/templates/function.php1153 'placeholder' => 'no-reply@mywebapp.org',CODE
LOW⚡app/config/templates/function.php1160 'placeholder' => '5up3r5tr0ngP4ssw0rd',CODE
LOW⚡app/config/templates/function.php1167 'placeholder' => 'me@mywebapp.org',CODE
LOW⚡app/config/templates/function.php1175 'placeholder' => 'https://mywebapp.org,https://mywebapp.com',CODE
LOW⚡app/config/templates/function.php1254 'placeholder' => 'sk_test_51J...',CODE
LOW⚡app/config/templates/function.php1261 'placeholder' => 'whsec_...',CODE
LOW⚡app/config/templates/function.php1269 'placeholder' => 'orders',CODE
LOW⚡app/config/templates/function.php1277 'placeholder' => 'orders',CODE
LOW⚡app/config/templates/function.php1386 'placeholder' => 'ai',CODE
LOW⚡app/config/templates/function.php1394 'placeholder' => 'image_classification',CODE
LOW⚡app/config/templates/function.php1402 'placeholder' => 'image_classification',CODE
LOW⚡app/config/templates/function.php1409 'placeholder' => 'hf_MUvn...',CODE
LOW⚡app/config/templates/function.php1446 'placeholder' => 'ai',CODE
LOW⚡app/config/templates/function.php1454 'placeholder' => 'object_detection',CODE
LOW⚡app/config/templates/function.php1462 'placeholder' => 'object_detection',CODE
LOW⚡app/config/templates/function.php1469 'placeholder' => 'hf_MUvn...',CODE
LOW⚡app/config/templates/function.php1506 'placeholder' => 'ai',CODE
620 more matches not shown…
Magic Placeholder Names76 hits · 460 pts
SeverityFileLineSnippetContext
HIGH⚡app/config/templates/function.php397 'description' => 'A unique key used to authenticate with the OpenAI API. This is a paid service and you CODE
HIGH⚡app/config/templates/function.php1788 'description' => 'A unique key used to authenticate with the OpenAI API. This is a paid service and you CODE
HIGH⚡app/config/templates/function.php1853 'description' => 'A unique key used to authenticate with the OpenAI API. This is a paid service and you CODE
HIGH.semgrep/default-secret-placeholder.php15$token = 'your-api-key';CODE
HIGH.semgrep/README.md101| Placeholder secret literal (`your-secret-key`, `your-api-key`, `changeme`, `insecure-secret`, …) outside Doctor, or anCODE
HIGH.semgrep/default-secret-placeholder.yml4 Placeholder secret literals (your-secret-key, your-api-key, changeme,CODE
HIGHdocs/sdks/dart/EXAMPLES.md11 .setKey('<YOUR_API_KEY>');CODE
HIGHdocs/sdks/dart/EXAMPLES.md11 .setKey('<YOUR_API_KEY>');CODE
HIGHdocs/sdks/dart/GETTING_STARTED.md9 .setKey('<YOUR_API_KEY>');CODE
HIGHdocs/sdks/dart/GETTING_STARTED.md9 .setKey('<YOUR_API_KEY>');CODE
HIGHpackages/agents/README.md49$adapter = new OpenAI('your-api-key', OpenAI::MODEL_GPT_4_TURBO);CODE
HIGHpackages/agents/README.md70 apiKey: 'your-api-key',CODE
HIGHpackages/agents/README.md92 apiKey: 'your-api-key',CODE
HIGHpackages/agents/README.md114 apiKey: 'your-api-key',CODE
HIGHpackages/agents/README.md131 apiKey: 'your-api-key',CODE
HIGHpackages/agents/README.md151 apiKey: 'your-api-key',CODE
HIGHpackages/agents/README.md170 apiKey: 'your-api-key',CODE
HIGHpackages/agents/README.md207$adapter = new OpenAI('your-api-key', client: $client);CODE
HIGHpackages/agents/README.md259$agent = new Agent(new OpenAI('your-api-key', OpenAI::MODEL_GPT_4O));CODE
HIGHpackages/agents/README.md285$agent = new Agent(new OpenAI('your-api-key', OpenAI::MODEL_GPT_4O));CODE
HIGHpackages/abuse/README.md85 ->setKey('[YOUR_API_KEY]');CODE
HIGH⚡packages/messaging/README.md38$messaging = new Sendgrid('YOUR_API_KEY');CODE
HIGH⚡packages/messaging/README.md41$messaging = new Mailgun('YOUR_API_KEY', 'YOUR_DOMAIN');CODE
HIGH⚡packages/messaging/README.md44$messaging = new Resend('YOUR_API_KEY');CODE
HIGHapps/console/src/content/docs-partials/auth-security.md278 .setKey('<YOUR_API_KEY>');CODE
HIGHapps/console/src/content/docs-partials/auth-security.md278 .setKey('<YOUR_API_KEY>');CODE
HIGHapps/console/src/content/docs-partials/auth-security.md295client.set_key('<YOUR_API_KEY>')CODE
HIGHapps/console/src/content/docs-partials/auth-security.md295client.set_key('<YOUR_API_KEY>')CODE
HIGHapps/console/src/content/docs-partials/auth-security.md314 ->setKey('<YOUR_API_KEY>');CODE
HIGHapps/console/src/content/docs-partials/auth-security.md314 ->setKey('<YOUR_API_KEY>');CODE
HIGHapps/console/src/content/docs-partials/auth-security.md329 .setKey('<YOUR_API_KEY>');CODE
HIGHapps/console/src/content/docs-partials/auth-security.md329 .setKey('<YOUR_API_KEY>');CODE
HIGH⚡…s/console/src/content/docs/quick-starts/deno/prompt.md55 .setKey('<YOUR_API_KEY>');CODE
HIGH⚡…s/console/src/content/docs/quick-starts/deno/prompt.md55 .setKey('<YOUR_API_KEY>');CODE
HIGH⚡…console/src/content/docs/quick-starts/python/prompt.md66client.set_key('<YOUR_API_KEY>')CODE
HIGH⚡…console/src/content/docs/quick-starts/python/prompt.md66client.set_key('<YOUR_API_KEY>')CODE
HIGH⚡…s/console/src/content/docs/quick-starts/dart/prompt.md32- Replace `<REGION>`, `<PROJECT_ID>`, and `<YOUR_API_KEY>` with the user's values if provided, else leave placeholders aCODE
HIGH⚡…s/console/src/content/docs/quick-starts/dart/prompt.md32- Replace `<REGION>`, `<PROJECT_ID>`, and `<YOUR_API_KEY>` with the user's values if provided, else leave placeholders aCODE
HIGH⚡…s/console/src/content/docs/quick-starts/dart/prompt.md44 .setKey("<YOUR_API_KEY>");CODE
HIGH⚡…s/console/src/content/docs/quick-starts/dart/prompt.md44 .setKey("<YOUR_API_KEY>");CODE
HIGH⚡…s/console/src/content/docs/quick-starts/dart/prompt.md168 .setKey("<YOUR_API_KEY>");CODE
HIGH⚡…s/console/src/content/docs/quick-starts/dart/prompt.md168 .setKey("<YOUR_API_KEY>");CODE
HIGH⚡…s/console/src/content/docs/quick-starts/rust/prompt.md61 .set_key("<YOUR_API_KEY>");CODE
HIGH⚡…s/console/src/content/docs/quick-starts/rust/prompt.md61 .set_key("<YOUR_API_KEY>");CODE
HIGH⚡…s/console/src/content/docs/quick-starts/rust/prompt.md247 .set_key("<YOUR_API_KEY>");CODE
HIGH⚡…s/console/src/content/docs/quick-starts/rust/prompt.md247 .set_key("<YOUR_API_KEY>");CODE
HIGH⚡…console/src/content/docs/quick-starts/kotlin/prompt.md65 .setKey("<YOUR_API_KEY>");CODE
HIGH⚡…console/src/content/docs/quick-starts/kotlin/prompt.md65 .setKey("<YOUR_API_KEY>");CODE
HIGH⚡…ps/console/src/content/docs/quick-starts/php/prompt.md56 ->setKey('<YOUR_API_KEY>');CODE
HIGH⚡…ps/console/src/content/docs/quick-starts/php/prompt.md56 ->setKey('<YOUR_API_KEY>');CODE
HIGH⚡…console/src/content/docs/quick-starts/dotnet/prompt.md49 .SetKey("<YOUR_API_KEY>");CODE
HIGH⚡…console/src/content/docs/quick-starts/dotnet/prompt.md49 .SetKey("<YOUR_API_KEY>");CODE
HIGH⚡…/console/src/content/docs/quick-starts/swift/prompt.md51 .setKey("<YOUR_API_KEY>")CODE
HIGH⚡…/console/src/content/docs/quick-starts/swift/prompt.md51 .setKey("<YOUR_API_KEY>")CODE
HIGH⚡…s/console/src/content/docs/quick-starts/node/prompt.md53 .setKey('<YOUR_API_KEY>');CODE
HIGH⚡…s/console/src/content/docs/quick-starts/node/prompt.md53 .setKey('<YOUR_API_KEY>');CODE
HIGH⚡…s/console/src/content/docs/quick-starts/ruby/prompt.md47 .set_key('<YOUR_API_KEY>') # Your secret API keyCODE
HIGH⚡…s/console/src/content/docs/quick-starts/ruby/prompt.md47 .set_key('<YOUR_API_KEY>') # Your secret API keyCODE
HIGH…projects/$projectId/shared/TerraformConnectSection.tsx95export APPWRITE_API_KEY="your-api-key"`CODE
HIGH…projects/$projectId/shared/TerraformConnectSection.tsx147appwrite_api_key = "your-api-key"`CODE
16 more matches not shown…
Decorative Section Separators117 hits · 356 pts
SeverityFileLineSnippetContext
MEDIUM⚡packages/query/tests/Schema/TableTest.php19 // ── columns (public private(set)) ──────────────────────────COMMENT
MEDIUM⚡packages/query/tests/Schema/TableTest.php90 // ── indexes (public private(set)) ──────────────────────────COMMENT
MEDIUM⚡packages/query/tests/Schema/TableTest.php154 // ── foreignKeys (public private(set)) ──────────────────────COMMENT
MEDIUM⚡packages/query/tests/Schema/TableTest.php190 // ── dropColumns (public private(set)) ──────────────────────COMMENT
MEDIUM⚡packages/query/tests/Schema/TableTest.php218 // ── renameColumns (public private(set)) ────────────────────COMMENT
MEDIUM⚡packages/query/tests/Schema/TableTest.php237 // ── dropIndexes (public private(set)) ──────────────────────COMMENT
MEDIUM⚡packages/query/tests/Schema/TableTest.php254 // ── dropForeignKeys (public private(set)) ──────────────────COMMENT
MEDIUM⚡packages/query/tests/Schema/TableTest.php271 // ── rawColumnDefs (public private(set)) ────────────────────COMMENT
MEDIUM⚡packages/query/tests/Schema/TableTest.php288 // ── rawIndexDefs (public private(set)) ─────────────────────COMMENT
MEDIUM⚡packages/query/tests/Schema/TableTest.php305 // ── Combined / integration ─────────────────────────────────COMMENT
MEDIUM⚡packages/query/tests/API/HelperTest.php879 // ── Query::diff() edge cases (exercises array_any) ─────────COMMENT
MEDIUM⚡packages/query/tests/API/HelperTest.php931 // ── #[\Deprecated] on Query::containsString() ────────────────────COMMENT
MEDIUM⚡packages/query/tests/API/HelperTest.php931 // ── #[\Deprecated] on Query::containsString() ────────────────────COMMENT
MEDIUM⚡packages/query/tests/API/HelperTest.php953 // ══════════════════════════════════════════════════════════════COMMENT
MEDIUM⚡packages/query/tests/API/HelperTest.php955 // ══════════════════════════════════════════════════════════════COMMENT
MEDIUM⚡packages/query/tests/API/HelperTest.php957 // ── Query::page() with perPage < 1 (line 1152) ──────────────COMMENT
MEDIUM⚡packages/query/tests/Hook/Filter/TenantTest.php199 // ══════════════════════════════════════════════════════════════COMMENT
MEDIUM⚡packages/query/tests/Hook/Filter/TenantTest.php201 // ══════════════════════════════════════════════════════════════COMMENT
MEDIUM⚡packages/query/tests/Hook/Filter/TenantTest.php203 // ── Invalid column name (line 36) ────────────────────────────COMMENT
MEDIUM⚡packages/query/tests/Hook/Filter/TenantTest.php247 // ══════════════════════════════════════════════════════════════COMMENT
MEDIUM⚡packages/query/tests/Hook/Filter/TenantTest.php249 // ══════════════════════════════════════════════════════════════COMMENT
MEDIUM⚡packages/query/tests/Hook/Filter/TenantTest.php251 // ── Invalid column name (line 22) ────────────────────────────COMMENT
MEDIUM⚡packages/query/tests/Hook/Filter/TenantTest.php260 // ── Empty tenantIds (line 29) ────────────────────────────────COMMENT
MEDIUMpackages/query/tests/Hook/Filter/TenantTest.php216 // ── Invalid permissions table name (line 51) ─────────────────COMMENT
MEDIUMpackages/query/tests/Hook/Filter/TenantTest.php230 // ── subqueryFilter (lines 72-74) ─────────────────────────────COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml1# ---------------------------------------------------------------------------COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml16# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml18# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml38# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml40# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml53# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml55# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml74# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml76# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml102# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml104# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml149# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml151# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml175# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml177# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml223# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml225# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml245# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml247# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml268# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml270# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml289# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml291# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml318# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml320# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml352# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml354# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml378# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml381# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml400# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/.maestro/auth.yaml402# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/mobile/.maestro/auth.yaml1# ---------------------------------------------------------------------------COMMENT
MEDIUMapps/console/tests/connect-qa/mobile/.maestro/auth.yaml42# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/mobile/.maestro/auth.yaml44# ===========================================================================COMMENT
MEDIUMapps/console/tests/connect-qa/mobile/.maestro/auth.yaml59# ===========================================================================COMMENT
57 more matches not shown…
Verbosity Indicators158 hits · 290 pts
SeverityFileLineSnippetContext
LOW⚡app/controllers/shared/api.php125 // Step 1: Check if project is emptyCOMMENT
LOW⚡app/controllers/shared/api.php130 // Step 2: Get roles configurationCOMMENT
LOW⚡app/controllers/shared/api.php133 // Step 3: Determine role for userCOMMENT
LOW⚡app/controllers/shared/api.php140 // Step 4: Get scopes for the roleCOMMENT
LOW⚡app/controllers/shared/api.php143 // Step 5: API Key AuthenticationCOMMENT
LOW⚡app/controllers/shared/api.php530 // Step 9: Validate scope permissionsCOMMENT
LOW⚡app/controllers/shared/api.php536 // Step 10: Check if user is blockedCOMMENT
LOW⚡app/controllers/shared/api.php541 // Step 11: Verify password statusCOMMENT
LOW⚡app/controllers/shared/api.php546 // Step 12: Validate MFA requirementsCOMMENT
LOW⚡app/controllers/shared/api.php556 // Step 13: Handle Multi-Factor AuthenticationCOMMENT
LOWapp/controllers/shared/api.php406 // Step 6: Update project and user last activityCOMMENT
LOW⚡tests/unit/Messaging/MessagingTest.php594 // Step 1: guest subscribes. convertChannels preserves the literal form.COMMENT
LOW⚡tests/unit/Messaging/MessagingTest.php599 // Step 2: fromPayload publishes account.create alongside the user-scoped form.COMMENT
LOWtests/unit/Messaging/MessagingTest.php547 // Step 2: A → B.COMMENT
LOWtests/unit/Messaging/MessagingTest.php558 // Step 3: permissions-change for B (userId stays 'B').COMMENT
LOWtests/unit/Messaging/MessagingTest.php569 // Step 4: B → C.COMMENT
LOWtests/unit/Messaging/MessagingTest.php618 // Step 3: in-band auth promotes the guest to user 'B'.COMMENT
LOWtests/benchmarks/bulk-operations/utils.js69 // Step 1: Create AccountCOMMENT
LOWtests/benchmarks/bulk-operations/utils.js85 // Step 2: Create SessionCOMMENT
LOWtests/benchmarks/bulk-operations/utils.js110 // Step 3: Create TeamCOMMENT
LOWtests/benchmarks/bulk-operations/utils.js122 // Step 4: Create ProjectCOMMENT
LOWtests/benchmarks/bulk-operations/utils.js135 // Step 5: Create API KeyCOMMENT
LOWtests/e2e/Services/Organization/KeysIntegrationTest.php37 // Step 1: Create an ephemeral key scoped to users.read only.COMMENT
LOWtests/e2e/Services/Organization/KeysIntegrationTest.php58 // Step 2: Create a project user using console headers.COMMENT
LOW⚡tests/e2e/Services/Organization/KeysIntegrationTest.php73 // Step 3: Ephemeral key can list users.COMMENT
LOW⚡tests/e2e/Services/Organization/KeysIntegrationTest.php82 // Step 4: Ephemeral key can get the specific user.COMMENT
LOW⚡tests/e2e/Services/Organization/KeysIntegrationTest.php91 // Step 5: Ephemeral key cannot create users (missing users.write scope).COMMENT
LOW…e/Services/Databases/Transactions/TransactionsBase.php3511 // Step 1: Create new documents with age > 25 in transactionCOMMENT
LOW…e/Services/Databases/Transactions/TransactionsBase.php3544 // Step 2: Bulk update all documents with age > 25 to have status 'active'COMMENT
LOW…e/Services/Databases/Transactions/TransactionsBase.php3694 // Step 1: Update some documents to have category 'special' in transactionCOMMENT
LOW…e/Services/Databases/Transactions/TransactionsBase.php3721 // Step 2: Bulk update all documents with category 'special' to have priority 'high'COMMENT
LOW…e/Services/Databases/Transactions/TransactionsBase.php3860 // Step 1: Create temporary documents in transactionCOMMENT
LOW…e/Services/Databases/Transactions/TransactionsBase.php3891 // Step 2: Bulk delete all documents with type 'temporary'COMMENT
LOW…e/Services/Databases/Transactions/TransactionsBase.php4024 // Step 1: Mark some documents for deletion by updating their statusCOMMENT
LOW…e/Services/Databases/Transactions/TransactionsBase.php4051 // Step 2: Bulk delete all documents with status 'marked_for_deletion'COMMENT
LOW…Services/Project/PoliciesMFAFactorsIntegrationTest.php71 // Step 1: Enable the custom factor and disable emailCOMMENT
LOW⚡…Services/Project/PoliciesMFAFactorsIntegrationTest.php85 // Step 2: A user with a verified email sees the policy reflected in factorsCOMMENT
LOW⚡…Services/Project/PoliciesMFAFactorsIntegrationTest.php93 // Step 3: Challenges for a disabled factor are rejectedCOMMENT
LOW⚡…Services/Project/PoliciesMFAFactorsIntegrationTest.php100 // Step 4: The custom factor completes the full challenge flowCOMMENT
LOW…Services/Project/PoliciesMFAFactorsIntegrationTest.php119 // Step 5: Leave a custom challenge pending, then restore email and disable custom againCOMMENT
LOW⚡…ces/Project/PoliciesSessionDurationIntegrationTest.php44 // Step 1: Set session duration to 60 seconds (the policy minimum)COMMENT
LOW⚡…ces/Project/PoliciesSessionDurationIntegrationTest.php47 // Step 2: Create user and a sessionCOMMENT
LOW⚡…ces/Project/PoliciesSessionDurationIntegrationTest.php76 // Step 3: Poll until the 60s TTL elapses - session should expireCOMMENT
LOW⚡…ces/Project/PoliciesSessionDurationIntegrationTest.php82 // Step 4: Raise duration to 120s - same session should still not be usableCOMMENT
LOW⚡…ces/Project/PoliciesSessionDurationIntegrationTest.php88 // Step 5: Set duration to 1 yearCOMMENT
LOW⚡…ces/Project/PoliciesSessionDurationIntegrationTest.php91 // Step 6: Same session should still not be usableCOMMENT
LOW⚡…roject/PoliciesPasswordPersonalDataIntegrationTest.php87 // Step 1: Enable password personal data policyCOMMENT
LOW⚡…roject/PoliciesPasswordPersonalDataIntegrationTest.php90 // Step 2: Each of the four personal-data fields in the password must block user creationCOMMENT
LOW⚡…roject/PoliciesPasswordPersonalDataIntegrationTest.php97 // Step 3: Disable password personal data policyCOMMENT
LOW⚡…roject/PoliciesPasswordPersonalDataIntegrationTest.php100 // Step 4: The same categories of passwords should now be accepted (fresh data to avoid uniqueness conflicts)COMMENT
LOW…/Services/Project/MockPhonesSessionIntegrationTest.php35 // Step 1: Configure two mock phones with distinct OTPs.COMMENT
LOW⚡tests/e2e/Services/Project/SMTPBase.php369 // Step 1: Set a custom replyToEmail.COMMENT
LOW⚡tests/e2e/Services/Project/SMTPBase.php380 // Step 2: Clear it with an empty string.COMMENT
LOW⚡tests/e2e/Services/Project/SMTPBase.php385 // Step 3: Verify the cleared value persists.COMMENT
LOW⚡tests/e2e/Services/Project/SMTPBase.php396 // Step 1: Configure SMTP with a sender email, then disable it.COMMENT
LOW⚡tests/e2e/Services/Project/SMTPBase.php405 // Step 2: Clear senderEmail while keeping SMTP disabled.COMMENT
LOW⚡tests/e2e/Services/Project/SMTPBase.php414 // Step 3: Verify the cleared value persists.COMMENT
LOW⚡tests/e2e/Services/Project/SMTPBase.php615 // Step 1: Set username and password.COMMENT
LOW⚡tests/e2e/Services/Project/SMTPBase.php627 // Step 2: Clear both credentials by passing empty strings.COMMENT
LOW⚡tests/e2e/Services/Project/SMTPBase.php637 // Step 3: Verify the cleared username persists (a no-params PATCH must not restore it).COMMENT
98 more matches not shown…
Over-Commented Block49 hits · 40 pts
SeverityFileLineSnippetContext
LOWapp/realtime.php861 // roles they held until now, so the client sees what ended it before theCOMMENT
LOWapp/config/oAuthProviders.php561 'icon' => 'icon-zoom',COMMENT
LOWapp/config/storage/logos.php21 // // Microsoft WordCOMMENT
LOWapp/config/storage/logos.php41 // 'application/vnd.ms-powerpoint.addin.macroEnabled.12' => __DIR__.'/logos/ppt.png',COMMENT
LOW…/Services/ProjectWebhooks/WebhooksCustomServerTest.php821 $this->assertNotEmpty($response['body']['$id']);COMMENT
LOW…s/e2e/Services/GraphQL/TablesDB/DatabaseServerTest.php1881 // * @depends testCreateFloatColumnCOMMENT
LOW…s/e2e/Services/GraphQL/TablesDB/DatabaseServerTest.php1901 // ]COMMENT
LOW…s/e2e/Services/GraphQL/TablesDB/DatabaseServerTest.php2181 $row = $row['body']['data']['tablesDBGetRow'];COMMENT
LOW…s/e2e/Services/GraphQL/TablesDB/DatabaseServerTest.php2201 // ], $this->getHeaders()), $gqlPayload);COMMENT
LOW…s/e2e/Services/GraphQL/TablesDB/DatabaseServerTest.php2221 // ];COMMENT
LOW…s/e2e/Services/GraphQL/TablesDB/DatabaseServerTest.php2321COMMENT
LOW…s/e2e/Services/GraphQL/TablesDB/DatabaseServerTest.php2381 // public function testDeleteCustomEntity(array $data)COMMENT
LOW…sts/e2e/Services/GraphQL/Legacy/DatabaseServerTest.php1801 // * @depends testCreateStringAttributeCOMMENT
LOW…sts/e2e/Services/GraphQL/Legacy/DatabaseServerTest.php1821 // 'email' => 'johndoe@appwrite.io',COMMENT
LOW…sts/e2e/Services/GraphQL/Legacy/DatabaseServerTest.php2101 $this->assertArrayNotHasKey('errors', $document['body']);COMMENT
LOW…sts/e2e/Services/GraphQL/Legacy/DatabaseServerTest.php2121 // 'x-appwrite-project' => $projectId,COMMENT
LOW…sts/e2e/Services/GraphQL/Legacy/DatabaseServerTest.php2141 // ]COMMENT
LOW…sts/e2e/Services/GraphQL/Legacy/DatabaseServerTest.php2241 $this->assertStringContainsString('New Document Name', (string) $document['data']);COMMENT
LOW…sts/e2e/Services/GraphQL/Legacy/DatabaseServerTest.php2261 // $entity = $this->client->call(Client::METHOD_POST, '/graphql', array_merge([COMMENT
LOW…sts/e2e/Services/GraphQL/Legacy/DatabaseServerTest.php2301 // * @depends testCreateCustomEntityCOMMENT
LOWpackages/cache/src/Adapter/Redis/Multiplexing.php481 // Otherwise the server is just slower than this caller was willing toCOMMENT
LOWpackages/cache/src/Adapter/Redis/Multiplexing.php661 // May be a reply whose caller already gave up on its ownCOMMENT
LOWpackages/nats/src/Connection.php1121 // socket or raises.COMMENT
LOWpackages/http/tests/bench/run.sh1#!/usr/bin/env bashCOMMENT
LOWpackages/http/src/Adapter/Swoole/Mode.php61 {COMMENT
LOWpackages/http/src/Adapter/Swoole/Mode.php81 // wake-up on every junk/scan connection. The integer is theCOMMENT
LOWpackages/http/src/Adapter/Swoole/Mode.php101 // upstreams let coroutines pile up until OOM. 1000 mainly backstopsCOMMENT
LOWpackages/http/src/Adapter/Swoole/Mode.php141 Constant::OPTION_DISPATCH_MODE => 3,COMMENT
LOWpackages/http/src/Adapter/Swoole/Mode.php161 // for every server-spawned coroutine; no Runtime::enableCoroutineCOMMENT
LOWpackages/http/src/Adapter/Swoole/Mode.php181 // context switches. 1× cores is the right shape.COMMENT
LOWpackages/queue/tests/bench/run.sh1#!/usr/bin/env bashCOMMENT
LOWpackages/queue/src/Adapter.php381 // is rejected: reject() is where the broker decides between anotherCOMMENT
LOWpackages/queue/src/Broker/Nats.php101 // maxDeliver, so a broker adopting it can tell that spare from a larger budget.COMMENT
LOWpackages/queue/src/Broker/Nats.php1481 // every attempt died unacknowledged, which pull() dead-letters on arrival.COMMENT
LOWpackages/queue/src/Adapter/Swoole.php101 Coroutine::set(['hook_flags' => SWOOLE_HOOK_ALL]);COMMENT
LOWpackages/validators/src/compat.php1<?phpCOMMENT
LOWpackages/dns/tests/Message/DomainTest.php141 // Create a packet where we start mid-stream and encounter a pointerCOMMENT
LOW.github/workflows/issue-triage.lock.yml1# This file was automatically generated by gh-aw. DO NOT EDIT.COMMENT
LOW.github/workflows/issue-triage.lock.yml21# pre_activation --> activationCOMMENT
LOW.github/workflows/console-snippets-qa-android.yml201 echo "$HOME/.local/share/mise/shims" >> "$GITHUB_PATH"COMMENT
LOWapps/console/tests/connect-qa/mobile/.maestro/auth.yaml1# ---------------------------------------------------------------------------COMMENT
LOWapps/console/tests/connect-qa/mobile/.maestro/auth.yaml21# plaintext is asserted absent from the view hierarchy (4b, 6b), whichCOMMENT
LOWapps/console/scripts/generate-compose-data.ts21// Mirrors TOPOLOGY_SERVICE_GROUPS in src/Appwrite/Docker/Compose/Generator.php,COMMENT
LOWapps/console/scripts/apply-ja-dict-translations.ts101// For partial translation batches use scripts/patch-ja-placeholders-only.ts instead.COMMENT
LOWapps/console/src/lib/react-query/hooks/analytics.ts641 // measured against query-core):COMMENT
LOWapps/console/src/lib/marketplace/marketplace-nav.ts101 {COMMENT
LOWsrc/Appwrite/Deployment/Deployments.php421 // the internal Docker network, so the presigned + callback URLs use anCOMMENT
LOWsrc/Appwrite/Messaging/Adapter/Realtime.php41 'memberships',COMMENT
LOWsrc/Appwrite/Migration/Version/V19.php521 // try {COMMENT
Modern AI Meta-Vocabulary13 hits · 37 pts
SeverityFileLineSnippetContext
MEDIUM.github/workflows/console-snippets-qa-server.yml177 # django-admin only exists once Django is installed, so the scaffoldCOMMENT
MEDIUM.github/workflows/console-snippets-qa-server.yml356 # `dart create` rejects dashes in package names, so scaffold underCOMMENT
MEDIUM.github/workflows/console-snippets-qa-server.yml358 # --project-name instead, so it can scaffold straight into $APP_DIR.COMMENT
MEDIUM.github/workflows/issue-triage.lock.yml4# For more information: https://github.com/githubnext/gh-aw/blob/main/.github/instructions/github-agentic-workflows.instCOMMENT
MEDIUM.github/workflows/issue-triage.lock.yml4# For more information: https://github.com/githubnext/gh-aw/blob/main/.github/instructions/github-agentic-workflows.instCOMMENT
MEDIUM.github/workflows/console-snippets-qa-web.yml87 # Nuxt 4 keeps app code under app/; drop the scaffold's welcomeCOMMENT
MEDIUM.github/workflows/console-snippets-qa-web.yml202 # Some create CLIs exit 0 without scaffolding (e.g. create-solid onCOMMENT
MEDIUM.github/workflows/console-snippets-qa-ios.yml215 # rewritten - scaffold assets can be binary.COMMENT
MEDIUM…le/tests/connect-qa/android/templates/tauri/index.html4 onto #app, which the scaffold's index.html does not have.CODE
MEDIUMapps/console/public/videos/firewall-trailer/seg_017.ts961�{�F�6�?f:���Hk0�pe�me��&����a}V:����z���lo��h�<�\��Ӧvw{�G��7M� #Ȑ5nk�T�,��+����E�|-�(*CrŅ���܂3�� x��RCODE
MEDIUM…projects/$projectId/databases/tablesdb/Spreadsheet.tsx4464 // Sample data generation mutation (requires at least one non-relationship column; no auto-scaffold)COMMENT
MEDIUM…jects/$projectId/databases/documentsdb/Spreadsheet.tsx3807 // Sample data generation mutation (requires at least one non-relationship column; no auto-scaffold)COMMENT
MEDIUM…rojects/$projectId/databases/vectorsdb/Spreadsheet.tsx4074 // Sample data generation mutation (requires at least one non-relationship column; no auto-scaffold)COMMENT
Cross-Language Confusion (JS/TS)7 hits · 35 pts
SeverityFileLineSnippetContext
HIGHapps/console/tests/unit/news-sitemap.test.ts337print(len(urls))CODE
HIGHapps/console/src/lib/realtime/connection-snippets.ts104 print(response);CODE
HIGHapps/console/src/lib/realtime/connection-snippets.ts115 print(response);CODE
HIGHapps/console/src/lib/realtime/connection-snippets.ts130 print(String(describing: response))CODE
HIGHapps/console/src/lib/realtime/connection-snippets.ts138 print(String(describing: response))CODE
HIGHapps/console/src/lib/realtime/connection-snippets.ts155 print(it.payload.toString())CODE
HIGHapps/console/src/lib/realtime/connection-snippets.ts165 print(it.payload.toString())CODE
AI Slop Vocabulary4 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUMpackages/http/tests/bench/docker-compose.yml1# Benchmark harness: runs the Swoole bench server (tests/bench/server.php)COMMENT
MEDIUMpackages/dns/tests/E2E/Validator/DNSTest.php90 // Custom flags and tag is allowed, but only for CertainlyCOMMENT
MEDIUMpackages/dns/tests/E2E/Validator/DNSTest.php102 // Certainly CAA allows Certainly, but not LetsEncrypt; Same for subdomainsCOMMENT
MEDIUMpackages/dns/tests/E2E/Validator/DNSTest.php110 // LetsEncrypt CAA on subdomain with parent allowing Certainly. Only LetsEncrypt is allowed; Same for subdomainsCOMMENT
Slop Phrases4 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUM⚡tests/resources/swagger2.json1{"swagger":"2.0","info":{"version":"0.8.0","title":"Appwrite","description":"Appwrite backend as a service cuts up to 70CODE
MEDIUM…nts/global/shared/community-support-wizard/Content.tsx82 'If you have a minute, here is how you can help. If not, skip and get back to work.',CODE
MEDIUMapps/console/src/lib/i18n/dictionaries/he/shared-ui.ts326 'If you have a minute, here is how you can help. If not, skip and get back to work.':CODE
MEDIUMapps/console/src/lib/i18n/dictionaries/ja/shared-ui.ts211 'If you have a minute, here is how you can help. If not, skip and get back to work.':CODE
Self-Referential Comments2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUM…/pages/projects/$projectId/shared/S3ConnectSection.tsx77# Create a bucketCOMMENT
MEDIUMapps/console/src/lib/docs/toc.ts22 * `# Create the bucket` is not a heading, so it must not reach the heading scan below.COMMENT
TODO Padding1 hit · 2 pts
SeverityFileLineSnippetContext
LOW⚡tests/e2e/Services/Sites/SitesCustomServerTest.php1192 // // TODO: Implement testCreateDeploymentFromCLI() laterCOMMENT