github Python re-analysis due deep scan unknown

repowise-dev/repowise

v0.49.0
github

Codebase intelligence for AI and humans: code health scores, auto-generated docs, git analytics, dead code detection, and architectural decisions via MCP.

maintainer
repowise-dev
licence
AGPL-3.0
first seen
2026-06-01
last seen
2026-09-10
releases · 30d
18
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged dynamic code execution ×2 in repowise-dev/repowise
  2. HIGH code analysis flagged dynamic code execution ×2 in repowise-dev/repowise
  3. HIGH code analysis flagged dynamic code execution ×2 in repowise-dev/repowise
  4. HIGH code analysis flagged dynamic code execution ×2 in repowise-dev/repowise
  5. HIGH code analysis flagged dynamic code execution in repowise-dev/repowise
  6. HIGH code analysis flagged dynamic code execution in repowise-dev/repowise
  7. HIGH code analysis flagged dynamic code execution in repowise-dev/repowise
  8. HIGH code analysis flagged dynamic code execution in repowise-dev/repowise
  9. HIGH code analysis flagged dynamic code execution in repowise-dev/repowise
  10. HIGH code analysis flagged dynamic code execution in repowise-dev/repowise
  11. HIGH code analysis flagged dynamic code execution in repowise-dev/repowise
  12. HIGH code analysis flagged dynamic code execution in repowise-dev/repowise
  13. HIGH code analysis flagged dynamic code execution in repowise-dev/repowise
  14. HIGH code analysis flagged dynamic code execution in repowise-dev/repowise
  15. HIGH code analysis flagged dynamic code execution in repowise-dev/repowise
  16. HIGH code analysis flagged dynamic code execution in repowise-dev/repowise
  17. HIGH code analysis flagged dynamic code execution in repowise-dev/repowise
  18. HIGH code analysis flagged dynamic code execution in repowise-dev/repowise
  19. HIGH code analysis flagged dynamic code execution in repowise-dev/repowise
  20. HIGH code analysis flagged dynamic code execution in repowise-dev/repowise
capabilities 11 tools
transport stdio · streamable-http · http · sse counts 11 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • generate_refactoring_code
  • get_architecture
  • get_blast_radius
  • get_change_risk
  • get_conformance
  • get_dead_code
  • get_dependency_path
  • get_execution_flows
  • get_overview
  • get_symbol
  • list_repos
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 920d1c9 · analyzer v33 · 18h ago

skills & prompt files 12

danger signals8

code evidence v0.49.0 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 3959

filesystem 400

  • fs (weak) repowise-dev-repowise-920d1c9/docs/design/contrast_check.py :10 import pathlib
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/_repo_session.py :10 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/agent_adapters/base.py :15 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/agent_adapters/claude_code.py :21 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/agent_adapters/codex.py :33 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/agent_targets/formats/json_merge.py :29 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/agent_targets/formats/marker_block.py :27 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/agent_targets/formats/observe.py :18 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/agent_targets/formats/toml_merge.py :29 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/agent_targets/formats/yaml_merge.py :54 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/agent_targets/registry.py :24 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/agent_targets/targets/claude_code.py :30 from pathlib import Path
show 28 more
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/agent_targets/targets/codex.py :37 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/agent_targets/targets/cursor.py :48 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/agent_targets/targets/hermes.py :56 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/agent_targets/targets/opencode.py :63 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/agent_targets/targets/vscode.py :24 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/agent_targets/types.py :38 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/_tool_adapters.py :12 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/agents_cmd.py :29 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/augment_cmd/_shared.py :14 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/augment_cmd/bash_staleness.py :7 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/augment_cmd/codex.py :18 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/augment_cmd/command.py :92 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/augment_cmd/decision_inject.py :33 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/augment_cmd/fast_lookup.py :26 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/augment_cmd/glob_rescue.py :37 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/augment_cmd/read_skeleton.py :52 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/augment_cmd/read_state.py :42 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/augment_cmd/replacement.py :46 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/augment_cmd/reread.py :62 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/augment_cmd/search.py :25 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/augment_cmd/search_digest.py :44 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/augment_cmd/served_reads.py :41 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/augment_cmd/session_start.py :27 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/augment_cmd/wrong_path.py :22 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/claude_md_cmd.py :6 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/corrections_cmd.py :14 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/costs_cmd.py :6 from pathlib import Path
  • fs repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/coverage_cmd.py :13 from pathlib import Path

