Apache OpenDAL: One Layer, All Storage.
This report presents the forensic synthetic code analysis of apache/opendal, a Rust project with 5,356 GitHub stars. SynthScan v2.0 examined 380,897 lines of code across 2151 source files, recording 2529 pattern matches distributed across 15 syntactic categories. The overall adjusted score of 6.6 places this repository in the Low AI signal 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).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
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 2529 distinct pattern matches across 15 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 |
|---|---|---|---|---|
| LOW | .asf.yaml | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | deny.toml | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | rustfmt.toml | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | rustfmt.toml | 21 | # format_code_in_doc_comments = true | COMMENT |
| LOW | licenserc.toml | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | .typos.toml | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | rust-toolchain.toml | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | .taplo.toml | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | .config/nextest.toml | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | core/Cargo.toml | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | core/core/Cargo.toml | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | core/core/src/lib.rs | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | core/core/src/types/copy.rs | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | core/core/src/types/error.rs | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | core/core/src/types/error.rs | 21 | //! | COMMENT |
| LOW | core/core/src/types/error.rs | 61 | /// combination, for example `if_not_changed` metadata that contains no | COMMENT |
| LOW | core/core/src/types/error.rs | 81 | /// Options such as `if_match`, `if_not_exists`, and `if_not_changed` | COMMENT |
| LOW | core/core/src/types/error.rs | 141 | ErrorKind::Conflict => "Conflict", | COMMENT |
| LOW | core/core/src/types/error.rs | 181 | } | COMMENT |
| LOW | core/core/src/types/error.rs | 201 | /// ```shell | COMMENT |
| LOW | core/core/src/types/error.rs | 221 | /// | COMMENT |
| LOW | core/core/src/types/error.rs | 461 | COMMENT | |
| LOW | core/core/src/types/error.rs | 481 | /// | COMMENT |
| LOW | core/core/src/types/error.rs | 501 | /// fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { | COMMENT |
| LOW | core/core/src/types/list.rs | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | core/core/src/types/metadata.rs | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | core/core/src/types/metadata.rs | 21 | use std::fmt; | COMMENT |
| LOW | core/core/src/types/metadata.rs | 161 | } | COMMENT |
| LOW | core/core/src/types/metadata.rs | 201 | self | COMMENT |
| LOW | core/core/src/types/metadata.rs | 261 | /// Refer to [MDN Content-Length](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Length) for more | COMMENT |
| LOW | core/core/src/types/metadata.rs | 361 | self | COMMENT |
| LOW | core/core/src/types/metadata.rs | 401 | /// clarified usage in [RFC 6266](https://www.rfc-editor/6266). | COMMENT |
| LOW | core/core/src/types/metadata.rs | 421 | pub fn with_content_disposition(mut self, v: String) -> Self { | COMMENT |
| LOW | core/core/src/types/options.rs | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | core/core/src/types/options.rs | 21 | use crate::raw::Timestamp; | COMMENT |
| LOW | core/core/src/types/options.rs | 41 | /// | COMMENT |
| LOW | core/core/src/types/options.rs | 61 | /// | COMMENT |
| LOW | core/core/src/types/options.rs | 81 | /// service does not advertise | COMMENT |
| LOW | core/core/src/types/options.rs | 101 | /// | COMMENT |
| LOW | core/core/src/types/options.rs | 121 | } | COMMENT |
| LOW | core/core/src/types/options.rs | 141 | /// Include delete markers when supported by version-aware backends; default `false`. | COMMENT |
| LOW | core/core/src/types/options.rs | 161 | /// | COMMENT |
| LOW | core/core/src/types/options.rs | 181 | /// Read only when the file has this exact ETag. | COMMENT |
| LOW | core/core/src/types/options.rs | 201 | /// service does not advertise | COMMENT |
| LOW | core/core/src/types/options.rs | 221 | /// | COMMENT |
| LOW | core/core/src/types/options.rs | 241 | /// [`crate::ErrorKind::ConditionNotMatch`]; a missing file returns | COMMENT |
| LOW | core/core/src/types/options.rs | 261 | /// | COMMENT |
| LOW | core/core/src/types/options.rs | 281 | /// | COMMENT |
| LOW | core/core/src/types/options.rs | 301 | /// Specify the `content-disposition` header that should be sent back by the operation. | COMMENT |
| LOW | core/core/src/types/options.rs | 321 | #[derive(Debug, Clone, Default, Eq, PartialEq)] | COMMENT |
| LOW | core/core/src/types/options.rs | 341 | /// The operation returns [`crate::ErrorKind::Unsupported`] when the | COMMENT |
| LOW | core/core/src/types/options.rs | 361 | /// [`crate::ErrorKind::NotFound`]. | COMMENT |
| LOW | core/core/src/types/options.rs | 381 | /// this time. A file not modified since this time returns | COMMENT |
| LOW | core/core/src/types/options.rs | 401 | /// Known content length of the object. | COMMENT |
| LOW | core/core/src/types/options.rs | 421 | /// | COMMENT |
| LOW | core/core/src/types/options.rs | 441 | /// Refer to the [performance guide](https://github.com/apache/opendal/tree/main/core/core/src/docs/performance) | COMMENT |
| LOW | core/core/src/types/options.rs | 461 | /// | COMMENT |
| LOW | core/core/src/types/options.rs | 481 | /// Check [`crate::Capability::stat_with_version`] before using this | COMMENT |
| LOW | core/core/src/types/options.rs | 501 | /// returns [`crate::ErrorKind::NotFound`]. Only concrete ETag values | COMMENT |
| LOW | core/core/src/types/options.rs | 521 | /// The condition succeeds when the file exists with a different version. | COMMENT |
| 2240 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | website/src/theme/Navbar/MobileSidebar/Header/index.jsx | 44 | export default function NavbarMobileSidebarHeader() { | CODE |
| LOW | .github/scripts/release_rust/bootstrap.py | 449 | def write_placeholder_package( | STRING |
| LOW | .github/scripts/release_rust/plan.py | 48 | def discover_publishable_packages(project_dir: Path) -> dict[Path, Package]: | CODE |
| LOW | .github/scripts/release_rust/test_plan.py | 32 | def test_fixture_plan_orders_path_dependencies(self): | CODE |
| LOW | .github/scripts/release_rust/test_plan.py | 127 | def test_repository_plan_excludes_non_release_paths(self): | CODE |
| LOW | .github/scripts/release_rust/test_plan.py | 138 | def test_repository_plan_orders_core_before_root_and_integrations(self): | CODE |
| LOW | .github/scripts/release_rust/trusted_publishing.py | 78 | def request_trusted_publishing_token( | CODE |
| LOW | .github/scripts/release_rust/trusted_publishing.py | 127 | def revoke_trusted_publishing_token( | CODE |
| LOW | .github/scripts/release_rust/trusted_publishing.py | 152 | def temporary_trusted_publishing_token( | CODE |
| LOW | .github/scripts/release_rust/test_bootstrap.py | 110 | def test_bootstrap_workflow_is_input_free_and_always_protected(self): | CODE |
| LOW | .github/scripts/release_rust/test_bootstrap.py | 120 | def test_publisher_matches_the_release_workflow(self): | CODE |
| LOW | .github/scripts/release_rust/test_bootstrap.py | 131 | def test_placeholder_manifest_is_dependency_free(self): | CODE |
| LOW | .github/scripts/release_rust/test_bootstrap.py | 140 | def test_placeholder_can_be_packaged_offline(self): | CODE |
| LOW | .github/scripts/release_rust/test_bootstrap.py | 171 | def test_public_read_retries_a_transient_registry_failure(self): | CODE |
| LOW | .github/scripts/release_rust/test_bootstrap.py | 196 | def test_discovery_does_not_migrate_established_crates(self): | CODE |
| LOW | .github/scripts/release_rust/test_bootstrap.py | 207 | def test_discovery_selects_an_incomplete_placeholder(self): | CODE |
| LOW | .github/scripts/release_rust/test_bootstrap.py | 220 | def test_discovery_selects_a_ready_placeholder(self): | CODE |
| LOW | .github/scripts/release_rust/test_bootstrap.py | 238 | def test_authenticated_preflight_audits_an_established_crate(self): | CODE |
| LOW | .github/scripts/release_rust/test_bootstrap.py | 252 | def test_authenticated_preflight_rejects_an_unexpected_publisher(self): | CODE |
| LOW | .github/scripts/release_rust/test_bootstrap.py | 270 | def test_authenticated_preflight_rejects_a_ready_placeholder_with_wrong_publisher( | CODE |
| LOW | .github/scripts/release_rust/test_bootstrap.py | 294 | def test_authenticated_preflight_rejects_unmigrated_established_crate(self): | CODE |
| LOW | .github/scripts/release_rust/test_bootstrap.py | 305 | def test_authenticated_verification_requires_the_exact_publisher(self): | CODE |
| LOW | .github/scripts/release_rust/test_bootstrap.py | 320 | def test_apply_preflights_the_complete_plan_before_reconciling(self): | CODE |
| LOW | .github/scripts/release_rust/test_bootstrap.py | 364 | def test_apply_does_not_mutate_when_authenticated_preflight_fails(self): | CODE |
| LOW | .github/scripts/release_rust/test_bootstrap.py | 392 | def test_missing_crate_is_created_configured_and_restricted(self): | CODE |
| LOW | .github/scripts/release_rust/test_bootstrap.py | 418 | def test_partial_placeholder_resumes_without_republishing(self): | CODE |
| LOW | .github/scripts/release_rust/test_bootstrap.py | 440 | def test_ready_placeholder_is_a_noop(self): | CODE |
| LOW | .github/scripts/release_rust/test_bootstrap.py | 459 | def test_established_crate_is_never_migrated(self): | CODE |
| LOW | .github/scripts/release_rust/test_bootstrap.py | 472 | def test_unexpected_publisher_fails_closed(self): | CODE |
| LOW | .github/scripts/release_rust/test_publish.py | 37 | def test_strip_local_dev_dependencies(self): | CODE |
| LOW | .github/scripts/release_rust/test_publish.py | 87 | def test_live_publish_fetches_a_new_token_for_every_attempt(self): | CODE |
| LOW | .github/scripts/release_rust/test_publish.py | 147 | def test_dry_run_does_not_request_a_trusted_publishing_token(self): | CODE |
| LOW | .github/scripts/release_rust/test_trusted_publishing.py | 40 | def test_oidc_request_url_preserves_existing_query(self): | CODE |
| LOW | .github/scripts/release_rust/test_trusted_publishing.py | 49 | def test_token_exchange_uses_github_oidc_and_crates_io(self): | CODE |
| LOW | .github/scripts/release_rust/test_trusted_publishing.py | 85 | def test_revoke_uses_the_temporary_token(self): | CODE |
| LOW | .github/scripts/release_rust/test_trusted_publishing.py | 99 | def test_temporary_token_is_always_revoked(self): | CODE |
| LOW | .github/scripts/release_rust/publish.py | 81 | def local_dev_dependency_names(manifest: dict, manifest_dir: Path) -> set[str]: | CODE |
| LOW | .github/scripts/release_rust/publish.py | 99 | def is_dev_dependency_section(header: str | None) -> bool: | CODE |
| LOW | .github/scripts/release_rust/publish.py | 119 | def strip_local_dev_dependencies(manifest_path: Path, dependency_names: set[str]) -> bool: | CODE |
| LOW | .github/scripts/weekly_update/main.py | 233 | def fetch_additional_good_first_issues(repo, token, count=5): | STRING |
| LOW | .github/scripts/test_behavior/plan.py | 277 | def generate_language_binding_cases( | CODE |
| LOW | .github/scripts/test_behavior/plan.py | 352 | def generate_integration_cases( | CODE |
| LOW | .github/scripts/test_behavior/test_plan.py | 48 | def test_core_services_hdfs_native_mapping(self): | CODE |
| LOW | .github/scripts/test_behavior/test_plan.py | 57 | def test_group_core_cases_by_service(self): | CODE |
| LOW | .github/scripts/test_behavior/test_plan.py | 95 | def test_core_groups_multiple_setups(self): | CODE |
| LOW | .github/scripts/test_behavior/test_plan.py | 121 | def test_service_setups_do_not_checkout(self): | CODE |
| LOW | .github/scripts/test_behavior/test_plan.py | 135 | def test_binding_java_excludes_hf(self): | CODE |
| LOW | .github/scripts/test_behavior/test_plan.py | 140 | def test_integration_object_store(self): | CODE |
| LOW | .github/scripts/release_python/test_prepare.py | 74 | def test_release_candidates_map_to_distinct_versions(self): | CODE |
| LOW | .github/scripts/release_python/test_prepare.py | 82 | def test_prepare_is_idempotent(self): | CODE |
| LOW | .github/scripts/release_python/test_prepare.py | 109 | def test_prepare_rejects_non_release_candidate_tag(self): | CODE |
| LOW | .github/scripts/release_python/test_prepare.py | 134 | def test_prepare_rejects_non_stable_cargo_version(self): | CODE |
| LOW | .github/scripts/release_python/test_prepare.py | 157 | def test_render_rejects_additional_dynamic_metadata(self): | CODE |
| LOW | .github/scripts/release_python/test_prepare.py | 168 | def test_render_rejects_multiline_dynamic_version(self): | CODE |
| LOW | .github/scripts/release_python/prepare.py | 63 | def release_candidate_version(stable_version: str, tag: str) -> str: | CODE |
| LOW | bindings/python/tests/test_sync_stat.py | 42 | def test_sync_stat_non_existent(service_name, operator, async_operator): | CODE |
| LOW | bindings/python/tests/test_sync_stat.py | 62 | def test_sync_stat_metadata_fields(service_name, operator, async_operator): | CODE |
| LOW⚡ | bindings/python/tests/test_async_rename.py | 43 | async def test_async_rename_non_exists_file(service_name, operator, async_operator): | CODE |
| LOW⚡ | bindings/python/tests/test_async_rename.py | 52 | async def test_async_rename_directory(service_name, operator, async_operator): | CODE |
| LOW⚡ | bindings/python/tests/test_async_rename.py | 62 | async def test_async_rename_file_to_directory(service_name, operator, async_operator): | CODE |
| 90 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | core/services/goosefs/src/core.rs | 117 | // ── Shared-connection acquisition ───────────────────────────────────── | COMMENT |
| MEDIUM | core/services/goosefs/src/core.rs | 206 | // ── Metadata Operations ────────────────────────────────── | COMMENT |
| MEDIUM | core/services/goosefs/src/core.rs | 362 | // ── Data I/O Operations ────────────────────────────────── | COMMENT |
| MEDIUM | core/services/goosefs/src/core.rs | 546 | // ── Metadata Conversion ────────────────────────────────── | COMMENT |
| MEDIUM | core/services/goosefs/src/backend.rs | 137 | // ── Step 1: establish the base SDK config ───────────────────────────── | COMMENT |
| MEDIUM | core/services/goosefs/src/backend.rs | 174 | // ── Step 2: overlay builder-explicit fields (authoritative) ─────────── | COMMENT |
| MEDIUM | core/services/goosefs/src/backend.rs | 261 | // ── Step 3: validate the final merged config ────────────────────────── | COMMENT |
| MEDIUM | .github/services/goosefs/goosefs/action.yml | 47 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/services/goosefs/goosefs/action.yml | 55 | # ----------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/services/s3/src/backend.rs | 358 | /// NOTE: This function should not be used along with other `server_side_encryption_with_` functions. | COMMENT |
| LOW | core/services/s3/src/backend.rs | 368 | /// NOTE: This function should not be used along with other `server_side_encryption_with_` functions. | COMMENT |
| LOW | core/services/s3/src/backend.rs | 382 | /// NOTE: This function should not be used along with other `server_side_encryption_with_` functions. | COMMENT |
| LOW | core/services/s3/src/backend.rs | 392 | /// NOTE: This function should not be used along with other `server_side_encryption_with_` functions. | COMMENT |
| LOW | website/docs/20-bindings/lua/01-overview.md | 45 | # Step 1: build the native library (default Lua version is 5.2). | COMMENT |
| LOW | website/docs/20-bindings/lua/01-overview.md | 49 | # Step 2: copy it to your Lua shared-library directory. | COMMENT |
| LOW⚡ | bindings/ocaml/release.sh | 33 | # Step 1: Update version in dune-project | COMMENT |
| LOW⚡ | bindings/ocaml/release.sh | 37 | # Step 2: Regenerate opam file | COMMENT |
| LOW⚡ | bindings/ocaml/release.sh | 41 | # Step 3: Run tests | COMMENT |
| LOW⚡ | bindings/ocaml/release.sh | 45 | # Step 4: Build documentation | COMMENT |
| LOW⚡ | bindings/ocaml/release.sh | 49 | # Step 5: Create a source distribution | COMMENT |
| LOW⚡ | bindings/ocaml/release.sh | 54 | # Step 6: Publish to opam-repository (requires manual PR) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | core/core/src/types/options.rs | 800 | /// - Better utilize available bandwidth | COMMENT |
| MEDIUM | core/core/src/types/options.rs | 827 | /// - Better utilize network bandwidth | COMMENT |
| MEDIUM | core/core/src/types/execute/api.rs | 35 | /// we cannot introduce a generic type parameter to `Execute`. We utilize [`RemoteHandle`] to | COMMENT |
| MEDIUM | bindings/go/opendal.go | 24 | // leverage OpenDAL's capabilities without the need for CGO. | COMMENT |
| MEDIUM | bindings/go/opendal.go | 55 | // This package aims to provide a seamless experience for Go developers working with | COMMENT |
| MEDIUM | bindings/cpp/tests/metadata_test.cpp | 552 | // I want the metadata API to be robust and predictable | COMMENT |
| MEDIUM | bindings/c/src/lib.rs | 30 | //! The OpenDAL C binding allows users to utilize the OpenDAL's amazing storage accessing capability | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .github/scripts/test_behavior/test_plan.py | 20 | CODE | |
| LOW | bindings/python/python/opendal/options.py | 43 | CODE | |
| LOW | bindings/python/python/opendal/config.py | 44 | CODE | |
| LOW | bindings/python/python/opendal/__init__.py | 19 | CODE | |
| LOW | bindings/python/python/opendal/__init__.py | 23 | CODE | |
| LOW | bindings/python/python/opendal/__init__.py | 24 | CODE | |
| LOW | bindings/python/python/opendal/__init__.py | 25 | CODE | |
| LOW | bindings/python/python/opendal/__init__.py | 25 | CODE | |
| LOW | bindings/python/python/opendal/__init__.py | 27 | CODE | |
| LOW | bindings/python/python/opendal/__init__.py | 27 | CODE | |
| LOW | bindings/python/python/opendal/__init__.py | 27 | CODE | |
| LOW | bindings/python/python/opendal/__init__.py | 27 | CODE | |
| LOW | bindings/python/python/opendal/__init__.py | 27 | CODE | |
| LOW | bindings/python/python/opendal/__init__.py | 27 | CODE | |
| LOW | bindings/python/python/opendal/__init__.py | 27 | CODE | |
| LOW | bindings/python/python/opendal/__init__.py | 27 | CODE | |
| LOW | bindings/python/scripts/postprocess_stubs.py | 32 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/verify.py | 76 | except Exception as e: | CODE |
| LOW | scripts/verify.py | 86 | except Exception as e: | CODE |
| MEDIUM | scripts/verify.py | 70 | def check_rust(): | CODE |
| MEDIUM | scripts/verify.py | 80 | def check_java(): | CODE |
| LOW | .github/scripts/release_rust/bootstrap.py | 690 | except Exception as error: | STRING |
| MEDIUM | .github/scripts/weekly_update/main.py | 103 | print(f"Error fetching issues: {response.status_code}") | CODE |
| MEDIUM | .github/scripts/weekly_update/main.py | 201 | print(f"Error fetching discussions: {response.status_code}") | STRING |
| LOW | .github/scripts/weekly_update/main.py | 445 | except Exception as e: | STRING |
| MEDIUM | .github/scripts/weekly_update/main.py | 446 | print(f"Error with OpenAI API: {e}") | STRING |
| LOW | bindings/python/tests/test_sync_gil.py | 108 | except Exception as error: # noqa: BLE001 | CODE |
| MEDIUM | bindings/python/tests/test_sync_gil.py | 105 | def read(path) -> None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | bindings/ocaml/release.sh | 33 | # Step 1: Update version in dune-project | COMMENT |
| LOW⚡ | bindings/ocaml/release.sh | 37 | # Step 2: Regenerate opam file | COMMENT |
| LOW⚡ | bindings/ocaml/release.sh | 41 | # Step 3: Run tests | COMMENT |
| LOW⚡ | bindings/ocaml/release.sh | 45 | # Step 4: Build documentation | COMMENT |
| LOW⚡ | bindings/ocaml/release.sh | 49 | # Step 5: Create a source distribution | COMMENT |
| LOW⚡ | bindings/ocaml/release.sh | 54 | # Step 6: Publish to opam-repository (requires manual PR) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/core/src/types/operator/operator.rs | 402 | /// ## Check if file exists | COMMENT |
| LOW | core/core/src/blocking/operator.rs | 296 | /// ## Check if file exists | COMMENT |
| LOW | .github/scripts/weekly_update/main.py | 120 | # Check if it's a good first issue | COMMENT |
| LOW | .github/scripts/weekly_update/main.py | 522 | # Output the result | STRING |
| LOW | .github/scripts/test_behavior/plan.py | 56 | # Check if this workflow needs to read secrets. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/merge_local_staging.py | 26 | CODE | |
| LOW | .github/scripts/release_rust/publish.py | 174 | CODE | |
| LOW | .github/scripts/release_rust/publish.py | 207 | CODE | |
| LOW | .github/scripts/weekly_update/main.py | 81 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/core/src/types/read/futures_async_reader.rs | 265 | /// TODO: implement vectored read. | COMMENT |
| LOW | bindings/ruby/src/io.rs | 48 | // TODO: implement encoding. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | bindings/python/python/opendal/options.py | 163 | __all__ = [ | CODE |
| LOW | bindings/python/python/opendal/config.py | 1071 | __all__ = [ | CODE |
| LOW | bindings/python/python/opendal/__init__.py | 38 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | bindings/go/opendal.go | 93 | // Example usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/services/webdav/src/core.rs | 1576 | assert_eq!(user_metadata.get("author"), Some(&"John Doe".to_string())); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .github/scripts/weekly_update/main.py | 366 | CODE |