https://github.com/vishbay/cram-ai
· scanned 2026-06-16 00:51 UTC (2 months, 1 week ago)
41 raw signals (0 security + 41 graph)
Last scanned 2 months, 1 week ago · v1 · 37 actionable findings from 1 signal source. 4 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 1185 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 |
|---|---|---|---|
_make_git_repo |
software | healthy | tests/test_hooks.py:20 |
test_creates_commit_msg_hook |
software | healthy | tests/test_hooks.py:31 |
test_hook_is_executable |
software | healthy | tests/test_hooks.py:38 |
test_hook_contains_cram_marker |
software | healthy | tests/test_hooks.py:44 |
test_skips_if_already_installed |
software | healthy | tests/test_hooks.py:51 |
test_no_git_dir_returns_false |
software | healthy | tests/test_hooks.py:58 |
test_installs_post_commit |
software | healthy | tests/test_hooks.py:68 |
test_installs_commit_msg |
software | healthy | tests/test_hooks.py:73 |
test_returns_true_when_any_installed |
software | healthy | tests/test_hooks.py:78 |
_run_hook |
software | healthy | tests/test_hooks.py:91 |
test_chose_triggers_suggestion |
software | healthy | tests/test_hooks.py:104 |
test_instead_of_triggers_suggestion |
software | healthy | tests/test_hooks.py:108 |
test_decided_triggers_suggestion |
software | healthy | tests/test_hooks.py:112 |
test_rationale_triggers_suggestion |
software | healthy | tests/test_hooks.py:116 |
test_tradeoff_triggers_suggestion |
software | healthy | tests/test_hooks.py:120 |
test_plain_bugfix_does_not_trigger |
software | healthy | tests/test_hooks.py:124 |
test_feature_addition_does_not_trigger |
software | healthy | tests/test_hooks.py:128 |
test_hook_always_exits_zero |
software | healthy | tests/test_hooks.py:132 |
test_claude_counts_read_tool_paths_only |
software | healthy | tests/test_audit_drilldown.py:19 |
test_cursor_counts_relevant_files |
software | healthy | tests/test_audit_drilldown.py:33 |
test_codex_has_no_file_paths |
software | healthy | tests/test_audit_drilldown.py:46 |
_setup |
software | healthy | tests/test_audit_drilldown.py:59 |
test_aggregates_across_sessions |
software | healthy | tests/test_audit_drilldown.py:75 |
test_deterministic_order_and_cap |
software | healthy | tests/test_audit_drilldown.py:87 |
test_report_lists_repeated_files_repo_relative |
software | healthy | tests/test_audit_drilldown.py:96 |
test_no_block_when_nothing_repeated |
software | healthy | tests/test_audit_drilldown.py:110 |
test_json_includes_top_read_files |
software | healthy | tests/test_audit_drilldown.py:118 |
_isolated_audit_db |
software | healthy | tests/conftest.py:7 |
_make_transcript |
software | healthy | tests/test_audit.py:20 |
test_counts_reads |
software | healthy | tests/test_audit.py:31 |
test_reads_before_edit |
software | healthy | tests/test_audit.py:41 |
test_edits_counted |
software | healthy | tests/test_audit.py:52 |
test_ratio_reads_before_edit_over_edits |
software | healthy | tests/test_audit.py:62 |
test_ratio_with_no_edits_uses_one |
software | healthy | tests/test_audit.py:76 |
test_bash_read_commands_counted |
software | healthy | tests/test_audit.py:86 |
test_bash_write_not_counted_as_read |
software | healthy | tests/test_audit.py:95 |
test_empty_file_returns_zero_metrics |
software | healthy | tests/test_audit.py:103 |
test_returns_none_on_missing_file |
software | healthy | tests/test_audit.py:112 |
test_ratio_field_present_in_return |
software | healthy | tests/test_audit.py:116 |
test_high_ratio_is_flagged |
software | healthy | tests/test_audit.py:122 |
test_bands |
software | healthy | tests/test_audit.py:131 |
_write_transcript |
software | healthy | tests/test_audit.py:140 |
_setup_transcripts |
software | healthy | tests/test_audit.py:150 |
test_returns_none_without_transcripts |
software | healthy | tests/test_audit.py:160 |
test_summary_fields |
software | healthy | tests/test_audit.py:165 |
test_cache_blind_session_detected |
software | healthy | tests/test_audit.py:178 |
test_monthly_cost_not_inflated |
software | healthy | tests/test_audit.py:190 |
test_json_output_is_valid |
software | healthy | tests/test_audit.py:199 |
_write_raw |
software | healthy | tests/test_audit.py:299 |
_usage |
software | healthy | tests/test_audit.py:218 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
TestInstallCommitMsgHook |
software | healthy | tests/test_hooks.py:30 |
TestInstallHookInstallsBoth |
software | healthy | tests/test_hooks.py:67 |
TestCommitMsgPatternDetection |
software | healthy | tests/test_hooks.py:88 |
TestPerSessionFileCounts |
software | healthy | tests/test_audit_drilldown.py:18 |
TestTopReadFiles |
software | healthy | tests/test_audit_drilldown.py:58 |
TestAnalyzeTranscript |
software | healthy | tests/test_audit.py:30 |
TestRatioBand |
software | healthy | tests/test_audit.py:130 |
TestCollectAudit |
software | healthy | tests/test_audit.py:149 |
TestContextBloat |
software | healthy | tests/test_audit.py:210 |
TestRetryLoops |
software | healthy | tests/test_audit.py:296 |
TestRunCompare |
software | healthy | tests/test_audit.py:365 |
TestFindAllToolUse |
software | healthy | tests/test_audit.py:414 |
TestAuditConstants |
software | healthy | tests/test_audit.py:445 |
TestCursorTranscript |
software | healthy | tests/test_audit.py:553 |
TestCursorWorkspaceDb |
software | healthy | tests/test_audit.py:689 |
TestCollectAuditWithCursor |
software | healthy | tests/test_audit.py:775 |
TestCodexTranscript |
software | healthy | tests/test_audit.py:890 |
TestCollectAuditWithCodex |
software | healthy | tests/test_audit.py:1030 |
TestFilterCommits |
software | healthy | tests/test_decisions.py:33 |
TestParseModelOutput |
software | healthy | tests/test_decisions.py:59 |
TestAppendWithReason |
software | healthy | tests/test_decisions.py:85 |
TestShowDecisions |
software | healthy | tests/test_decisions.py:108 |
TestMineDecisions |
software | healthy | tests/test_decisions.py:121 |
TestIsExcludedFile |
software | healthy | tests/test_init.py:22 |
TestScanStructure |
software | healthy | tests/test_init.py:52 |
TestWriteGitignore |
software | healthy | tests/test_init.py:120 |
TestInitRepo |
software | healthy | tests/test_init.py:131 |
TestBudgetStatus |
software | healthy | tests/test_cost_model.py:60 |
TestProviderPricing |
software | healthy | tests/test_cost_model.py:106 |
TestResolveProvider |
software | healthy | tests/test_cost_model.py:169 |
TestEnterpriseProviderPricing |
software | healthy | tests/test_cost_model.py:194 |
TestGetGitDiff |
software | healthy | tests/test_sync.py:15 |
TestUpdateArchitectureMd |
software | healthy | tests/test_sync.py:46 |
TestSync |
software | healthy | tests/test_sync.py:72 |
TestRegistryIntegrity |
software | healthy | tests/test_recommend.py:17 |
TestLookups |
software | healthy | tests/test_recommend.py:47 |
TestDetectors |
software | healthy | tests/test_recommend.py:74 |
TestAttach |
software | healthy | tests/test_recommend.py:85 |
TestDeriveFindingsCarriesRecommendations |
software | healthy | tests/test_recommend.py:117 |
TestTimelineRows |
software | healthy | tests/test_audit_timeline.py:35 |
TestConsecutiveUsageCollapse |
software | healthy | tests/test_audit_timeline.py:74 |
TestWasteAttribution |
software | healthy | tests/test_audit_timeline.py:103 |
TestRunSessionCLI |
software | healthy | tests/test_audit_timeline.py:159 |
TestUiSmoke |
software | healthy | tests/test_ui_smoke.py:25 |
TestStripCodeFence |
software | healthy | tests/test_utils.py:17 |
TestCallModelRouting |
software | healthy | tests/test_utils.py:53 |
TestCallViaLitellmMissing |
software | healthy | tests/test_utils.py:103 |
TestProxyHeaders |
software | healthy | tests/test_utils.py:111 |
TestProbeLmStudio |
software | healthy | tests/test_utils.py:191 |
TestCallViaOpenaiCompat |
software | healthy | tests/test_utils.py:242 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
PLAN_CARRIED_OUTPUT.md |
software | healthy | PLAN_CARRIED_OUTPUT.md |
.mcp.json |
software | healthy | .mcp.json |
README.md |
software | healthy | README.md |
CLAUDE.md |
software | healthy | CLAUDE.md |
pyproject.toml |
software | healthy | pyproject.toml |
LICENSE |
software | healthy | LICENSE |
NOTICE |
software | healthy | NOTICE |
CASE_STUDY_RUNBOOK.md |
software | healthy | CASE_STUDY_RUNBOOK.md |
AGENTS.md |
software | healthy | AGENTS.md |
test_hooks.py |
software | healthy | tests/test_hooks.py |
test_audit_drilldown.py |
software | healthy | tests/test_audit_drilldown.py |
__init__.py |
software | healthy | tests/__init__.py |
conftest.py |
software | healthy | tests/conftest.py |
test_audit.py |
software | healthy | tests/test_audit.py |
test_decisions.py |
software | healthy | tests/test_decisions.py |
test_init.py |
software | healthy | tests/test_init.py |
test_cost_model.py |
software | healthy | tests/test_cost_model.py |
test_sync.py |
software | healthy | tests/test_sync.py |
test_recommend.py |
software | healthy | tests/test_recommend.py |
test_context_dir.py |
software | healthy | tests/test_context_dir.py |
test_audit_timeline.py |
software | healthy | tests/test_audit_timeline.py |
test_rig_fixtures.py |
software | healthy | tests/test_rig_fixtures.py |
test_ui_smoke.py |
software | healthy | tests/test_ui_smoke.py |
test_utils.py |
software | healthy | tests/test_utils.py |
test_usage.py |
software | healthy | tests/test_usage.py |
test_status.py |
software | healthy | tests/test_status.py |
test_cli.py |
software | healthy | tests/test_cli.py |
test_find_context.py |
software | healthy | tests/test_find_context.py |
test_rig.py |
software | healthy | tests/test_rig.py |
test_audit_report.py |
software | healthy | tests/test_audit_report.py |
test_mcp_server.py |
software | healthy | tests/test_mcp_server.py |
test_symbols.py |
software | healthy | tests/test_symbols.py |
test_audit_store.py |
software | healthy | tests/test_audit_store.py |
test_audit_findings.py |
software | healthy | tests/test_audit_findings.py |
test_audit_measured.py |
software | healthy | tests/test_audit_measured.py |
test_targets.py |
software | healthy | tests/test_targets.py |
settings.json |
software | healthy | .claude/settings.json |
docs.yml |
software | healthy | .claude/docs.yml |
cram_session_start.py |
software | healthy | .claude/hooks/cram_session_start.py |
cram_post_context.py |
software | healthy | .claude/hooks/cram_post_context.py |
corpus.example.json |
software | healthy | examples/rig/corpus.example.json |
app.py |
software | healthy | examples/rig/fixtures/add-cli-flag/app.py |
TASK.md |
software | healthy | examples/rig/fixtures/add-cli-flag/TASK.md |
test_app.py |
software | healthy | examples/rig/fixtures/add-cli-flag/test_app.py |
test_stats.py |
software | healthy | examples/rig/fixtures/fix-failing-test/test_stats.py |
TASK.md |
software | healthy | examples/rig/fixtures/fix-failing-test/TASK.md |
stats.py |
software | healthy | examples/rig/fixtures/fix-failing-test/stats.py |
hooks.json |
software | healthy | .codex/hooks.json |
config.toml |
software | healthy | .codex/config.toml |
cram_session_start.py |
software | healthy | .codex/hooks/cram_session_start.py |
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 |
.claude |
software | healthy | .claude |
hooks |
software | healthy | .claude/hooks |
examples |
software | healthy | examples |
rig |
software | healthy | examples/rig |
fixtures |
software | healthy | examples/rig/fixtures |
add-cli-flag |
software | healthy | examples/rig/fixtures/add-cli-flag |
fix-failing-test |
software | healthy | examples/rig/fixtures/fix-failing-test |
.codex |
software | healthy | .codex |
hooks |
software | healthy | .codex/hooks |
cram |
software | healthy | cram |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::README.md |
security | healthy | README.md |
auth::tests/test_mcp_server.py |
security | healthy | tests/test_mcp_server.py |
auth::tests/test_decisions.py |
security | healthy | tests/test_decisions.py |
auth::tests/test_hooks.py |
security | healthy | tests/test_hooks.py |
auth::cram/mcp_server.py |
security | healthy | cram/mcp_server.py |
| Label | Layer | Status | Path |
|---|---|---|---|
sqlite |
data | healthy | README.md |
redis |
data | healthy | README.md |
postgres |
data | healthy | tests/test_hooks.py |
mysql |
data | healthy | tests/test_decisions.py |
| Label | Layer | Status | Path |
|---|---|---|---|
meta |
data | healthy | cram/audit_store.py |
files |
data | healthy | cram/audit_store.py |
sessions |
data | healthy | cram/audit_store.py |
events |
data | healthy | cram/audit_store.py |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::aws |
hardware | healthy | README.md |
vps::gcp |
hardware | healthy | README.md |
vps::azure |
hardware | healthy | README.md |
| 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 |
build-and-publish |
cicd | healthy | .github/workflows/publish.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-22044s3k |
software | healthy | /tmp/repobility-clone-22044s3k |
This page is publicly accessible at:
https://repobility.com/scan/254fb780-4c7e-4bd2-b520-7c426270c7e1/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/254fb780-4c7e-4bd2-b520-7c426270c7e1/
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.