360 more not shown — this panel samples each group; the count above is the real total.

shell / exec 134

  • shell repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/augment_cmd/bash_staleness.py :74 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/augment_cmd/decision_inject.py :154 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/augment_cmd/session_start.py :126 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/distill_cmd.py :14 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/doctor_cmd/mcp_smoke.py :28 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/serve_cmd.py :10 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/update_cmd/persistence.py :313 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/editor_integrations/codex_config.py :24 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/helpers.py :526 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/hooks.py :15 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/mcp_config.py :23 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/platform/telemetry/emitter.py :30 import subprocess
show 28 more
  • shell repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/ui/repo_scanner.py :6 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/worktree.py :13 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/analysis/change_health/sources.py :11 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/analysis/change_risk/baseline.py :11 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/analysis/change_risk/features.py :20 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/analysis/change_risk/fix_history.py :22 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/analysis/change_risk/service.py :5 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/analysis/decisions/accepter.py :13 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/analysis/decisions/extractor.py :1446 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/analysis/health/coverage/decay.py :38 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/analysis/history_scan.py :36 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/analysis/security_scan.py :202 # ``subprocess.run(...)`` cannot jump to a later ``os.popen(..., shell=True)``
  • shell repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/generation/editor_files/fetcher.py :11 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/git_refs.py :11 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/pipeline/persist.py :809 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/precedent/currency.py :32 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/precedent/structural.py :25 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/procutils.py :29 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/providers/llm/codex_cli.py :14 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/providers/llm/opencode.py :21 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/workspace/cross_repo.py :17 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/workspace/update.py :13 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/server/src/repowise/server/job_executor.py :722 import subprocess as _sp
  • shell repowise-dev-repowise-920d1c9/packages/server/src/repowise/server/mcp_server/_code_rationale.py :35 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/server/src/repowise/server/mcp_server/_meta.py :139 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/server/src/repowise/server/mcp_server/_why_evidence.py :22 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/server/src/repowise/server/mcp_server/tool_answer/data_shape.py :22 import subprocess
  • shell repowise-dev-repowise-920d1c9/packages/server/src/repowise/server/mcp_server/tool_change_risk.py :7 import subprocess

94 more not shown — this panel samples each group; the count above is the real total.

