OneDrive Client for Linux
This report presents the forensic synthetic code analysis of abraunegg/onedrive, a D project with 12,611 GitHub stars. SynthScan v2.0 examined 41,163 lines of code across 139 source files, recording 352 pattern matches distributed across 9 syntactic categories. The overall adjusted score of 11.1 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 352 distinct pattern matches across 9 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 | ci/e2e/evaluate_rerun_gate.py | 2 | CODE | |
| LOW | ci/e2e/run.py | 2 | CODE | |
| LOW | ci/e2e/run.py | 9 | CODE | |
| LOW | ci/e2e/run.py | 14 | CODE | |
| LOW | ci/e2e/run_personal_shared_folders.py | 2 | CODE | |
| LOW | ci/e2e/run_personal_shared_folders.py | 9 | CODE | |
| LOW | ci/e2e/rerun_failures.py | 2 | CODE | |
| LOW | ci/e2e/run_business_shared_folders.py | 2 | CODE | |
| LOW | ci/e2e/framework/database_capture.py | 1 | CODE | |
| LOW | ci/e2e/framework/database_capture.py | 4 | CODE | |
| LOW | ci/e2e/framework/manifest.py | 1 | CODE | |
| LOW | ci/e2e/framework/__init__.py | 1 | CODE | |
| LOW | ci/e2e/framework/__init__.py | 1 | CODE | |
| LOW | ci/e2e/framework/result.py | 1 | CODE | |
| LOW | ci/e2e/framework/context.py | 1 | CODE | |
| LOW | ci/e2e/framework/utils.py | 1 | CODE | |
| LOW | ci/e2e/framework/base.py | 1 | CODE | |
| LOW | …al_shared_folders/sfptc0002_clean_monitor_pull_down.py | 1 | CODE | |
| LOW | …al_shared_folders/sfptc0002_clean_monitor_pull_down.py | 8 | CODE | |
| LOW | …tcases_personal_shared_folders/shared_folder_common.py | 1 | CODE | |
| LOW | …tcases_personal_shared_folders/shared_folder_common.py | 12 | CODE | |
| LOW | …sonal_shared_folders/sfptc0001_clean_sync_pull_down.py | 1 | CODE | |
| LOW | …sonal_shared_folders/sfptc0003_sync_list_validation.py | 1 | CODE | |
| LOW | …sonal_shared_folders/sfptc0003_sync_list_validation.py | 3 | CODE | |
| LOW | …iness_shared_folders/bsftc0003_sync_list_validation.py | 1 | CODE | |
| LOW | …iness_shared_folders/bsftc0001_clean_sync_pull_down.py | 1 | CODE | |
| LOW | …ss_shared_folders/bsftc0002_clean_monitor_pull_down.py | 1 | CODE | |
| LOW | …ss_shared_folders/bsftc0002_clean_monitor_pull_down.py | 8 | CODE | |
| LOW | …tcases_business_shared_folders/shared_folder_common.py | 1 | CODE | |
| LOW | …/bsftc0005_get_sharepoint_drive_id_while_monitoring.py | 1 | CODE | |
| LOW | …ess_shared_folders/bsftc0004_shared_files_pull_down.py | 1 | CODE | |
| LOW | …0028_control_character_non_utf8_filename_validation.py | 1 | CODE | |
| LOW | …2e/testcases/tc0026_reserved_device_name_validation.py | 1 | CODE | |
| LOW | ci/e2e/testcases/tc0009_upload_only_no_remote_delete.py | 1 | CODE | |
| LOW | ci/e2e/testcases/tc0009_upload_only_no_remote_delete.py | 10 | CODE | |
| LOW | ci/e2e/testcases/tc0009_upload_only_no_remote_delete.py | 10 | CODE | |
| LOW | …ases/tc0056_monitor_mode_create_then_delete_quickly.py | 1 | CODE | |
| LOW | …ases/tc0056_monitor_mode_create_then_delete_quickly.py | 9 | CODE | |
| LOW | …2e/testcases/tc0010_upload_only_remove_source_files.py | 1 | CODE | |
| LOW | …2e/testcases/tc0010_upload_only_remove_source_files.py | 10 | CODE | |
| LOW | …2e/testcases/tc0010_upload_only_remove_source_files.py | 10 | CODE | |
| LOW | ci/e2e/testcases/monitor_case_base.py | 1 | CODE | |
| LOW | ci/e2e/testcases/tc0011_skip_file_validation.py | 1 | CODE | |
| LOW | ci/e2e/testcases/tc0011_skip_file_validation.py | 10 | CODE | |
| LOW | ci/e2e/testcases/tc0011_skip_file_validation.py | 10 | CODE | |
| LOW | …ses/tc0061_remote_move_into_skip_dir_reconciliation.py | 1 | CODE | |
| LOW | …tcases/tc0058_monitor_download_only_cleanup_cadence.py | 1 | CODE | |
| LOW | ci/e2e/testcases/tc0006_download_only.py | 1 | CODE | |
| LOW | ci/e2e/testcases/tc0006_download_only.py | 10 | CODE | |
| LOW | ci/e2e/testcases/tc0005_force_sync_override.py | 1 | CODE | |
| LOW | ci/e2e/testcases/tc0005_force_sync_override.py | 10 | CODE | |
| LOW | ci/e2e/testcases/tc0019_logging_and_running_config.py | 1 | CODE | |
| LOW | ci/e2e/testcases/tc0019_logging_and_running_config.py | 9 | CODE | |
| LOW | ci/e2e/testcases/tc0004_single_directory_sync.py | 1 | CODE | |
| LOW | ci/e2e/testcases/tc0004_single_directory_sync.py | 10 | CODE | |
| LOW | …047_monitor_mode_local_directory_delete_propagation.py | 1 | CODE | |
| LOW | …047_monitor_mode_local_directory_delete_propagation.py | 9 | CODE | |
| LOW | …54_monitor_mode_atomic_save_editor_replace_workflow.py | 1 | CODE | |
| LOW | …54_monitor_mode_atomic_save_editor_replace_workflow.py | 8 | CODE | |
| LOW | ci/e2e/testcases/tc0032_remote_rename_reconciliation.py | 1 | CODE | |
| 86 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ci/e2e/framework/database_capture.py | 17 | def capture_onedrive_databases( | CODE |
| LOW | ci/e2e/framework/context.py | 39 | def _parse_scenario_filter_env(raw: str) -> dict[str, set[str]]: | CODE |
| LOW | ci/e2e/framework/context.py | 141 | def default_onedrive_config_dir(self) -> Path: | CODE |
| LOW | ci/e2e/framework/context.py | 153 | def default_refresh_token_path(self) -> Path: | CODE |
| LOW | ci/e2e/framework/context.py | 176 | def ensure_refresh_token_available(self) -> None: | CODE |
| LOW | ci/e2e/framework/context.py | 187 | def selected_scenarios_for_case(self, case_id: str) -> set[str]: | CODE |
| LOW | ci/e2e/framework/context.py | 215 | def validate_generated_config_dir(self, config_dir: Path) -> None: | CODE |
| LOW | ci/e2e/framework/context.py | 259 | def prepare_minimal_config_dir(self, config_dir: Path, config_text: str) -> Path: | CODE |
| LOW | ci/e2e/framework/context.py | 320 | def bootstrap_suite_cleanup_config_dir(self) -> Path: | CODE |
| LOW | ci/e2e/framework/utils.py | 60 | def is_transient_startup_discovery_failure(stdout: str, stderr: str) -> bool: | CODE |
| LOW | ci/e2e/framework/utils.py | 81 | def should_retry_startup_failure(stdout: str, stderr: str, attempt: int, max_attempts: int) -> bool: | CODE |
| LOW | ci/e2e/framework/utils.py | 85 | def run_command_with_startup_retry( | CODE |
| LOW | ci/e2e/framework/utils.py | 173 | def is_protected_suite_cleanup_path(path: Path) -> bool: | CODE |
| LOW | ci/e2e/framework/utils.py | 230 | def perform_full_account_cleanup( | CODE |
| LOW | ci/e2e/framework/utils.py | 383 | def default_onedrive_config_dir_from_env() -> Path: | CODE |
| LOW | ci/e2e/framework/utils.py | 395 | def get_optional_base_config_text() -> str: | CODE |
| LOW | ci/e2e/framework/utils.py | 420 | def compute_quickxor_hash_bytes(data: bytes) -> str: | CODE |
| LOW | ci/e2e/framework/utils.py | 451 | def compute_quickxor_hash_file(path: Path) -> str: | CODE |
| LOW | ci/e2e/framework/base.py | 168 | def assert_manifest_not_contains(self, entries: list[str], relative_path: str, message: str | None = None) -> None: | CODE |
| LOW | …tcases_personal_shared_folders/shared_folder_common.py | 269 | def validate_expected_manifest( | CODE |
| LOW | …sonal_shared_folders/sfptc0003_sync_list_validation.py | 513 | def _run_local_stale_cleanup_check( | CODE |
| LOW | …iness_shared_folders/bsftc0003_sync_list_validation.py | 245 | def _run_local_stale_cleanup_check( | CODE |
| LOW | …tcases_business_shared_folders/shared_folder_common.py | 244 | def validate_required_manifest( | CODE |
| LOW | …ess_shared_folders/bsftc0004_shared_files_pull_down.py | 172 | def _validate_manifest_and_stdout( | CODE |
| LOW | …0028_control_character_non_utf8_filename_validation.py | 51 | def _extract_bad_filename_archive( | CODE |
| LOW | …0028_control_character_non_utf8_filename_validation.py | 69 | def _collect_extracted_file_entries(self, root_name: str, extract_root: Path) -> list[str]: | CODE |
| LOW⚡ | ci/e2e/testcases/monitor_case_base.py | 83 | def _read_app_logs_from_offset(self, app_log_dir: Path, start_offset: int) -> str: | CODE |
| LOW⚡ | ci/e2e/testcases/monitor_case_base.py | 91 | def _monitor_app_log_dir_for_stdout(self, stdout_file: Path) -> Path: | CODE |
| LOW⚡ | ci/e2e/testcases/monitor_case_base.py | 94 | def _remember_monitor_app_log_offset(self, stdout_file: Path, offset: int) -> None: | CODE |
| LOW⚡ | ci/e2e/testcases/monitor_case_base.py | 99 | def _monitor_app_log_start_offset(self, stdout_file: Path) -> int: | CODE |
| LOW⚡ | ci/e2e/testcases/monitor_case_base.py | 103 | def _read_monitor_output_from_offsets(self, stdout_file: Path, stdout_start_offset: int) -> str: | CODE |
| LOW | ci/e2e/testcases/monitor_case_base.py | 123 | def _wait_for_initial_sync_complete( | CODE |
| LOW | ci/e2e/testcases/monitor_case_base.py | 138 | def _wait_for_monitor_stdout_quiet( | CODE |
| LOW | ci/e2e/testcases/monitor_case_base.py | 176 | def _prepare_monitor_for_local_mutation( | CODE |
| LOW | ci/e2e/testcases/monitor_case_base.py | 202 | def _wait_for_monitor_patterns( | CODE |
| LOW | ci/e2e/testcases/monitor_case_base.py | 220 | def _wait_for_stdout_growth_patterns( | CODE |
| LOW | ci/e2e/testcases/monitor_case_base.py | 240 | def _wait_for_any_monitor_pattern_group( | CODE |
| LOW | ci/e2e/testcases/monitor_case_base.py | 259 | def _wait_for_any_stdout_growth_pattern_group( | CODE |
| LOW | ci/e2e/testcases/monitor_case_base.py | 280 | def _wait_for_required_patterns_and_any_group( | CODE |
| LOW | ci/e2e/testcases/monitor_case_base.py | 316 | def _wait_for_post_mutation_sync_complete( | CODE |
| LOW | ci/e2e/testcases/monitor_case_base.py | 359 | def _launch_monitor_process_raw( | CODE |
| LOW | ci/e2e/testcases/monitor_case_base.py | 379 | def _wait_for_initial_sync_complete_or_transient_failure( | CODE |
| LOW | ci/e2e/testcases/monitor_case_base.py | 447 | def _shutdown_monitor_process(self, process: subprocess.Popen[str], details: dict[str, object]) -> None: | CODE |
| LOW | ci/e2e/testcases/monitor_case_base.py | 477 | def _write_file_with_exact_size(self, path: Path, size_bytes: int, header_text: str) -> None: | CODE |
| LOW | …ses/tc0061_remote_move_into_skip_dir_reconciliation.py | 35 | def _build_mutator_monitor_config_text(self, sync_dir: Path, app_log_dir: Path) -> str: | CODE |
| LOW | …ses/tc0061_remote_move_into_skip_dir_reconciliation.py | 41 | def _build_unfiltered_config_text(self, sync_dir: Path) -> str: | CODE |
| LOW | …ses/tc0061_remote_move_into_skip_dir_reconciliation.py | 70 | def _contains_bad_monitor_move_side_effects(self, log_segment: str) -> list[str]: | CODE |
| LOW | …ses/tc0061_remote_move_into_skip_dir_reconciliation.py | 80 | def _wait_for_stdout_growth_patterns( | CODE |
| LOW | …tcases/tc0058_monitor_download_only_cleanup_cadence.py | 66 | def _count_sync_complete_markers(self, log_file: Path) -> int: | CODE |
| LOW | …tcases/tc0058_monitor_download_only_cleanup_cadence.py | 140 | def _delete_remote_fixture_file( | CODE |
| LOW | …s/tc0060_monitor_mode_local_move_no_delete_reupload.py | 24 | def _build_monitor_config_text(self, sync_dir: Path, app_log_dir: Path) -> str: | CODE |
| LOW | …s/tc0060_monitor_mode_local_move_no_delete_reupload.py | 30 | def _build_verify_config_text(self, sync_dir: Path) -> str: | CODE |
| LOW | …s/tc0060_monitor_mode_local_move_no_delete_reupload.py | 45 | def _wait_for_stdout_growth_patterns( | CODE |
| LOW | …s/tc0060_monitor_mode_local_move_no_delete_reupload.py | 66 | def _contains_bad_move_side_effects(self, log_segment: str) -> list[str]: | CODE |
| LOW | …cases/tc0033_remote_directory_rename_reconciliation.py | 61 | def _extract_deleted_remote_paths(self, stdout: str) -> list[str]: | CODE |
| LOW | …e2e/testcases/tc0021_resumable_transfers_validation.py | 103 | def _extract_max_progress_percent(self, text: str) -> float: | CODE |
| LOW | …e2e/testcases/tc0021_resumable_transfers_validation.py | 114 | def _build_transfer_observation( | CODE |
| LOW | …e2e/testcases/tc0021_resumable_transfers_validation.py | 143 | def _interrupt_process_at_transfer_threshold( | CODE |
| LOW⚡ | …e2e/testcases/tc0021_resumable_transfers_validation.py | 340 | def _find_resumable_state_files(self, conf_dir: Path, patterns: list[str]) -> list[str]: | CODE |
| LOW⚡ | …e2e/testcases/tc0021_resumable_transfers_validation.py | 348 | def _write_resumable_state_listing(self, output: Path, resumable_files: list[str]) -> None: | CODE |
| 37 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | docs/ubuntu-package-install.md | 262 | #### Step 1: Add the OpenSuSE Build Service repository release key | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 268 | #### Step 2: Add the OpenSuSE Build Service repository | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 274 | #### Step 3: Update your apt package cache | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 277 | #### Step 4: Install 'onedrive' | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 280 | #### Step 5: Read 'Known Issues' with these packages | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 289 | #### Step 1: Add the OpenSuSE Build Service repository release key | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 295 | #### Step 2: Add the OpenSuSE Build Service repository | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 301 | #### Step 3: Update your apt package cache | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 304 | #### Step 4: Install 'onedrive' | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 307 | #### Step 5: Read 'Known Issues' with these packages | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 316 | #### Step 1: Add the OpenSuSE Build Service repository release key | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 322 | #### Step 2: Add the OpenSuSE Build Service repository | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 328 | #### Step 3: Update your apt package cache | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 331 | #### Step 4: Install 'onedrive' | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 334 | #### Step 5: Read 'Known Issues' with these packages | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 343 | #### Step 1: Add the OpenSuSE Build Service repository release key | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 349 | #### Step 2: Add the OpenSuSE Build Service repository | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 355 | #### Step 3: Update your apt package cache | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 358 | #### Step 4: Install 'onedrive' | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 361 | #### Step 5: Read 'Known Issues' with these packages | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 370 | #### Step 1: Add the OpenSuSE Build Service repository release key | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 376 | #### Step 2: Add the OpenSuSE Build Service repository | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 382 | #### Step 3: Update your apt package cache | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 385 | #### Step 4: Install 'onedrive' | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 388 | #### Step 5: Read 'Known Issues' with these packages | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 398 | #### Step 1: Add the OpenSuSE Build Service repository release key | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 404 | #### Step 2: Add the OpenSuSE Build Service repository | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 410 | #### Step 3: Update your apt package cache | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 413 | #### Step 4: Install 'onedrive' | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 416 | #### Step 5: Read 'Known Issues' with these packages | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 425 | #### Step 1: Add the OpenSuSE Build Service repository release key | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 431 | #### Step 2: Add the OpenSuSE Build Service repository | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 437 | #### Step 3: Update your apt package cache | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 440 | #### Step 4: Install 'onedrive' | COMMENT |
| LOW⚡ | docs/ubuntu-package-install.md | 443 | #### Step 5: Read 'Known Issues' with these packages | COMMENT |
| LOW | docs/ubuntu-package-install.md | 34 | ### Step 1: Remove any configured PPA and associated 'onedrive' package and systemd service files | COMMENT |
| LOW | docs/ubuntu-package-install.md | 100 | ### Step 2: Ensure your system is up-to-date | COMMENT |
| LOW | docs/ubuntu-package-install.md | 196 | ### Step 3: Determine what your OS is based on | COMMENT |
| LOW | docs/ubuntu-package-install.md | 212 | ### Step 4: Pick the correct instructions to use | COMMENT |
| LOW | docs/webhooks.md | 38 | ### Step 1: Application configuration | COMMENT |
| LOW | docs/webhooks.md | 62 | ### Step 2: Install and configure 'nginx' | COMMENT |
| LOW | docs/webhooks.md | 106 | ### Step 4: Initial Firewall/Router Configuration | COMMENT |
| LOW | docs/webhooks.md | 113 | ### Step 5: Use Let's Encrypt 'certbot' to create a SSL Certificate and deploy to your 'nginx' webhook configuration | COMMENT |
| LOW | docs/webhooks.md | 152 | ### Step 6: Update 'nginx' to only use TLS 1.2 and TLS 1.3 | COMMENT |
| LOW | docs/webhooks.md | 285 | ### Step 7: Secure your 'nginx' configuration to only allow Microsoft 365 to connect | COMMENT |
| LOW | docs/webhooks.md | 292 | ### Step 8: Test your 'onedrive' application using this configuration | COMMENT |
| LOW | docs/sharepoint-libraries.md | 162 | ### Step 2: Edit new systemd service file | COMMENT |
| LOW | docs/sharepoint-libraries.md | 176 | ### Step 3: Enable the new systemd service | COMMENT |
| LOW | docs/sharepoint-libraries.md | 196 | ### Step 4: Viewing systemd status and logs for the custom service | COMMENT |
| LOW | docs/advanced-usage.md | 116 | ### Step 2: Edit new systemd service file | COMMENT |
| LOW | docs/advanced-usage.md | 131 | ### Step 3: Enable the new systemd service | COMMENT |
| LOW | docs/advanced-usage.md | 151 | ### Step 4: Viewing systemd status and logs for the custom service | COMMENT |
| LOW | docs/national-cloud-deployments.md | 20 | ## Step 1: Register a new application with Microsoft Azure | COMMENT |
| LOW | docs/national-cloud-deployments.md | 43 | ## Step 2: Configure application authentication scopes | COMMENT |
| LOW | docs/national-cloud-deployments.md | 55 | ## Step 3: Validate that the authentication / redirect URI is correct | COMMENT |
| LOW | docs/national-cloud-deployments.md | 70 | ## Step 4: Configure the onedrive client to use new application registration | COMMENT |
| LOW | docs/national-cloud-deployments.md | 83 | ## Step 5: Configure the onedrive client to use the specific Microsoft Azure deployment | COMMENT |
| LOW | docs/national-cloud-deployments.md | 119 | ## Step 6: Authenticate the client | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docs/usage.md | 1074 | # ====================================================================== | COMMENT |
| MEDIUM | docs/usage.md | 1076 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | docs/usage.md | 1094 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | docs/usage.md | 1096 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | docs/usage.md | 1098 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | docs/usage.md | 1106 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | docs/usage.md | 1109 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | docs/usage.md | 1135 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | docs/usage.md | 1137 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | docs/usage.md | 1162 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | docs/usage.md | 1164 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | docs/usage.md | 1197 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | docs/usage.md | 1199 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | docs/usage.md | 1206 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | docs/usage.md | 1208 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | docs/usage.md | 1223 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | docs/usage.md | 1227 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | contrib/docker/entrypoint.sh | 5 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | contrib/docker/entrypoint.sh | 10 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | contrib/docker/entrypoint.sh | 26 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | contrib/docker/entrypoint.sh | 28 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | contrib/docker/entrypoint.sh | 71 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | contrib/docker/entrypoint.sh | 73 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | contrib/docker/entrypoint.sh | 233 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | contrib/docker/entrypoint.sh | 235 | # ---------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ci/e2e/run.py | 161 | CODE | |
| LOW | ci/e2e/run.py | 233 | CODE | |
| LOW | ci/e2e/run_personal_shared_folders.py | 53 | CODE | |
| LOW | ci/e2e/run_personal_shared_folders.py | 107 | CODE | |
| LOW | ci/e2e/run_business_shared_folders.py | 60 | CODE | |
| LOW | ci/e2e/run_business_shared_folders.py | 112 | CODE | |
| LOW | …tcases_personal_shared_folders/shared_folder_common.py | 256 | CODE | |
| LOW | …sonal_shared_folders/sfptc0003_sync_list_validation.py | 661 | CODE | |
| LOW | …iness_shared_folders/bsftc0003_sync_list_validation.py | 393 | CODE | |
| LOW | …tcases_business_shared_folders/shared_folder_common.py | 231 | CODE | |
| LOW | …/bsftc0005_get_sharepoint_drive_id_while_monitoring.py | 41 | CODE | |
| LOW | …e2e/testcases/tc0021_resumable_transfers_validation.py | 319 | CODE | |
| LOW | …estcases/tc0063_local_parent_rename_during_download.py | 62 | CODE | |
| LOW | …estcases/tc0063_local_parent_rename_during_download.py | 114 | CODE | |
| LOW | ci/e2e/testcases/tc0015_skip_symlinks_validation.py | 76 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/usage.md | 1081 | # | COMMENT |
| LOW | docs/usage.md | 1161 | COMMENT | |
| LOW | .github/workflows/spellcheck.yaml | 1 | name: Check Spelling | COMMENT |
| LOW | .github/workflows/spellcheck.yaml | 21 | # | COMMENT |
| LOW | .github/workflows/spellcheck.yaml | 41 | # and configuring the action with `use_sarif: 1` | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ci/e2e/run.py | 323 | except Exception as exc: | CODE |
| LOW | ci/e2e/run_personal_shared_folders.py | 156 | except Exception as exc: | CODE |
| LOW | ci/e2e/run_business_shared_folders.py | 161 | except Exception as exc: | CODE |
| LOW | …estcases/tc0063_local_parent_rename_during_download.py | 107 | except Exception as exc: # noqa: BLE001 - preserve the exact failure in artifacts | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …tcases/tc0058_monitor_download_only_cleanup_cadence.py | 407 | # differ across harness/debug paths. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …first_upload_only_timestamp_preservation_validation.py | 35 | def _set_file_mtime(self, path: Path, epoch_seconds: int) -> None: | CODE |