https://github.com/seby-dev/organist_bot
· scanned 2026-06-16 00:06 UTC (2 months, 2 weeks ago)
21 raw signals (0 security + 21 graph)
Last scanned 2 months, 2 weeks ago · v1 · 21 actionable findings from 1 signal source. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 1366 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 |
|---|---|---|---|
_send_neg_alert |
software | healthy | main.py:48 |
warn_if_gmail_monitoring_unconfigured |
software | healthy | main.py:80 |
main |
software | healthy | main.py:109 |
_run |
software | healthy | main.py:136 |
test_returns_empty_set_when_file_missing |
software | healthy | tests/test_storage.py:18 |
test_returns_set_type |
software | healthy | tests/test_storage.py:23 |
test_empty_file_returns_empty_set |
software | healthy | tests/test_storage.py:29 |
test_single_link_loaded |
software | healthy | tests/test_storage.py:35 |
test_multiple_links_loaded |
software | healthy | tests/test_storage.py:41 |
test_blank_rows_are_skipped |
software | healthy | tests/test_storage.py:53 |
test_duplicate_entries_deduplicated_by_set |
software | healthy | tests/test_storage.py:61 |
test_only_first_column_used |
software | healthy | tests/test_storage.py:69 |
test_default_filepath_does_not_raise_when_missing |
software | healthy | tests/test_storage.py:81 |
test_links_with_special_characters |
software | healthy | tests/test_storage.py:88 |
test_creates_file_when_absent |
software | healthy | tests/test_storage.py:102 |
test_empty_set_writes_empty_file |
software | healthy | tests/test_storage.py:109 |
test_single_link_written |
software | healthy | tests/test_storage.py:115 |
test_multiple_links_written |
software | healthy | tests/test_storage.py:122 |
test_links_written_in_sorted_order |
software | healthy | tests/test_storage.py:134 |
test_overwrites_existing_file |
software | healthy | tests/test_storage.py:146 |
test_default_filepath_writes_to_data_dir |
software | healthy | tests/test_storage.py:155 |
test_links_with_special_characters_round_trip |
software | healthy | tests/test_storage.py:162 |
test_save_then_load_returns_same_set |
software | healthy | tests/test_storage.py:176 |
test_empty_set_round_trips |
software | healthy | tests/test_storage.py:187 |
test_incremental_saves_do_not_accumulate |
software | healthy | tests/test_storage.py:193 |
test_large_set_round_trips |
software | healthy | tests/test_storage.py:201 |
test_load_returns_none_when_file_missing |
software | healthy | tests/test_storage.py:215 |
test_save_then_load_round_trips |
software | healthy | tests/test_storage.py:219 |
test_save_overwrites_existing |
software | healthy | tests/test_storage.py:224 |
test_load_strips_whitespace |
software | healthy | tests/test_storage.py:230 |
test_load_returns_none_for_empty_file |
software | healthy | tests/test_storage.py:235 |
test_default_initialization |
software | healthy | tests/test_scraper.py:83 |
test_custom_initialization |
software | healthy | tests/test_scraper.py:89 |
test_session_exists |
software | healthy | tests/test_scraper.py:95 |
test_fetch_success |
software | healthy | tests/test_scraper.py:105 |
test_fetch_with_custom_timeout |
software | healthy | tests/test_scraper.py:119 |
test_fetch_http_error |
software | healthy | tests/test_scraper.py:132 |
test_fetch_timeout_error |
software | healthy | tests/test_scraper.py:141 |
test_fetch_retry_then_success |
software | healthy | tests/test_scraper.py:150 |
test_parse_multiple_listings |
software | healthy | tests/test_scraper.py:169 |
test_parse_no_listings |
software | healthy | tests/test_scraper.py:178 |
test_parse_single_listing |
software | healthy | tests/test_scraper.py:185 |
test_parse_detail_page |
software | healthy | tests/test_scraper.py:193 |
test_extract_complete_details |
software | healthy | tests/test_scraper.py:204 |
test_extract_incomplete_details |
software | healthy | tests/test_scraper.py:220 |
test_extract_without_link |
software | healthy | tests/test_scraper.py:236 |
test_extract_complete_full_details |
software | healthy | tests/test_scraper.py:251 |
test_extract_empty_full_details |
software | healthy | tests/test_scraper.py:264 |
test_extract_no_booking_details_element |
software | healthy | tests/test_scraper.py:277 |
test_extract_partial_full_details |
software | healthy | tests/test_scraper.py:284 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
TestLoadSeenGigs |
software | healthy | tests/test_storage.py:17 |
TestSaveSeenGigs |
software | healthy | tests/test_storage.py:101 |
TestRoundTrip |
software | healthy | tests/test_storage.py:175 |
TestListingsHash |
software | healthy | tests/test_storage.py:214 |
TestScraperInitialization |
software | healthy | tests/test_scraper.py:80 |
TestScraperFetch |
software | healthy | tests/test_scraper.py:101 |
TestScraperParseGigListings |
software | healthy | tests/test_scraper.py:166 |
TestScraperExtractBasicDetails |
software | healthy | tests/test_scraper.py:201 |
TestScraperExtractFullDetails |
software | healthy | tests/test_scraper.py:248 |
TestScraperHelperMethods |
software | healthy | tests/test_scraper.py:307 |
TestPostcodeExtraction |
software | healthy | tests/test_scraper.py:374 |
TestScraperContextManager |
software | healthy | tests/test_scraper.py:434 |
TestScraperIntegration |
software | healthy | tests/test_scraper.py:467 |
TestRecordApplication |
software | healthy | tests/test_application_store.py:36 |
TestUpdateStatus |
software | healthy | tests/test_application_store.py:62 |
TestUpsertAccepted |
software | healthy | tests/test_application_store.py:82 |
TestExpirePastApplied |
software | healthy | tests/test_application_store.py:127 |
TestListApplications |
software | healthy | tests/test_application_store.py:168 |
TestGetIncome |
software | healthy | tests/test_application_store.py:200 |
TestUpdateReplyMessageId |
software | healthy | tests/test_application_store.py:303 |
TestPostcodeStoredOnApplication |
software | healthy | tests/test_application_store.py:340 |
TestUpsertAcceptedPostcode |
software | healthy | tests/test_application_store.py:360 |
TestUpdateTravelBufferIds |
software | healthy | tests/test_application_store.py:417 |
TestNegPending |
software | healthy | tests/test_application_store.py:451 |
TestExpireNegPending |
software | healthy | tests/test_application_store.py:525 |
TestDryRunNoWrites |
software | healthy | tests/test_dry_run.py:44 |
TestDryRunLogs |
software | healthy | tests/test_dry_run.py:119 |
TestNormalRunStillWrites |
software | healthy | tests/test_dry_run.py:161 |
TestShouldSend |
software | healthy | tests/test_weekly_summary.py:12 |
TestLastSentPersistence |
software | healthy | tests/test_weekly_summary.py:65 |
TestBuildMessage |
software | healthy | tests/test_weekly_summary.py:86 |
TestLoadInvoices |
software | healthy | tests/test_weekly_summary.py:169 |
TestCheckAndSend |
software | healthy | tests/test_weekly_summary.py:195 |
TestIsAuthorised |
software | healthy | tests/test_telegram_integration.py:26 |
TestHandleMessage |
software | healthy | tests/test_telegram_integration.py:50 |
TestGetSuccessMetrics |
software | healthy | tests/test_analytics.py:43 |
TestGetGigTypeBreakdown |
software | healthy | tests/test_analytics.py:119 |
TestPurgePastPeriods |
software | healthy | tests/test_filter_store.py:26 |
TestAutoPurgeOnUnavailableOperations |
software | healthy | tests/test_filter_store.py:155 |
TestFetchReplyMessages |
software | healthy | tests/test_gmail_client.py:14 |
TestFetchInvoiceReplies |
software | healthy | tests/test_gmail_client.py:91 |
TestFetchGigDetails |
software | healthy | tests/test_unified_agent.py:32 |
TestAddGigPreview |
software | healthy | tests/test_unified_agent.py:77 |
TestAddGigConfirmed |
software | healthy | tests/test_unified_agent.py:106 |
TestAddGigAutoUnavailable |
software | healthy | tests/test_unified_agent.py:144 |
TestAddGigApplicationStore |
software | healthy | tests/test_unified_agent.py:189 |
TestListUpcomingGigs |
software | healthy | tests/test_unified_agent.py:277 |
TestDeleteGig |
software | healthy | tests/test_unified_agent.py:433 |
TestEditGig |
software | healthy | tests/test_unified_agent.py:502 |
TestInvoiceClientTools |
software | healthy | tests/test_unified_agent.py:571 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
requirements-dev.txt |
software | healthy | requirements-dev.txt |
README.md |
software | healthy | README.md |
CLAUDE.md |
software | healthy | CLAUDE.md |
technical-report.html |
software | healthy | technical-report.html |
.pre-commit-config.yaml |
software | healthy | .pre-commit-config.yaml |
telegram_bot.py |
software | healthy | telegram_bot.py |
pyproject.toml |
software | healthy | pyproject.toml |
main.py |
software | healthy | main.py |
requirements.txt |
software | healthy | requirements.txt |
test_storage.py |
software | healthy | tests/test_storage.py |
test_scraper.py |
software | healthy | tests/test_scraper.py |
test_application_store.py |
software | healthy | tests/test_application_store.py |
test_invoice_generator_browser.py |
software | healthy | tests/test_invoice_generator_browser.py |
__init__.py |
software | healthy | tests/__init__.py |
conftest.py |
software | healthy | tests/conftest.py |
test_dry_run.py |
software | healthy | tests/test_dry_run.py |
test_weekly_summary.py |
software | healthy | tests/test_weekly_summary.py |
test_atomic_store.py |
software | healthy | tests/test_atomic_store.py |
test_telegram_integration.py |
software | healthy | tests/test_telegram_integration.py |
test_analytics.py |
software | healthy | tests/test_analytics.py |
test_filter_store.py |
software | healthy | tests/test_filter_store.py |
test_gmail_client.py |
software | healthy | tests/test_gmail_client.py |
test_unified_agent.py |
software | healthy | tests/test_unified_agent.py |
test_main.py |
software | healthy | tests/test_main.py |
test_reply_monitor.py |
software | healthy | tests/test_reply_monitor.py |
test_sheets_logger.py |
software | healthy | tests/test_sheets_logger.py |
test_calendar_client.py |
software | healthy | tests/test_calendar_client.py |
test_travel.py |
software | healthy | tests/test_travel.py |
test_logging_config.py |
software | healthy | tests/test_logging_config.py |
test_filters.py |
software | healthy | tests/test_filters.py |
test_agent_state.py |
software | healthy | tests/test_agent_state.py |
test_notifier.py |
software | healthy | tests/test_notifier.py |
test_invoice_monitor.py |
software | healthy | tests/test_invoice_monitor.py |
test_alert.py |
software | healthy | tests/test_alert.py |
test_invoice_generator_schema.py |
software | healthy | tests/test_invoice_generator_schema.py |
test_runtime_config_store.py |
software | healthy | tests/test_runtime_config_store.py |
2026-05-27-travel-buffer-blocking.md |
software | healthy | docs/superpowers/plans/2026-05-27-travel-buffer-blocking.md |
2026-05-17-gig-stats.md |
software | healthy | docs/superpowers/plans/2026-05-17-gig-stats.md |
2026-05-15-unified-agent.md |
software | healthy | docs/superpowers/plans/2026-05-15-unified-agent.md |
2026-05-14-addgig-confirmation-flow.md |
software | healthy | docs/superpowers/plans/2026-05-14-addgig-confirmation-flow.… |
2026-05-17-calendar-blocking.md |
software | healthy | docs/superpowers/plans/2026-05-17-calendar-blocking.md |
2026-05-26-email-reply-monitoring.md |
software | healthy | docs/superpowers/plans/2026-05-26-email-reply-monitoring.md |
2026-05-26-income-forecasting.md |
software | healthy | docs/superpowers/plans/2026-05-26-income-forecasting.md |
2026-05-26-application-tracking.md |
software | healthy | docs/superpowers/plans/2026-05-26-application-tracking.md |
2026-05-17-runtime-config-and-quick-add.md |
software | healthy | docs/superpowers/plans/2026-05-17-runtime-config-and-quick-… |
2026-05-27-overdue-invoice-reminders.md |
software | healthy | docs/superpowers/plans/2026-05-27-overdue-invoice-reminders… |
2026-05-26-competing-gig-detection.md |
software | healthy | docs/superpowers/plans/2026-05-26-competing-gig-detection.md |
2026-05-30-reliability-improvements.md |
software | healthy | docs/superpowers/plans/2026-05-30-reliability-improvements.… |
2026-05-17-config-and-quick-add.md |
software | healthy | docs/superpowers/plans/2026-05-17-config-and-quick-add.md |
2026-06-09-neg-gig-draft-approval.md |
software | healthy | docs/superpowers/plans/2026-06-09-neg-gig-draft-approval.md |
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 |
superpowers |
software | healthy | docs/superpowers |
plans |
software | healthy | docs/superpowers/plans |
specs |
software | healthy | docs/superpowers/specs |
scripts |
software | healthy | scripts |
.claude |
software | healthy | .claude |
hooks |
software | healthy | .claude/hooks |
skills |
software | healthy | .claude/skills |
diagnose-run |
software | healthy | .claude/skills/diagnose-run |
add-invoice-tool |
software | healthy | .claude/skills/add-invoice-tool |
add-gig-filter |
software | healthy | .claude/skills/add-gig-filter |
feature |
software | healthy | .claude/skills/feature |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
organist_bot |
software | healthy | organist_bot |
integrations |
software | healthy | organist_bot/integrations |
templates |
software | healthy | organist_bot/templates |
| Label | Layer | Status | Path |
|---|---|---|---|
lint |
cicd | healthy | .github/workflows/ci.yml |
test |
cicd | healthy | .github/workflows/ci.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-9vzx1zgr |
software | healthy | /tmp/repobility-clone-9vzx1zgr |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::organist_bot/integrations/gmail_client.py |
security | healthy | organist_bot/integrations/gmail_client.py |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
This page is publicly accessible at:
https://repobility.com/scan/0439acff-4bfb-49fe-87ad-02aa1fa4391e/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/0439acff-4bfb-49fe-87ad-02aa1fa4391e/
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.