https://github.com/seanthegeek/case-calendar
· scanned 2026-06-16 00:05 UTC (2 months, 3 weeks ago)
87 raw signals (0 security + 87 graph)
Last scanned 2 months, 3 weeks ago · v1 · 69 actionable findings from 1 signal source. 18 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 2919 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 |
|---|---|---|---|
__init__ |
software | healthy | tests/test_summary.py:72 |
json |
software | healthy | tests/test_summary.py:57 |
_get |
software | healthy | tests/test_summary.py:902 |
test_matches_primary_documents |
software | healthy | tests/test_summary.py:108 |
test_rejects_non_primary |
software | healthy | tests/test_summary.py:120 |
test_falls_back_to_short_description |
software | healthy | tests/test_summary.py:123 |
test_falls_back_to_recap_document_description |
software | healthy | tests/test_summary.py:127 |
test_empty_entry_returns_false |
software | healthy | tests/test_summary.py:135 |
test_matches_dispositions |
software | healthy | tests/test_summary.py:154 |
test_matches_sentencing_keyword |
software | healthy | tests/test_summary.py:179 |
test_matches_judgment_keyword |
software | healthy | tests/test_summary.py:196 |
test_matches_tro_and_injunction_keywords |
software | healthy | tests/test_summary.py:216 |
test_matches_extended_disposition_keywords |
software | healthy | tests/test_summary.py:247 |
test_matches_plea_documents |
software | healthy | tests/test_summary.py:272 |
test_plea_keywords_do_not_overmatch |
software | healthy | tests/test_summary.py:298 |
test_conference_overrides_disposition_match |
software | healthy | tests/test_summary.py:312 |
test_rejects_non_dispositions |
software | healthy | tests/test_summary.py:325 |
test_accepts_actual_disposition_documents |
software | healthy | tests/test_summary.py:393 |
test_rejects_papers_and_non_dispositions |
software | healthy | tests/test_summary.py:457 |
test_returns_primary_and_disposition_lists |
software | healthy | tests/test_summary.py:467 |
test_dedups_overlap_between_oldest_and_newest_pages |
software | healthy | tests/test_summary.py:491 |
test_sorts_oldest_first_within_each_group |
software | healthy | tests/test_summary.py:503 |
test_local_store_short_circuits_cl_call |
software | healthy | tests/test_summary.py:520 |
test_cold_local_store_falls_back_to_cl |
software | healthy | tests/test_summary.py:562 |
test_disposition_only_cache_does_not_short_circuit |
software | healthy | tests/test_summary.py:583 |
test_motion_in_cache_does_not_short_circuit_cl_fallback |
software | healthy | tests/test_summary.py:634 |
test_stub_only_rows_dont_satisfy_the_cache |
software | healthy | tests/test_summary.py:696 |
test_stale_cache_falls_through_to_cl_and_self_heals |
software | healthy | tests/test_summary.py:722 |
test_sealed_or_unavailable_main_doc_does_not_count_as_stale |
software | healthy | tests/test_summary.py:798 |
test_sealed_main_doc_does_not_count_as_stale |
software | healthy | tests/test_summary.py:833 |
test_attachment_with_empty_plain_text_does_not_count_as_sta… |
software | healthy | tests/test_summary.py:867 |
test_stale_disposition_falls_through_and_refreshes_cache |
software | healthy | tests/test_summary.py:911 |
test_returns_true_when_main_doc_has_text |
software | healthy | tests/test_summary.py:1012 |
test_returns_false_when_main_doc_is_empty |
software | healthy | tests/test_summary.py:1022 |
test_attachment_with_text_does_not_count |
software | healthy | tests/test_summary.py:1032 |
test_entry_without_recap_documents_returns_false |
software | healthy | tests/test_summary.py:1047 |
test_pools_non_overlapping_entries |
software | healthy | tests/test_summary.py:1062 |
test_dedupes_by_entry_number |
software | healthy | tests/test_summary.py:1093 |
test_paperless_dedup_uses_description_and_date |
software | healthy | tests/test_summary.py:1125 |
test_empty_group_returns_empty_lists |
software | healthy | tests/test_summary.py:1155 |
test_later_sibling_with_plain_text_replaces_earlier_empty |
software | healthy | tests/test_summary.py:1161 |
test_first_seen_wins_when_both_copies_have_plain_text |
software | healthy | tests/test_summary.py:1221 |
test_first_seen_wins_when_both_copies_have_empty_plain_text |
software | healthy | tests/test_summary.py:1267 |
_dubranova_shape |
software | healthy | tests/test_summary.py:1326 |
test_dubranova_shape_returns_advisory |
software | healthy | tests/test_summary.py:1378 |
test_unsealing_order_kills_signal |
software | healthy | tests/test_summary.py:1388 |
test_disposition_presence_kills_signal_without_an_api_call |
software | healthy | tests/test_summary.py:1405 |
test_substantial_post_seal_public_activity_kills_signal |
software | healthy | tests/test_summary.py:1418 |
test_no_sealing_order_returns_none |
software | healthy | tests/test_summary.py:1438 |
test_narrow_sealing_order_with_high_public_activity_does_no… |
software | healthy | tests/test_summary.py:1462 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
_BoomCourtListenerBase |
software | healthy | tests/test_summary.py:40 |
_FakeResp |
software | healthy | tests/test_summary.py:53 |
_FakeCourtListener |
software | healthy | tests/test_summary.py:61 |
TestPrimaryDocumentDetection |
software | healthy | tests/test_summary.py:96 |
TestDispositionDetection |
software | healthy | tests/test_summary.py:139 |
TestDispositionDocumentDetection |
software | healthy | tests/test_summary.py:329 |
TestFindPrimaryDocuments |
software | healthy | tests/test_summary.py:466 |
_BoomCourtListener |
software | healthy | tests/test_summary.py:901 |
TestEntryMainDocHasPlainText |
software | healthy | tests/test_summary.py:1007 |
TestFindPrimaryDocumentsForGroup |
software | healthy | tests/test_summary.py:1054 |
TestDetectSealing |
software | healthy | tests/test_summary.py:1309 |
TestEntryDocumentUrl |
software | healthy | tests/test_summary.py:1683 |
TestAssignDocumentRefs |
software | healthy | tests/test_summary.py:1734 |
TestResolveDocumentLinks |
software | healthy | tests/test_summary.py:1798 |
TestSummarizeDocket |
software | healthy | tests/test_summary.py:1865 |
TestExtraDocuments |
software | healthy | tests/test_summary.py:2835 |
TestGroupDocketsOnCase |
software | healthy | tests/test_summary.py:3269 |
TestRefreshStale |
software | healthy | tests/test_summary.py:3338 |
TestSummarizeCase |
software | healthy | tests/test_summary.py:3581 |
TestEntryDescriptionHeadFallback |
software | healthy | tests/test_summary.py:3670 |
TestEntryDocTextAttachmentFallback |
software | healthy | tests/test_summary.py:3698 |
TestIndictmentAttachedToProceduralParent |
software | healthy | tests/test_summary.py:3722 |
TestDispositionAttachedToProceduralParent |
software | healthy | tests/test_summary.py:3825 |
TestPrimaryFailureStateEdgeCases |
software | healthy | tests/test_summary.py:3921 |
TestSubstanceRecapDocumentsDedup |
software | healthy | tests/test_summary.py:3952 |
TestRefreshStaleSummarizeDocketReturnsNone |
software | healthy | tests/test_summary.py:4014 |
TestSummaryTruthfulnessGuard |
software | healthy | tests/test_summary.py:4052 |
TestSummaryGuardRetry |
software | healthy | tests/test_summary.py:4193 |
TestSummaryForfeitureGuard |
software | healthy | tests/test_summary.py:4276 |
TestSummaryOperatorAttributionGuard |
software | healthy | tests/test_summary.py:4424 |
TestSummaryGroundingGuard |
software | healthy | tests/test_summary.py:4508 |
TestStripUngroundedSentences |
software | healthy | tests/test_summary.py:4780 |
TestRestitutionUnreadableDetector |
software | healthy | tests/test_summary.py:4840 |
TestRestitutionAdvisoryWiring |
software | healthy | tests/test_summary.py:4903 |
TestIsDeadlineRelevant |
software | healthy | tests/test_extractor.py:16 |
TestDeadlineExtraHints |
software | healthy | tests/test_extractor.py:217 |
TestIsExtractable |
software | healthy | tests/test_extractor.py:279 |
TestIsHearingRelevant |
software | healthy | tests/test_extractor.py:303 |
TestGcalId |
software | healthy | tests/test_gcal.py:36 |
TestEventBody |
software | healthy | tests/test_gcal.py:52 |
TestSync |
software | healthy | tests/test_gcal.py:131 |
TestTimeHelpers |
software | healthy | tests/test_gcal.py:262 |
TestBuildService |
software | healthy | tests/test_gcal.py:277 |
TestRoutes |
software | healthy | tests/test_serve.py:147 |
TestDocketAlert |
software | healthy | tests/test_serve.py:192 |
TestNonDocketEvents |
software | healthy | tests/test_serve.py:311 |
TestAutoEmit |
software | healthy | tests/test_serve.py:326 |
TestRequestErrors |
software | healthy | tests/test_serve.py:462 |
TestServerWide500Handler |
software | healthy | tests/test_serve.py:626 |
TestNoIdempotencyKey |
software | healthy | tests/test_serve.py:664 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
config.benchmark.yaml |
software | healthy | config.benchmark.yaml |
README.md |
software | healthy | README.md |
CLAUDE.md |
software | healthy | CLAUDE.md |
config.example.yaml |
software | healthy | config.example.yaml |
.env.example |
software | healthy | .env.example |
pyproject.toml |
software | healthy | pyproject.toml |
LICENSE |
software | healthy | LICENSE |
config.dev.yaml |
software | healthy | config.dev.yaml |
AGENTS.md |
software | healthy | AGENTS.md |
CHANGELOG.md |
software | healthy | CHANGELOG.md |
codecov.yml |
software | healthy | codecov.yml |
test_summary.py |
software | healthy | tests/test_summary.py |
test_extractor.py |
software | healthy | tests/test_extractor.py |
test_gcal.py |
software | healthy | tests/test_gcal.py |
test_score_models.py |
software | healthy | tests/test_score_models.py |
test_serve.py |
software | healthy | tests/test_serve.py |
__init__.py |
software | healthy | tests/__init__.py |
conftest.py |
software | healthy | tests/conftest.py |
test_courts.py |
software | healthy | tests/test_courts.py |
test_snapshot_benchmark.py |
software | healthy | tests/test_snapshot_benchmark.py |
test_url_validator.py |
software | healthy | tests/test_url_validator.py |
test_ics.py |
software | healthy | tests/test_ics.py |
test_sync_integration.py |
software | healthy | tests/test_sync_integration.py |
test_llm.py |
software | healthy | tests/test_llm.py |
test_funnel_analysis.py |
software | healthy | tests/test_funnel_analysis.py |
test_pdf.py |
software | healthy | tests/test_pdf.py |
test_build_scoring_page.py |
software | healthy | tests/test_build_scoring_page.py |
test_costs.py |
software | healthy | tests/test_costs.py |
test_alerts.py |
software | healthy | tests/test_alerts.py |
test_m365.py |
software | healthy | tests/test_m365.py |
test_index_events.py |
software | healthy | tests/test_index_events.py |
test_store.py |
software | healthy | tests/test_store.py |
test_llmkit_usage.py |
software | healthy | tests/test_llmkit_usage.py |
test_sync_coverage.py |
software | healthy | tests/test_sync_coverage.py |
test_llmkit_providers.py |
software | healthy | tests/test_llmkit_providers.py |
test_build_provider_stores.py |
software | healthy | tests/test_build_provider_stores.py |
test_cli.py |
software | healthy | tests/test_cli.py |
test_courtlistener.py |
software | healthy | tests/test_courtlistener.py |
test_sync_helpers.py |
software | healthy | tests/test_sync_helpers.py |
test_description.py |
software | healthy | tests/test_description.py |
test_docs_sync.py |
software | healthy | tests/test_docs_sync.py |
test_index.py |
software | healthy | tests/test_index.py |
url_validator.py |
software | healthy | case_calendar/url_validator.py |
__init__.py |
software | healthy | case_calendar/__init__.py |
extractor.py |
software | healthy | case_calendar/extractor.py |
courts.py |
software | healthy | case_calendar/courts.py |
pdf.py |
software | healthy | case_calendar/pdf.py |
costs.py |
software | healthy | case_calendar/costs.py |
llm.py |
software | healthy | case_calendar/llm.py |
sync.py |
software | healthy | case_calendar/sync.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 |
case_calendar |
software | healthy | case_calendar |
llmkit |
software | healthy | case_calendar/llmkit |
calendars |
software | healthy | case_calendar/calendars |
docs |
software | healthy | docs |
scripts |
software | healthy | scripts |
model-comparison |
software | healthy | model-comparison |
snapshots |
software | healthy | model-comparison/snapshots |
.github |
software | healthy | .github |
ISSUE_TEMPLATE |
software | healthy | .github/ISSUE_TEMPLATE |
workflows |
software | healthy | .github/workflows |
| Label | Layer | Status | Path |
|---|---|---|---|
dockets |
data | healthy | case_calendar/store.py |
courts |
data | healthy | case_calendar/store.py |
entries |
data | healthy | case_calendar/store.py |
hearings |
data | healthy | case_calendar/store.py |
deadlines |
data | healthy | case_calendar/store.py |
case_summaries |
data | healthy | case_calendar/store.py |
webhook_events |
data | healthy | case_calendar/store.py |
case_summaries_new |
data | healthy | case_calendar/store.py |
llm_responses |
data | healthy | model-comparison/build_provider_stores.py |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::tests/test_cli.py |
security | healthy | tests/test_cli.py |
auth::case_calendar/cli.py |
security | healthy | case_calendar/cli.py |
auth::.env.example |
security | healthy | .env.example |
auth::README.md |
security | healthy | README.md |
auth::case_calendar/calendars/gcal.py |
security | healthy | case_calendar/calendars/gcal.py |
auth::AGENTS.md |
security | healthy | AGENTS.md |
auth::config.example.yaml |
security | healthy | config.example.yaml |
auth::tests/test_gcal.py |
security | healthy | tests/test_gcal.py |
| Label | Layer | Status | Path |
|---|---|---|---|
lint |
cicd | healthy | .github/workflows/ci.yml |
test |
cicd | healthy | .github/workflows/ci.yml |
build |
cicd | healthy | .github/workflows/jekyll-gh-pages.yml |
deploy |
cicd | healthy | .github/workflows/jekyll-gh-pages.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
port:127 |
network | healthy | AGENTS.md |
port:8000 |
network | healthy | tests/test_cli.py |
port:9000 |
network | healthy | tests/test_cli.py |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | AGENTS.md |
203.0.113.10 |
network | healthy | scripts/_prod-env.sh |
172.17.160.1 |
network | healthy | model-comparison/summarize_phase.py |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
gha::jekyll-gh-pages |
cicd | healthy | .github/workflows/jekyll-gh-pages.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-caxltqxa |
software | healthy | /tmp/repobility-clone-caxltqxa |
| Label | Layer | Status | Path |
|---|---|---|---|
sqlite |
data | healthy | config.benchmark.yaml |
| Label | Layer | Status | Path |
|---|---|---|---|
caddy |
network | healthy | config.example.yaml |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::azure |
hardware | healthy | config.example.yaml |
| Label | Layer | Status | Path |
|---|---|---|---|
gpu (detected) |
hardware | healthy | AGENTS.md |
| Label | Layer | Status | Path |
|---|---|---|---|
CODECOV_TOKEN |
cicd | healthy | — |
This page is publicly accessible at:
https://repobility.com/scan/86c406cb-077a-4bf5-bb7c-76d8aac62302/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/86c406cb-077a-4bf5-bb7c-76d8aac62302/
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.