Persistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
This report summarizes scanner evidence for thedotmack/claude-mem, a TypeScript project with 99,175 GitHub stars. SynthScan examined 436,946 lines of code across 1981 source files, recording 2450 pattern matches distributed across 18 syntactic categories. The legacy adjusted pattern signal is 12.9 (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? 1622 finding(s).
Are imports declared and package/API names verified? 68 finding(s).
Are wrappers, guards, and repeated structures necessary? 2039 finding(s).
Which changes need focused human review? 2450 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 2450 distinct pattern matches across 18 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 | openclaw/skills/agent-cost-report/scripts/acr.py | 0 | agent-cost-report cli: collect | prices | rollup | review | render | pdf | sync-check. phase 1: `collect` (measured toke | STRING |
| HIGH | plugin/skills/agent-cost-report/scripts/acr.py | 0 | agent-cost-report cli: collect | prices | rollup | review | render | pdf | sync-check. phase 1: `collect` (measured toke | STRING |
| HIGH | …e-mem-grok-bot/skills/agent-cost-report/scripts/acr.py | 0 | agent-cost-report cli: collect | prices | rollup | review | render | pdf | sync-check. phase 1: `collect` (measured toke | STRING |
| HIGH | …ude-mem-cursor/skills/agent-cost-report/scripts/acr.py | 0 | agent-cost-report cli: collect | prices | rollup | review | render | pdf | sync-check. phase 1: `collect` (measured toke | STRING |
| HIGH | cowork/skills/agent-cost-report/scripts/acr.py | 0 | agent-cost-report cli: collect | prices | rollup | review | render | pdf | sync-check. phase 1: `collect` (measured toke | STRING |
| HIGH | …/skills/agent-cost-report/scripts/tests/test_period.py | 0 | us dst ends sunday 2026-11-01 02:00 pt; pt windows are calendar days, so epoch spans change. | STRING |
| HIGH | …/skills/agent-cost-report/scripts/tests/test_period.py | 0 | us dst ends sunday 2026-11-01 02:00 pt; pt windows are calendar days, so epoch spans change. | STRING |
| HIGH | …/skills/agent-cost-report/scripts/tests/test_period.py | 0 | us dst ends sunday 2026-11-01 02:00 pt; pt windows are calendar days, so epoch spans change. | STRING |
| HIGH | …/skills/agent-cost-report/scripts/tests/test_period.py | 0 | us dst ends sunday 2026-11-01 02:00 pt; pt windows are calendar days, so epoch spans change. | STRING |
| HIGH | …/skills/agent-cost-report/scripts/tests/test_period.py | 0 | us dst ends sunday 2026-11-01 02:00 pt; pt windows are calendar days, so epoch spans change. | STRING |
| HIGH | …-cost-report/scripts/tests/test_transcript_encoding.py | 0 | read the utf-8 transcript contract under native windows legacy encoding, and keep every text read and write in the skill | STRING |
| HIGH | …-cost-report/scripts/tests/test_transcript_encoding.py | 0 | read the utf-8 transcript contract under native windows legacy encoding, and keep every text read and write in the skill | STRING |
| HIGH | …-cost-report/scripts/tests/test_transcript_encoding.py | 0 | read the utf-8 transcript contract under native windows legacy encoding, and keep every text read and write in the skill | STRING |
| HIGH | …-cost-report/scripts/tests/test_transcript_encoding.py | 0 | read the utf-8 transcript contract under native windows legacy encoding, and keep every text read and write in the skill | STRING |
| HIGH | …-cost-report/scripts/tests/test_transcript_encoding.py | 0 | read the utf-8 transcript contract under native windows legacy encoding, and keep every text read and write in the skill | STRING |
| HIGH | …-cost-report/scripts/tests/test_transcript_encoding.py | 0 | import json, locale, pathlib, sys, tempfile sys.path.insert(0, sys.argv[1]) from acr import transcripts, behavior, wins, | STRING |
| HIGH | …-cost-report/scripts/tests/test_transcript_encoding.py | 0 | import json, locale, pathlib, sys, tempfile sys.path.insert(0, sys.argv[1]) from acr import transcripts, behavior, wins, | STRING |
| HIGH | …-cost-report/scripts/tests/test_transcript_encoding.py | 0 | import json, locale, pathlib, sys, tempfile sys.path.insert(0, sys.argv[1]) from acr import transcripts, behavior, wins, | STRING |
| HIGH | …-cost-report/scripts/tests/test_transcript_encoding.py | 0 | import json, locale, pathlib, sys, tempfile sys.path.insert(0, sys.argv[1]) from acr import transcripts, behavior, wins, | STRING |
| HIGH | …-cost-report/scripts/tests/test_transcript_encoding.py | 0 | import json, locale, pathlib, sys, tempfile sys.path.insert(0, sys.argv[1]) from acr import transcripts, behavior, wins, | STRING |
| HIGH | …aw/skills/agent-cost-report/scripts/tests/test_sync.py | 0 | phase 7.2 tests: shipped-file list, checksums.txt, drift detection and --write against temp destinations. | STRING |
| HIGH | …in/skills/agent-cost-report/scripts/tests/test_sync.py | 0 | phase 7.2 tests: shipped-file list, checksums.txt, drift detection and --write against temp destinations. | STRING |
| HIGH | …ot/skills/agent-cost-report/scripts/tests/test_sync.py | 0 | phase 7.2 tests: shipped-file list, checksums.txt, drift detection and --write against temp destinations. | STRING |
| HIGH | …or/skills/agent-cost-report/scripts/tests/test_sync.py | 0 | phase 7.2 tests: shipped-file list, checksums.txt, drift detection and --write against temp destinations. | STRING |
| HIGH | …rk/skills/agent-cost-report/scripts/tests/test_sync.py | 0 | phase 7.2 tests: shipped-file list, checksums.txt, drift detection and --write against temp destinations. | STRING |
| HIGH | …skills/agent-cost-report/scripts/tests/test_measure.py | 0 | phase 4 tests (plan 4.3): mocked urlopen for the unavailable / ok / error paths, the bucket-vs-window rule, and the no-k | STRING |
| HIGH | …skills/agent-cost-report/scripts/tests/test_measure.py | 0 | phase 4 tests (plan 4.3): mocked urlopen for the unavailable / ok / error paths, the bucket-vs-window rule, and the no-k | STRING |
| HIGH | …skills/agent-cost-report/scripts/tests/test_measure.py | 0 | phase 4 tests (plan 4.3): mocked urlopen for the unavailable / ok / error paths, the bucket-vs-window rule, and the no-k | STRING |
| HIGH | …skills/agent-cost-report/scripts/tests/test_measure.py | 0 | phase 4 tests (plan 4.3): mocked urlopen for the unavailable / ok / error paths, the bucket-vs-window rule, and the no-k | STRING |
| HIGH | …skills/agent-cost-report/scripts/tests/test_measure.py | 0 | phase 4 tests (plan 4.3): mocked urlopen for the unavailable / ok / error paths, the bucket-vs-window rule, and the no-k | STRING |
| HIGH | …nclaw/skills/agent-cost-report/scripts/tests/_paths.py | 0 | puts scripts/ on sys.path so tests import the `acr` package; exposes fixture paths. | STRING |
| HIGH | plugin/skills/agent-cost-report/scripts/tests/_paths.py | 0 | puts scripts/ on sys.path so tests import the `acr` package; exposes fixture paths. | STRING |
| HIGH | …k-bot/skills/agent-cost-report/scripts/tests/_paths.py | 0 | puts scripts/ on sys.path so tests import the `acr` package; exposes fixture paths. | STRING |
| HIGH | …ursor/skills/agent-cost-report/scripts/tests/_paths.py | 0 | puts scripts/ on sys.path so tests import the `acr` package; exposes fixture paths. | STRING |
| HIGH | cowork/skills/agent-cost-report/scripts/tests/_paths.py | 0 | puts scripts/ on sys.path so tests import the `acr` package; exposes fixture paths. | STRING |
| HIGH | …ls/agent-cost-report/scripts/tests/test_transcripts.py | 0 | fixtures are copied into a temp dir so their mtime is 'now' (the reader prefilters on mtime). | STRING |
| HIGH | …ls/agent-cost-report/scripts/tests/test_transcripts.py | 0 | fixtures are copied into a temp dir so their mtime is 'now' (the reader prefilters on mtime). | STRING |
| HIGH | …ls/agent-cost-report/scripts/tests/test_transcripts.py | 0 | fixtures are copied into a temp dir so their mtime is 'now' (the reader prefilters on mtime). | STRING |
| HIGH | …ls/agent-cost-report/scripts/tests/test_transcripts.py | 0 | fixtures are copied into a temp dir so their mtime is 'now' (the reader prefilters on mtime). | STRING |
| HIGH | …ls/agent-cost-report/scripts/tests/test_transcripts.py | 0 | fixtures are copied into a temp dir so their mtime is 'now' (the reader prefilters on mtime). | STRING |
| HIGH | openclaw/skills/agent-cost-report/scripts/tests/_db.py | 0 | a small claude-mem-shaped sqlite db for tests: real table and column names (sessionstore.ts base ddl, verified against t | STRING |
| HIGH | plugin/skills/agent-cost-report/scripts/tests/_db.py | 0 | a small claude-mem-shaped sqlite db for tests: real table and column names (sessionstore.ts base ddl, verified against t | STRING |
| HIGH | …grok-bot/skills/agent-cost-report/scripts/tests/_db.py | 0 | a small claude-mem-shaped sqlite db for tests: real table and column names (sessionstore.ts base ddl, verified against t | STRING |
| HIGH | …m-cursor/skills/agent-cost-report/scripts/tests/_db.py | 0 | a small claude-mem-shaped sqlite db for tests: real table and column names (sessionstore.ts base ddl, verified against t | STRING |
| HIGH | cowork/skills/agent-cost-report/scripts/tests/_db.py | 0 | a small claude-mem-shaped sqlite db for tests: real table and column names (sessionstore.ts base ddl, verified against t | STRING |
| HIGH | openclaw/skills/agent-cost-report/scripts/tests/_db.py | 0 | create table sdk_sessions (id integer primary key autoincrement, content_session_id text not null, memory_session_id tex | STRING |
| HIGH | plugin/skills/agent-cost-report/scripts/tests/_db.py | 0 | create table sdk_sessions (id integer primary key autoincrement, content_session_id text not null, memory_session_id tex | STRING |
| HIGH | …grok-bot/skills/agent-cost-report/scripts/tests/_db.py | 0 | create table sdk_sessions (id integer primary key autoincrement, content_session_id text not null, memory_session_id tex | STRING |
| HIGH | …m-cursor/skills/agent-cost-report/scripts/tests/_db.py | 0 | create table sdk_sessions (id integer primary key autoincrement, content_session_id text not null, memory_session_id tex | STRING |
| HIGH | cowork/skills/agent-cost-report/scripts/tests/_db.py | 0 | create table sdk_sessions (id integer primary key autoincrement, content_session_id text not null, memory_session_id tex | STRING |
| HIGH | …kills/agent-cost-report/scripts/tests/test_behavior.py | 0 | phase 2b tests (plan 2b.8): tiny hand-made transcript lines with the field names verified in 2b.7. | STRING |
| HIGH | …kills/agent-cost-report/scripts/tests/test_behavior.py | 0 | phase 2b tests (plan 2b.8): tiny hand-made transcript lines with the field names verified in 2b.7. | STRING |
| HIGH | …kills/agent-cost-report/scripts/tests/test_behavior.py | 0 | phase 2b tests (plan 2b.8): tiny hand-made transcript lines with the field names verified in 2b.7. | STRING |
| HIGH | …kills/agent-cost-report/scripts/tests/test_behavior.py | 0 | phase 2b tests (plan 2b.8): tiny hand-made transcript lines with the field names verified in 2b.7. | STRING |
| HIGH | …kills/agent-cost-report/scripts/tests/test_behavior.py | 0 | phase 2b tests (plan 2b.8): tiny hand-made transcript lines with the field names verified in 2b.7. | STRING |
| HIGH | …/skills/agent-cost-report/scripts/tests/test_rollup.py | 0 | s1: local session with a transcript, completed summary, ship observation, triplicated observer rows. s2: remote replica | STRING |
| HIGH | …/skills/agent-cost-report/scripts/tests/test_rollup.py | 0 | s1: local session with a transcript, completed summary, ship observation, triplicated observer rows. s2: remote replica | STRING |
| HIGH | …/skills/agent-cost-report/scripts/tests/test_rollup.py | 0 | s1: local session with a transcript, completed summary, ship observation, triplicated observer rows. s2: remote replica | STRING |
| HIGH | …/skills/agent-cost-report/scripts/tests/test_rollup.py | 0 | s1: local session with a transcript, completed summary, ship observation, triplicated observer rows. s2: remote replica | STRING |
| HIGH | …/skills/agent-cost-report/scripts/tests/test_rollup.py | 0 | s1: local session with a transcript, completed summary, ship observation, triplicated observer rows. s2: remote replica | STRING |
| 635 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | evals/read-gate/fixture/src/shipping/rate-calculator.ts | 236 | export function calculateDimensionalWeight( | CODE |
| LOW | evals/read-gate/fixture/src/shipping/rate-calculator.ts | 299 | export function calculateRemoteAreaSurcharge(transportationChargeUsd: number, destination: Address): number { | CODE |
| LOW | evals/read-gate/fixture/src/shipping/rate-calculator.ts | 507 | export function cheapestServiceByDeadline( | CODE |
| LOW | …ead-gate/fixture-large/src/shipping/carrier-tariffs.ts | 138 | export function calculateNorthlineBaseCharge(context: ShipmentContext): number { | CODE |
| LOW | …ead-gate/fixture-large/src/shipping/carrier-tariffs.ts | 154 | export function calculateNorthlineFuelSurcharge(context: ShipmentContext, transportation: number): number { | CODE |
| LOW | …ead-gate/fixture-large/src/shipping/carrier-tariffs.ts | 160 | export function calculateNorthlineAccessorials(context: ShipmentContext): ChargeLine[] { | CODE |
| LOW | …ead-gate/fixture-large/src/shipping/carrier-tariffs.ts | 241 | export function calculateTidewaterBaseCharge(context: ShipmentContext): number { | CODE |
| LOW | …ead-gate/fixture-large/src/shipping/carrier-tariffs.ts | 257 | export function calculateTidewaterFuelSurcharge(context: ShipmentContext, transportation: number): number { | CODE |
| LOW | …ead-gate/fixture-large/src/shipping/carrier-tariffs.ts | 263 | export function calculateTidewaterAccessorials(context: ShipmentContext): ChargeLine[] { | CODE |
| LOW | …ead-gate/fixture-large/src/shipping/carrier-tariffs.ts | 344 | export function calculateBrookfieldBaseCharge(context: ShipmentContext): number { | CODE |
| LOW | …ead-gate/fixture-large/src/shipping/carrier-tariffs.ts | 360 | export function calculateBrookfieldFuelSurcharge(context: ShipmentContext, transportation: number): number { | CODE |
| LOW | …ead-gate/fixture-large/src/shipping/carrier-tariffs.ts | 366 | export function calculateBrookfieldAccessorials(context: ShipmentContext): ChargeLine[] { | CODE |
| LOW | …ead-gate/fixture-large/src/shipping/carrier-tariffs.ts | 447 | export function calculateSilverRidgeBaseCharge(context: ShipmentContext): number { | CODE |
| LOW | …ead-gate/fixture-large/src/shipping/carrier-tariffs.ts | 463 | export function calculateSilverRidgeFuelSurcharge(context: ShipmentContext, transportation: number): number { | CODE |
| LOW | …ead-gate/fixture-large/src/shipping/carrier-tariffs.ts | 469 | export function calculateSilverRidgeAccessorials(context: ShipmentContext): ChargeLine[] { | CODE |
| LOW | …ead-gate/fixture-large/src/shipping/carrier-tariffs.ts | 509 | export function calculateDangerousGoodsSurcharge(context: ShipmentContext): number { | CODE |
| LOW | …ead-gate/fixture-large/src/shipping/carrier-tariffs.ts | 523 | export function calculateLithiumBatterySurcharge(context: ShipmentContext): number { | CODE |
| LOW | …ead-gate/fixture-large/src/shipping/carrier-tariffs.ts | 537 | export function calculateTemperatureControlSurcharge(context: ShipmentContext, transportation: number): number { | CODE |
| LOW | …ead-gate/fixture-large/src/shipping/carrier-tariffs.ts | 595 | export function calculateHallmarkBaseCharge(context: ShipmentContext): number { | CODE |
| LOW | …ead-gate/fixture-large/src/shipping/carrier-tariffs.ts | 611 | export function calculateHallmarkFuelSurcharge(context: ShipmentContext, transportation: number): number { | CODE |
| LOW | …ead-gate/fixture-large/src/shipping/carrier-tariffs.ts | 617 | export function calculateHallmarkAccessorials(context: ShipmentContext): ChargeLine[] { | CODE |
| LOW | …ead-gate/fixture-large/src/shipping/carrier-tariffs.ts | 698 | export function calculateQuickspanBaseCharge(context: ShipmentContext): number { | CODE |
| LOW | …ead-gate/fixture-large/src/shipping/carrier-tariffs.ts | 714 | export function calculateQuickspanFuelSurcharge(context: ShipmentContext, transportation: number): number { | CODE |
| LOW | …ead-gate/fixture-large/src/shipping/carrier-tariffs.ts | 720 | export function calculateQuickspanAccessorials(context: ShipmentContext): ChargeLine[] { | CODE |
| LOW | …ead-gate/fixture-large/src/shipping/carrier-tariffs.ts | 801 | export function calculateOrbitalBaseCharge(context: ShipmentContext): number { | CODE |
| LOW | …ead-gate/fixture-large/src/shipping/carrier-tariffs.ts | 817 | export function calculateOrbitalFuelSurcharge(context: ShipmentContext, transportation: number): number { | CODE |
| LOW | …ead-gate/fixture-large/src/shipping/carrier-tariffs.ts | 823 | export function calculateOrbitalAccessorials(context: ShipmentContext): ChargeLine[] { | CODE |
| LOW | …/skills/agent-cost-report/scripts/tests/test_period.py | 19 | def test_cli_explains_how_to_install_timezone_data(self): | CODE |
| LOW | …/skills/agent-cost-report/scripts/tests/test_period.py | 39 | def test_windows_install_command_handles_spaces_in_interpreter_path(self): | CODE |
| LOW⚡ | …/skills/agent-cost-report/scripts/tests/test_period.py | 79 | def test_default_accepts_a_utc_clock(self): | CODE |
| LOW⚡ | …/skills/agent-cost-report/scripts/tests/test_period.py | 84 | def test_explicit_end_after_today_is_partial(self): | CODE |
| LOW⚡ | …/skills/agent-cost-report/scripts/tests/test_period.py | 90 | def test_explicit_end_equal_today_is_not_partial(self): | CODE |
| LOW⚡ | …/skills/agent-cost-report/scripts/tests/test_period.py | 94 | def test_only_start_given_defaults_end_to_today(self): | CODE |
| LOW | …/skills/agent-cost-report/scripts/tests/test_period.py | 112 | def test_default_window_across_fall_back(self): | CODE |
| LOW | …/skills/agent-cost-report/scripts/tests/test_period.py | 127 | def test_default_window_ending_on_dst_day(self): | CODE |
| LOW | …/skills/agent-cost-report/scripts/tests/test_period.py | 136 | def test_session_block_has_null_bounds(self): | CODE |
| LOW | …-cost-report/scripts/tests/test_transcript_encoding.py | 18 | def test_every_text_open_and_text_subprocess_names_an_encoding(self): | CODE |
| LOW | …-cost-report/scripts/tests/test_transcript_encoding.py | 34 | def test_review_apply_accepts_a_reviewed_file_saved_with_a_bom(self): | CODE |
| LOW⚡ | …-cost-report/scripts/tests/test_transcript_encoding.py | 98 | def test_usage_retains_unicode_workspace(self): | STRING |
| LOW⚡ | …-cost-report/scripts/tests/test_transcript_encoding.py | 101 | def test_behavior_retains_unicode_evidence(self): | STRING |
| LOW⚡ | …-cost-report/scripts/tests/test_transcript_encoding.py | 104 | def test_wins_retain_unicode_workspace_and_result(self): | STRING |
| LOW⚡ | …-cost-report/scripts/tests/test_transcript_encoding.py | 107 | def test_rule_names_retain_unicode(self): | STRING |
| LOW⚡ | …-cost-report/scripts/tests/test_transcript_encoding.py | 110 | def test_codex_retains_unicode_model(self): | STRING |
| LOW | …aw/skills/agent-cost-report/scripts/tests/test_sync.py | 24 | def test_shipped_files_and_checksums(self): | CODE |
| LOW | …aw/skills/agent-cost-report/scripts/tests/test_sync.py | 42 | def test_default_destinations_are_the_house_copy_and_four_mirrors(self): | CODE |
| LOW⚡ | …skills/agent-cost-report/scripts/tests/test_measure.py | 45 | def test_unavailable_without_key(self): | CODE |
| LOW⚡ | …skills/agent-cost-report/scripts/tests/test_measure.py | 49 | def test_ok_writes_buckets_and_no_key_material(self): | CODE |
| LOW⚡ | …skills/agent-cost-report/scripts/tests/test_measure.py | 55 | def test_error_keeps_http_status_only(self): | CODE |
| LOW⚡ | …skills/agent-cost-report/scripts/tests/test_measure.py | 59 | def test_cli_unavailable_exit_zero(self): | CODE |
| LOW⚡ | …skills/agent-cost-report/scripts/tests/test_measure.py | 72 | def test_weekly_bucket_covers_window(self): | CODE |
| LOW⚡ | …skills/agent-cost-report/scripts/tests/test_measure.py | 77 | def test_window_not_finished_is_reference_only(self): | CODE |
| LOW⚡ | …skills/agent-cost-report/scripts/tests/test_measure.py | 82 | def test_window_before_week_uses_month_or_reference(self): | CODE |
| LOW⚡ | …skills/agent-cost-report/scripts/tests/test_measure.py | 91 | def test_apply_and_render_measured(self): | CODE |
| LOW | …skills/agent-cost-report/scripts/tests/test_measure.py | 109 | def test_session_window_without_bounds_is_reference_only_not_a_crash(self): | CODE |
| LOW | …aw/skills/agent-cost-report/scripts/tests/test_wins.py | 64 | def test_no_fallback_estimate_anywhere(self): | CODE |
| LOW | …aw/skills/agent-cost-report/scripts/tests/test_wins.py | 85 | def test_scan_success_error_and_window(self): | CODE |
| LOW | …aw/skills/agent-cost-report/scripts/tests/test_wins.py | 109 | def test_no_link_means_every_usd_null(self): | CODE |
| LOW⚡ | …aw/skills/agent-cost-report/scripts/tests/test_wins.py | 121 | def test_pr_in_transcript_and_observation_counts_once(self): | CODE |
| LOW⚡ | …aw/skills/agent-cost-report/scripts/tests/test_wins.py | 127 | def test_observation_repo_from_remote_of_project_cwd(self): | CODE |
| LOW⚡ | …aw/skills/agent-cost-report/scripts/tests/test_wins.py | 133 | def test_gh_confirmation_window_and_not_merged(self): | CODE |
| 1204 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker-compose.yml | 1 | # Phase 10 — server-beta deployable runtime. | COMMENT |
| LOW | docker-compose.yml | 21 | # CLAUDE_MEM_RUNTIME=server-beta | COMMENT |
| LOW | docker-compose.yml | 41 | # server/worker containers (see the commented `secrets:` blocks below) instead | COMMENT |
| LOW | evals/read-gate/scaffold-workspace.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tests/plugin-version-check-ensure-deps.test.ts | 481 | // at ~/.claude/plugins/cache/thedotmack/claude-mem/<version>/, so a zod | COMMENT |
| LOW | tests/env-isolation.test.ts | 141 | const result = await buildIsolatedEnvWithFreshOAuth(); | COMMENT |
| LOW | tests/server/tv-remote-guard.test.ts | 1 | // SPDX-License-Identifier: Apache-2.0 | COMMENT |
| LOW | tests/server/server-runtime-smoke.test.ts | 1 | // SPDX-License-Identifier: Apache-2.0 | COMMENT |
| LOW | tests/server/runtime/server-mcp-http-routes.test.ts | 1 | // SPDX-License-Identifier: Apache-2.0 | COMMENT |
| LOW | tests/server/generation/empty-response-guard.test.ts | 1 | // SPDX-License-Identifier: Apache-2.0 | COMMENT |
| LOW | tests/server/generation/summary-starved-input.test.ts | 1 | // SPDX-License-Identifier: Apache-2.0 | COMMENT |
| LOW | tests/utils/project-name-submodule.test.ts | 1 | // #2842 / #2967: a session whose cwd is inside a git submodule resolved to the | COMMENT |
| LOW | tests/shared/worker-spawn-gate.test.ts | 1 | import { describe, it, expect, beforeEach, afterEach, spyOn } from 'bun:test'; | COMMENT |
| LOW | tests/shared/spawn-cmd-verbatim.test.ts | 1 | import { describe, it, expect } from 'bun:test'; | COMMENT |
| LOW | tests/shared/worker-utils-zombie-port.test.ts | 21 | // process. | COMMENT |
| LOW | tests/shared/worker-utils-zombie-port.test.ts | 41 | // Health responses to serve in order; the last entry repeats once exhausted. | COMMENT |
| LOW | tests/shared/worker-utils-pidns.test.ts | 1 | import { describe, it, expect, afterEach, afterAll, mock } from 'bun:test'; | COMMENT |
| LOW | tests/shared/kill-process-tree-pid-reuse.test.ts | 301 | describe.if(isPosix)('descendant identity comes from the discovering observation', () => { | COMMENT |
| LOW | tests/shared/kill-process-tree-pid-reuse.test.ts | 341 | COMMENT | |
| LOW | tests/sqlite/session-store-orphan-fk-repair.test.ts | 1 | // Pin-down + regression tests for #3378 (second half): a legacy DB containing | COMMENT |
| LOW | …/sqlite/session-store-v7-rebuild-keeps-columns.test.ts | 1 | // Regression tests for #3890: the v7 session_summaries rebuild | COMMENT |
| LOW | tests/cli/handlers/context-server-mode.test.ts | 1 | // SPDX-License-Identifier: Apache-2.0 | COMMENT |
| LOW | tests/cli/handlers/observation-spool-timing.test.ts | 1 | import { afterEach, describe, expect, it } from 'bun:test'; | COMMENT |
| LOW | tests/integrations/opencode-plugin-contract.test.ts | 61 | COMMENT | |
| LOW | tests/sdk/pg-isolation.ts | 1 | // SPDX-License-Identifier: Apache-2.0 | COMMENT |
| LOW | tests/hooks/server-client.test.ts | 221 | content: 'hello', | COMMENT |
| LOW | tests/npx-cli/install-update-keeps-provider.test.ts | 1 | // SPDX-License-Identifier: Apache-2.0 | COMMENT |
| LOW | tests/worker/overflow-recycle-resume.test.ts | 81 | // every other test here) relies on the NEXT test's own `beforeEach` | COMMENT |
| LOW | tests/worker/observer-image-strip-live-path.test.ts | 1 | // The image sanitizer (#3730) is shape-based, so it only works on parsed JSON. | COMMENT |
| LOW | tests/worker/claude-setup-gate.test.ts | 21 | COMMENT | |
| LOW | …ker/http/routes/session-routes-provider-switch.test.ts | 161 | // check only once the describe's own local cleanup (registeredIds | COMMENT |
| LOW | tests/worker/sync/outbox-growth.test.ts | 1 | // sync_outbox growth bounds — the two halves of the unbounded-growth fix: | COMMENT |
| LOW | tests/worker/sync/session-identity-is-stable.test.ts | 1 | // A session's memory_session_id is its IDENTITY, not a per-turn value. | COMMENT |
| LOW | tests/worker/sync/mutation-sites.test.ts | 1 | // Phase 3 verification (plan 2026-07-17): the four mutation sites emit the | COMMENT |
| LOW | tests/servers/mcp-server-name-safety.test.ts | 1 | // #2473 — Plugin MCP server tools were never surfaced to the assistant because | COMMENT |
| LOW | tests/services/worker-idle-exit-monitor.test.ts | 1 | import { describe, it, expect } from 'bun:test'; | COMMENT |
| LOW | tests/services/worker-spawner-pidns.test.ts | 1 | import { describe, it, expect, afterAll, afterEach, mock } from 'bun:test'; | COMMENT |
| LOW | …vices/infrastructure/worktree-adoption-orphans.test.ts | 1 | // #2864 / #2967: observations captured in a worktree keep the composite | COMMENT |
| LOW | …s/supervisor/process-registry-superseded-entry.test.ts | 1 | // A registry id can be reused while the process holding it is still running: | COMMENT |
| LOW | plugin/scripts/version-check.js | 81 | // by whatever Node the host provides), so the probe is inlined here rather than | COMMENT |
| LOW | plugin/scripts/version-check.js | 101 | // `install marker unreadable` hint for exactly that state. Returning | COMMENT |
| LOW | plugin/scripts/version-check.js | 121 | // ($HOME/.node_modules, $PREFIX/lib/node). Plugin roots live at | COMMENT |
| LOW | plugin/scripts/version-check.js | 141 | // they are `exports`-map entries, so a present-and-correct directory does | COMMENT |
| LOW | plugin/scripts/version-check.js | 181 | function formatMissing(missing) { | COMMENT |
| LOW | plugin/scripts/version-check.js | 201 | // | COMMENT |
| LOW | plugin/scripts/version-check.js | 261 | reason = `exit ${result.status}`; | COMMENT |
| LOW | omp/hooks/claude-mem.ts | 301 | // before_agent_start fires once per user prompt: record it, every time. The | COMMENT |
| LOW | scripts/e2e-server-docker.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/postinstall-allowlist.js | 1 | // Single source of truth for the set of dependencies that are permitted to run | COMMENT |
| LOW | scripts/check-postinstall-allowlist.js | 1 | #!/usr/bin/env node | COMMENT |
| LOW | scripts/build-hooks.js | 421 | 'onnxruntime-node', | COMMENT |
| LOW | .github/workflows/windows.yml | 101 | # spawns Chroma, so #3482 (worker recycle orphans the uvx -> uv -> python | COMMENT |
| LOW | .github/workflows/windows.yml | 161 | # discovered it, and captureProcessStartToken re-reads it later. If those | COMMENT |
| LOW | .github/workflows/ci.yml | 41 | # bundle-size guardrail (WORKER_SERVICE_MAX_BYTES, see #2584) and the MCP | COMMENT |
| LOW | .github/workflows/ci.yml | 101 | - name: Build | COMMENT |
| LOW | .github/workflows/ci.yml | 121 | # ${{ runner.temp }} makes Actions reject the whole file with | COMMENT |
| LOW | workers/sync-hub/worker-configuration.d.ts | 12901 | // itself. | COMMENT |
| LOW | workers/sync-hub/worker-configuration.d.ts | 13021 | type MaybeDisposable<T> = T extends object ? Disposable : unknown; | COMMENT |
| LOW | workers/sync-hub/worker-configuration.d.ts | 13041 | // Rewrites all methods/properties to be `MethodOrProperty`s, while preserving callable types. | COMMENT |
| LOW | workers/sync-hub/worker-configuration.d.ts | 13061 | // A project should have a declaration like this: | COMMENT |
| 124 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | README.md | 306 | // Step 1: Search for index | COMMENT |
| LOW⚡ | README.md | 309 | // Step 2: Review index, identify relevant IDs (e.g., #123, #456) | COMMENT |
| LOW⚡ | README.md | 311 | // Step 3: Fetch full details | COMMENT |
| LOW | openclaw/SKILL.md | 43 | ### Step 1: Clone the Claude-Mem Repo | COMMENT |
| LOW | openclaw/SKILL.md | 61 | ### Step 2: Get the Worker Running | COMMENT |
| LOW | openclaw/SKILL.md | 118 | ### Step 3: Add the Plugin to Your Gateway | COMMENT |
| LOW | openclaw/SKILL.md | 149 | ## Step 4: Restart the Gateway and Verify | COMMENT |
| LOW | openclaw/SKILL.md | 169 | ## Step 5: Verify Observations Are Being Recorded | COMMENT |
| LOW | openclaw/SKILL.md | 184 | ## Step 6: Set Up the Observation Feed (Streaming to a Channel) | COMMENT |
| LOW | cursor-hooks/STANDALONE-SETUP.md | 35 | ## Step 1: Clone Claude-Mem | COMMENT |
| LOW | cursor-hooks/STANDALONE-SETUP.md | 49 | ## Step 2: Configure Provider (Choose One) | COMMENT |
| LOW | cursor-hooks/STANDALONE-SETUP.md | 108 | ## Step 3: Install Cursor Hooks | COMMENT |
| LOW | cursor-hooks/STANDALONE-SETUP.md | 123 | ## Step 4: Start the Worker | COMMENT |
| LOW | cursor-hooks/STANDALONE-SETUP.md | 135 | ## Step 5: Restart Cursor & Verify | COMMENT |
| LOW | plugin/skills/timeline-report/SKILL.md | 35 | ### Step 1: Determine the Project Name | COMMENT |
| LOW | plugin/skills/timeline-report/SKILL.md | 56 | ### Step 2: Fetch the Full Timeline | COMMENT |
| LOW | plugin/skills/timeline-report/SKILL.md | 73 | ### Step 3: Estimate Token Count | COMMENT |
| LOW | plugin/skills/timeline-report/SKILL.md | 85 | ### Step 4: Analyze with a Subagent | COMMENT |
| LOW | plugin/skills/timeline-report/SKILL.md | 178 | ### Step 5: Save the Report | COMMENT |
| LOW | plugin/skills/timeline-report/SKILL.md | 188 | ### Step 6: Report Completion | COMMENT |
| LOW | plugin/skills/weekly-digests/SKILL.md | 39 | ### Step 1: Determine the Project Name | COMMENT |
| LOW | plugin/skills/weekly-digests/SKILL.md | 54 | ### Step 2: Fetch the Full Timeline and Save It | COMMENT |
| LOW | plugin/skills/weekly-digests/SKILL.md | 65 | ### Step 3: Split the Timeline Into Per-ISO-Week Files | COMMENT |
| LOW | plugin/skills/weekly-digests/SKILL.md | 87 | ### Step 4: Build the Weekly Index README | COMMENT |
| LOW | plugin/skills/weekly-digests/SKILL.md | 91 | ### Step 5: Run the Consecutive Subagent Pipeline | COMMENT |
| LOW | plugin/skills/weekly-digests/SKILL.md | 188 | ### Step 6: Rename Files for Sortable Order | COMMENT |
| LOW | plugin/skills/weekly-digests/SKILL.md | 209 | ### Step 7: Report Completion | COMMENT |
| LOW | plugin/skills/knowledge-agent/SKILL.md | 18 | ### Step 1: Build a corpus | COMMENT |
| LOW⚡ | plugin/skills/knowledge-agent/SKILL.md | 33 | ### Step 2: Prime the corpus | COMMENT |
| LOW⚡ | plugin/skills/knowledge-agent/SKILL.md | 41 | ### Step 3: Query | COMMENT |
| LOW⚡ | plugin/skills/knowledge-agent/SKILL.md | 49 | ### Step 4: List corpora | COMMENT |
| LOW | plugin/skills/smart-explore/SKILL.md | 26 | ### Step 1: Search -- Discover Files and Symbols | COMMENT |
| LOW | plugin/skills/smart-explore/SKILL.md | 54 | ### Step 2: Outline -- Get File Structure | COMMENT |
| LOW | plugin/skills/smart-explore/SKILL.md | 68 | ### Step 3: Unfold -- See Implementation | COMMENT |
| LOW⚡ | docs/i18n/README.ar.md | 266 | // Step 1: Search for index | COMMENT |
| LOW⚡ | docs/i18n/README.ar.md | 269 | // Step 2: Review index, identify relevant IDs (e.g., #123, #456) | COMMENT |
| LOW⚡ | docs/i18n/README.ar.md | 271 | // Step 3: Fetch full details | COMMENT |
| LOW⚡ | docs/i18n/README.zh-tw.md | 264 | // Step 1: Search for index | COMMENT |
| LOW⚡ | docs/i18n/README.zh-tw.md | 267 | // Step 2: Review index, identify relevant IDs (e.g., #123, #456) | COMMENT |
| LOW⚡ | docs/i18n/README.zh-tw.md | 269 | // Step 3: Fetch full details | COMMENT |
| LOW⚡ | docs/i18n/README.el.md | 264 | // Step 1: Search for index | COMMENT |
| LOW⚡ | docs/i18n/README.el.md | 267 | // Step 2: Review index, identify relevant IDs (e.g., #123, #456) | COMMENT |
| LOW⚡ | docs/i18n/README.el.md | 269 | // Step 3: Fetch full details | COMMENT |
| LOW⚡ | docs/i18n/README.tl.md | 264 | // Step 1: Search for index | COMMENT |
| LOW⚡ | docs/i18n/README.tl.md | 267 | // Step 2: Review index, identify relevant IDs (e.g., #123, #456) | COMMENT |
| LOW⚡ | docs/i18n/README.tl.md | 269 | // Step 3: Fetch full details | COMMENT |
| LOW⚡ | src/integrations/dsh-plugin/skill.ts | 27 | ### Step 1: Search — get an index with ids | COMMENT |
| LOW⚡ | src/integrations/dsh-plugin/skill.ts | 32 | ### Step 2: Filter — narrow to the interesting ids | COMMENT |
| LOW⚡ | src/integrations/dsh-plugin/skill.ts | 36 | ### Step 3: Fetch — get full details only for the filtered ids | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | openclaw/skills/agent-cost-report/scripts/acr/wins.py | 80 | CODE | |
| LOW | openclaw/skills/agent-cost-report/scripts/acr/wins.py | 204 | CODE | |
| LOW | openclaw/skills/agent-cost-report/scripts/acr/wins.py | 234 | CODE | |
| LOW | …nclaw/skills/agent-cost-report/scripts/acr/mistakes.py | 49 | CODE | |
| LOW | …nclaw/skills/agent-cost-report/scripts/acr/mistakes.py | 98 | CODE | |
| LOW | …nclaw/skills/agent-cost-report/scripts/acr/patterns.py | 201 | CODE | |
| LOW | …nclaw/skills/agent-cost-report/scripts/acr/patterns.py | 230 | CODE | |
| LOW | …nclaw/skills/agent-cost-report/scripts/acr/patterns.py | 283 | CODE | |
| LOW | …nclaw/skills/agent-cost-report/scripts/acr/patterns.py | 305 | CODE | |
| LOW | …aw/skills/agent-cost-report/scripts/acr/transcripts.py | 43 | CODE | |
| LOW | …aw/skills/agent-cost-report/scripts/acr/transcripts.py | 85 | CODE | |
| LOW | …nclaw/skills/agent-cost-report/scripts/acr/behavior.py | 116 | CODE | |
| LOW | …nclaw/skills/agent-cost-report/scripts/acr/behavior.py | 294 | CODE | |
| LOW | openclaw/skills/agent-cost-report/scripts/acr/render.py | 565 | CODE | |
| LOW | …enclaw/skills/agent-cost-report/scripts/acr/devices.py | 60 | CODE | |
| LOW | plugin/skills/agent-cost-report/scripts/acr/wins.py | 80 | CODE | |
| LOW | plugin/skills/agent-cost-report/scripts/acr/wins.py | 204 | CODE | |
| LOW | plugin/skills/agent-cost-report/scripts/acr/wins.py | 234 | CODE | |
| LOW | plugin/skills/agent-cost-report/scripts/acr/mistakes.py | 49 | CODE | |
| LOW | plugin/skills/agent-cost-report/scripts/acr/mistakes.py | 98 | CODE | |
| LOW | plugin/skills/agent-cost-report/scripts/acr/patterns.py | 201 | CODE | |
| LOW | plugin/skills/agent-cost-report/scripts/acr/patterns.py | 230 | CODE | |
| LOW | plugin/skills/agent-cost-report/scripts/acr/patterns.py | 283 | CODE | |
| LOW | plugin/skills/agent-cost-report/scripts/acr/patterns.py | 305 | CODE | |
| LOW | …in/skills/agent-cost-report/scripts/acr/transcripts.py | 43 | CODE | |
| LOW | …in/skills/agent-cost-report/scripts/acr/transcripts.py | 85 | CODE | |
| LOW | plugin/skills/agent-cost-report/scripts/acr/behavior.py | 116 | CODE | |
| LOW | plugin/skills/agent-cost-report/scripts/acr/behavior.py | 294 | CODE | |
| LOW | plugin/skills/agent-cost-report/scripts/acr/render.py | 565 | CODE | |
| LOW | plugin/skills/agent-cost-report/scripts/acr/devices.py | 60 | CODE | |
| LOW | …-grok-bot/skills/agent-cost-report/scripts/acr/wins.py | 80 | CODE | |
| LOW | …-grok-bot/skills/agent-cost-report/scripts/acr/wins.py | 204 | CODE | |
| LOW | …-grok-bot/skills/agent-cost-report/scripts/acr/wins.py | 234 | CODE | |
| LOW | …k-bot/skills/agent-cost-report/scripts/acr/mistakes.py | 49 | CODE | |
| LOW | …k-bot/skills/agent-cost-report/scripts/acr/mistakes.py | 98 | CODE | |
| LOW | …k-bot/skills/agent-cost-report/scripts/acr/patterns.py | 201 | CODE | |
| LOW | …k-bot/skills/agent-cost-report/scripts/acr/patterns.py | 230 | CODE | |
| LOW | …k-bot/skills/agent-cost-report/scripts/acr/patterns.py | 283 | CODE | |
| LOW | …k-bot/skills/agent-cost-report/scripts/acr/patterns.py | 305 | CODE | |
| LOW | …ot/skills/agent-cost-report/scripts/acr/transcripts.py | 43 | CODE | |
| LOW | …ot/skills/agent-cost-report/scripts/acr/transcripts.py | 85 | CODE | |
| LOW | …k-bot/skills/agent-cost-report/scripts/acr/behavior.py | 116 | CODE | |
| LOW | …k-bot/skills/agent-cost-report/scripts/acr/behavior.py | 294 | CODE | |
| LOW | …rok-bot/skills/agent-cost-report/scripts/acr/render.py | 565 | CODE | |
| LOW | …ok-bot/skills/agent-cost-report/scripts/acr/devices.py | 60 | CODE | |
| LOW | …em-cursor/skills/agent-cost-report/scripts/acr/wins.py | 80 | CODE | |
| LOW | …em-cursor/skills/agent-cost-report/scripts/acr/wins.py | 204 | CODE | |
| LOW | …em-cursor/skills/agent-cost-report/scripts/acr/wins.py | 234 | CODE | |
| LOW | …ursor/skills/agent-cost-report/scripts/acr/mistakes.py | 49 | CODE | |
| LOW | …ursor/skills/agent-cost-report/scripts/acr/mistakes.py | 98 | CODE | |
| LOW | …ursor/skills/agent-cost-report/scripts/acr/patterns.py | 201 | CODE | |
| LOW | …ursor/skills/agent-cost-report/scripts/acr/patterns.py | 230 | CODE | |
| LOW | …ursor/skills/agent-cost-report/scripts/acr/patterns.py | 283 | CODE | |
| LOW | …ursor/skills/agent-cost-report/scripts/acr/patterns.py | 305 | CODE | |
| LOW | …or/skills/agent-cost-report/scripts/acr/transcripts.py | 43 | CODE | |
| LOW | …or/skills/agent-cost-report/scripts/acr/transcripts.py | 85 | CODE | |
| LOW | …ursor/skills/agent-cost-report/scripts/acr/behavior.py | 116 | CODE | |
| LOW | …ursor/skills/agent-cost-report/scripts/acr/behavior.py | 294 | CODE | |
| LOW | …-cursor/skills/agent-cost-report/scripts/acr/render.py | 565 | CODE | |
| LOW | …cursor/skills/agent-cost-report/scripts/acr/devices.py | 60 | CODE | |
| 15 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | openclaw/install.sh | 249 | except Exception: | CODE |
| LOW | openclaw/skills/agent-cost-report/scripts/acr/wins.py | 77 | except Exception: return None | CODE |
| LOW | openclaw/skills/agent-cost-report/scripts/acr/wins.py | 91 | except Exception: continue | CODE |
| LOW | openclaw/skills/agent-cost-report/scripts/acr/wins.py | 122 | except Exception: return None | CODE |
| LOW | openclaw/skills/agent-cost-report/scripts/acr/wins.py | 131 | except Exception: return None | CODE |
| LOW | …aw/skills/agent-cost-report/scripts/acr/transcripts.py | 60 | except Exception: continue | CODE |
| LOW | …aw/skills/agent-cost-report/scripts/acr/transcripts.py | 99 | except Exception: continue | CODE |
| LOW | …nclaw/skills/agent-cost-report/scripts/acr/behavior.py | 130 | except Exception: continue | CODE |
| LOW | …nclaw/skills/agent-cost-report/scripts/acr/behavior.py | 136 | except Exception: continue | CODE |
| LOW | …nclaw/skills/agent-cost-report/scripts/acr/classify.py | 52 | except Exception: out = dict(label="unsure", pattern=None, reason="unparseable") | CODE |
| LOW | openclaw/skills/agent-cost-report/scripts/acr/prices.py | 29 | except Exception as ex: | CODE |
| LOW | plugin/skills/agent-cost-report/scripts/acr/wins.py | 77 | except Exception: return None | CODE |
| LOW | plugin/skills/agent-cost-report/scripts/acr/wins.py | 91 | except Exception: continue | CODE |
| LOW | plugin/skills/agent-cost-report/scripts/acr/wins.py | 122 | except Exception: return None | CODE |
| LOW | plugin/skills/agent-cost-report/scripts/acr/wins.py | 131 | except Exception: return None | CODE |
| LOW | …in/skills/agent-cost-report/scripts/acr/transcripts.py | 60 | except Exception: continue | CODE |
| LOW | …in/skills/agent-cost-report/scripts/acr/transcripts.py | 99 | except Exception: continue | CODE |
| LOW | plugin/skills/agent-cost-report/scripts/acr/behavior.py | 130 | except Exception: continue | CODE |
| LOW | plugin/skills/agent-cost-report/scripts/acr/behavior.py | 136 | except Exception: continue | CODE |
| LOW | plugin/skills/agent-cost-report/scripts/acr/classify.py | 52 | except Exception: out = dict(label="unsure", pattern=None, reason="unparseable") | CODE |
| LOW | plugin/skills/agent-cost-report/scripts/acr/prices.py | 29 | except Exception as ex: | CODE |
| LOW | …-grok-bot/skills/agent-cost-report/scripts/acr/wins.py | 77 | except Exception: return None | CODE |
| LOW | …-grok-bot/skills/agent-cost-report/scripts/acr/wins.py | 91 | except Exception: continue | CODE |
| LOW | …-grok-bot/skills/agent-cost-report/scripts/acr/wins.py | 122 | except Exception: return None | CODE |
| LOW | …-grok-bot/skills/agent-cost-report/scripts/acr/wins.py | 131 | except Exception: return None | CODE |
| LOW | …ot/skills/agent-cost-report/scripts/acr/transcripts.py | 60 | except Exception: continue | CODE |
| LOW | …ot/skills/agent-cost-report/scripts/acr/transcripts.py | 99 | except Exception: continue | CODE |
| LOW | …k-bot/skills/agent-cost-report/scripts/acr/behavior.py | 130 | except Exception: continue | CODE |
| LOW | …k-bot/skills/agent-cost-report/scripts/acr/behavior.py | 136 | except Exception: continue | CODE |
| LOW | …k-bot/skills/agent-cost-report/scripts/acr/classify.py | 52 | except Exception: out = dict(label="unsure", pattern=None, reason="unparseable") | CODE |
| LOW | …rok-bot/skills/agent-cost-report/scripts/acr/prices.py | 29 | except Exception as ex: | CODE |
| LOW | …em-cursor/skills/agent-cost-report/scripts/acr/wins.py | 77 | except Exception: return None | CODE |
| LOW | …em-cursor/skills/agent-cost-report/scripts/acr/wins.py | 91 | except Exception: continue | CODE |
| LOW | …em-cursor/skills/agent-cost-report/scripts/acr/wins.py | 122 | except Exception: return None | CODE |
| LOW | …em-cursor/skills/agent-cost-report/scripts/acr/wins.py | 131 | except Exception: return None | CODE |
| LOW | …or/skills/agent-cost-report/scripts/acr/transcripts.py | 60 | except Exception: continue | CODE |
| LOW | …or/skills/agent-cost-report/scripts/acr/transcripts.py | 99 | except Exception: continue | CODE |
| LOW | …ursor/skills/agent-cost-report/scripts/acr/behavior.py | 130 | except Exception: continue | CODE |
| LOW | …ursor/skills/agent-cost-report/scripts/acr/behavior.py | 136 | except Exception: continue | CODE |
| LOW | …ursor/skills/agent-cost-report/scripts/acr/classify.py | 52 | except Exception: out = dict(label="unsure", pattern=None, reason="unparseable") | CODE |
| LOW | …-cursor/skills/agent-cost-report/scripts/acr/prices.py | 29 | except Exception as ex: | CODE |
| LOW | cowork/skills/agent-cost-report/scripts/acr/wins.py | 77 | except Exception: return None | CODE |
| LOW | cowork/skills/agent-cost-report/scripts/acr/wins.py | 91 | except Exception: continue | CODE |
| LOW | cowork/skills/agent-cost-report/scripts/acr/wins.py | 122 | except Exception: return None | CODE |
| LOW | cowork/skills/agent-cost-report/scripts/acr/wins.py | 131 | except Exception: return None | CODE |
| LOW | …rk/skills/agent-cost-report/scripts/acr/transcripts.py | 60 | except Exception: continue | CODE |
| LOW | …rk/skills/agent-cost-report/scripts/acr/transcripts.py | 99 | except Exception: continue | CODE |
| LOW | cowork/skills/agent-cost-report/scripts/acr/behavior.py | 130 | except Exception: continue | CODE |
| LOW | cowork/skills/agent-cost-report/scripts/acr/behavior.py | 136 | except Exception: continue | CODE |
| LOW | cowork/skills/agent-cost-report/scripts/acr/classify.py | 52 | except Exception: out = dict(label="unsure", pattern=None, reason="unparseable") | CODE |
| LOW | cowork/skills/agent-cost-report/scripts/acr/prices.py | 29 | except Exception as ex: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …/skills/agent-cost-report/scripts/tests/test_rollup.py | 13 | CODE | |
| LOW | …/skills/agent-cost-report/scripts/tests/test_labels.py | 3 | CODE | |
| LOW | …ls/agent-cost-report/scripts/tests/test_pdf_windows.py | 10 | CODE | |
| LOW | …kills/agent-cost-report/scripts/tests/test_snapshot.py | 7 | CODE | |
| LOW | …skills/agent-cost-report/scripts/tests/test_devices.py | 11 | CODE | |
| LOW | …nclaw/skills/agent-cost-report/scripts/acr/behavior.py | 20 | CODE | |
| LOW | openclaw/skills/agent-cost-report/scripts/acr/sample.py | 6 | CODE | |
| LOW | openclaw/skills/agent-cost-report/scripts/acr/sample.py | 11 | CODE | |
| LOW | …/skills/agent-cost-report/scripts/tests/test_rollup.py | 13 | CODE | |
| LOW | …/skills/agent-cost-report/scripts/tests/test_labels.py | 3 | CODE | |
| LOW | …ls/agent-cost-report/scripts/tests/test_pdf_windows.py | 10 | CODE | |
| LOW | …kills/agent-cost-report/scripts/tests/test_snapshot.py | 7 | CODE | |
| LOW | …skills/agent-cost-report/scripts/tests/test_devices.py | 11 | CODE | |
| LOW | plugin/skills/agent-cost-report/scripts/acr/behavior.py | 20 | CODE | |
| LOW | plugin/skills/agent-cost-report/scripts/acr/sample.py | 6 | CODE | |
| LOW | plugin/skills/agent-cost-report/scripts/acr/sample.py | 11 | CODE | |
| LOW | …/skills/agent-cost-report/scripts/tests/test_rollup.py | 13 | CODE | |
| LOW | …/skills/agent-cost-report/scripts/tests/test_labels.py | 3 | CODE | |
| LOW | …ls/agent-cost-report/scripts/tests/test_pdf_windows.py | 10 | CODE | |
| LOW | …kills/agent-cost-report/scripts/tests/test_snapshot.py | 7 | CODE | |
| LOW | …skills/agent-cost-report/scripts/tests/test_devices.py | 11 | CODE | |
| LOW | …k-bot/skills/agent-cost-report/scripts/acr/behavior.py | 20 | CODE | |
| LOW | …rok-bot/skills/agent-cost-report/scripts/acr/sample.py | 6 | CODE | |
| LOW | …rok-bot/skills/agent-cost-report/scripts/acr/sample.py | 11 | CODE | |
| LOW | scripts/openrouter-price-history/build-dataset.py | 7 | CODE | |
| LOW | …/skills/agent-cost-report/scripts/tests/test_rollup.py | 13 | CODE | |
| LOW | …/skills/agent-cost-report/scripts/tests/test_labels.py | 3 | CODE | |
| LOW | …ls/agent-cost-report/scripts/tests/test_pdf_windows.py | 10 | CODE | |
| LOW | …kills/agent-cost-report/scripts/tests/test_snapshot.py | 7 | CODE | |
| LOW | …skills/agent-cost-report/scripts/tests/test_devices.py | 11 | CODE | |
| LOW | …ursor/skills/agent-cost-report/scripts/acr/behavior.py | 20 | CODE | |
| LOW | …-cursor/skills/agent-cost-report/scripts/acr/sample.py | 6 | CODE | |
| LOW | …-cursor/skills/agent-cost-report/scripts/acr/sample.py | 11 | CODE | |
| LOW | …/skills/agent-cost-report/scripts/tests/test_rollup.py | 13 | CODE | |
| LOW | …/skills/agent-cost-report/scripts/tests/test_labels.py | 3 | CODE | |
| LOW | …ls/agent-cost-report/scripts/tests/test_pdf_windows.py | 10 | CODE | |
| LOW | …kills/agent-cost-report/scripts/tests/test_snapshot.py | 7 | CODE | |
| LOW | …skills/agent-cost-report/scripts/tests/test_devices.py | 11 | CODE | |
| LOW | cowork/skills/agent-cost-report/scripts/acr/behavior.py | 20 | CODE | |
| LOW | cowork/skills/agent-cost-report/scripts/acr/sample.py | 6 | CODE | |
| LOW | cowork/skills/agent-cost-report/scripts/acr/sample.py | 11 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | cursor-hooks/QUICKSTART.md | 40 | claude-mem settings set CLAUDE_MEM_GEMINI_API_KEY your-api-key | CODE |
| HIGH | cursor-hooks/QUICKSTART.md | 44 | claude-mem settings set CLAUDE_MEM_OPENROUTER_API_KEY your-api-key | CODE |
| HIGH | tests/server/connect-keys.test.ts | 126 | expect(body.connectCommand).toContain('<YOUR_API_KEY>'); | CODE |
| HIGH | tests/server/connect-keys.test.ts | 126 | expect(body.connectCommand).toContain('<YOUR_API_KEY>'); | CODE |
| HIGH | docs/api.md | 70 | - `GET /v1/connect` (read scope) returns the same command with a `<YOUR_API_KEY>` | CODE |
| HIGH | docs/api.md | 70 | - `GET /v1/connect` (read scope) returns the same command with a `<YOUR_API_KEY>` | CODE |
| HIGH | src/server/routes/v1/ServerV1PostgresRoutes.ts | 243 | connectCommand: mcpConnectCommand(mcpUrl, '<YOUR_API_KEY>'), | CODE |
| HIGH | src/server/routes/v1/ServerV1PostgresRoutes.ts | 243 | connectCommand: mcpConnectCommand(mcpUrl, '<YOUR_API_KEY>'), | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …aw/skills/agent-cost-report/scripts/tests/test_wins.py | 44 | c = wins.classify_command("cd /x && gh pr merge https://github.com/o/r/pull/7 --merge") | CODE |
| HIGH | openclaw/skills/agent-cost-report/scripts/acr/wins.py | 10 | Cost: "unmeasured" (every usd null) unless the PR's commits carry `Claude-Session: <bare id>` | STRING |
| HIGH | …in/skills/agent-cost-report/scripts/tests/test_wins.py | 44 | c = wins.classify_command("cd /x && gh pr merge https://github.com/o/r/pull/7 --merge") | CODE |
| HIGH | plugin/skills/agent-cost-report/scripts/acr/wins.py | 10 | Cost: "unmeasured" (every usd null) unless the PR's commits carry `Claude-Session: <bare id>` | STRING |
| HIGH | …ot/skills/agent-cost-report/scripts/tests/test_wins.py | 44 | c = wins.classify_command("cd /x && gh pr merge https://github.com/o/r/pull/7 --merge") | CODE |
| HIGH | …-grok-bot/skills/agent-cost-report/scripts/acr/wins.py | 10 | Cost: "unmeasured" (every usd null) unless the PR's commits carry `Claude-Session: <bare id>` | STRING |
| HIGH | …or/skills/agent-cost-report/scripts/tests/test_wins.py | 44 | c = wins.classify_command("cd /x && gh pr merge https://github.com/o/r/pull/7 --merge") | CODE |
| HIGH | …em-cursor/skills/agent-cost-report/scripts/acr/wins.py | 10 | Cost: "unmeasured" (every usd null) unless the PR's commits carry `Claude-Session: <bare id>` | STRING |
| HIGH | …rk/skills/agent-cost-report/scripts/tests/test_wins.py | 44 | c = wins.classify_command("cd /x && gh pr merge https://github.com/o/r/pull/7 --merge") | CODE |
| HIGH | cowork/skills/agent-cost-report/scripts/acr/wins.py | 10 | Cost: "unmeasured" (every usd null) unless the PR's commits carry `Claude-Session: <bare id>` | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | plans/2026-07-16-endless-mode-message-in-a-bottle.md | 215 | - `session_summaries` content may appear **only** as a visibly-generated block (`> Session summary (generated by claude- | CODE |
| HIGH | plans/2026-07-17-endless-mode-v1.md | 13 | The summary is generated by Claude Code and cannot be replaced or suppressed by a plugin. But a plugin *can* inject addi | CODE |
| HIGH | plans/2026-07-17-endless-mode-v1.md | 82 | `> Session summary (generated by claude-mem — not verbatim)` | CODE |
| HIGH | .claude/reports/test-audit-2026-01-05.md | 290 | *Report generated by Claude Code (Opus 4.5) on 2026-01-05* | COMMENT |
| HIGH | docs/context/cursor-hooks-reference.md | 217 | | [Semgrep](https://semgrep.dev/blog/2025/cursor-hooks-mcp-server) | Automatically scan AI-generated code for vulnerabil | CODE |
| HIGH | src/cli/claude-md-commands.ts | 198 | lines.push('<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->'); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | evals/read-gate/scaffold-workspace.sh | 5 | # one worker per arm and runs the suite with --scaffold. The harness runs this | COMMENT |
| MEDIUM | …nclaw/skills/agent-cost-report/scripts/acr/patterns.py | 82 | P9_NOT_OUTBOUND = re.compile(r"^(SendMessage|PushNotification|SendFeedback)$") # inter-agent / harness tools, not outb | CODE |
| MEDIUM | …nclaw/skills/agent-cost-report/scripts/acr/behavior.py | 163 | if d.get("isMeta") and not results: continue # harness meta lines are not prompts | CODE |
| MEDIUM | plans/hackathon/claude-mem-cheatsheet.html | 468 | decide: { yes: true, thought: '"An architectural choice with a rationale — the #1 thing teams lose. Definitely a no | CODE |
| MEDIUM | tests/shared/settings-defaults-manager.test.ts | 40 | // env for their duration and restore after — robust to whichever | COMMENT |
| MEDIUM | plugin/ui/viewer-bundle.js | 9 | `).replace(Wb,"")}function Hh(e,t){return t=Bg(t),Bg(e)===t}function me(e,t,n,l,a,i){switch(n){case"children":if(typeof | CODE |
| MEDIUM | plugin/skills/agent-cost-report/scripts/acr/patterns.py | 82 | P9_NOT_OUTBOUND = re.compile(r"^(SendMessage|PushNotification|SendFeedback)$") # inter-agent / harness tools, not outb | CODE |
| MEDIUM | plugin/skills/agent-cost-report/scripts/acr/behavior.py | 163 | if d.get("isMeta") and not results: continue # harness meta lines are not prompts | CODE |
| MEDIUM | …k-bot/skills/agent-cost-report/scripts/acr/patterns.py | 82 | P9_NOT_OUTBOUND = re.compile(r"^(SendMessage|PushNotification|SendFeedback)$") # inter-agent / harness tools, not outb | CODE |
| MEDIUM | …k-bot/skills/agent-cost-report/scripts/acr/behavior.py | 163 | if d.get("isMeta") and not results: continue # harness meta lines are not prompts | CODE |
| MEDIUM | …ursor/skills/agent-cost-report/scripts/acr/patterns.py | 82 | P9_NOT_OUTBOUND = re.compile(r"^(SendMessage|PushNotification|SendFeedback)$") # inter-agent / harness tools, not outb | CODE |
| MEDIUM | …ursor/skills/agent-cost-report/scripts/acr/behavior.py | 163 | if d.get("isMeta") and not results: continue # harness meta lines are not prompts | CODE |
| MEDIUM | cowork/skills/agent-cost-report/scripts/acr/patterns.py | 82 | P9_NOT_OUTBOUND = re.compile(r"^(SendMessage|PushNotification|SendFeedback)$") # inter-agent / harness tools, not outb | CODE |
| MEDIUM | cowork/skills/agent-cost-report/scripts/acr/behavior.py | 163 | if d.get("isMeta") and not results: continue # harness meta lines are not prompts | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | evals/read-gate/scaffold-workspace.sh | 2 | # Scaffold shared by every read-gate case; the scaffold-*gate-on.sh and | COMMENT |
| MEDIUM⚡ | evals/read-gate/scaffold-workspace.sh | 3 | # scaffold-*gate-off.sh scripts call it with their arm and, for the large-file | COMMENT |
| MEDIUM⚡ | evals/read-gate/scaffold-workspace.sh | 5 | # one worker per arm and runs the suite with --scaffold. The harness runs this | COMMENT |
| MEDIUM | plans/2026-09-09-ccs-align.md | 11 | **Live house docs:** Notion [Cascading Context Sheet (CCS)](https://app.notion.com/p/3d5771da7f4d81d682e6e716df317bf1), | CODE |
| MEDIUM | plans/2026-09-09-ccs-align.md | 26 | Claude-Mem already has a trustworthy episodic feed (`search` → `timeline` → `get_observations`) and, as of #3931, a *pus | CODE |
| MEDIUM | plans/18-observer-response-pipeline.md | 31 | - #2958 — tracking: Claude provider observer overflows context window — no bound on history size | CODE |
| MEDIUM | tests/worker/observer-context-overflow.test.ts | 5 | // #3625: the observer's budgets now scale with the model's context window, and | COMMENT |
| MEDIUM | plugin/skills/agent-cost-report/VERIFICATION.md | 42 | ## 8.5 Behavior metrics spot-check (seed 7, `behavior-spotcheck.md`, reviewer: the orchestrating Claude session; excerpt | COMMENT |
| MEDIUM | docs/context/cursor-hooks-reference.md | 209 | | [Oasis Security](https://www.oasis.security/blog/cursor-oasis-governing-agentic-access) | Enforce least-privilege poli | CODE |
| MEDIUM | …-29-2026/Phase-01-Close-Duplicates-And-Stale-Issues.md | 30 | - #1488 ("Consumed 25% of my tokens") — `"Closing: this appears to be a usage concern rather than a bug. Token consump | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/context/context-budget-3802.test.ts | 138 | // ── what happens around the fitter ──────────────────────────────── | COMMENT |
| MEDIUM | tests/infrastructure/process-manager.test.ts | 8 | // ── Data-dir isolation (Phase 6, worker-restart plan) ────────────────────── | COMMENT |
| MEDIUM | tests/infrastructure/graceful-shutdown.test.ts | 14 | // ── Data-dir isolation (Phase 6, worker-restart plan) ────────────────────── | COMMENT |
| MEDIUM | workers/sync-hub/worker-configuration.d.ts | 10496 | // ── Error types ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | workers/sync-hub/worker-configuration.d.ts | 10517 | // ── Binding ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/services/memory/ingest.ts | 119 | // ───────────────────────────── frontmatter ────────────────────────────── | COMMENT |
| MEDIUM | src/services/memory/ingest.ts | 210 | // ───────────────────────────── enumeration ────────────────────────────── | COMMENT |
| MEDIUM | src/services/memory/ingest.ts | 427 | // ───────────────────────────── dry-run ────────────────────────────── | COMMENT |
| MEDIUM | src/services/memory/ingest.ts | 527 | // ───────────────────────────── real ingest ────────────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …enclaw/skills/agent-cost-report/scripts/acr/devices.py | 41 | except OSError: pass | CODE |
| HIGH | plugin/skills/agent-cost-report/scripts/acr/devices.py | 41 | except OSError: pass | CODE |
| HIGH | …ok-bot/skills/agent-cost-report/scripts/acr/devices.py | 41 | except OSError: pass | CODE |
| HIGH | …cursor/skills/agent-cost-report/scripts/acr/devices.py | 41 | except OSError: pass | CODE |
| HIGH | cowork/skills/agent-cost-report/scripts/acr/devices.py | 41 | except OSError: pass | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …aw/skills/agent-cost-report/scripts/tests/test_wins.py | 105 | CODE | |
| LOW | …/skills/agent-cost-report/scripts/tests/test_rollup.py | 36 | CODE | |
| LOW | openclaw/skills/agent-cost-report/scripts/acr/rollup.py | 58 | CODE | |
| LOW | …in/skills/agent-cost-report/scripts/tests/test_wins.py | 105 | CODE | |
| LOW | …/skills/agent-cost-report/scripts/tests/test_rollup.py | 36 | CODE | |
| LOW | plugin/skills/agent-cost-report/scripts/acr/rollup.py | 58 | CODE | |
| LOW | …ot/skills/agent-cost-report/scripts/tests/test_wins.py | 105 | CODE | |
| LOW | …/skills/agent-cost-report/scripts/tests/test_rollup.py | 36 | CODE | |
| LOW | …rok-bot/skills/agent-cost-report/scripts/acr/rollup.py | 58 | CODE | |
| LOW | …or/skills/agent-cost-report/scripts/tests/test_wins.py | 105 | CODE | |
| LOW | …/skills/agent-cost-report/scripts/tests/test_rollup.py | 36 | CODE | |
| LOW | …-cursor/skills/agent-cost-report/scripts/acr/rollup.py | 58 | CODE | |
| LOW | …rk/skills/agent-cost-report/scripts/tests/test_wins.py | 105 | CODE | |
| LOW | …/skills/agent-cost-report/scripts/tests/test_rollup.py | 36 | CODE | |
| LOW | cowork/skills/agent-cost-report/scripts/acr/rollup.py | 58 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/ui/viewer/catalog-live-counts.browser.test.ts | 13 | for (const scenario of ['stale', 'fresh', 'placeholder', 'removed', 'overlap', 'item-deleted', 'item-deleted-newer', 'it | CODE |
| LOW | tests/ui/viewer/catalog-live-counts.browser.test.ts | 54 | await wait(()=>document.getElementById('loading')?.textContent==='false' && ${scenario === 'placeholder' ? 'tr | CODE |
| LOW | tests/ui/viewer/catalog-live-counts.browser.test.ts | 144 | return Response.json({sessions:scenario==='placeholder'?[]:[{...entry,item_count:page>1 && (scenario==='fresh'|| | CODE |
| LOW | tests/ui/viewer/catalog-live-counts.browser.test.ts | 192 | expect(actual[0].item_count).toBe(scenario==='placeholder'?2:(scenario==='fresh'||scenario==='item-deleted-newer | CODE |
| LOW | tests/ui/viewer/catalog-live-counts.browser.test.ts | 193 | expect(actual[0].custom_title).toBe(scenario==='placeholder'?null:'Server title'); | CODE |
| LOW | tests/storage/sqlite/server-storage.test.ts | 118 | name: 'placeholder', | CODE |
| LOW | tests/services/infrastructure/fts-maintenance.test.ts | 38 | const body = 'lorem ipsum dolor sit amet consectetur adipiscing elit '.repeat(50); | CODE |
| LOW | tests/services/infrastructure/fts-maintenance.test.ts | 38 | const body = 'lorem ipsum dolor sit amet consectetur adipiscing elit '.repeat(50); | CODE |
| LOW | plugin/ui/viewer-bundle.js | 12 | In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function q_(e,t){return z_(e)||R_(e | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | src/integrations/dsh-plugin/skill.ts | 27 | ### Step 1: Search — get an index with ids | COMMENT |
| LOW⚡ | src/integrations/dsh-plugin/skill.ts | 32 | ### Step 2: Filter — narrow to the interesting ids | COMMENT |
| LOW⚡ | src/integrations/dsh-plugin/skill.ts | 36 | ### Step 3: Fetch — get full details only for the filtered ids | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/services/integrations/CursorHooksInstaller.ts | 471 | claude-mem cursor status # Check if hooks are installed | CODE |
| LOW | …/services/integrations/AntigravityCliHooksInstaller.ts | 751 | claude-mem antigravity-cli status # Check if installed | CODE |