https://github.com/steyangdot/PromptPilot
· scanned 2026-06-16 00:22 UTC (2 months, 2 weeks ago)
77 raw signals (0 security + 77 graph)
Last scanned 2 months, 2 weeks ago · v1 · 61 actionable findings from 1 signal source. 16 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 1191 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
_main |
software | healthy | quickstart.py:22 |
log_file |
software | healthy | tests/test_stats.py:13 |
test_loads_all_runs |
software | healthy | tests/test_stats.py:82 |
test_empty_file |
software | healthy | tests/test_stats.py:86 |
test_missing_file |
software | healthy | tests/test_stats.py:91 |
test_prints_stats |
software | healthy | tests/test_stats.py:96 |
test_last_n |
software | healthy | tests/test_stats.py:105 |
test_no_runs |
software | healthy | tests/test_stats.py:110 |
test_prints_stats_dark_theme |
software | healthy | tests/test_stats.py:117 |
test_print_compress_stats_reports_positive_savings |
software | healthy | tests/test_stats.py:122 |
test_print_compress_stats_reports_negative_expansion |
software | healthy | tests/test_stats.py:139 |
test_compare_heuristic |
software | healthy | tests/test_stats.py:158 |
test_compare_shows_prompts |
software | healthy | tests/test_stats.py:170 |
test_stats_no_log |
software | healthy | tests/test_stats.py:182 |
test_stats_with_data |
software | healthy | tests/test_stats.py:189 |
test_stats_with_dark_theme |
software | healthy | tests/test_stats.py:195 |
_make_args |
software | healthy | tests/test_adapters.py:11 |
_make_anthropic_adapter |
software | healthy | tests/test_adapters.py:17 |
_fake_usage |
software | healthy | tests/test_adapters.py:31 |
_fake_response |
software | healthy | tests/test_adapters.py:41 |
test_run_returns_text |
software | healthy | tests/test_adapters.py:414 |
test_run_captures_usage |
software | healthy | tests/test_adapters.py:71 |
test_api_error_returns_1 |
software | healthy | tests/test_adapters.py:466 |
test_verbose_logs_to_stderr |
software | healthy | tests/test_adapters.py:91 |
test_no_system_no_system_kwarg |
software | healthy | tests/test_adapters.py:100 |
test_with_system_passes_system_kwarg |
software | healthy | tests/test_adapters.py:110 |
test_user_content_plain_string_when_no_context_block |
software | healthy | tests/test_adapters.py:122 |
test_user_content_split_when_context_block_provided |
software | healthy | tests/test_adapters.py:134 |
test_build_system_none_returns_none |
software | healthy | tests/test_adapters.py:160 |
test_build_system_small_no_cache_marker |
software | healthy | tests/test_adapters.py:164 |
test_build_system_large_has_cache_marker |
software | healthy | tests/test_adapters.py:171 |
test_build_user_content_no_context_is_string |
software | healthy | tests/test_adapters.py:176 |
test_build_user_content_small_context_no_cache_marker |
software | healthy | tests/test_adapters.py:181 |
test_build_user_content_large_context_has_cache_marker |
software | healthy | tests/test_adapters.py:187 |
test_build_user_content_wraps_context_in_xml_tags |
software | healthy | tests/test_adapters.py:192 |
test_build_user_content_task_prompt_is_last_block |
software | healthy | tests/test_adapters.py:199 |
test_cache_tokens_captured_in_last_usage |
software | healthy | tests/test_adapters.py:210 |
test_total_cost_usd_present_in_last_usage |
software | healthy | tests/test_adapters.py:222 |
test_cache_read_costs_less |
software | healthy | tests/test_adapters.py:233 |
test_cache_write_costs_more |
software | healthy | tests/test_adapters.py:250 |
test_zero_cache_tokens_when_missing_from_usage |
software | healthy | tests/test_adapters.py:266 |
test_no_run_yet |
software | healthy | tests/test_adapters.py:286 |
test_no_cache_tokens |
software | healthy | tests/test_adapters.py:290 |
test_cache_hit_summary |
software | healthy | tests/test_adapters.py:301 |
test_cache_all_writes_zero_pct |
software | healthy | tests/test_adapters.py:315 |
test_cache_all_reads_100_pct |
software | healthy | tests/test_adapters.py:326 |
test_opus47_model_id_stored |
software | healthy | tests/test_adapters.py:343 |
test_opus47_pricing_applied |
software | healthy | tests/test_adapters.py:347 |
test_sonnet47_pricing_applied |
software | healthy | tests/test_adapters.py:358 |
test_unknown_model_falls_back_to_opus_pricing |
software | healthy | tests/test_adapters.py:368 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
README.md |
software | healthy | README.md |
CONTRIBUTING.md |
software | healthy | CONTRIBUTING.md |
QUICKSTART.md |
software | healthy | QUICKSTART.md |
.env.example |
software | healthy | .env.example |
pyproject.toml |
software | healthy | pyproject.toml |
quickstart.py |
software | healthy | quickstart.py |
LICENSE |
software | healthy | LICENSE |
CODE_OF_CONDUCT.md |
software | healthy | CODE_OF_CONDUCT.md |
SECURITY.md |
software | healthy | SECURITY.md |
CONTRIBUTORS.md |
software | healthy | CONTRIBUTORS.md |
test_stats.py |
software | healthy | tests/test_stats.py |
test_adapters.py |
software | healthy | tests/test_adapters.py |
__init__.py |
software | healthy | tests/__init__.py |
test_loader.py |
software | healthy | tests/test_loader.py |
test_slm.py |
software | healthy | tests/test_slm.py |
test_smoke_chain.py |
software | healthy | tests/test_smoke_chain.py |
test_research_selftests.py |
software | healthy | tests/test_research_selftests.py |
test_cwd_isolation.py |
software | healthy | tests/test_cwd_isolation.py |
test_cli.py |
software | healthy | tests/test_cli.py |
test_heuristic.py |
software | healthy | tests/test_heuristic.py |
test_compress.py |
software | healthy | tests/test_compress.py |
test_verify.py |
software | healthy | tests/test_verify.py |
FAQ.md |
software | healthy | docs/FAQ.md |
SLM_HARNESS.md |
software | healthy | docs/SLM_HARNESS.md |
V2_CLARIFY_ROUTE_FIX_REVIEW.md |
software | healthy | docs/V2_CLARIFY_ROUTE_FIX_REVIEW.md |
RECORDING.md |
software | healthy | docs/RECORDING.md |
AUTHENTICATION_AND_PROVIDERS.md |
software | healthy | docs/AUTHENTICATION_AND_PROVIDERS.md |
ARCHITECTURE.md |
software | healthy | docs/ARCHITECTURE.md |
README.md |
software | healthy | docs/README.md |
HYBRID_MODE.md |
software | healthy | docs/HYBRID_MODE.md |
COMPARISON.md |
software | healthy | docs/COMPARISON.md |
ROUTES_AND_DECISIONS.md |
software | healthy | docs/ROUTES_AND_DECISIONS.md |
SESSION_MEMORY.md |
software | healthy | docs/SESSION_MEMORY.md |
SEMANTIC_PRESERVATION.md |
software | healthy | docs/SEMANTIC_PRESERVATION.md |
WIKI_WORKFLOW.md |
software | healthy | docs/WIKI_WORKFLOW.md |
TROUBLESHOOTING.md |
software | healthy | docs/TROUBLESHOOTING.md |
BENCHMARKS.md |
software | healthy | docs/BENCHMARKS.md |
SAFETY_MODEL.md |
software | healthy | docs/SAFETY_MODEL.md |
TELEMETRY_AND_REPLAY.md |
software | healthy | docs/TELEMETRY_AND_REPLAY.md |
ROADMAP.md |
software | healthy | docs/ROADMAP.md |
TOOL_OUTPUT_COMPRESSION.md |
software | healthy | docs/TOOL_OUTPUT_COMPRESSION.md |
V2_CLARIFY_ROUTE_POSTMORTEM.md |
software | healthy | docs/V2_CLARIFY_ROUTE_POSTMORTEM.md |
PROJECT_OVERVIEW.md |
software | healthy | docs/PROJECT_OVERVIEW.md |
V2_CLARIFY_ROUTE_REVIEW_RESPONSE.md |
software | healthy | docs/V2_CLARIFY_ROUTE_REVIEW_RESPONSE.md |
demo_capture.json |
software | healthy | docs/assets/demo_capture.json |
extra_raw_runs.py |
software | healthy | research/extra_raw_runs.py |
recover_uncached.py |
software | healthy | research/recover_uncached.py |
_test_quota_detector.py |
software | healthy | research/_test_quota_detector.py |
multirun_test.py |
software | healthy | research/multirun_test.py |
analyze_chain5_decay.py |
software | healthy | research/analyze_chain5_decay.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
TestLoadRuns |
software | healthy | tests/test_stats.py:81 |
TestPrintStats |
software | healthy | tests/test_stats.py:95 |
TestCompareMode |
software | healthy | tests/test_stats.py:157 |
TestStatsSubcommand |
software | healthy | tests/test_stats.py:181 |
TestAnthropicDirectAdapterMocked |
software | healthy | tests/test_adapters.py:52 |
TestAnthropicAdapterCacheBuilders |
software | healthy | tests/test_adapters.py:156 |
TestAnthropicAdapterCacheUsage |
software | healthy | tests/test_adapters.py:209 |
TestAnthropicAdapterCacheSummary |
software | healthy | tests/test_adapters.py:285 |
TestAnthropicAdapterOpus47 |
software | healthy | tests/test_adapters.py:342 |
TestOpenAIDirectAdapterMocked |
software | healthy | tests/test_adapters.py:393 |
TestShellExecutableResolution |
software | healthy | tests/test_adapters.py:515 |
TestOpenAIReasoningModelKwarg |
software | healthy | tests/test_adapters.py:563 |
TestShellAdapterStdin |
software | healthy | tests/test_adapters.py:618 |
TestClaudeAdapterStdin |
software | healthy | tests/test_adapters.py:688 |
TestAnthropicBlockHandling |
software | healthy | tests/test_adapters.py:724 |
TestExtractSearchTerms |
software | healthy | tests/test_loader.py:23 |
TestFindMatchingLines |
software | healthy | tests/test_loader.py:64 |
TestMergeWindows |
software | healthy | tests/test_loader.py:99 |
TestFormatGrepExcerpt |
software | healthy | tests/test_loader.py:136 |
TestRepoContentLoader |
software | healthy | tests/test_loader.py:168 |
FakeRepo |
software | healthy | tests/test_loader.py:901 |
TestConventionFiles |
software | healthy | tests/test_loader.py:293 |
TestGitDiffInContext |
software | healthy | tests/test_loader.py:372 |
TestRepoWideRanking |
software | healthy | tests/test_loader.py:423 |
TestTestFilePairing |
software | healthy | tests/test_loader.py:537 |
TestSecretDetection |
software | healthy | tests/test_loader.py:628 |
TestDiskCaching |
software | healthy | tests/test_loader.py:691 |
TestCallSiteAwareness |
software | healthy | tests/test_loader.py:770 |
TestSessionContinuity |
software | healthy | tests/test_loader.py:834 |
TestSLMNormalizerAnthropic |
software | healthy | tests/test_slm.py:25 |
TestSLMNormalizerOpenAI |
software | healthy | tests/test_slm.py:118 |
TestParseIntentResponse |
software | healthy | tests/test_slm.py:158 |
TestBuildOutputSuffix |
software | healthy | tests/test_slm.py:222 |
TestAnthropicPromptCaching |
software | healthy | tests/test_slm.py:290 |
TestExecutionSpecParser |
software | healthy | tests/test_slm.py:500 |
TestSLMOpenAIV2Normalizer |
software | healthy | tests/test_slm.py:564 |
TestSLMAnthropicV2Normalizer |
software | healthy | tests/test_slm.py:658 |
TestNormalizerFactoryV2 |
software | healthy | tests/test_slm.py:793 |
TestSLMSubscriptionV2Normalizer |
software | healthy | tests/test_slm.py:821 |
TestSubscriptionV2Factory |
software | healthy | tests/test_slm.py:917 |
TestLogV2Raw |
software | healthy | tests/test_slm.py:942 |
TestTargetFilesHint |
software | healthy | tests/test_slm.py:971 |
TestResolveDownstreamClarifyGuard |
software | healthy | tests/test_slm.py:1066 |
_RecordingJudge |
software | healthy | tests/test_cwd_isolation.py:34 |
_FakeProc |
software | healthy | tests/test_cwd_isolation.py:169 |
TestParseArgs |
software | healthy | tests/test_cli.py:11 |
TestMainFlow |
software | healthy | tests/test_cli.py:65 |
FakeNormalizer |
software | healthy | tests/test_cli.py:240 |
FakeCollector |
software | healthy | tests/test_cli.py:286 |
TestResolveRoute |
software | healthy | tests/test_cli.py:309 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
docs |
software | healthy | docs |
assets |
software | healthy | docs/assets |
research |
software | healthy | research |
scripts |
software | healthy | scripts |
.claude |
software | healthy | .claude |
hooks |
software | healthy | .claude/hooks |
examples |
software | healthy | examples |
semantic-preservation |
software | healthy | examples/semantic-preservation |
tool-output-compression |
software | healthy | examples/tool-output-compression |
passthrough |
software | healthy | examples/passthrough |
prpt |
software | healthy | prpt |
adapters |
software | healthy | prpt/adapters |
normalizers |
software | healthy | prpt/normalizers |
judges |
software | healthy | prpt/judges |
compress |
software | healthy | prpt/compress |
hooks |
software | healthy | prpt/hooks |
core |
software | healthy | prpt/core |
repo |
software | healthy | prpt/repo |
.codex |
software | healthy | .codex |
hooks |
software | healthy | .codex/hooks |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::prpt/handoff.py |
security | healthy | prpt/handoff.py |
auth::research/chain_test.py |
security | healthy | research/chain_test.py |
auth::prpt/judges/judge.py |
security | healthy | prpt/judges/judge.py |
auth::prpt/setup.py |
security | healthy | prpt/setup.py |
auth::research/chain_test_v2.py |
security | healthy | research/chain_test_v2.py |
auth::prpt/__init__.py |
security | healthy | prpt/__init__.py |
auth::prpt/normalizers/base.py |
security | healthy | prpt/normalizers/base.py |
auth::prpt/judges/slm.py |
security | healthy | prpt/judges/slm.py |
auth::prpt/cli.py |
security | healthy | prpt/cli.py |
auth::.github/workflows/publish.yml |
security | healthy | .github/workflows/publish.yml |
auth::prpt/normalizers/slm_anthropic.py |
security | healthy | prpt/normalizers/slm_anthropic.py |
auth::prpt/verify.py |
security | healthy | prpt/verify.py |
auth::prpt/adapters/factory.py |
security | healthy | prpt/adapters/factory.py |
auth::README.md |
security | healthy | README.md |
auth::prpt/normalizers/slm_subscription.py |
security | healthy | prpt/normalizers/slm_subscription.py |
auth::research/agentic_variety_test.py |
security | healthy | research/agentic_variety_test.py |
auth::prpt/judges/__init__.py |
security | healthy | prpt/judges/__init__.py |
auth::prpt/normalizers/slm_subscription_v2.py |
security | healthy | prpt/normalizers/slm_subscription_v2.py |
| Label | Layer | Status | Path |
|---|---|---|---|
postgres |
data | healthy | tests/test_heuristic.py |
sqlite |
data | healthy | prpt/repo/loader.py |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::azure |
hardware | healthy | tests/test_adapters.py |
vps::aws |
hardware | healthy | prpt/repo/loader.py |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::test |
cicd | healthy | .github/workflows/test.yml |
gha::publish |
cicd | healthy | .github/workflows/publish.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
test |
cicd | healthy | .github/workflows/test.yml |
publish |
cicd | healthy | .github/workflows/publish.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-j5v2j8zk |
software | healthy | /tmp/repobility-clone-j5v2j8zk |
| Label | Layer | Status | Path |
|---|---|---|---|
port:8080 |
network | healthy | tests/test_loader.py |
| Label | Layer | Status | Path |
|---|---|---|---|
generic_api_key::tests/test_loader.py |
security | healthy | tests/test_loader.py |
This page is publicly accessible at:
https://repobility.com/scan/4dfd21c3-05ed-43aa-85e5-633303284529/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/4dfd21c3-05ed-43aa-85e5-633303284529/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.