Lore is a next-generation, open source version control system
This report summarizes scanner evidence for EpicGames/lore, a Rust project with 8,902 GitHub stars. SynthScan examined 628,123 lines of code across 1727 source files, recording 4673 pattern matches distributed across 20 syntactic categories. The legacy adjusted pattern signal is 12.7 (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.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 3414 finding(s).
Are imports declared and package/API names verified? 779 finding(s).
Are wrappers, guards, and repeated structures necessary? 1622 finding(s).
Which changes need focused human review? 4673 finding(s).
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.
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.
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.
The scanner identified 4673 distinct pattern matches across 20 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.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | scripts/test/test_lock_release.py | 33 | repo.push() | CODE |
| HIGH | scripts/test/test_lock_release.py | 50 | repo.push() | CODE |
| HIGH | scripts/test/test_deduplicate.py | 35 | repo.push() | CODE |
| HIGH | scripts/test/test_deduplicate.py | 47 | repo2.push() | CODE |
| HIGH | scripts/test/test_deduplicate.py | 56 | repo2.push() | CODE |
| HIGH⚡ | scripts/test/test_view_change.py | 664 | link_repo.push() | CODE |
| HIGH⚡ | scripts/test/test_view_change.py | 669 | repo.push() | CODE |
| HIGH | scripts/test/test_view_change.py | 112 | repo.push() | CODE |
| HIGH | scripts/test/test_view_change.py | 344 | repo.push() | CODE |
| HIGH | scripts/test/test_view_change.py | 454 | ahead.push() | CODE |
| HIGH | scripts/test/test_view_change.py | 542 | layer_repo.push() | CODE |
| HIGH⚡ | scripts/test/test_revert.py | 592 | repo.push() | CODE |
| HIGH⚡ | scripts/test/test_revert.py | 600 | repo.push() | CODE |
| HIGH⚡ | scripts/test/test_revert.py | 608 | repo.push() | CODE |
| HIGH⚡ | scripts/test/test_revert.py | 612 | repo.push() | CODE |
| HIGH⚡ | scripts/test/test_revert.py | 843 | repo.push() | CODE |
| HIGH⚡ | scripts/test/test_revert.py | 852 | repo.push() | CODE |
| HIGH⚡ | scripts/test/test_revert.py | 861 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 35 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 47 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 90 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 101 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 116 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 160 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 168 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 180 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 228 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 236 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 248 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 300 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 308 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 320 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 362 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 370 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 417 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 425 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 438 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 481 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 488 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 501 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 531 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 539 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 550 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 568 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 630 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 657 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 677 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 684 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 695 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 734 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 742 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 754 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 782 | repo2.push() | CODE |
| HIGH | scripts/test/test_revert.py | 790 | repo2.push() | CODE |
| HIGH | scripts/test/test_revert.py | 802 | repo2.push() | CODE |
| HIGH | scripts/test/test_revert.py | 872 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 883 | repo.push() | CODE |
| HIGH | scripts/test/test_revert.py | 912 | repo.push() | CODE |
| HIGH | scripts/test/test_unstage.py | 46 | repo.push() | CODE |
| HIGH | scripts/test/test_unstage.py | 190 | repo.push() | CODE |
| 704 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | about.toml | 41 | license = "ISC" | COMMENT |
| LOW | about.toml | 101 | [[vsimd.clarify.git]] | COMMENT |
| LOW | pyproject.toml | 21 | target-version = "py313" | COMMENT |
| LOW | pyproject.toml | 41 | "slow: marks as a slow running test", | COMMENT |
| LOW | .vale.ini | 21 | COMMENT | |
| LOW | .vale.ini | 41 | COMMENT | |
| LOW | .vale.ini | 81 | # convention, and ADR option/section headings legitimately carry technical | COMMENT |
| LOW | lore-error-set/tests/features.rs | 1 | // SPDX-FileCopyrightText: 2026 Epic Games, Inc. | COMMENT |
| LOW | lore-error-set/tests/matched.rs | 1 | // SPDX-FileCopyrightText: 2026 Epic Games, Inc. | COMMENT |
| LOW | lore-error-set/tests/error_sets.rs | 1 | // SPDX-FileCopyrightText: 2026 Epic Games, Inc. | COMMENT |
| LOW | lore-error-set/tests/ergonomics.rs | 1 | // SPDX-FileCopyrightText: 2026 Epic Games, Inc. | COMMENT |
| LOW | lore-error-set/tests/compile_fail.rs | 1 | // SPDX-FileCopyrightText: 2026 Epic Games, Inc. | COMMENT |
| LOW | lore-error-set/tests/compile_fail.rs | 21 | //! CI installs the *latest* stable (`dtolnay/rust-toolchain@stable`), so a local | COMMENT |
| LOW | lore-error-set/tests/forward_strict.rs | 1 | //! Integration tests for the compile-time-checked strict `forward`. | COMMENT |
| LOW | lore-error-set/tests/ffi.rs | 1 | // SPDX-FileCopyrightText: 2026 Epic Games, Inc. | COMMENT |
| LOW | lore-error-set/tests/forward_any.rs | 1 | // SPDX-FileCopyrightText: 2026 Epic Games, Inc. | COMMENT |
| LOW | lore-error-set/tests/mapping.rs | 1 | // SPDX-FileCopyrightText: 2026 Epic Games, Inc. | COMMENT |
| LOW | lore-error-set/tests/forward.rs | 1 | // SPDX-FileCopyrightText: 2026 Epic Games, Inc. | COMMENT |
| LOW | lore-error-set/tests/interop.rs | 1 | // SPDX-FileCopyrightText: 2026 Epic Games, Inc. | COMMENT |
| LOW | lore-error-set/tests/map_matched_err.rs | 1 | // SPDX-FileCopyrightText: 2026 Epic Games, Inc. | COMMENT |
| LOW | lore-error-set/tests/unit/main.rs | 1 | // SPDX-FileCopyrightText: 2026 Epic Games, Inc. | COMMENT |
| LOW | …set/tests/compile_fail/internal_forbidden_on_traced.rs | 1 | // SPDX-FileCopyrightText: 2026 Epic Games, Inc. | COMMENT |
| LOW | …rror-set/tests/compile_fail/internal_forbidden_ufcs.rs | 1 | // SPDX-FileCopyrightText: 2026 Epic Games, Inc. | COMMENT |
| LOW | lore-error-set/src/lib.rs | 1 | // SPDX-FileCopyrightText: 2026 Epic Games, Inc. | COMMENT |
| LOW | lore-error-set/src/lib.rs | 21 | //! `chain_err` when you hold an extracted `Traced<E>`, or `chain_err_from` | COMMENT |
| LOW | lore-error-set/src/lib.rs | 41 | //! use std::fmt; | COMMENT |
| LOW | lore-error-set/src/lib.rs | 61 | //! impl FfiError for Timeout { fn ffi_code(&self) -> i32 { 2 } } | COMMENT |
| LOW | lore-error-set/src/lib.rs | 101 | pub use crate::set::Has; | COMMENT |
| LOW | lore-error-set/src/internal.rs | 1 | // SPDX-FileCopyrightText: 2026 Epic Games, Inc. | COMMENT |
| LOW | lore-error-set/src/internal.rs | 21 | use crate::traced::Traced; | COMMENT |
| LOW | lore-error-set/src/ffi.rs | 1 | // SPDX-FileCopyrightText: 2026 Epic Games, Inc. | COMMENT |
| LOW | lore-error-set/src/ffi.rs | 21 | /// #[derive(Debug)] | COMMENT |
| LOW | lore-error-set/src/ext.rs | 1 | // SPDX-FileCopyrightText: 2026 Epic Games, Inc. | COMMENT |
| LOW | lore-error-set/src/ext.rs | 21 | // --------------------------------------------------------------------------- | COMMENT |
| LOW | lore-error-set/src/ext.rs | 41 | /// | COMMENT |
| LOW | lore-error-set/src/ext.rs | 121 | /// Never callable, since no type implements [`Forbidden`]. It exists so | COMMENT |
| LOW | lore-error-set/src/ext.rs | 141 | /// | COMMENT |
| LOW | lore-error-set/src/ext.rs | 201 | } | COMMENT |
| LOW | lore-error-set/src/ext.rs | 221 | /// source. | COMMENT |
| LOW | lore-error-set/src/ext.rs | 241 | /// | COMMENT |
| LOW | lore-error-set/src/ext.rs | 361 | /// `#[error_set]` as a `Cons`/`Nil` list of inner types). The bound | COMMENT |
| LOW | lore-error-set/src/ext.rs | 461 | // ForwardAny — lenient forward for sources that over-declare | COMMENT |
| LOW | lore-error-set/src/ext.rs | 481 | /// `HasAll` is keyed on the source's *declared* variants, not on what a given | COMMENT |
| LOW | lore-error-set/src/set.rs | 1 | // SPDX-FileCopyrightText: 2026 Epic Games, Inc. | COMMENT |
| LOW | lore-error-set/src/set.rs | 81 | /// Trait for error sets that support cross-set mapping. | COMMENT |
| LOW | lore-error-set/src/set.rs | 141 | /// this set's handleable variants. Returns `Err(TracedBox)` if no match | COMMENT |
| LOW | lore-error-set/src/set.rs | 161 | /// source declares — turning a missing target variant into a compile error | COMMENT |
| LOW | lore-error-set/src/set.rs | 181 | /// | COMMENT |
| LOW | lore-error-set/src/traced.rs | 1 | // SPDX-FileCopyrightText: 2026 Epic Games, Inc. | COMMENT |
| LOW | lore-error-set/src/traced.rs | 21 | // --------------------------------------------------------------------------- | COMMENT |
| LOW | lore-error-set/src/traced.rs | 161 | // --------------------------------------------------------------------------- | COMMENT |
| LOW | lore-error-set/src/traced.rs | 181 | } | COMMENT |
| LOW | lore-error-set/src/traced.rs | 261 | Self(inner) | COMMENT |
| LOW | lore-error-set/src/traced.rs | 321 | /// set boundaries without losing the trace of where the original error came | COMMENT |
| LOW | lore-error-set/src/traced.rs | 341 | /// RevisionNotFound { revision: signature.clone() } | COMMENT |
| LOW | lore-error-set/src/location.rs | 1 | // SPDX-FileCopyrightText: 2026 Epic Games, Inc. | COMMENT |
| LOW | lore-chaos-client/tests/unit/main.rs | 1 | // SPDX-FileCopyrightText: 2026 Epic Games, Inc. | COMMENT |
| LOW | lore-telemetry/tests/unit/main.rs | 1 | // SPDX-FileCopyrightText: 2026 Epic Games, Inc. | COMMENT |
| LOW | lore-telemetry/src/config.rs | 141 | } | COMMENT |
| LOW | lore-telemetry/src/metrics/http_tower_layer.rs | 21 | use super::http_metrics::HttpRequestMetrics; | COMMENT |
| 1984 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | lore-storage/src/mutable_conformance.rs | 299 | // ── load ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | lore-storage/src/mutable_conformance.rs | 400 | // ── store ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | lore-storage/src/mutable_conformance.rs | 497 | // ── compare_and_swap ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | lore-storage/src/mutable_conformance.rs | 651 | // ── list ────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | lore-storage/src/mutable_conformance.rs | 803 | // ── flush ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | lore-server/config/gha.toml | 1 | # ============================================================================= | COMMENT |
| MEDIUM | lore-server/config/gha.toml | 3 | # ============================================================================= | COMMENT |
| MEDIUM | lore-server/config/gha.toml | 24 | # ============================================================================= | COMMENT |
| MEDIUM | lore-server/config/gha.toml | 26 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | lore-server/config/gha.toml | 37 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | lore-server/config/gha.toml | 39 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | lore-server/config/gha.toml | 49 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | lore-server/config/gha.toml | 51 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | lore-server/config/gha.toml | 56 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | lore-server/config/gha.toml | 58 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | lore-server/config/gha.toml | 63 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | lore-server/config/gha.toml | 65 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | lore-server/config/dev-local.toml | 1 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | lore-server/config/dev-local.toml | 3 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | lore-server/config/dev-local.toml | 7 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | lore-server/config/dev-local.toml | 9 | # ============================================================================= | COMMENT |
| MEDIUM | lore-server/config/dev-local.toml | 28 | # ============================================================================= | COMMENT |
| MEDIUM | lore-server/config/dev-local.toml | 30 | # ============================================================================= | COMMENT |
| MEDIUM | lore-server/config/dev-local.toml | 56 | # ============================================================================= | COMMENT |
| MEDIUM | lore-server/config/dev-local.toml | 58 | # ============================================================================= | COMMENT |
| MEDIUM | lore-server/config/dev-local.toml | 85 | # ============================================================================= | COMMENT |
| MEDIUM | lore-server/config/dev-local.toml | 87 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | lore-server/config/default.toml | 1 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | lore-server/config/default.toml | 3 | # ============================================================================= | COMMENT |
| MEDIUM | lore-server/config/default.toml | 100 | # ============================================================================= | COMMENT |
| MEDIUM | lore-server/config/default.toml | 102 | # ============================================================================= | COMMENT |
| MEDIUM | lore-server/config/default.toml | 113 | # ============================================================================= | COMMENT |
| MEDIUM | lore-server/config/default.toml | 115 | # ============================================================================= | COMMENT |
| MEDIUM | lore-server/config/default.toml | 126 | # ============================================================================= | COMMENT |
| MEDIUM | lore-server/config/default.toml | 128 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | lore-server/config/default.toml | 143 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | lore-server/config/default.toml | 145 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | lore-server/config/default.toml | 150 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | lore-server/config/default.toml | 152 | # ============================================================================= | COMMENT |
| MEDIUM | lore-server/config/thin.example.toml | 1 | # ============================================================================= | COMMENT |
| MEDIUM | lore-server/config/thin.example.toml | 3 | # ============================================================================= | COMMENT |
| MEDIUM | lore-server/config/thin.example.toml | 20 | # ============================================================================= | COMMENT |
| MEDIUM | lore-server/config/thin.example.toml | 22 | # ============================================================================= | COMMENT |
| MEDIUM | lore-server/config/thin.example.toml | 75 | # ============================================================================= | COMMENT |
| MEDIUM | lore-server/config/thin.example.toml | 77 | # ============================================================================= | COMMENT |
| MEDIUM | lore-server/config/thin.example.toml | 111 | # ============================================================================= | COMMENT |
| MEDIUM | lore-server/config/thin.example.toml | 113 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | lore-server/examples/config-consul.toml | 2 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | lore-server/examples/config-consul.toml | 11 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | lore-server/examples/config-consul.toml | 13 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | lore-server/examples/config-consul.toml | 37 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | lore-server/examples/config-consul.toml | 39 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | lore-server/examples/config-aws.toml | 2 | # ===================================================================== | COMMENT |
| MEDIUM | lore-server/examples/config-aws.toml | 22 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | lore-server/examples/config-aws.toml | 24 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | lore-server/examples/config-hooks.toml | 2 | # ===================================================================== | COMMENT |
| MEDIUM | lore-server/examples/config-hooks.toml | 19 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | lore-server/examples/config-hooks.toml | 21 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | lore-server/examples/config-hooks.toml | 61 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | lore-server/examples/config-hooks.toml | 63 | # --------------------------------------------------------------------- | COMMENT |
| 295 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | docs/assets/hooks/test_content_tabs.py | 42 | def test_page_without_tabs_is_untouched(): | STRING |
| LOW⚡ | docs/assets/hooks/test_content_tabs.py | 46 | def test_top_level_group_converts(): | STRING |
| LOW⚡ | docs/assets/hooks/test_content_tabs.py | 56 | def test_nested_in_list_group_keeps_relative_indentation(): | STRING |
| LOW⚡ | docs/assets/hooks/test_content_tabs.py | 159 | def test_single_tab_group_warns(caplog): | STRING |
| LOW⚡ | docs/assets/hooks/test_content_tabs.py | 196 | def test_trailing_dangling_tab_warns_at_marker_line(caplog): | STRING |
| LOW⚡ | docs/assets/hooks/test_content_tabs.py | 218 | def test_star_in_title_is_malformed(caplog, mutate, reason): | STRING |
| LOW⚡ | docs/assets/hooks/test_content_tabs.py | 267 | def test_two_groups_both_convert(): | STRING |
| LOW⚡ | docs/assets/hooks/test_content_tabs.py | 299 | def test_fence_in_body_preserves_content(): | STRING |
| LOW⚡ | docs/assets/hooks/test_content_tabs.py | 315 | def test_malformed_warning_includes_src_uri(caplog): | STRING |
| LOW | docs/assets/hooks/test_content_tabs.py | 91 | def test_markers_inside_fences_are_content(): | STRING |
| LOW | docs/assets/hooks/test_content_tabs.py | 103 | def test_bold_line_in_body_stays_content(): | STRING |
| LOW | docs/assets/hooks/test_content_tabs.py | 140 | def test_malformed_groups_pass_through_with_warning(caplog, mutate, reason): | STRING |
| LOW | docs/assets/hooks/test_content_tabs.py | 148 | def test_nested_start_warns_and_passes_through(caplog): | STRING |
| LOW⚡ | scripts/test/test_view_change.py | 677 | def test_sync_view_moves_the_view_below_a_link_mount(new_lore_repo, scratch_dir): | CODE |
| LOW | scripts/test/test_view_change.py | 205 | def test_sync_view_narrows_then_widens_an_instance(new_lore_repo, scratch_dir): | CODE |
| LOW | scripts/test/test_view_change.py | 266 | def test_sync_view_narrows_to_a_re_including_view(new_lore_repo, scratch_dir): | CODE |
| LOW | scripts/test/test_view_change.py | 297 | def test_sync_view_keeps_a_directory_its_children_leave(new_lore_repo, scratch_dir): | CODE |
| LOW | scripts/test/test_view_change.py | 327 | def test_sync_view_carries_a_revision_move_as_well(new_lore_repo, scratch_dir): | CODE |
| LOW | scripts/test/test_view_change.py | 369 | def test_sync_view_drops_dirty_flags_for_paths_leaving_the_view( | CODE |
| LOW | scripts/test/test_view_change.py | 406 | def test_sync_view_refuses_what_it_cannot_carry(new_lore_repo, scratch_dir): | CODE |
| LOW | scripts/test/test_view_change.py | 436 | def test_sync_view_refuses_a_sync_that_would_merge(new_lore_repo, scratch_dir): | CODE |
| LOW | scripts/test/test_view_change.py | 473 | def test_sync_view_refuses_to_delete_local_modifications(new_lore_repo, scratch_dir): | CODE |
| LOW | scripts/test/test_view_change.py | 505 | def test_sync_view_applied_twice_changes_nothing(new_lore_repo, scratch_dir): | CODE |
| LOW | scripts/test/test_view_change.py | 558 | def test_sync_view_carries_a_layer_mount_out_of_view_and_back( | CODE |
| LOW | scripts/test/test_view_change.py | 598 | def test_sync_view_moves_the_view_below_a_layer_mount(new_lore_repo, scratch_dir): | CODE |
| LOW | scripts/test/test_view_change.py | 618 | def test_sync_view_refused_while_a_layer_holds_staged_content( | CODE |
| LOW | scripts/test/test_view_change.py | 712 | def test_sync_view_carries_a_link_mount_out_of_view_and_back( | CODE |
| LOW | scripts/test/test_view_change.py | 745 | def test_sync_view_reads_a_view_file_whose_path_holds_spaces( | CODE |
| LOW | scripts/test/test_view_change.py | 772 | def test_sync_view_through_the_c_api(new_lore_repo, scratch_dir, lore_library_path): | CODE |
| LOW | scripts/test/test_view_change.py | 806 | def test_sync_view_leaves_another_instance_over_the_same_store_alone( | CODE |
| LOW | scripts/test/test_revert.py | 70 | def test_revert_conflict_resolution(new_lore_repo): | CODE |
| LOW | scripts/test/test_revert.py | 646 | def test_revert_abort_when_none_in_progress(new_lore_repo): | CODE |
| LOW | scripts/test/test_revert.py | 665 | def test_revert_resolve_manual(new_lore_repo): | CODE |
| LOW | scripts/test/test_revert.py | 721 | def test_revert_binary_conflict(new_lore_repo): | CODE |
| LOW | scripts/test/test_revert.py | 894 | def test_revert_oldest_commit(new_lore_repo): | CODE |
| LOW | scripts/test/test_grpc_internal_mtls.py | 243 | def test_client_without_cert_is_rejected( | CODE |
| LOW | scripts/test/test_grpc_internal_mtls.py | 259 | def test_client_with_valid_cert_reaches_grpc( | CODE |
| LOW⚡ | scripts/test/test_maintenance_mode.py | 41 | def _launch_maintenance_server(server_root, server_env, executable_path): | CODE |
| LOW⚡ | scripts/test/test_maintenance_mode.py | 176 | def maintenance_server_config(self, request, tmp_path_factory): | CODE |
| LOW | scripts/test/test_maintenance_mode.py | 204 | def test_public_grpc_is_bound(self, maintenance_server, maintenance_server_config): | CODE |
| LOW | scripts/test/test_maintenance_mode.py | 211 | def test_public_grpc_admin_service_is_not_registered( | CODE |
| LOW | scripts/test/test_maintenance_mode.py | 228 | def test_public_grpc_environment_service_returns_unavailable( | CODE |
| LOW | scripts/test/test_maintenance_mode.py | 239 | def test_public_quic_is_not_started( | CODE |
| LOW | scripts/test/test_maintenance_mode.py | 248 | def test_internal_port_is_not_bound_when_disabled( | CODE |
| LOW | scripts/test/test_maintenance_mode.py | 274 | def maintenance_server_config(self, request, tmp_path_factory): | CODE |
| LOW | scripts/test/test_maintenance_mode.py | 305 | def test_internal_grpc_is_bound( | CODE |
| LOW | scripts/test/test_maintenance_mode.py | 314 | def test_internal_grpc_admin_service_is_not_registered( | CODE |
| LOW | scripts/test/test_maintenance_mode.py | 348 | def maintenance_server_config(self, request, tmp_path_factory): | CODE |
| LOW | scripts/test/test_maintenance_mode.py | 379 | def test_quic_internal_is_not_started( | CODE |
| LOW | scripts/test/test_unstage.py | 33 | def test_unstage_clears_stage_flags_keeps_dirty(new_lore_repo): | CODE |
| LOW | scripts/test/test_unstage.py | 177 | def test_unstage_discard_counts(new_lore_repo): | CODE |
| LOW | scripts/test/test_unstage.py | 420 | def test_stage_and_unstage_of_a_removed_dirty_add_leave_nothing(new_lore_repo): | CODE |
| LOW | scripts/test/test_unstage.py | 446 | def test_restage_after_unstage_promotes_dirty_add_back_to_staged_add(new_lore_repo): | CODE |
| LOW | scripts/test/test_merge_folder_delete.py | 191 | def test_merge_folder_delete_with_added_child(new_lore_repo): | CODE |
| LOW | scripts/test/test_syncfind.py | 124 | def test_sync_branch_at_branch_point(new_lore_repo): | CODE |
| LOW | scripts/test/test_syncfind.py | 223 | def test_clone_and_pin_branch_at_branch_point(new_lore_repo): | CODE |
| LOW | scripts/test/conftest.py | 453 | def _relays_to_the_shared_service(request, monkeypatch): | CODE |
| LOW | scripts/test/conftest.py | 478 | def stops_background_services(lore_service_runner): | CODE |
| LOW | scripts/test/conftest.py | 529 | def lore_server_executable_path(request): | CODE |
| LOW | scripts/test/conftest.py | 804 | def _sandbox_machine_settings(config): | CODE |
| 1077 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | lore-server/build.rs | 587 | //! ## Creating the Dispatcher | COMMENT |
| MEDIUM⚡ | lore-server/config/default.toml | 4 | # This file contains the default settings for all environments. | COMMENT |
| MEDIUM | lore-server/src/hooks/mod.rs | 101 | //! ## Creating the Dispatcher | COMMENT |
| MEDIUM | scripts/test/test_dirty_complex.py | 4801 | # Create a same-revision branch from the v1 head and switch onto it. | COMMENT |
| MEDIUM⚡ | scripts/test/test_sync.py | 313 | # Create a directory in source repo | COMMENT |
| MEDIUM⚡ | scripts/test/test_sync.py | 401 | # Create a conflict | COMMENT |
| MEDIUM | scripts/test/test_sync.py | 343 | # Create a local file in the destination repo subdirectory | COMMENT |
| MEDIUM⚡ | scripts/test/test_layer.py | 737 | # Create the branch in main repo BEFORE adding the layer. | COMMENT |
| MEDIUM⚡ | scripts/test/test_layer.py | 744 | # Create a branch in the layer repo independently with the same name. | COMMENT |
| MEDIUM | scripts/test/test_metadata.py | 93 | # Create a temporary directory for cloned repository | COMMENT |
| MEDIUM⚡ | scripts/test/test_shared_store.py | 208 | # Create a shared store at the default path twice, ensuring the second one fails | COMMENT |
| MEDIUM⚡ | scripts/test/test_shared_store.py | 214 | # Create a shared store at a custom path twice, ensuring the second one fails | COMMENT |
| MEDIUM⚡ | scripts/test/test_shared_store.py | 224 | # Create the default shared store | COMMENT |
| MEDIUM⚡ | scripts/test/test_shared_store.py | 229 | # Create a repo without the shared store and verify that a local immutable store is created | COMMENT |
| MEDIUM⚡ | scripts/test/test_shared_store.py | 236 | # Create a repo using the shared store and verify it used the correct immutable store | COMMENT |
| MEDIUM⚡ | scripts/test/test_shared_store.py | 254 | # Create a different default shared store | COMMENT |
| MEDIUM⚡ | scripts/test/test_shared_store.py | 260 | # Create a repo using the default shared store and verify it used the correct immutable store | COMMENT |
| MEDIUM⚡ | scripts/test/test_shared_store.py | 280 | # Create a non-default shared store | COMMENT |
| MEDIUM⚡ | scripts/test/test_shared_store.py | 285 | # Create a repo using the non-default shared store and verify it used the correct immutable store | COMMENT |
| MEDIUM⚡ | scripts/test/test_shared_store.py | 435 | # Create the shared store with a protocol-less url | COMMENT |
| MEDIUM⚡ | scripts/test/test_shared_store.py | 442 | # Create a repo using the shared store and verify it succeeded despite having a slightly different URL | COMMENT |
| MEDIUM⚡ | scripts/test/test_shared_store.py | 452 | # Create a shared store by creating a repository with --use-shared-store=true and ensure it's in the registry. | COMMENT |
| MEDIUM | scripts/test/test_shared_store.py | 144 | # Create a shared store which will implicitly get set as the default | COMMENT |
| MEDIUM | scripts/test/test_shared_store.py | 155 | # Create a second shared store without making it the default | COMMENT |
| MEDIUM | scripts/test/test_shared_store.py | 168 | # Create a shared store at the default location and let it be the default store. | COMMENT |
| MEDIUM | scripts/test/test_shared_store.py | 181 | # Create a second default location shared store with a different remote URL. Ensure that both defaults show up and a | COMMENT |
| MEDIUM | scripts/test/test_shared_store.py | 310 | # Create a non-default shared store | COMMENT |
| MEDIUM | scripts/test/test_shared_store.py | 322 | # Create a repo using the non-default shared store and verify it used the correct immutable store | COMMENT |
| MEDIUM | scripts/test/test_shared_store.py | 367 | # Create the contents of two files whose size in the immutable store will be much larger than the metadata associate | COMMENT |
| MEDIUM | scripts/test/test_shared_store.py | 466 | # Create a shared store manually and ensure it's in the registry. | COMMENT |
| MEDIUM | scripts/test/test_shared_store.py | 789 | # Create a repo using the shared store | COMMENT |
| MEDIUM | scripts/test/test_shared_store.py | 820 | # Creating a repo that uses the shared store should auto-create mutable/ | COMMENT |
| MEDIUM | scripts/test/test_shared_store.py | 1334 | # Create a new Lore wrapper pointing to the moved location | COMMENT |
| MEDIUM | scripts/test/test_shared_store.py | 1401 | # Create a shared store at a non-default location | COMMENT |
| MEDIUM | scripts/test/test_shared_store.py | 1412 | # Create a repo using the shared store and verify it correctly found the legacy global_store directory | COMMENT |
| MEDIUM | scripts/test/test_shared_store.py | 1446 | # Create a shared store at a non-default location | COMMENT |
| MEDIUM | scripts/test/test_shared_store.py | 1459 | # Create a repo using the shared store and verify it correctly found the legacy global_store directory | COMMENT |
| MEDIUM | scripts/test/test_shared_store.py | 1507 | # Create a repo using the shared store and verify it correctly behaved | COMMENT |
| MEDIUM | scripts/test/test_shared_store.py | 1539 | # Create a repo using the shared store which should fail due to failing to parse the bad config file | COMMENT |
| MEDIUM⚡ | scripts/test/test_case.py | 386 | # Create a second directory with different casing containing new files | COMMENT |
| MEDIUM⚡ | scripts/test/test_case.py | 393 | # Create a third directory with yet another casing | COMMENT |
| MEDIUM⚡ | scripts/test/test_case.py | 462 | # Create a file and push it | COMMENT |
| MEDIUM⚡ | scripts/test/test_case.py | 470 | # Create a second file differing only in case | COMMENT |
| MEDIUM⚡ | scripts/test/test_case.py | 500 | # Create a directory and push it | COMMENT |
| MEDIUM⚡ | scripts/test/test_case.py | 510 | # Create a file whose name is a case variant of the directory | COMMENT |
| MEDIUM | scripts/test/test_case.py | 213 | # Create a directory structure: Content/Maps/level.umap, Content/Audio/music.ogg | COMMENT |
| MEDIUM | scripts/test/test_case.py | 267 | # Create a file with initial casing and push it | COMMENT |
| MEDIUM | scripts/test/test_case.py | 325 | # Create a second directory with different casing containing new files | COMMENT |
| MEDIUM | scripts/test/test_diff.py | 376 | # Create a file and commit it | COMMENT |
| MEDIUM | scripts/test/test_diff.py | 424 | # Create a new file (this will be "added") | COMMENT |
| MEDIUM | scripts/test/test_diff.py | 908 | # Create a feature branch and modify the file | COMMENT |
| MEDIUM | scripts/test/test_diff.py | 1024 | # Create a feature branch and modify the file one way | COMMENT |
| MEDIUM | scripts/test/test_merge.py | 85 | # Create a current branch | COMMENT |
| MEDIUM | scripts/test/test_merge.py | 97 | # Create a incoming branch | COMMENT |
| MEDIUM | scripts/test/test_merge_restart.py | 51 | # Create a third example file | COMMENT |
| MEDIUM | scripts/test/test_view.py | 54 | # Create a view filter | COMMENT |
| MEDIUM⚡ | scripts/test/test_cherry_pick.py | 317 | # Create the commit we want to cherry-pick | COMMENT |
| MEDIUM | scripts/test/test_cherry_pick.py | 940 | # Create the file we'll cherry-pick (on branch-a) | COMMENT |
| MEDIUM⚡ | scripts/test/test_dirty.py | 1200 | # Create a file in a new directory (not in current revision) | COMMENT |
| MEDIUM | scripts/test/test_dirty.py | 124 | # Create a new file (not in revision) and mark dirty | COMMENT |
| 50 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/test/test_lock_release.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_deduplicate.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_view_change.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_revert.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | scripts/test/test_grpc_internal_mtls.py | 34 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | scripts/test/test_maintenance_mode.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_unstage.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_merge_folder_delete.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_syncfind.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/conftest.py | 43 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_merge_resolve.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | scripts/test/test_restore_missing_fragments.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_nodeblock.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_conflict.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_lock_query.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | scripts/test/test_dirty_complex.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_merge_view.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_service.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_obliterate.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_sync.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_filter.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_layer.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_auth.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/service_util.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_branch_switch_reconnect.py | 52 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_branch_metadata.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/thin_client.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_revision_list.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_compact.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_compact.py | 168 | def _set_store_caps(repo: Lore, max_size: str, max_capacity: str) -> None: | CODE |
| LOW⚡ | scripts/test/test_verify.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_push_missing_fragments.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_lock_branch.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_merge_into.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_p4shelve.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_progress_events.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_user_service.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_presign.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_metadata.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_auth_online.py | 72 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_rest.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/mock_auth_server.py | 62 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_status.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_clone.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_dependency.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_utf8.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_search_nearest.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_shared_store.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/lore_parsers.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_push_copy.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | scripts/test/test_delete.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_case.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_diff.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_notifications.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_merge.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_lock.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_latest_list.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_clone_deps.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_merge_restart.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/test/test_view.py | 12 | logger = logging.getLogger(__name__) | CODE |
| 33 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | scripts/test/test_nodeblock.py | 47 | except: | CODE |
| HIGH | scripts/test/test_nodeblock.py | 75 | except: | CODE |
| HIGH | scripts/test/test_branch_switch_reconnect.py | 115 | except subprocess.TimeoutExpired: | CODE |
| HIGH | scripts/test/test_branch_switch_reconnect.py | 119 | except Exception: | CODE |
| HIGH | scripts/test/test_branch_switch_reconnect.py | 111 | except (ProcessLookupError, PermissionError): | CODE |
| HIGH | scripts/test/cleanup_util.py | 120 | except FileNotFoundError: | CODE |
| HIGH | scripts/test/lore_server.py | 624 | except PermissionError: | CODE |
| HIGH | scripts/test/lore_server.py | 234 | except (AttributeError, OSError): | CODE |
| HIGH | scripts/test/lore_server.py | 741 | except Exception: | CODE |
| HIGH | scripts/test/lore_server.py | 636 | except (ProcessLookupError, PermissionError): | CODE |
| HIGH | scripts/test/lore_server.py | 646 | except (ProcessLookupError, PermissionError): | CODE |
| HIGH | scripts/test/test_manyfiles.py | 144 | except: | CODE |
| HIGH | scripts/test/link/test_link_lifecycle.py | 107 | except PathExistChildrenLinkError: | CODE |
| HIGH | scripts/test/link/test_link_lifecycle.py | 577 | except LocalChanges: | CODE |
| HIGH | …ipts/test/regression/test_killed_sync_local_changes.py | 60 | except OSError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | lore-server/README.md | 88 | #### Step 1: Create the Plugin File | COMMENT |
| LOW | lore-server/README.md | 131 | #### Step 2: Build and Use | COMMENT |
| LOW | lore-server/README.md | 169 | #### Step 1: Create the Hook File | COMMENT |
| LOW⚡ | lore-server/src/grpc/handlers/branch_query.rs | 82 | // Step 1: name→ID mapping | COMMENT |
| LOW⚡ | lore-server/src/grpc/handlers/branch_query.rs | 91 | // Step 2: ID→metadata | COMMENT |
| LOW⚡ | lore-server/src/grpc/handlers/branch_query.rs | 100 | // Step 3: Load metadata and verify name matches | COMMENT |
| LOW⚡ | lore-server/src/grpc/handlers/branch_query.rs | 133 | // Step 1: ID→metadata | COMMENT |
| LOW⚡ | lore-server/src/grpc/handlers/branch_query.rs | 142 | // Step 2: Load metadata | COMMENT |
| LOW | lore-server/src/grpc/handlers/branch_query.rs | 156 | // Step 3: Check name→ID(metadata.name) to determine deleted status | COMMENT |
| LOW⚡ | scripts/test/test_dirty_complex.py | 4579 | # Step 1: modify file.txt on disk (no dirty mark yet). | COMMENT |
| LOW⚡ | scripts/test/test_dirty_complex.py | 4585 | # Step 2: status --scan detects file.txt as keep/dirty (idempotent). | COMMENT |
| LOW⚡ | scripts/test/test_dirty_complex.py | 4593 | # Step 3: the scanned modify PERSISTS into a later no-scan status. | COMMENT |
| LOW⚡ | scripts/test/test_dirty_complex.py | 4601 | # Step 4: switch to other (same revision) — the dirty modify CARRIES. | COMMENT |
| LOW | scripts/test/test_dirty_complex.py | 4621 | # Step 5: reset(file.txt) on other restores content + clears tracking. | COMMENT |
| LOW | scripts/test/test_cherry_pick.py | 65 | # Step 1: Branch off main and cherry-pick the last feature commit onto the branch | COMMENT |
| LOW | scripts/test/test_cherry_pick.py | 90 | # Step 2: Switch back to main and cherry-pick the second to last revision | COMMENT |
| LOW | scripts/test/test_cherry_pick.py | 114 | # Step 3: Cherry-pick the last feature commit onto main | COMMENT |
| LOW | scripts/test/test_topology.py | 433 | # Step 4: Verify the file was retrieved correctly | COMMENT |
| LOW⚡ | scripts/test/link/test_link_nested.py | 136 | # Step 1: link B into A. This is an ordinary (non-nested) link and must | COMMENT |
| LOW⚡ | scripts/test/link/test_link_nested.py | 153 | # Step 2: resolve/read machinery through the link works — confirm A can | COMMENT |
| LOW⚡ | scripts/test/link/test_link_nested.py | 159 | # Step 3: the nested link — add a link to C at a path inside B's mounted | COMMENT |
| LOW⚡ | lore-revision/tests/diff3_streaming.rs | 1264 | // Step 1: base revision. | COMMENT |
| LOW⚡ | lore-revision/tests/diff3_streaming.rs | 1270 | // Step 2: target branch modifies shared.txt. | COMMENT |
| LOW⚡ | lore-revision/tests/diff3_streaming.rs | 1275 | // Step 3: switch back to main, create source off base | COMMENT |
| LOW | lore-revision/tests/diff3_streaming.rs | 1286 | // Step 4: merge target into source. Source has not | COMMENT |
| LOW⚡ | lore-revision/tests/diff3_streaming.rs | 1308 | // Step 5: source modifies shared.txt after the merge. | COMMENT |
| LOW⚡ | lore-revision/tests/diff3_streaming.rs | 1315 | // Step 6: 3-way diff. Without history-walk resolution | COMMENT |
| LOW | lore-revision/tests/dirty.rs | 932 | // Step 1: Create a new file and mark it dirty (Dirty+Add) | COMMENT |
| LOW | lore-revision/tests/dirty.rs | 963 | // Step 2: Delete the file from disk and call dirty again | COMMENT |
| LOW⚡ | lore-revision/src/branch.rs | 1525 | // Step 1: Check name→ID for the given name (includes remote lookup on client). | COMMENT |
| LOW⚡ | lore-revision/src/branch.rs | 1529 | // Step 2: Check ID→metadata for the given branch ID. | COMMENT |
| LOW | lore-revision/src/branch.rs | 1544 | // Step 1: Check if name→ID mapping exists for the given name. | COMMENT |
| LOW | lore-revision/src/branch.rs | 1559 | // Step 2: Check if ID→metadata exists for the given branch ID. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | lore-server/src/grpc/handlers/branch_query.rs | 82 | // Step 1: name→ID mapping | COMMENT |
| LOW⚡ | lore-server/src/grpc/handlers/branch_query.rs | 91 | // Step 2: ID→metadata | COMMENT |
| LOW⚡ | lore-server/src/grpc/handlers/branch_query.rs | 100 | // Step 3: Load metadata and verify name matches | COMMENT |
| LOW⚡ | lore-server/src/grpc/handlers/branch_query.rs | 133 | // Step 1: ID→metadata | COMMENT |
| LOW⚡ | lore-server/src/grpc/handlers/branch_query.rs | 142 | // Step 2: Load metadata | COMMENT |
| LOW | lore-server/src/grpc/handlers/branch_query.rs | 156 | // Step 3: Check name→ID(metadata.name) to determine deleted status | COMMENT |
| LOW⚡ | scripts/test/test_dirty_complex.py | 4579 | # Step 1: modify file.txt on disk (no dirty mark yet). | COMMENT |
| LOW⚡ | scripts/test/test_dirty_complex.py | 4585 | # Step 2: status --scan detects file.txt as keep/dirty (idempotent). | COMMENT |
| LOW⚡ | scripts/test/test_dirty_complex.py | 4593 | # Step 3: the scanned modify PERSISTS into a later no-scan status. | COMMENT |
| LOW⚡ | scripts/test/test_dirty_complex.py | 4601 | # Step 4: switch to other (same revision) — the dirty modify CARRIES. | COMMENT |
| LOW | scripts/test/test_dirty_complex.py | 4621 | # Step 5: reset(file.txt) on other restores content + clears tracking. | COMMENT |
| LOW | scripts/test/test_cherry_pick.py | 65 | # Step 1: Branch off main and cherry-pick the last feature commit onto the branch | COMMENT |
| LOW | scripts/test/test_cherry_pick.py | 90 | # Step 2: Switch back to main and cherry-pick the second to last revision | COMMENT |
| LOW | scripts/test/test_cherry_pick.py | 114 | # Step 3: Cherry-pick the last feature commit onto main | COMMENT |
| LOW | scripts/test/test_topology.py | 433 | # Step 4: Verify the file was retrieved correctly | COMMENT |
| LOW⚡ | scripts/test/link/test_link_nested.py | 136 | # Step 1: link B into A. This is an ordinary (non-nested) link and must | COMMENT |
| LOW⚡ | scripts/test/link/test_link_nested.py | 153 | # Step 2: resolve/read machinery through the link works — confirm A can | COMMENT |
| LOW⚡ | scripts/test/link/test_link_nested.py | 159 | # Step 3: the nested link — add a link to C at a path inside B's mounted | COMMENT |
| LOW⚡ | lore-revision/tests/diff3_streaming.rs | 1264 | // Step 1: base revision. | COMMENT |
| LOW⚡ | lore-revision/tests/diff3_streaming.rs | 1270 | // Step 2: target branch modifies shared.txt. | COMMENT |
| LOW⚡ | lore-revision/tests/diff3_streaming.rs | 1275 | // Step 3: switch back to main, create source off base | COMMENT |
| LOW | lore-revision/tests/diff3_streaming.rs | 1286 | // Step 4: merge target into source. Source has not | COMMENT |
| LOW⚡ | lore-revision/tests/diff3_streaming.rs | 1308 | // Step 5: source modifies shared.txt after the merge. | COMMENT |
| LOW⚡ | lore-revision/tests/diff3_streaming.rs | 1315 | // Step 6: 3-way diff. Without history-walk resolution | COMMENT |
| LOW | lore-revision/tests/dirty.rs | 932 | // Step 1: Create a new file and mark it dirty (Dirty+Add) | COMMENT |
| LOW | lore-revision/tests/dirty.rs | 963 | // Step 2: Delete the file from disk and call dirty again | COMMENT |
| LOW⚡ | lore-revision/src/branch.rs | 1525 | // Step 1: Check name→ID for the given name (includes remote lookup on client). | COMMENT |
| LOW⚡ | lore-revision/src/branch.rs | 1529 | // Step 2: Check ID→metadata for the given branch ID. | COMMENT |
| LOW | lore-revision/src/branch.rs | 1544 | // Step 1: Check if name→ID mapping exists for the given name. | COMMENT |
| LOW | lore-revision/src/branch.rs | 1559 | // Step 2: Check if ID→metadata exists for the given branch ID. | COMMENT |
| LOW | lore-revision/src/state.rs | 8654 | // We need to check if the node is actually in use or old stale data | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | pyproject.toml | 26 | # The harness logs every Lore command's output at INFO; capturing it means a | COMMENT |
| MEDIUM | lore-proto/Cargo.toml | 10 | # targets. Set this back to build a harness for unit tests. | COMMENT |
| MEDIUM | lore/Cargo.toml | 49 | # The unit-test binary's process sandbox, set up before the harness starts; see tests/unit/main.rs. | COMMENT |
| MEDIUM | lore-server/Cargo.toml | 84 | # The unit-test binary's store policies, set before the harness starts; see tests/unit/main.rs. | COMMENT |
| LOW | …ng/doc-standards/tools/vale/styles/Lore/Difficulty.yml | 6 | # imperative softeners (`Just create ...`, `simply add ...`), passive ease | COMMENT |
| MEDIUM | lore-integration-tests/Cargo.toml | 13 | # enable it from linking the target at all, rather than linking a harness that | COMMENT |
| MEDIUM | scripts/test/conftest.py | 596 | # The CLI no longer reads this; it is the harness's own record of which server the | COMMENT |
| MEDIUM | scripts/test/lore_parsers.py | 426 | # harness has no field for. Those are skipped rather than failing the parse. | COMMENT |
| MEDIUM | scripts/test/link/test_link_staging.py | 16 | """Test comprehensive link staging scenarios including staging from within links, | STRING |
| MEDIUM | lore-macro/Cargo.toml | 10 | # The crate holds no unit tests. Set this back to build a harness for them. | COMMENT |
| MEDIUM | lore-revision/src/repository/status.rs | 1074 | /// Termination is driven solely by `outstanding` reaching zero, so it is robust | COMMENT |
| MEDIUM | lore-notification/Cargo.toml | 8 | # The crate holds no unit tests. Set this back to build a harness for them. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/assets/hooks/content_tabs.py | 57 | CODE | |
| LOW | docs/assets/hooks/content_tabs.py | 98 | CODE | |
| LOW | scripts/type-sizes.py | 75 | CODE | |
| LOW | scripts/type-sizes.py | 177 | CODE | |
| LOW | scripts/type-sizes.py | 244 | CODE | |
| LOW | scripts/type-sizes.py | 181 | CODE | |
| LOW | scripts/test/test_merge_folder_delete.py | 15 | CODE | |
| LOW | scripts/test/test_merge_folder_delete.py | 191 | CODE | |
| LOW | scripts/test/conftest.py | 712 | CODE | |
| LOW | scripts/test/test_nodeblock.py | 15 | CODE | |
| LOW | scripts/test/test_conflict.py | 167 | CODE | |
| LOW | scripts/test/protobuf_wire.py | 66 | CODE | |
| LOW | scripts/test/gitignore_matrix.py | 191 | CODE | |
| LOW | scripts/test/test_branch_switch_reconnect.py | 143 | CODE | |
| LOW | scripts/test/test_compact.py | 20 | CODE | |
| LOW | scripts/test/mock_auth_server.py | 242 | CODE | |
| LOW | scripts/test/lore_parsers.py | 430 | CODE | |
| LOW | scripts/test/lore_parsers.py | 540 | CODE | |
| LOW | scripts/test/lore_parsers.py | 560 | CODE | |
| LOW | scripts/test/test_merge.py | 1097 | CODE | |
| LOW | scripts/test/test_replicated_store.py | 20 | CODE | |
| LOW | scripts/test/test_dirty.py | 1721 | CODE | |
| LOW | scripts/test/test_restore.py | 18 | CODE | |
| LOW | scripts/test/lore.py | 280 | CODE | |
| LOW | scripts/test/test_stage_parallel.py | 138 | CODE | |
| LOW | scripts/test/lore_server.py | 148 | CODE | |
| LOW | scripts/test/test_manyfiles.py | 20 | CODE | |
| LOW | scripts/test/test_move_copy.py | 2726 | CODE | |
| LOW | scripts/test/test_topology.py | 21 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | scripts/test/test_branch_metadata.py | 0 | an odd number of arguments leaves the trailing key without a value and must be rejected rather than dropping the key or | STRING |
| HIGH | scripts/test/test_metadata.py | 0 | an odd number of arguments leaves the trailing key without a value and must be rejected rather than dropping the key or | STRING |
| HIGH | scripts/test/test_repository_metadata.py | 0 | an odd number of arguments leaves the trailing key without a value and must be rejected rather than dropping the key or | STRING |
| HIGH | scripts/test/test_revision_metadata.py | 0 | an odd number of arguments leaves the trailing key without a value and must be rejected rather than dropping the key or | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/test/test_conflict.py | 237 | # Check if we've hit a new section (non-indented line that's not a file status) | COMMENT |
| LOW | scripts/test/test_move_copy.py | 90 | # Write the file | COMMENT |
| LOW | scripts/test/test_move_copy.py | 315 | # Check if this line is an entry header (action prefix + space + path) | COMMENT |
| LOW | scripts/test/test_move_copy.py | 2086 | # Check if there's a separate move entry (when modify is separate from move) | COMMENT |
| LOW | lore-revision/src/merge.rs | 25 | /// # Return value | COMMENT |
| LOW | lore-revision/src/infer.rs | 86 | /// # Return value | COMMENT |
| LOW | lore-revision/src/infer.rs | 111 | /// # Return value | COMMENT |
| LOW | lore-revision/src/infer.rs | 136 | /// # Return value | COMMENT |
| LOW | lore-io/examples/pool-sweep.sh | 11 | # Set LORE_BENCH_DIR to place the data on the filesystem under test. `cold` expects `prepare-cold` | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/test/test_maintenance_mode.py | 90 | except Exception: | CODE |
| LOW | scripts/test/conftest.py | 769 | except Exception: | CODE |
| LOW | scripts/test/test_branch_switch_reconnect.py | 119 | except Exception: | CODE |
| LOW⚡ | scripts/test/mock_auth_server.py | 552 | except Exception as e: | CODE |
| LOW⚡ | scripts/test/mock_auth_server.py | 569 | except Exception: | CODE |
| LOW | scripts/test/lore.py | 407 | except Exception as e: | CODE |
| LOW | scripts/test/lore_server.py | 741 | except Exception: | CODE |
| LOW | scripts/test/test_move_copy.py | 2273 | except Exception as e: | CODE |
| LOW | scripts/test/test_move_copy.py | 2316 | except Exception: | CODE |
| LOW | scripts/test/test_move_copy.py | 2373 | except Exception: | CODE |
| LOW | scripts/test/test_move_copy.py | 2428 | except Exception: | CODE |
| LOW | scripts/test/test_move_copy.py | 2475 | except Exception: | CODE |
| LOW | scripts/test/test_move_copy.py | 2525 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | notices/merge-manual-additions.py | 29 | CODE | |
| LOW | scripts/test/test_deduplicate.py | 4 | CODE | |
| LOW | scripts/test/test_utils.py | 12 | CODE | |
| LOW | scripts/test/test_layer.py | 11 | CODE | |
| LOW | scripts/test/test_auth.py | 12 | CODE | |
| LOW | scripts/test/lore_parsers.py | 4 | CODE | |
| LOW | scripts/test/test_delete.py | 4 | CODE | |
| LOW | scripts/test/test_delete.py | 5 | CODE | |
| LOW | scripts/test/test_delete.py | 6 | CODE | |
| LOW | scripts/test/lore.py | 4 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | lore/src/revision_tree/commit.rs | 158 | /// opened without a remote configuration — the upload is resolved as requested and | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | lore-server/tests/unit/hooks/context.rs | 40 | .user("user@example.com") | CODE |
| LOW | lore-server/tests/unit/hooks/context.rs | 42 | assert_eq!(ctx.user(), Some("user@example.com")); | CODE |
| LOW | lore-server/src/hooks/context.rs | 62 | /// .user("user@example.com") | COMMENT |
| LOW | lore-server/src/hooks/context.rs | 68 | /// assert_eq!(ctx.user(), Some("user@example.com")); | COMMENT |
| LOW | lore-server/src/hooks/context.rs | 189 | /// .user("user@example.com") | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | scripts/test/test_diff_git_baseline.py | 180 | # A blank line sitting in the context window of a real change must render as a context | COMMENT |
| MEDIUM⚡ | scripts/test/link/test_link_merge_all.py | 121 | # Without multi-repo merge orchestration, the linked repo's files | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/test/lore.py | 280 | CODE | |
| LOW | scripts/test/lore.py | 1581 | CODE | |
| LOW | scripts/test/lore.py | 1964 | CODE | |
| LOW | scripts/test/lore.py | 1990 | CODE | |
| LOW | scripts/test/lore.py | 2278 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | notices/generate-notices.sh | 10 | # Usage: | COMMENT |