Beads - A memory upgrade for your coding agent
This report summarizes scanner evidence for gastownhall/beads, a Go project with 27,786 GitHub stars. SynthScan examined 1,266,539 lines of code across 4365 source files, recording 5449 pattern matches distributed across 21 syntactic categories. The legacy adjusted pattern signal is 4.7 (Low 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? 5156 finding(s).
Are imports declared and package/API names verified? 95 finding(s).
Are wrappers, guards, and repeated structures necessary? 455 finding(s).
Which changes need focused human review? 5449 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 5449 distinct pattern matches across 21 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 |
|---|---|---|---|---|
| LOW | open_backend_selection_test.go | 341 | COMMENT | |
| LOW | .golangci.yml | 41 | - "!**/cmd/bd/proxied_server.go" | COMMENT |
| LOW | .golangci.yml | 81 | desc: "internal/workapi is frontend-independent: the CLI parses flags and passes plain params - see intern | COMMENT |
| LOW | .golangci.yml | 101 | - "!$test" | COMMENT |
| LOW | .golangci.yml | 121 | # thing it is given. | COMMENT |
| LOW | .golangci.yml | 141 | - pkg: github.com/steveyegge/beads/internal/storage/domain | COMMENT |
| LOW | .golangci.yml | 161 | # it a uow.UnitOfWork with no import of its own — measured: a label.go | COMMENT |
| LOW | .golangci.yml | 181 | # | COMMENT |
| LOW | .golangci.yml | 201 | - "**/cmd/bd/state.go" | COMMENT |
| LOW | .golangci.yml | 261 | # The CONSTRUCTION half of that same boundary, and the half that actually | COMMENT |
| LOW | .golangci.yml | 281 | # builder. That is still the difference that matters: the builder is where | COMMENT |
| LOW | .golangci.yml | 341 | COMMENT | |
| LOW | .golangci.yml | 361 | # Existing non-format paths in those families carry local, reviewed | COMMENT |
| LOW | .golangci.yml | 381 | # and a reviewer can count them. | COMMENT |
| LOW | .golangci.yml | 401 | - path: '^cmd/bd/list_show_filter_modes\.go$' | COMMENT |
| LOW | .golangci.yml | 421 | # routes - which is why this hole keeps shrinking rather than growing. | COMMENT |
| LOW | .golangci.yml | 441 | # | COMMENT |
| LOW | .golangci.yml | 461 | # is sized by where the next one may be WRITTEN. A review probe put a | COMMENT |
| LOW | beads.go | 1 | // Package beads provides a minimal public API for extending bd with custom orchestration. | COMMENT |
| LOW | beads.go | 41 | // OpenOptions carries per-open injections (Credential, HTTPClient, | COMMENT |
| LOW | beads.go | 61 | // ErrCredentialWithoutOpenWith is returned by OpenBestAvailableWith when | COMMENT |
| LOW | beads.go | 101 | COMMENT | |
| LOW | beads.go | 121 | // Transaction.RemoveDependencyWithOptions. Exported so embedders can request the | COMMENT |
| LOW | beads.go | 141 | type UpdateIssueOptions = storage.UpdateIssueOptions | COMMENT |
| LOW | beads.go | 161 | type RemoteStore = storage.RemoteStore | COMMENT |
| LOW | beads.go | 181 | } | COMMENT |
| LOW | beads.go | 201 | CountDependentRecords(ctx context.Context, targetID string, depType string) (int, error) | COMMENT |
| LOW | beads.go | 261 | type IssueClaimer interface { | COMMENT |
| LOW | beads.go | 281 | // decorator. (This is unlike the cmd/bd optional interfaces — StoreLocator, | COMMENT |
| LOW | beads.go | 321 | Conflict = storage.Conflict | COMMENT |
| LOW | beads.go | 341 | // subprocesses. | COMMENT |
| LOW | beads.go | 361 | // This always opens in embedded mode. Use OpenFromConfig to respect | COMMENT |
| LOW | beads.go | 381 | // cooperating consumers visible and excludes new ones. Both levels matter: | COMMENT |
| LOW | beads.go | 621 | // DependencyHierarchyConflictError is returned by AddDependency when a blocking | COMMENT |
| LOW | beads_cgo.go | 21 | // | COMMENT |
| LOW | beads_cgo.go | 61 | // the CLI store factories so SDK callers get the backend they registered | COMMENT |
| LOW | claim.go | 1 | package beads | COMMENT |
| LOW | claim.go | 21 | // parsing anything. This shim stays for callers holding a claim error from | COMMENT |
| LOW | claim.go | 61 | } | COMMENT |
| LOW | beads_nocgo.go | 41 | } | COMMENT |
| LOW | PROPOSAL-pluggable-storage-backends.md | 281 | // Run is the PRIMARY seam op: one retryable unit of work. The seam owns | COMMENT |
| LOW | issueops/template_errors.go | 1 | package issueops | COMMENT |
| LOW | issueops/importer.go | 1 | package issueops | COMMENT |
| LOW | issueops/importer.go | 21 | // record wins, which is the classic import's sequential behavior. | COMMENT |
| LOW | issueops/importer.go | 61 | // excluding stale-rejected rows. | COMMENT |
| LOW | issueops/commenter.go | 21 | // issue-to-wisp fallback happens INSIDE, exactly as it does for Reader.Get, | COMMENT |
| LOW | issueops/commenter.go | 41 | // Comment is the stored comment, with the id and created_at the row | COMMENT |
| LOW | issueops/commenter.go | 61 | // it, not a second method here. | COMMENT |
| LOW | issueops/batchcreator.go | 1 | package issueops | COMMENT |
| LOW | issueops/batchcreator.go | 21 | // AN EXPLICIT ID IS CREATE-ONLY, as it is for Lifecycle.Create: an id that | COMMENT |
| LOW | issueops/batchcreator.go | 41 | // cannot, so a forward reference is left unpromised rather than promised | COMMENT |
| LOW | issueops/batchcreator.go | 61 | Actor string | COMMENT |
| LOW | issueops/batchcreator.go | 81 | // ForceIDPrefix permits an explicit ID outside the configured prefix, for | COMMENT |
| LOW | issueops/batchcreator.go | 101 | } | COMMENT |
| LOW | issueops/batchcreator.go | 121 | // nothing durable landed. An all-ephemeral batch writes only to the | COMMENT |
| LOW | issueops/batchcreator.go | 141 | // declared shape and may adopt rows that already exist, where every item here | COMMENT |
| LOW | issueops/batchcreator.go | 161 | // ErrNotFound for an edge whose target is not there — so a caller | COMMENT |
| LOW | issueops/bootstrapper.go | 1 | package issueops | COMMENT |
| LOW | issueops/bootstrapper.go | 21 | // A TRAILING HYPHEN IS STRIPPED, and nothing else about the value is | COMMENT |
| LOW | issueops/bootstrapper.go | 41 | // It echoes rather than adds, deliberately. There is no "created" flag: this | COMMENT |
| 4520 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | cmd/bd/shared_server_integration_test.go | 132 | // ── Init project directories ──────────────────────────────────────── | COMMENT |
| MEDIUM | cmd/bd/shared_server_integration_test.go | 180 | // ── Fan out client workloads ──────────────────────────────────────── | COMMENT |
| MEDIUM | internal/httpclient/served_commenter_test.go | 137 | // ── The stored value ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/httpclient/served_commenter_test.go | 160 | // ── The refusal ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/httpclient/served_issue_operations_test.go | 78 | // ── The create half ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/httpclient/served_issue_operations_test.go | 139 | // ── The update half ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/httpclient/served_issue_operations_test.go | 203 | // ── The parks ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/httpclient/served_bulk_test.go | 42 | // ── Sweeper ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/httpclient/served_bulk_test.go | 163 | // ── Deleter ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/httpclient/served_bulk_test.go | 513 | // ── BatchCreator ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/httpapi/spec/openapi.v0.yaml | 6661 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | internal/httpapi/spec/openapi.v0.yaml | 6683 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | internal/httpapi/spec/openapi.v0.yaml | 7985 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | internal/httpapi/spec/openapi.v0.yaml | 7996 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | internal/storage/hook_decorator.go | 181 | // ── Issue mutations ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/storage/hook_decorator.go | 279 | // ── Dependency mutations ──────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/storage/hook_decorator.go | 317 | // ── Label mutations ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/storage/hook_decorator.go | 350 | // ── Comment mutations ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/storage/hook_decorator.go | 362 | // ── Transaction support ───────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/storage/hook_decorator.go | 404 | // ── Internal helpers ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/storage/hook_decorator.go | 507 | // ── Hook tracking transaction ─────────────────────────────────────── | COMMENT |
| MEDIUM | internal/storage/uow/notifying.go | 211 | // ── Capability accessors ──────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/storage/uow/notifying.go | 327 | // ── Provider capabilities that are not roles ──────────────────────── | COMMENT |
| MEDIUM | internal/storage/uow/notifying.go | 434 | // ── The unit of work ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/storage/uow/notifying.go | 514 | // ── The buffer ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/storage/uow/notifying.go | 633 | // ── Snapshots ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/storage/uow/notifying.go | 738 | // ── Issue use case ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/storage/uow/notifying.go | 1199 | // ── Dependency use case ───────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/storage/uow/notifying.go | 1286 | // ── Label use case ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/storage/uow/notifying.go | 1420 | // ── Comment use case ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/storage/uow/notifying_test.go | 15 | // ── Fakes ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/storage/uow/notifying_test.go | 293 | // ── The contract ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/storage/uow/notifying_parity_test.go | 100 | // ── The unit of work's use cases ──────────────────────────────────── | COMMENT |
| MEDIUM | internal/storage/uow/notifying_parity_test.go | 244 | // ── The provider's capability surface ─────────────────────────────── | COMMENT |
| MEDIUM | internal/storage/externaldeps/remote_roles.go | 153 | // ── Reader ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/storage/externaldeps/remote_roles.go | 244 | // ── Claimer ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/storage/externaldeps/remote_roles.go | 266 | // ── ReadyClaimer ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/storage/externaldeps/remote_roles.go | 383 | // ── ReadyCounter ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/storage/externaldeps/remote_roles.go | 404 | // ── BlockingAnnotator ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/storage/externaldeps/remote_roles.go | 440 | // ── TreeWalker ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/storage/externaldeps/remote_roles.go | 483 | // ── BatchCloser ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/storage/dolt/pull_branch_tracking_integration_test.go | 38 | // ── Remote server ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/storage/dolt/pull_branch_tracking_integration_test.go | 66 | // ── Local DoltStore ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/storage/dolt/pull_branch_tracking_integration_test.go | 82 | // ── Confirm the bug scenario is present ──────────────────────────────────── | COMMENT |
| MEDIUM | …/storage/dolt/pull_branch_tracking_integration_test.go | 101 | // ── Verify the fix: pullWithAutoResolve succeeds via fallback ────────────── | COMMENT |
| MEDIUM | internal/storage/dolt/conflicts_integration_test.go | 305 | // ── The BLOCKING merge state (wy-36ilm F12), dolt-backed ──────────────── | COMMENT |
| MEDIUM | internal/telemetry/storage.go | 98 | // ── Issue CRUD ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/telemetry/storage.go | 290 | // ── Dependencies ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/telemetry/storage.go | 381 | // ── Labels ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/telemetry/storage.go | 438 | // ── Work queries ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/telemetry/storage.go | 487 | // ── Comments & events ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/telemetry/storage.go | 556 | // ── Statistics ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/telemetry/storage.go | 575 | // ── Configuration ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/telemetry/storage.go | 651 | // ── Transactions ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/telemetry/storage.go | 668 | // ── Wisp queries ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/telemetry/storage.go | 677 | // ── Streaming iterators ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/telemetry/storage.go | 753 | // ── Count* aggregates ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/telemetry/storage.go | 797 | // ── MergeSlot ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/telemetry/storage.go | 827 | // ── Metadata slots ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/telemetry/storage.go | 857 | // ── Lifecycle ──────────────────────────────────────────────────────────────── | COMMENT |
| 113 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tools/bazel/ci_analytics_extract_test.py | 244 | def test_valid_label_rejects_trailing_newline(self): | CODE |
| LOW⚡ | tools/bazel/ci_analytics_extract_test.py | 253 | def test_valid_label_caps_length(self): | CODE |
| LOW⚡ | tools/bazel/ci_analytics_extract_test.py | 263 | def test_valid_label_drops_tripwire_strings_individually(self): | CODE |
| LOW⚡ | tools/bazel/ci_analytics_extract_test.py | 268 | def test_valid_mnemonic_rejects_injected_text(self): | CODE |
| LOW⚡ | tools/bazel/ci_analytics_extract_test.py | 272 | def test_valid_command_and_version(self): | CODE |
| LOW⚡ | tools/bazel/ci_analytics_extract_test.py | 1033 | def test_spawn_target_as_varint_is_skipped_not_crashed(self): | CODE |
| LOW⚡ | tools/bazel/ci_analytics_extract_test.py | 1043 | def test_metrics_input_bytes_as_bytes_is_skipped_not_crashed(self): | CODE |
| LOW⚡ | tools/bazel/ci_analytics_extract_test.py | 1052 | def test_invocation_submessage_as_varint_degrades(self): | CODE |
| LOW⚡ | tools/bazel/ci_analytics_extract_test.py | 1057 | def test_huge_length_prefix_does_not_crash(self): | CODE |
| LOW⚡ | tools/bazel/ci_analytics_extract_test.py | 1063 | def test_deadline_is_checked_inside_a_single_oversized_submessage(self): | CODE |
| LOW⚡ | tools/bazel/ci_analytics_extract_test.py | 1089 | def test_bep_line_is_a_bare_string(self): | CODE |
| LOW⚡ | tools/bazel/ci_analytics_extract_test.py | 1097 | def test_bep_inf_number_in_started(self): | CODE |
| LOW⚡ | tools/bazel/ci_analytics_extract_test.py | 1103 | def test_bep_started_not_a_dict(self): | CODE |
| LOW⚡ | tools/bazel/ci_analytics_extract_test.py | 1111 | def test_critpath_bad_float_does_not_crash(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 224 | def test_varint_rejects_truncated_input(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 228 | def test_varint_rejects_overlong_input(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 292 | def test_as_int_handles_overflowing_float(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 307 | def test_clamp_pct_rejects_non_finite_and_out_of_range(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 333 | def test_clamp_duration_ms_rejects_negative_and_absurdly_large(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 347 | def _fixture_critical_path_time(): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 358 | def test_cold_invocation_has_a_failed_test_and_local_spawns(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 419 | def test_postclean_invocation_is_mostly_disk_cache_hits(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 440 | def test_repo_fetch_is_read_from_the_profile(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 464 | def test_unreadable_profile_path_is_reported_accurately(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 517 | def test_fixtures_do_not_leak_the_operator_environment(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 593 | def test_remote_and_remote_cache_hit_spawns_are_classified(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 641 | def test_poisoned_bep_leaks_nothing(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 661 | def test_full_summary_build_rejects_nothing_silently_wrong(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 678 | def test_poisoned_exec_log_leaks_nothing(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 722 | def test_poisoned_profile_leaks_nothing(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 758 | def test_one_tripwire_label_drops_only_that_row(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 857 | def test_too_many_invocations_rejected(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 866 | def test_hostile_lane_mode_step_and_uuid_are_rejected_or_dropped(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 904 | def test_mode_enum_is_enforced(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 922 | def test_elapsed_and_critical_path_decode(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 948 | def test_critical_path_test_line_matches_unsharded_tests_too(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 966 | def test_critical_path_pct_keys_always_present_even_with_no_match(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 1012 | def test_truncated_varint_tail_degrades_to_corrupt(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 1134 | def test_testresult_not_a_dict(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 1146 | def test_runnercount_count_overflow_does_not_crash(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 1161 | def test_repo_fetch_infinite_ts_does_not_crash(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 1176 | def test_repo_fetch_nan_ts_does_not_crash(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 1186 | def test_repo_fetch_overflowing_sum_does_not_crash(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 1199 | def test_repo_fetch_corrupt_entry_does_not_hide_valid_siblings(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 1210 | def test_negative_queue_duration_decodes_to_zero_not_a_huge_positive(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 1244 | def test_absurdly_large_duration_clamps_to_zero(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 1269 | def test_exec_log_parse_timeout_is_reported(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 1328 | def test_zstd_decompression_bomb_is_bounded(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 1364 | def test_max_test_results_is_a_global_total_not_per_label(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 1414 | def test_exit_code_is_minus_one_without_a_finished_event(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 1419 | def test_profile_missing_vs_unreadable_vs_ok(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 1436 | def test_exec_log_missing_vs_unreadable(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 1491 | def test_malformed_middle_line_drops_the_invocation(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 1501 | def test_truncated_last_line_sets_bep_truncated(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 1512 | def test_beads_mismatch_fixture_reports_mismatch(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 1554 | def test_skewed_remote_test_timing_clamps_to_zero(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 1567 | def test_worst_observed_skew_and_negative_duration_clamp_to_zero(self): | CODE |
| LOW | tools/bazel/ci_analytics_extract_test.py | 1578 | def test_implausibly_large_test_timing_clamps_to_zero(self): | CODE |
| LOW | tools/bazel/rrc_verify_test.py | 196 | def test_guid_for_every_release_is_a_uuid(self): | CODE |
| LOW | tools/bazel/rrc_verify_test.py | 200 | def test_bazelversion_has_a_guid(self): | CODE |
| 185 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | cmd/bd/init_team.go | 26 | // Step 1: Check if we're in a git repository | COMMENT |
| LOW | cmd/bd/init_team.go | 45 | // Step 2: Check for protected main branch | COMMENT |
| LOW | cmd/bd/init_team.go | 108 | // Step 3: Configure team settings | COMMENT |
| LOW | cmd/bd/init_team.go | 123 | // Step 4: Summary | COMMENT |
| LOW | cmd/bd/init_contributor.go | 61 | // Step 1: Detect fork relationship | COMMENT |
| LOW | cmd/bd/init_contributor.go | 91 | // Step 2: Check push access to origin | COMMENT |
| LOW | cmd/bd/init_contributor.go | 119 | // Step 3: Configure planning repository | COMMENT |
| LOW | cmd/bd/init_contributor.go | 211 | // Step 4: Configure contributor routing | COMMENT |
| LOW | cmd/bd/init_contributor.go | 254 | // Step 5: Summary | COMMENT |
| LOW⚡ | cmd/bd/migrate_issues.go | 134 | // Step 1: Validate repositories exist | COMMENT |
| LOW⚡ | cmd/bd/migrate_issues.go | 139 | // Step 2: Build initial candidate set C using filters | COMMENT |
| LOW⚡ | cmd/bd/migrate_issues.go | 155 | // Step 3: Expand set to M (migration set) based on --include | COMMENT |
| LOW⚡ | cmd/bd/migrate_issues.go | 161 | // Step 4: Check for orphaned dependencies | COMMENT |
| LOW⚡ | cmd/bd/migrate_issues.go | 171 | // Step 5: Build migration plan | COMMENT |
| LOW⚡ | cmd/bd/migrate_issues.go | 174 | // Step 6: Display plan | COMMENT |
| LOW⚡ | cmd/bd/migrate_issues.go | 179 | // Step 7: Execute migration if not dry-run | COMMENT |
| LOW⚡ | cmd/bd/import_prefix_test.go | 30 | // Step 0: Locate the bd binary — shared once-per-process build (honors | COMMENT |
| LOW⚡ | cmd/bd/import_prefix_test.go | 35 | // Step 1: Setup a database with a specific prefix | COMMENT |
| LOW⚡ | cmd/bd/import_prefix_test.go | 52 | // Step 2: A JSONL record minted by a DIFFERENT tracker (foreign prefix) | COMMENT |
| LOW⚡ | cmd/bd/import_prefix_test.go | 59 | // Step 3: Import must succeed with no special flag | COMMENT |
| LOW⚡ | cmd/bd/import_prefix_test.go | 65 | // Step 4: Verify the issue landed under its original id | COMMENT |
| LOW | cmd/bd/mol_ready_gated.go | 155 | // Step 1: Find all closed gate beads | COMMENT |
| LOW⚡ | cmd/bd/mol_ready_gated.go | 172 | // Step 2: Get ready work to check which steps are ready | COMMENT |
| LOW⚡ | cmd/bd/mol_ready_gated.go | 182 | // Step 3: Get hooked molecules to filter out | COMMENT |
| LOW | cmd/bd/mol_ready_gated.go | 206 | // Step 4: For each closed gate, collect all dependents that are ready, | COMMENT |
| LOW | cmd/bd/main_test.go | 31 | // Step 1: Create an open issue in the database | COMMENT |
| LOW⚡ | cmd/bd/main_test.go | 48 | // Step 2: Lifecycle transitions use the dedicated close operation. | COMMENT |
| LOW⚡ | cmd/bd/main_test.go | 53 | // Step 3: Verify the issue is now closed with correct closed_at | COMMENT |
| LOW | cmd/bd/main_test.go | 78 | // Step 1: Create a closed issue in the database | COMMENT |
| LOW⚡ | cmd/bd/main_test.go | 96 | // Step 2: Lifecycle transitions use the dedicated reopen operation. | COMMENT |
| LOW⚡ | cmd/bd/main_test.go | 101 | // Step 3: Verify the issue is now open with null closed_at | COMMENT |
| LOW⚡ | cmd/bd/doctor/gitignore_test.go | 2424 | // Step 1: Check should detect outdated | COMMENT |
| LOW⚡ | cmd/bd/doctor/gitignore_test.go | 2430 | // Step 2: Fix should update the redirect target | COMMENT |
| LOW⚡ | cmd/bd/doctor/gitignore_test.go | 2435 | // Step 3: Re-check should pass | COMMENT |
| LOW⚡ | cmd/bd/doctor/gitignore_test.go | 2441 | // Step 4: No .gitignore in redirect-only dir (the original bug) | COMMENT |
| LOW | engdocs/RULES_AUDIT_DESIGN.md | 123 | ### Step 1: Parse Rules | COMMENT |
| LOW | engdocs/RULES_AUDIT_DESIGN.md | 134 | ### Step 2: Keyword Extraction | COMMENT |
| LOW | engdocs/RULES_AUDIT_DESIGN.md | 145 | ### Step 3: Overlap Scoring (Merge Candidates) | COMMENT |
| LOW | engdocs/RULES_AUDIT_DESIGN.md | 160 | ### Step 4: Contradiction Detection | COMMENT |
| LOW | engdocs/RULES_AUDIT_DESIGN.md | 183 | ### Step 5: Compaction (for `bd rules compact`) | COMMENT |
| LOW | tests/regression/scenarios_test.go | 156 | // Step 1: Create rich data in baseline | COMMENT |
| LOW⚡ | tests/regression/scenarios_test.go | 170 | // Step 2: Export from baseline | COMMENT |
| LOW⚡ | tests/regression/scenarios_test.go | 178 | // Step 3: Import into candidate | COMMENT |
| LOW⚡ | tests/regression/scenarios_test.go | 186 | // Step 4: Export from candidate and compare | COMMENT |
| LOW | tests/regression/regression_test.go | 484 | // Step 1: get all issue IDs via bd list (--all includes closed issues, | COMMENT |
| LOW | tests/regression/regression_test.go | 509 | // Step 2: for each ID, run bd show --json and emit one JSONL line | COMMENT |
| LOW | internal/storage/issueops/molecule.go | 35 | // Step 1: Get child issue IDs from dependencies table. | COMMENT |
| LOW | internal/storage/issueops/molecule.go | 57 | // Step 2: Batch-fetch status for all children. | COMMENT |
| LOW | internal/storage/issueops/epic_closure.go | 14 | // Step 1: Get open epic IDs (single-table scan) | COMMENT |
| LOW | internal/storage/issueops/epic_closure.go | 38 | // Step 2: Get parent-child dependencies from both tables (bd-w2w) | COMMENT |
| LOW | internal/storage/issueops/epic_closure.go | 70 | // Step 3: Batch-fetch statuses + close_reason for all child issues (bd-w2w). | COMMENT |
| LOW | internal/storage/issueops/epic_closure.go | 116 | // Step 4: Batch-fetch all epic issues | COMMENT |
| LOW | internal/storage/issueops/epic_closure.go | 132 | // Step 5: Build results from cached data | COMMENT |
| LOW | …e/schema/migration_0068_add_attribution_status_test.go | 52 | // Step 7: the durable_state retype, guarded on DATA_TYPE (0057's | COMMENT |
| LOW | …e/schema/migration_0068_add_attribution_status_test.go | 130 | // Step 7: 0067 created durable_state as JSON; after 0068 it is the | COMMENT |
| LOW⚡ | internal/storage/embeddeddolt/federation.go | 360 | // Step 1: Fetch | COMMENT |
| LOW⚡ | internal/storage/embeddeddolt/federation.go | 367 | // Step 2: Get commit before merge for change detection | COMMENT |
| LOW⚡ | internal/storage/embeddeddolt/federation.go | 370 | // Step 3: Merge peer's branch | COMMENT |
| LOW⚡ | internal/storage/embeddeddolt/federation.go | 378 | // Step 4: Handle conflicts | COMMENT |
| LOW | internal/storage/embeddeddolt/federation.go | 421 | // Step 5: Push | COMMENT |
| 33 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | cmd/bd/init_team.go | 26 | // Step 1: Check if we're in a git repository | COMMENT |
| LOW | cmd/bd/init_team.go | 45 | // Step 2: Check for protected main branch | COMMENT |
| LOW | cmd/bd/init_team.go | 108 | // Step 3: Configure team settings | COMMENT |
| LOW | cmd/bd/init_team.go | 123 | // Step 4: Summary | COMMENT |
| LOW | cmd/bd/init_contributor.go | 61 | // Step 1: Detect fork relationship | COMMENT |
| LOW | cmd/bd/init_contributor.go | 91 | // Step 2: Check push access to origin | COMMENT |
| LOW | cmd/bd/init_contributor.go | 119 | // Step 3: Configure planning repository | COMMENT |
| LOW | cmd/bd/init_contributor.go | 211 | // Step 4: Configure contributor routing | COMMENT |
| LOW | cmd/bd/init_contributor.go | 254 | // Step 5: Summary | COMMENT |
| LOW⚡ | cmd/bd/migrate_issues.go | 134 | // Step 1: Validate repositories exist | COMMENT |
| LOW⚡ | cmd/bd/migrate_issues.go | 139 | // Step 2: Build initial candidate set C using filters | COMMENT |
| LOW⚡ | cmd/bd/migrate_issues.go | 155 | // Step 3: Expand set to M (migration set) based on --include | COMMENT |
| LOW⚡ | cmd/bd/migrate_issues.go | 161 | // Step 4: Check for orphaned dependencies | COMMENT |
| LOW⚡ | cmd/bd/migrate_issues.go | 171 | // Step 5: Build migration plan | COMMENT |
| LOW⚡ | cmd/bd/migrate_issues.go | 174 | // Step 6: Display plan | COMMENT |
| LOW⚡ | cmd/bd/migrate_issues.go | 179 | // Step 7: Execute migration if not dry-run | COMMENT |
| LOW⚡ | cmd/bd/import_prefix_test.go | 30 | // Step 0: Locate the bd binary — shared once-per-process build (honors | COMMENT |
| LOW⚡ | cmd/bd/import_prefix_test.go | 35 | // Step 1: Setup a database with a specific prefix | COMMENT |
| LOW⚡ | cmd/bd/import_prefix_test.go | 52 | // Step 2: A JSONL record minted by a DIFFERENT tracker (foreign prefix) | COMMENT |
| LOW⚡ | cmd/bd/import_prefix_test.go | 59 | // Step 3: Import must succeed with no special flag | COMMENT |
| LOW⚡ | cmd/bd/import_prefix_test.go | 65 | // Step 4: Verify the issue landed under its original id | COMMENT |
| LOW | cmd/bd/mol_ready_gated.go | 155 | // Step 1: Find all closed gate beads | COMMENT |
| LOW⚡ | cmd/bd/mol_ready_gated.go | 172 | // Step 2: Get ready work to check which steps are ready | COMMENT |
| LOW⚡ | cmd/bd/mol_ready_gated.go | 182 | // Step 3: Get hooked molecules to filter out | COMMENT |
| LOW | cmd/bd/mol_ready_gated.go | 206 | // Step 4: For each closed gate, collect all dependents that are ready, | COMMENT |
| LOW | cmd/bd/main_test.go | 31 | // Step 1: Create an open issue in the database | COMMENT |
| LOW⚡ | cmd/bd/main_test.go | 48 | // Step 2: Lifecycle transitions use the dedicated close operation. | COMMENT |
| LOW⚡ | cmd/bd/main_test.go | 53 | // Step 3: Verify the issue is now closed with correct closed_at | COMMENT |
| LOW | cmd/bd/main_test.go | 78 | // Step 1: Create a closed issue in the database | COMMENT |
| LOW⚡ | cmd/bd/main_test.go | 96 | // Step 2: Lifecycle transitions use the dedicated reopen operation. | COMMENT |
| LOW⚡ | cmd/bd/main_test.go | 101 | // Step 3: Verify the issue is now open with null closed_at | COMMENT |
| LOW⚡ | cmd/bd/doctor/gitignore_test.go | 2424 | // Step 1: Check should detect outdated | COMMENT |
| LOW⚡ | cmd/bd/doctor/gitignore_test.go | 2430 | // Step 2: Fix should update the redirect target | COMMENT |
| LOW⚡ | cmd/bd/doctor/gitignore_test.go | 2435 | // Step 3: Re-check should pass | COMMENT |
| LOW⚡ | cmd/bd/doctor/gitignore_test.go | 2441 | // Step 4: No .gitignore in redirect-only dir (the original bug) | COMMENT |
| LOW | cmd/bd/doctor/integrity.go | 719 | // So we need to check if the length variation is natural (1→2→3 digits) | COMMENT |
| LOW | tests/regression/scenarios_test.go | 156 | // Step 1: Create rich data in baseline | COMMENT |
| LOW⚡ | tests/regression/scenarios_test.go | 170 | // Step 2: Export from baseline | COMMENT |
| LOW⚡ | tests/regression/scenarios_test.go | 178 | // Step 3: Import into candidate | COMMENT |
| LOW⚡ | tests/regression/scenarios_test.go | 186 | // Step 4: Export from candidate and compare | COMMENT |
| LOW | tests/regression/regression_test.go | 484 | // Step 1: get all issue IDs via bd list (--all includes closed issues, | COMMENT |
| LOW | tests/regression/regression_test.go | 509 | // Step 2: for each ID, run bd show --json and emit one JSONL line | COMMENT |
| LOW | internal/storage/issueops/molecule.go | 35 | // Step 1: Get child issue IDs from dependencies table. | COMMENT |
| LOW | internal/storage/issueops/molecule.go | 57 | // Step 2: Batch-fetch status for all children. | COMMENT |
| LOW | internal/storage/issueops/epic_closure.go | 14 | // Step 1: Get open epic IDs (single-table scan) | COMMENT |
| LOW | internal/storage/issueops/epic_closure.go | 38 | // Step 2: Get parent-child dependencies from both tables (bd-w2w) | COMMENT |
| LOW | internal/storage/issueops/epic_closure.go | 70 | // Step 3: Batch-fetch statuses + close_reason for all child issues (bd-w2w). | COMMENT |
| LOW | internal/storage/issueops/epic_closure.go | 116 | // Step 4: Batch-fetch all epic issues | COMMENT |
| LOW | internal/storage/issueops/epic_closure.go | 132 | // Step 5: Build results from cached data | COMMENT |
| LOW | …e/schema/migration_0068_add_attribution_status_test.go | 52 | // Step 7: the durable_state retype, guarded on DATA_TYPE (0057's | COMMENT |
| LOW | …e/schema/migration_0068_add_attribution_status_test.go | 130 | // Step 7: 0067 created durable_state as JSON; after 0068 it is the | COMMENT |
| LOW⚡ | internal/storage/embeddeddolt/federation.go | 360 | // Step 1: Fetch | COMMENT |
| LOW⚡ | internal/storage/embeddeddolt/federation.go | 367 | // Step 2: Get commit before merge for change detection | COMMENT |
| LOW⚡ | internal/storage/embeddeddolt/federation.go | 370 | // Step 3: Merge peer's branch | COMMENT |
| LOW⚡ | internal/storage/embeddeddolt/federation.go | 378 | // Step 4: Handle conflicts | COMMENT |
| LOW | internal/storage/embeddeddolt/federation.go | 421 | // Step 5: Push | COMMENT |
| LOW | internal/storage/dolt/git_remote_test.go | 1041 | // Step 1: Source creates data and pushes | COMMENT |
| LOW | internal/storage/dolt/git_remote_test.go | 1062 | // Step 2: Bootstrap clone from git remote | COMMENT |
| LOW | internal/storage/dolt/git_remote_test.go | 1111 | // Step 3: Clone adds data and pushes back | COMMENT |
| LOW | internal/storage/dolt/git_remote_test.go | 1137 | // Step 4: Re-open source and pull — verify bidirectional sync | COMMENT |
| 14 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | cmd/bd/max_rows_embedded_test.go | 429 | // raw stdout is a robust enough check for our small fixtures. | COMMENT |
| MEDIUM | cmd/bd/export_auto.go | 1489 | // rather than substring-matching: robust to key order/spacing and | COMMENT |
| MEDIUM | cmd/bd/doctor/integrity.go | 103 | // Detect ID format using robust heuristic | COMMENT |
| MEDIUM | cmd/bd/doctor/integrity.go | 684 | // This is more robust than checking a single ID's format, since base36 hash IDs can be all-numeric. | COMMENT |
| MEDIUM | …ts/hook_timeout_backends/hook_timeout_backends_test.sh | 26 | # No clock is involved: if nothing kills the fake, the harness's own | COMMENT |
| MEDIUM⚡ | tests/oracle-a/run-oracle-a.sh | 12 | # The differential is driven by the Rust conformance harness under harness/ | COMMENT |
| MEDIUM⚡ | tests/oracle-a/run-oracle-a.sh | 13 | # (see harness/PROVENANCE.md); the harness is pointed at two Go bd binaries and | COMMENT |
| MEDIUM⚡ | tests/oracle-a/run-oracle-a.sh | 18 | # scenarios, `harness/scenarios/enumerated.json`) — the deep tier (~10-15 min). | COMMENT |
| MEDIUM | tests/oracle-a/run-oracle-a.sh | 152 | # --- 3. build the conformance harness ------------------------------------------------ | COMMENT |
| MEDIUM | tests/oracle-a/run-oracle-a.sh | 224 | # The harness writes failures to a fixed /tmp path that concurrent runs on a | COMMENT |
| MEDIUM | tests/oracle-a/harness/Cargo.toml | 7 | # Standalone conformance harness for Oracle A — the bd refactor-safety | COMMENT |
| MEDIUM | tests/migration/historical_upgrade_test.sh | 13 | # the harness changes directory. Any further arguments (a lane's | COMMENT |
| MEDIUM | tests/migration/legacy_bridge_test.sh | 3 | # scripts/migration-test/run.sh runs before the corpus. Runs the harness in | COMMENT |
| MEDIUM | internal/doltserver/doltserver_test.go | 490 | // directly. Makes the contract robust to wording changes in the | COMMENT |
| MEDIUM | internal/doltserver/gc_config_test.go | 154 | // sleep, robust to coarse filesystem mtime resolution); both stub scripts | COMMENT |
| MEDIUM | internal/utils/id_parser.go | 197 | // Use the hash part as a search query to leverage SQL-level filtering | COMMENT |
| MEDIUM | internal/beads/beads.go | 1420 | // Canonicalize the boundary so the `dir == gitRoot` comparison is robust | COMMENT |
| MEDIUM | internal/beads/beads.go | 1467 | // `dir == gitRoot` comparison below is robust against symlink or case-form | COMMENT |
| MEDIUM | integrations/beads-mcp/src/beads_mcp/tools.py | 764 | """Run comprehensive database health checks. | STRING |
| MEDIUM | examples/formulas/gh-pr-review.formula.toml | 87 | description = """Fetch comprehensive PR metadata needed for classification and review. | CODE |
| MEDIUM | examples/formulas/primitives/branch-fanin.formula.toml | 5 | # completes. The smoke harness asserts `deploy` blocks on each of `test`, | COMMENT |
| MEDIUM | examples/formulas/primitives/children-epic.formula.toml | 5 | # blocking dependencies. The smoke harness asserts the parent epic + 2 | COMMENT |
| MEDIUM | examples/formulas/primitives/loop-range.formula.toml | 5 | # titled "Move 1", "Move 2", "Move 3" — the smoke harness asserts those | COMMENT |
| MEDIUM | examples/formulas/primitives/loop-count.formula.toml | 6 | # `process.iter3.work`. The smoke harness asserts those three IDs exist. | COMMENT |
| MEDIUM | examples/formulas/primitives/condition.formula.toml | 7 | # (3 child issues). The smoke harness exercises both branches. | COMMENT |
| MEDIUM | examples/formulas/primitives/gate-timer.formula.toml | 6 | # The smoke harness asserts the gate issue exists with await_type=timer | COMMENT |
| MEDIUM | scripts/bazel_policy_test.go | 621 | "comment too far": "# manual: harness\n\ngo_test(\n name = \"x\",\n tags = [\"manual\"],\n)\n", | CODE |
| MEDIUM | scripts/bazel_policy_test.go | 622 | "other rule's": "# manual: harness\ngo_test(name = \"a\", tags = [\"manual\"])\n\ngo_test(\n name = \"b\",\n | CODE |
| MEDIUM | scripts/nogo_integration_step_script_test.go | 61 | stub := fmt.Sprintf("#!/bin/sh\necho 'internal/testutil/integration/harness.go:1:1: fake nogo finding'\nexit %d\n", baz | CODE |
| MEDIUM | scripts/upgrade-smoke-test.sh | 505 | # data-copy is still covered by the migration-test harness; skip gracefully. | COMMENT |
| MEDIUM | scripts/test.sh | 176 | # Mark the port as harness-provisioned. testutil's | COMMENT |
| MEDIUM | scripts/migration-test/historical-dolt-upgrade-test.sh | 622 | # harness. A genuine no-op prints exactly "✓ Schema already at v<N>" on a | COMMENT |
| MEDIUM | scripts/migration-test/historical-dolt-upgrade-test.sh | 1638 | # TODO(events-journal-rows): the journal stays empty under this harness's | COMMENT |
| MEDIUM | .github/workflows/main.yml | 108 | # Linux/macOS run comprehensive tests; Windows just verifies binary works | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | cmd/bd/bootstrap_embedded_test.go | 119 | cmd = gitCommand("config", "user.email", "test@test.com") | CODE |
| LOW | cmd/bd/bootstrap_embedded_test.go | 143 | cmd = gitCommand("config", "user.email", "test@test.com") | CODE |
| LOW | cmd/bd/bootstrap_embedded_test.go | 194 | gitCmd = gitCommand("config", "user.email", "test@test.com") | CODE |
| LOW | cmd/bd/shared_server_integration_test.go | 644 | {"git", "config", "user.email", "test@test.com"}, | CODE |
| LOW | cmd/bd/graph_apply_test.go | 1493 | Nodes: []GraphApplyNode{{Key: "placeholder", Title: "unused except to keep the plan non-empty"}}, | CODE |
| LOW | cmd/bd/bootstrap_backend_guard_test.go | 179 | {"config", "user.email", "test@test.com"}, | CODE |
| LOW | cmd/bd/show_embedded_test.go | 432 | bdUpdate(t, bd, dir, issue.ID, "--status", "in_progress", "--assignee", "test@test.com") | CODE |
| LOW | cmd/bd/init_test.go | 1538 | runGit(mainRepo, "config", "user.email", "test@test.com") | CODE |
| LOW | cmd/bd/init_test.go | 2573 | _ = gitCommand("-C", secondDir, "config", "user.email", "test@test.com").Run() | CODE |
| LOW | cmd/bd/dolt_commit_proxied_integration_test.go | 121 | if got := head["email"]; got != "test@test.com" { | CODE |
| LOW | cmd/bd/dolt_commit_proxied_integration_test.go | 122 | t.Fatalf("flush commit email = %v, want the git identity %q (row: %v)", got, "test@test.com", head) | CODE |
| LOW | cmd/bd/linear_test.go | 613 | Name: "John Doe", | CODE |
| LOW | cmd/bd/git_repo_template_test.go | 44 | {"config", "user.email", "test@test.com"}, | CODE |
| LOW | cmd/bd/init_safety_test.go | 141 | runGitForBootstrapTest(t, sourceDir, "config", "user.email", "test@test.com") | CODE |
| LOW | cmd/bd/init_safety_test.go | 782 | runGitForBootstrapTest(t, sourceDir, "config", "user.email", "test@test.com") | CODE |
| LOW | cmd/bd/init_safety_test.go | 844 | runGitForBootstrapTest(t, sourceDir, "config", "user.email", "test@test.com") | CODE |
| LOW | cmd/bd/init_safety_test.go | 903 | runGitForBootstrapTest(t, sourceDir, "config", "user.email", "test@test.com") | CODE |
| LOW | cmd/bd/test_helpers_pure_test.go | 467 | {"config", "user.email", "test@test.com"}, | CODE |
| LOW | cmd/bd/init_hooks_test.go | 939 | {"config", "user.email", "test@test.com"}, | CODE |
| LOW | cmd/bd/init_hooks_test.go | 1216 | {"config", "user.email", "test@test.com"}, | CODE |
| LOW | cmd/bd/init_hooks_test.go | 1322 | {"config", "user.email", "test@test.com"}, | CODE |
| LOW | cmd/bd/init_embedded_test.go | 1199 | runGitForBootstrapTest(t, sourceDir, "config", "user.email", "test@test.com") | CODE |
| LOW | cmd/bd/bootstrap_test.go | 312 | runGitForBootstrapTest(t, sourceDir, "config", "user.email", "test@test.com") | CODE |
| LOW | cmd/bd/bootstrap_test.go | 488 | runGitForBootstrapTest(t, sourceDir, "config", "user.email", "test@test.com") | CODE |
| LOW | cmd/bd/bootstrap_test.go | 810 | runGitForBootstrapTest(t, sourceDir, "config", "user.email", "test@test.com") | CODE |
| LOW | cmd/bd/bootstrap_test.go | 884 | runGitForBootstrapTest(t, sourceDir, "config", "user.email", "test@test.com") | CODE |
| LOW | cmd/bd/bootstrap_test.go | 966 | runGitForBootstrapTest(t, rigDir, "config", "user.email", "test@test.com") | CODE |
| LOW | cmd/bd/bootstrap_test.go | 1202 | runGitForBootstrapTest(t, sourceDir, "config", "user.email", "test@test.com") | CODE |
| LOW | cmd/bd/bootstrap_test.go | 1435 | runGitForBootstrapTest(t, sourceDir, "config", "user.email", "test@test.com") | CODE |
| LOW | cmd/bd/dolt_remote_origin_guard_test.go | 253 | runGitCommand(t, dir, "config", "user.email", "test@test.com") | CODE |
| LOW | cmd/bd/sync_git_test.go | 141 | runGitForSyncTest(t, repoDir, "config", "user.email", "test@test.com") | CODE |
| LOW | cmd/bd/doctor/git_hygiene_test.go | 44 | runGit(t, dir, "config", "user.email", "test@test.com") | CODE |
| LOW | cmd/bd/doctor/git_hygiene_test.go | 277 | runGit(t, clone, "config", "user.email", "test@test.com") | CODE |
| LOW | cmd/bd/doctor/federation_test.go | 624 | runDoctorTestCmd(t, doltDir, "dolt", "init", "--name", "test", "--email", "test@test.com") | CODE |
| LOW | cmd/bd/doctor/federation_test.go | 625 | runDoctorTestCmd(t, cliDir, "dolt", "init", "--name", "test", "--email", "test@test.com") | CODE |
| LOW | cmd/bd/doctor/git_repo_template_test.go | 41 | {"config", "user.email", "test@test.com"}, | CODE |
| LOW | cmd/bd/doctor/dolt_e2e_test.go | 283 | {"config", "user.email", "test@test.com"}, | CODE |
| LOW | cmd/bd/doctor/fix/git_repo_template_test.go | 41 | {"config", "user.email", "test@test.com"}, | CODE |
| LOW | cmd/bd/doctor/fix/metadata_test.go | 206 | {"git", "config", "user.email", "test@test.com"}, | CODE |
| LOW | internal/ado/tracker_test.go | 472 | "displayName": "Jane Doe", | CODE |
| LOW | internal/ado/tracker_test.go | 504 | if ti.Assignee != "Jane Doe" { | CODE |
| LOW | internal/ado/tracker_test.go | 505 | t.Errorf("Assignee = %q, want %q", ti.Assignee, "Jane Doe") | CODE |
| LOW | internal/ado/tracker_test.go | 564 | "displayName": "Jane Doe", | CODE |
| LOW | internal/ado/tracker_test.go | 567 | wantAssignee: "Jane Doe", | CODE |
| LOW | internal/gitlab/mapping_test.go | 245 | Name: "John Doe", | CODE |
| LOW | internal/gitlab/types_test.go | 30 | "name": "John Doe", | CODE |
| LOW | internal/linear/mapping_test.go | 435 | Assignee: &User{Name: "John Doe", Email: "john@example.com"}, | CODE |
| LOW | internal/linear/mapping_test.go | 551 | Assignee: &User{Name: "Jane Doe", Email: "jane@example.com"}, | CODE |
| LOW | internal/remotecache/cache_test.go | 57 | cmd := exec.Command("dolt", "init", "--name", "test", "--email", "test@test.com") | CODE |
| LOW | internal/storage/dolt/cross_project_test.go | 731 | CommitterEmail: "test@test.com", | CODE |
| LOW | internal/storage/dolt/git_remote_test.go | 1314 | runCmd(t, serverDataDir, "dolt", "init", "--name", "test", "--email", "test@test.com") | CODE |
| LOW | internal/storage/dolt/git_remote_test.go | 1320 | runCmd(t, testdbDir, "dolt", "init", "--name", "test", "--email", "test@test.com") | CODE |
| LOW | internal/storage/dolt/git_remote_test.go | 1352 | runCmd(t, clientTestdbDir, "dolt", "init", "--name", "test", "--email", "test@test.com") | CODE |
| LOW | internal/storage/dolt/git_remote_test.go | 1373 | CommitterEmail: "test@test.com", | CODE |
| LOW | internal/storage/dolt/git_remote_test.go | 1414 | runCmd(t, serverDataDir, "dolt", "init", "--name", "test", "--email", "test@test.com") | CODE |
| LOW | internal/storage/dolt/git_remote_test.go | 1420 | runCmd(t, testdbDir, "dolt", "init", "--name", "test", "--email", "test@test.com") | CODE |
| LOW | internal/storage/dolt/git_remote_test.go | 1463 | runCmd(t, clientTestdbDir, "dolt", "init", "--name", "test", "--email", "test@test.com") | CODE |
| LOW | internal/storage/dolt/git_remote_test.go | 1483 | CommitterEmail: "test@test.com", | CODE |
| LOW | internal/storage/dolt/git_remote_test.go | 1565 | runCmd(t, serverDataDir, "dolt", "init", "--name", "test", "--email", "test@test.com") | CODE |
| LOW | internal/storage/dolt/git_remote_test.go | 1571 | runCmd(t, testdbDir, "dolt", "init", "--name", "test", "--email", "test@test.com") | CODE |
| 17 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | cmd/bd/branch.go | 22 | bd branch feature-xyz # Create a new branch named feature-xyz`, | CODE |
| MEDIUM | cmd/bd/setup/aider.go | 12 | # This file is marked read-only and cached for efficiency | COMMENT |
| MEDIUM | …grations/beads-mcp/tests/test_workspace_auto_detect.py | 181 | # Create main workspace with actual database | COMMENT |
| MEDIUM | …grations/beads-mcp/tests/test_workspace_auto_detect.py | 241 | # Create main workspace WITHOUT database | COMMENT |
| MEDIUM⚡ | integrations/beads-mcp/tests/test_config.py | 26 | # Create a fake bd executable | COMMENT |
| MEDIUM⚡ | integrations/beads-mcp/tests/test_config.py | 53 | # Create a non-executable file | COMMENT |
| MEDIUM | …rations/beads-mcp/tests/test_mcp_server_integration.py | 344 | # Create a ready issue (no dependencies) | COMMENT |
| MEDIUM | …rations/beads-mcp/tests/test_mcp_server_integration.py | 665 | # Create a fresh temp directory without any beads database | COMMENT |
| MEDIUM | …rations/beads-mcp/tests/test_mcp_server_integration.py | 1027 | # Create a ready issue | COMMENT |
| MEDIUM | …grations/beads-mcp/tests/test_worktree_separate_dbs.py | 91 | # Create a worktree AFTER initializing beads in main | COMMENT |
| MEDIUM | scripts/test-git-remote.sh | 74 | # Create a local git repo as the remote (needs initial commit for dolt push) | COMMENT |
| MEDIUM | scripts/release.sh | 197 | # Create the release molecule (wisp) | COMMENT |
| MEDIUM | scripts/release.sh | 201 | # Create the wisp and capture the output | COMMENT |
| MEDIUM | scripts/upgrade-smoke-test.sh | 207 | # Create an isolated workspace with git init | COMMENT |
| MEDIUM | scripts/upgrade-smoke-test.sh | 237 | # Create an issue with the previous binary, tolerating missing --silent flag. | COMMENT |
| MEDIUM | scripts/ci/gen_embedded_cmd_shard_manifest.py | 158 | out.append('# This file is generated: notes added here are erased by the next') | CODE |
| MEDIUM | scripts/ci/gen_proxied_shard_manifest.py | 193 | out.append('# This file is generated: notes added here are erased by the next') | CODE |
| MEDIUM | scripts/ci/gen_proxied_shard_manifest.py | 219 | out.append('# This file is generated: notes added here are erased by the next') | CODE |
| MEDIUM | scripts/ci/gen_embedded_storage_shard_manifest.py | 135 | out.append('# This file is generated: notes added here are erased by the next') | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | cmd/bd/linear.go | 34 | bd config set linear.api_key "YOUR_API_KEY" | CODE |
| HIGH | cmd/bd/linear.go | 893 | fmt.Println(" bd config set linear.api_key \"YOUR_API_KEY\"") | CODE |
| HIGH | cmd/bd/linear.go | 898 | fmt.Println(" export LINEAR_API_KEY=\"YOUR_API_KEY\"") | CODE |
| HIGH | cmd/bd/linear.go | 1029 | " API key (devs): export LINEAR_API_KEY=... or bd config set linear.api_key \"YOUR_API_KEY\"") | CODE |
| HIGH | internal/linear/tracker.go | 58 | " API key (devs): export LINEAR_API_KEY=... or bd config set linear.api_key \"YOUR_API_KEY\"") | CODE |
| HIGH | docs/CLI_REFERENCE.md | 4870 | bd config set linear.api_key "YOUR_API_KEY" | CODE |
| HIGH | docs/cli-reference/linear.md | 13 | bd config set linear.api_key "YOUR_API_KEY" | CODE |
| HIGH | scripts/generate-newsletter_README.md | 20 | export ANTHROPIC_API_KEY="your-api-key" | CODE |
| HIGH | scripts/generate-newsletter_README.md | 23 | export OPENAI_API_KEY="your-api-key" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/bazel/ci_analytics_extract_test.py | 347 | CODE | |
| LOW | tools/bazel/ci_analytics_extract_test.py | 517 | CODE | |
| LOW | tools/bazel/ci_analytics_extract.py | 346 | CODE | |
| LOW | tools/bazel/ci_analytics_extract.py | 435 | CODE | |
| LOW | tools/bazel/ci_analytics_extract.py | 488 | CODE | |
| LOW | tools/bazel/ci_analytics_extract.py | 604 | CODE | |
| LOW | tools/bazel/ci_analytics_extract.py | 717 | CODE | |
| LOW | tools/bazel/ci_analytics_extract.py | 892 | CODE | |
| LOW | tools/bazel/ci_analytics_extract.py | 930 | CODE | |
| LOW | tools/bazel/rrc_verify.py | 99 | CODE | |
| LOW | tools/bazel/rrc_verify.py | 412 | CODE | |
| LOW | tools/bazel/rrc_verify.py | 463 | CODE | |
| LOW | tools/bazel/rrc_verify.py | 199 | CODE | |
| LOW | tools/bazel/rrc_verify.py | 242 | CODE | |
| LOW | tools/bazel/rrc_verify.py | 318 | CODE | |
| LOW | tools/bazel/rrc_verify.py | 467 | CODE | |
| LOW | tools/bazel/pin_shards.py | 32 | CODE | |
| LOW | tools/bazel/equivalence.py | 91 | CODE | |
| LOW | tools/bazel/equivalence.py | 177 | CODE | |
| LOW | tools/bazel/equivalence.py | 222 | CODE | |
| LOW | tools/bazel/equivalence.py | 304 | CODE | |
| LOW | tools/bazel/nogo_ownership.py | 99 | CODE | |
| LOW | integrations/beads-mcp/src/beads_mcp/server.py | 286 | CODE | |
| LOW | integrations/beads-mcp/src/beads_mcp/server.py | 636 | CODE | |
| LOW | integrations/beads-mcp/src/beads_mcp/server.py | 1385 | CODE | |
| LOW | integrations/beads-mcp/src/beads_mcp/tools.py | 146 | CODE | |
| LOW | integrations/beads-mcp/src/beads_mcp/workspace.py | 13 | CODE | |
| LOW | scripts/generate-newsletter.py | 161 | CODE | |
| LOW | scripts/generate-newsletter.py | 238 | CODE | |
| LOW | scripts/generate-newsletter.py | 335 | CODE | |
| LOW | scripts/generate-newsletter.py | 370 | CODE | |
| LOW | scripts/generate-newsletter.py | 406 | CODE | |
| LOW | scripts/generate-newsletter.py | 674 | CODE | |
| LOW | scripts/ci/gen_embedded_cmd_shard_manifest.py | 70 | CODE | |
| LOW | scripts/ci/gen_embedded_cmd_shard_manifest.py | 91 | CODE | |
| LOW | scripts/ci/gen_proxied_shard_manifest.py | 88 | CODE | |
| LOW | scripts/ci/gen_proxied_shard_manifest.py | 142 | CODE | |
| LOW | scripts/ci/gen_proxied_shard_manifest.py | 290 | CODE | |
| LOW | scripts/ci/_embedded_shard_manifest_lib.py | 101 | CODE | |
| LOW | scripts/ci/_embedded_shard_manifest_lib.py | 162 | CODE | |
| LOW | scripts/ci/gen_embedded_storage_shard_manifest.py | 58 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | cmd/bd/merge_slot.go | 34 | bd merge-slot check # Check if slot is available | CODE |
| LOW | cmd/bd/init.go | 2766 | fmt.Fprintf(os.Stderr, " bd dolt status # Check if this is a server config issue\n\n") | CODE |
| LOW | integrations/beads-mcp/tests/conftest.py | 61 | # Check if test is using bd_client fixture | COMMENT |
| LOW⚡ | integrations/beads-mcp/tests/test_config.py | 36 | # Set BEADS_PATH to just "bd" (command name, not path) | COMMENT |
| LOW | integrations/beads-mcp/tests/test_config.py | 69 | # Set BEADS_DB to non-existent file | COMMENT |
| LOW | …grations/beads-mcp/tests/test_worktree_separate_dbs.py | 293 | # Set context to worktree | COMMENT |
| LOW | examples/bash-agent/agent.sh | 39 | # Check if bd is installed | COMMENT |
| LOW | examples/bash-agent/agent.sh | 46 | # Check if we're in a beads-initialized directory | COMMENT |
| LOW | examples/startup-hooks/bd-version-check.sh | 50 | # Check if bd is installed | COMMENT |
| LOW | examples/startup-hooks/bd-version-check.sh | 55 | # Check if jq is installed (required for JSON manipulation) | COMMENT |
| LOW | scripts/generate-newsletter.py | 273 | # Read the file to extract cobra.Command definitions | COMMENT |
| LOW | scripts/generate-newsletter.py | 603 | # Check if we should use last week or since last release | COMMENT |
| LOW | scripts/install.sh | 186 | # Check if codesign is available | COMMENT |
| LOW | scripts/install.sh | 402 | # Check if install_dir is in PATH | COMMENT |
| LOW | scripts/install.sh | 416 | # Check if Go is installed and meets minimum version | COMMENT |
| LOW | scripts/install.sh | 426 | # Check if Go version is 1.24 or later | COMMENT |
| LOW | scripts/install.sh | 513 | # Check if GOPATH/bin (or GOBIN) is in PATH | COMMENT |
| LOW | scripts/install.sh | 573 | # Check if install_dir is in PATH | COMMENT |
| LOW | scripts/update-nix-vendorhash.sh | 48 | # Check if we're in the repo root | COMMENT |
| LOW | scripts/update-nix-vendorhash.sh | 61 | # Check if Docker is available | COMMENT |
| LOW | scripts/update-nix-vendorhash.sh | 169 | # Check if hash is actually the same | COMMENT |
| LOW⚡ | scripts/upgrade-smoke-test.sh | 364 | # Check if old binary was able to initialize .beads/. | COMMENT |
| LOW | scripts/ci/gofmt-bin.sh | 28 | # Set GOFMT to override the resolution entirely. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/bazel/ci_analytics_extract.py | 564 | except OSError: | CODE |
| HIGH | tools/bazel/ci_analytics_extract.py | 785 | except (ValueError, TypeError, OverflowError): | CODE |
| HIGH | integrations/beads-mcp/src/beads_mcp/server.py | 304 | except Exception: | CODE |
| HIGH | integrations/beads-mcp/src/beads_mcp/tools.py | 70 | except (ImportError, AttributeError): | CODE |
| HIGH | scripts/generate-newsletter.py | 50 | except ImportError: | CODE |
| HIGH | scripts/generate-newsletter.py | 208 | except (ValueError, AttributeError, IndexError): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | integrations/beads-mcp/src/beads_mcp/config.py | 45 | Validate BEADS_PATH points to an executable bd binary. Args: v: Path to bd executable (can be comma | STRING |
| HIGH | integrations/beads-mcp/src/beads_mcp/config.py | 83 | Validate BEADS_DIR points to an existing .beads directory. Args: v: Path to .beads directory or Non | STRING |
| HIGH | integrations/beads-mcp/src/beads_mcp/config.py | 112 | Validate BEADS_DB points to an existing database file. Args: v: Path to database file or None | STRING |
| HIGH | integrations/beads-mcp/src/beads_mcp/bd_client.py | 301 | Run bd command and parse JSON output. Args: *args: Command arguments to pass to bd cwd: | STRING |
| HIGH | integrations/beads-mcp/src/beads_mcp/bd_client.py | 495 | Show issue details. Args: params: Issue ID to show Returns: Issue details | STRING |
| HIGH | integrations/beads-mcp/src/beads_mcp/tools.py | 268 | Attempt to reconnect with exponential backoff. Args: canonical: Canonical workspace path max_retrie | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | CHANGELOG.md | 8387 | - **Auto_pull config** (GH#707) - Periodic remote sync in event-driven mode | CODE |
| MEDIUM | CHANGELOG.md | 8499 | - **MCP output control parameters** (PR#667) - Reduce context window usage by up to 97% | CODE |
| MEDIUM | cmd/bd/init_proxied_if_missing_test.go | 13 | // block, so a scaffold script re-running init got exit 1 and the "Aborting." | COMMENT |
| MEDIUM | cmd/bd/init_test.go | 276 | // GH#3490: `bd init --init-if-missing` makes init idempotent for scaffold | COMMENT |
| MEDIUM | cmd/bd/init_test.go | 276 | // GH#3490: `bd init --init-if-missing` makes init idempotent for scaffold | COMMENT |
| MEDIUM | engdocs/BDP_BEAD_GRAPH_PLAN.md | 154 | | Jim #6147 Phase 0 | `9c4e7a8f1959582f07db3b87641cb33863fda860` | Open; snapshot shows 117 successful, two skipped and | CODE |
| MEDIUM | docs/multi-agent/multi-repo-migration.md | 481 | - **Multi-Repo Internals:** See [ROUTING.md#multi-repo-hydration](/multi-agent/routing#multi-repo-hydration) | CODE |
| MEDIUM | integrations/beads-mcp/README.md | 3 | MCP server for [beads](https://github.com/gastownhall/beads) issue tracker and agentic memory system. | CODE |
| MEDIUM⚡ | integrations/beads-mcp/src/beads_mcp/models.py | 38 | # These lightweight models reduce context window usage by ~80% for list operations. | COMMENT |
| MEDIUM | scripts/generate-cli-docs.sh | 146 | # website/; docsmint has consumed them, so drop the scaffolding. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | cmd/bd/tips.go | 215 | // Example usage: | COMMENT |
| LOW⚡ | tests/oracle-a/run-oracle-a.sh | 20 | # Usage: | COMMENT |
| LOW | examples/formulas/gh-issue-to-pr.formula.toml | 20 | # Usage: | COMMENT |
| LOW | examples/formulas/gh-pr-review.formula.toml | 27 | # Usage: | COMMENT |
| LOW | scripts/bazel-autofix-push.sh | 23 | # Usage: | COMMENT |
| LOW | scripts/update-nix-vendorhash.sh | 20 | # Usage: | COMMENT |
| LOW | scripts/sign-windows.sh | 14 | # Usage: | COMMENT |
| LOW | scripts/cross-version-smoke-test.sh | 17 | # Usage: | COMMENT |
| LOW | scripts/test-git-remote.sh | 7 | # Usage: | COMMENT |
| LOW | scripts/docs-autofix-push.sh | 21 | # Usage: | COMMENT |
| LOW | scripts/migrate-jsonl-to-dolt.sh | 4 | # Usage: | COMMENT |
| LOW | scripts/gen-winres.sh | 8 | # Usage: | COMMENT |
| LOW⚡ | scripts/upgrade-smoke-test.sh | 15 | # Usage: | COMMENT |
| LOW | scripts/ci/go-test-shard-packages.sh | 4 | # Usage: | COMMENT |
| LOW | scripts/ci/go-test-shard-names.sh | 4 | # Usage: | COMMENT |
| LOW | scripts/repro-be-1he-slow-path/repro.sh | 5 | # Usage: | COMMENT |
| LOW | .github/scripts/docs-render-check.sh | 11 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | issueops/dependencyeditor.go | 186 | // is applied once, and the result still echoes every edge as requested. | COMMENT |
| HIGH | cmd/bd/mol_squash.go | 240 | // This enables agents to provide AI-generated summaries while keeping bd as a pure tool. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | scripts/ci/gen_embedded_cmd_shard_manifest.py | 0 | return {test_name: seconds}, from the committed duration capture, falling back to inits * seconds_per_init_fallback for | STRING |
| HIGH | scripts/ci/gen_proxied_shard_manifest.py | 0 | return {test_name: seconds}, from the committed duration capture, falling back to inits * seconds_per_init_fallback for | STRING |
| HIGH | scripts/ci/gen_embedded_storage_shard_manifest.py | 0 | return {test_name: seconds}, from the committed duration capture, falling back to inits * seconds_per_init_fallback for | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/bazel/ci_analytics_extract.py | 883 | except Exception: | CODE |
| LOW | tools/bazel/ci_analytics_extract.py | 925 | except Exception: | CODE |
| LOW | tools/bazel/ci_analytics_extract.py | 1019 | except Exception: | CODE |
| LOW | tools/bazel/ci_analytics_extract.py | 1180 | except Exception: | CODE |
| LOW | integrations/beads-mcp/src/beads_mcp/server.py | 304 | except Exception: | CODE |
| LOW | integrations/beads-mcp/src/beads_mcp/config.py | 152 | except Exception as e: | CODE |
| LOW | integrations/beads-mcp/src/beads_mcp/tools.py | 141 | except Exception as e: | CODE |
| LOW | integrations/beads-mcp/src/beads_mcp/tools.py | 210 | except Exception as e: | CODE |
| LOW | integrations/beads-mcp/src/beads_mcp/tools.py | 262 | except Exception: | CODE |
| LOW | integrations/beads-mcp/src/beads_mcp/tools.py | 289 | except Exception: | CODE |
| LOW | integrations/beads-mcp/src/beads_mcp/workspace.py | 40 | except Exception as exc: | CODE |
| MEDIUM | examples/python-agent/agent.py | 141 | print(f"Error running bd: {e}", file=sys.stderr) | CODE |
| LOW | scripts/generate-newsletter.py | 792 | except Exception as e: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | integrations/beads-mcp/src/beads_mcp/server.py | 874 | CODE | |
| LOW | integrations/beads-mcp/src/beads_mcp/server.py | 956 | CODE | |
| LOW | integrations/beads-mcp/src/beads_mcp/server.py | 1086 | CODE | |
| LOW | integrations/beads-mcp/src/beads_mcp/server.py | 1154 | CODE | |
| LOW | integrations/beads-mcp/src/beads_mcp/bd_client.py | 961 | CODE | |
| LOW | integrations/beads-mcp/src/beads_mcp/tools.py | 375 | CODE | |
| LOW | integrations/beads-mcp/src/beads_mcp/tools.py | 410 | CODE | |
| LOW | integrations/beads-mcp/src/beads_mcp/tools.py | 454 | CODE | |
| LOW | integrations/beads-mcp/src/beads_mcp/tools.py | 498 | CODE | |
| LOW | examples/python-agent/agent.py | 46 | CODE | |
| LOW | examples/python-agent/agent.py | 69 | CODE | |
| LOW | scripts/generate-newsletter.py | 674 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/bazel/ci_analytics_extract_test.py | 22 | CODE | |
| LOW | tools/bazel/ci_analytics_extract.py | 48 | CODE | |
| LOW | tools/bazel/rrc_verify.py | 35 | CODE | |
| LOW | tools/bazel/go_srcs.py | 63 | CODE | |
| LOW | tools/bazel/rrc_verify_test.py | 10 | CODE | |
| LOW | tools/bazel/nogo_ownership.py | 65 | CODE | |
| LOW | …ations/beads-mcp/tests/test_multi_project_switching.py | 10 | CODE | |
| LOW | integrations/beads-mcp/src/beads_mcp/workspace.py | 3 | CODE | |
| LOW | scripts/generate-newsletter.py | 39 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | integrations/beads-mcp/src/beads_mcp/server.py | 69 | logger = logging.getLogger(__name__) | CODE |
| LOW | integrations/beads-mcp/src/beads_mcp/tools.py | 42 | logger = logging.getLogger(__name__) | CODE |
| LOW | integrations/beads-mcp/src/beads_mcp/workspace.py | 10 | logger = logging.getLogger(__name__) | CODE |