network 112

  • net repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/login_cmd.py :23 from urllib.parse import parse_qs, urlparse
  • net repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/serve_cmd.py :9 import socket
  • net repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/platform/auth.py :53 from urllib.parse import urlencode
  • net repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/platform/client.py :98 import httpx
  • net repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/ui/openai_compatible.py :7 from urllib.parse import urlparse, urlunparse
  • net repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/ui/provider_selection.py :7 import socket
  • net repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/analysis/decisions/conventions.py :179 httpx.Client()``, an exported ``fetch`` built over undici. A binding that
  • net repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/analysis/health/biomarkers/blocking_sync_in_async.py :3 A synchronous ``time.sleep`` / ``requests.get`` / ``subprocess.run`` /
  • net repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/analysis/health/biomarkers/resource_construction_in_loop.py :4 (``sqlite3.connect`` / ``httpx.Client`` / ``boto3.client`` / ``new
  • net repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/analysis/health/complexity/models.py :166 (``sqlite3.connect`` / ``httpx.Client`` / ``boto3.client`` / ``new
  • net repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/analysis/health/perf/dialects/python.py :252 # ``requests.get(...)`` is a member call on an imported client; a bare
  • net repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/analysis/health/perf/io_boundaries.py :137 # is coarser than true scoping (it also suppresses a genuine ``requests.get``
show 28 more
  • net repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/ingestion/resolvers/python.py :75 # file, so without the suffix guard ``import httpx`` resolved to a
  • net repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/platform/telemetry.py :153 import httpx
  • net repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/providers/embedding/ollama.py :13 import httpx
  • net repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/providers/llm/anthropic.py :62 import httpx
  • net repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/providers/llm/base.py :377 Accepts any mapping-like object with ``.get`` (httpx.Headers, dict).
  • net repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/providers/llm/deepseek.py :106 import httpx
  • net repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/providers/llm/edenai.py :125 import httpx
  • net repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/providers/llm/gemini.py :130 import httpx
  • net repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/providers/llm/kimi.py :120 import httpx
  • net repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/providers/llm/ollama.py :85 import httpx
  • net repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/providers/llm/openai.py :20 from urllib.parse import urlparse
  • net repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/providers/llm/openrouter.py :133 import httpx
  • net repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/upgrade/release.py :85 import httpx
  • net repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/workspace/extractors/http/index_clients.py :17 (``async with httpx.AsyncClient() as http`` … ``http.post(url)``), so its
  • net repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/workspace/extractors/http/python_clients.py :18 # requests.get('http://host/api/users') or httpx.post(...)
  • net repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/workspace/extractors/http/wrappers.py :307 # ``client = httpx.AsyncClient(...)``, ``self._c = client or httpx.Client()``.
  • net repowise-dev-repowise-920d1c9/packages/server/src/repowise/server/routers/feedback.py :21 import httpx
  • net repowise-dev-repowise-920d1c9/packages/server/src/repowise/server/routers/modules.py :9 from urllib.parse import unquote
  • net repowise-dev-repowise-920d1c9/packages/server/src/repowise/server/routers/owners.py :10 from urllib.parse import unquote
  • net repowise-dev-repowise-920d1c9/packages/server/src/repowise/server/routers/webhooks.py :10 from urllib.parse import urlparse
  • net (weak) repowise-dev-repowise-920d1c9/tests/fixtures/lang_samples/python/perf_io_in_loop.py :12 import httpx
  • net (weak) repowise-dev-repowise-920d1c9/tests/unit/analysis/test_decision_conventions.py :27 WRAPPER_SRC = "import httpx\n\n\ndef get(url):\n return httpx.get(url)\n\n\ndef other_helper():\n return 1\n"
  • net (weak) repowise-dev-repowise-920d1c9/tests/unit/cli/test_serve_port_fallback.py :11 import socket
  • net (weak) repowise-dev-repowise-920d1c9/tests/unit/cli/test_update_check.py :5 import httpx
  • net (weak) repowise-dev-repowise-920d1c9/tests/unit/health/test_ff_track_aefg_perf.py :33 b"import requests\n"
  • net (weak) repowise-dev-repowise-920d1c9/tests/unit/health/test_perf_phase7a.py :172 "import httpx\nasync def f(urls):\n for u in urls:\n await httpx.get(u)\n",
  • net (weak) repowise-dev-repowise-920d1c9/tests/unit/health/test_perf_phase7b.py :177 src = "import httpx\nasync def handler(u):\n return await httpx.get(u)\n"
  • net (weak) repowise-dev-repowise-920d1c9/tests/unit/ingestion/test_python_resolver_external.py :76 path_set={"app.py", "baselines/httpx.json", "vendor/httpx.py"},

72 more not shown — this panel samples each group; the count above is the real total.

secrets 26

  • secrets repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/mcp_cmd.py :65 if not os.environ.get("REPOWISE_API_KEY") and host in ("0.0.0.0", "::"):
  • secrets repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/serve_cmd.py :131 has_gemini = bool(os.environ.get("GEMINI_API_KEY") or os.environ.get("GOOGLE_API_KEY"))
  • secrets repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/ui/mode_selection.py :653 if os.environ.get("GEMINI_API_KEY") or os.environ.get("GOOGLE_API_KEY"):
  • secrets repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/ui/openai_compatible.py :67 existing_key = (os.environ.get("OPENAI_API_KEY") or "").strip()
  • secrets repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/ui/provider_selection.py :211 openai_has_key = bool((os.environ.get("OPENAI_API_KEY") or "").strip())
  • secrets repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/analysis/decisions/accepter.py :12 import getpass
  • secrets repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/cache_seal.py :109 env_key = os.environ.get("REPOWISE_CACHE_HMAC_KEY")
  • secrets repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/providers/embedding/edenai.py :69 self._api_key = api_key or os.environ.get("EDENAI_API_KEY")
  • secrets repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/providers/embedding/gemini.py :64 api_key or os.environ.get("GEMINI_API_KEY") or os.environ.get("GOOGLE_API_KEY")
  • secrets repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/providers/embedding/openai.py :70 self._api_key = api_key or os.environ.get("OPENAI_API_KEY")
  • secrets repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/providers/embedding/openrouter.py :56 self._api_key = api_key or os.environ.get("OPENROUTER_API_KEY")
  • secrets repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/providers/llm/anthropic.py :124 resolved_key = api_key or os.environ.get("ANTHROPIC_API_KEY")
show 14 more
  • secrets repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/providers/llm/deepseek.py :167 resolved_key = api_key or os.environ.get("DEEPSEEK_API_KEY")
  • secrets repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/providers/llm/edenai.py :190 resolved_key = api_key or os.environ.get("EDENAI_API_KEY")
  • secrets repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/providers/llm/gemini.py :221 api_key or os.environ.get("GEMINI_API_KEY") or os.environ.get("GOOGLE_API_KEY")
  • secrets repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/providers/llm/kimi.py :179 resolved_key = api_key or os.environ.get("KIMI_API_KEY")
  • secrets repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/providers/llm/openai.py :296 resolved_key = api_key or os.environ.get("OPENAI_API_KEY")
  • secrets repowise-dev-repowise-920d1c9/packages/core/src/repowise/core/providers/llm/openrouter.py :215 resolved_key = api_key or os.environ.get("OPENROUTER_API_KEY")
  • secrets repowise-dev-repowise-920d1c9/packages/server/src/repowise/server/deps.py :26 _API_KEY = os.environ.get("REPOWISE_API_KEY")
  • secrets repowise-dev-repowise-920d1c9/packages/server/src/repowise/server/mcp_server/_server.py :847 if host in ("0.0.0.0", "::") and not os.environ.get("REPOWISE_API_KEY"):
  • secrets repowise-dev-repowise-920d1c9/packages/server/src/repowise/server/routers/webhooks.py :80 secret = os.environ.get("REPOWISE_GITHUB_WEBHOOK_SECRET", "")
  • secrets repowise-dev-repowise-920d1c9/packages/server/src/repowise/server/stream_auth.py :42 key = os.environ.get("REPOWISE_API_KEY")
  • secrets (weak) repowise-dev-repowise-920d1c9/tests/integration/test_provider_live.py :24 OPENAI_KEY = os.environ.get("OPENAI_API_KEY", "")
  • secrets (weak) repowise-dev-repowise-920d1c9/tests/unit/cli/test_init_ux.py :320 assert os.environ["OPENAI_API_KEY"] == "router-secret"
  • secrets (weak) repowise-dev-repowise-920d1c9/tests/unit/cli/test_openai_compatible.py :65 assert os.environ["OPENAI_API_KEY"] == api_key
  • secrets (weak) repowise-dev-repowise-920d1c9/tests/unit/cli/test_update_provider_prompt.py :104 os.environ["MOCK_API_KEY"] = "sk-mock-test-key"

database 377

  • db repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/augment_cmd/_shared.py :227 import sqlite3
  • db repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/augment_cmd/decision_inject.py :32 import sqlite3
  • db repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/augment_cmd/fast_lookup.py :25 import sqlite3
  • db repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/augment_cmd/read_skeleton.py :45 import sqlite3
  • db repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/augment_cmd/search.py :24 import sqlite3
  • db repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/decision_cmd.py :103 from sqlalchemy import select
  • db repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/delete_cmd.py :36 from sqlalchemy import func, select
  • db repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/doctor_cmd/repo_checks.py :35 from sqlalchemy import text as _sql_text
  • db repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/export_cmd.py :154 from sqlalchemy import select
  • db repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/export_structurizr.py :72 from sqlalchemy.exc import OperationalError
  • db repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/generate_cmd/engine.py :245 from sqlalchemy import func as sa_func
  • db repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/init_cmd/persistence.py :76 from sqlalchemy import select
show 28 more
  • db repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/overlap_cmd.py :43 from sqlalchemy.exc import SQLAlchemyError
  • db repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/reindex_cmd.py :48 from sqlalchemy import select
  • db repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/risk_cmd.py :390 from sqlalchemy.exc import SQLAlchemyError
  • db repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/saved_cmd.py :376 import sqlite3
  • db repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/status_cmd.py :48 from sqlalchemy import func as sa_func
  • db repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/update_cmd/deterministic.py :67 from sqlalchemy import select as sa_select
  • db repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/update_cmd/persistence.py :908 from sqlalchemy import select as _sel_dec
  • db repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/update_cmd/slot_notice.py :76 from sqlalchemy import select
  • db repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/upgrade_flow.py :437 from sqlalchemy import func as sa_func
  • db repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/commands/workspace_cmd.py :201 from sqlalchemy import func as sa_func
  • db repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/helpers.py :50 from sqlalchemy.ext.asyncio import AsyncSession
  • db repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/hook_ledger.py :55 import sqlite3
  • db repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/tool_bridge.py :45 from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker
  • db repowise-dev-repowise-920d1c9/packages/cli/src/repowise/cli/worktree.py :98 import sqlite3
  • db repowise-dev-repowise-920d1c9/packages/core/alembic/env.py :18 from sqlalchemy.ext.asyncio import create_async_engine
  • db repowise-dev-repowise-920d1c9/packages/core/alembic/versions/0001_initial_schema.py :20 import sqlalchemy as sa
  • db repowise-dev-repowise-920d1c9/packages/core/alembic/versions/0002_git_intelligence_dead_code.py :12 import sqlalchemy as sa
  • db repowise-dev-repowise-920d1c9/packages/core/alembic/versions/0003_decision_records.py :12 import sqlalchemy as sa
  • db repowise-dev-repowise-920d1c9/packages/core/alembic/versions/0004_graph_edge_type.py :12 import sqlalchemy as sa
  • db repowise-dev-repowise-920d1c9/packages/core/alembic/versions/0005_chat_conversations.py :12 import sqlalchemy as sa
  • db repowise-dev-repowise-920d1c9/packages/core/alembic/versions/0006_git_commit_count_capped.py :16 import sqlalchemy as sa
  • db repowise-dev-repowise-920d1c9/packages/core/alembic/versions/0007_git_phase2_signals.py :15 import sqlalchemy as sa
  • db repowise-dev-repowise-920d1c9/packages/core/alembic/versions/0008_git_phase3_rename_merge.py :15 import sqlalchemy as sa
  • db repowise-dev-repowise-920d1c9/packages/core/alembic/versions/0009_llm_costs.py :12 import sqlalchemy as sa
  • db repowise-dev-repowise-920d1c9/packages/core/alembic/versions/0010_temporal_hotspot_score.py :15 import sqlalchemy as sa
  • db repowise-dev-repowise-920d1c9/packages/core/alembic/versions/0011_security_findings.py :15 import sqlalchemy as sa
  • db repowise-dev-repowise-920d1c9/packages/core/alembic/versions/0012_page_summary.py :17 import sqlalchemy as sa
  • db repowise-dev-repowise-920d1c9/packages/core/alembic/versions/0013_answer_cache.py :16 import sqlalchemy as sa

337 more not shown — this panel samples each group; the count above is the real total.

tool registrations 11

  • get_architecture repowise-dev-repowise-920d1c9/packages/server/src/repowise/server/mcp_server/tool_architecture.py :24
  • get_blast_radius repowise-dev-repowise-920d1c9/packages/server/src/repowise/server/mcp_server/tool_blast_radius.py :34
  • get_change_risk repowise-dev-repowise-920d1c9/packages/server/src/repowise/server/mcp_server/tool_change_risk.py :118
  • get_conformance repowise-dev-repowise-920d1c9/packages/server/src/repowise/server/mcp_server/tool_conformance.py :25
  • get_dead_code repowise-dev-repowise-920d1c9/packages/server/src/repowise/server/mcp_server/tool_dead_code.py :255
  • get_dependency_path repowise-dev-repowise-920d1c9/packages/server/src/repowise/server/mcp_server/tool_dependency.py :28
  • get_execution_flows repowise-dev-repowise-920d1c9/packages/server/src/repowise/server/mcp_server/tool_flows.py :40
  • get_overview repowise-dev-repowise-920d1c9/packages/server/src/repowise/server/mcp_server/tool_overview.py :954
  • generate_refactoring_code repowise-dev-repowise-920d1c9/packages/server/src/repowise/server/mcp_server/tool_refactoring.py :23
  • list_repos repowise-dev-repowise-920d1c9/packages/server/src/repowise/server/mcp_server/tool_repos.py :61
  • get_symbol repowise-dev-repowise-920d1c9/packages/server/src/repowise/server/mcp_server/tool_symbol.py :695

declared dependencies 69

  • mcp@>=1.0,<2
  • httpx@>=0.27,<1
  • tree-sitter@>=0.23,<1
  • tree-sitter-python@>=0.23,<1
  • tree-sitter-typescript@>=0.23,<1
  • tree-sitter-javascript@>=0.23,<1
  • tree-sitter-go@>=0.23,<1
  • tree-sitter-rust@>=0.23,<1
  • tree-sitter-java@>=0.23,<1
  • tree-sitter-cpp@>=0.23,<1
  • tree-sitter-dart@>=0.1,<1
  • tree-sitter-kotlin@>=1,<2
show 28 more
  • tree-sitter-ruby@>=0.23,<1
  • tree-sitter-c-sharp@>=0.23,<1
  • tree-sitter-swift@>=0.0.1
  • tree-sitter-scala@>=0.23,<1
  • tree-sitter-php@>=0.23,<1
  • tree-sitter-pascal@>=0.11,<1
  • tree-sitter-luau@>=1.2,<2
  • tree-sitter-bash@>=0.23,<1
  • tree-sitter-gdscript@>=6.1,<7
  • tree-sitter-vb-dotnet@>=0.3,<1
  • tree-sitter-elixir@>=0.3.5,<1
  • tree-sitter-fsharp@>=0.3.11,<1
  • tree-sitter-objc@>=3.0.2,<4
  • tree-sitter-svelte@>=1,<2
  • tree-sitter-html@>=0.23,<1
  • sqlglot@>=26,<28
  • networkx@>=3.3,<4
  • scipy@>=1.11,<2
  • jinja2@>=3.1,<4
  • pathspec@>=0.12,<1
  • structlog@>=24,<25
  • sqlalchemy@>=2.0,<3
  • aiosqlite@>=0.20,<1
  • alembic@>=1.13,<2
  • pydantic@>=2.8,<3
  • tenacity@>=9,<10
  • gitpython@>=3.1,<4
  • pyyaml@>=6.0,<7

29 more not shown — this panel samples each group; the count above is the real total.

transport_posture 1

  • network-listening, binds all interfaces, no auth detected repowise-dev-repowise-920d1c9/tests/unit/cli/test_mcp_transport.py :277 """REPOWISE_HOST=0.0.0.0 (no --host flag) → run_mcp receives host='0.0.0.0'."""