https://github.com/walight999/gold-news-pipeline
· scanned 2026-06-16 00:54 UTC (2 months, 1 week ago)
27 raw signals (0 security + 27 graph)
Last scanned 2 months, 1 week ago · v1 · 26 actionable findings from 1 signal source. 1 repeated signal grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 622 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 |
|---|---|---|---|
test_record_outcome_increments_monthly_count_on_success |
software | healthy | tests/test_line_health.py:13 |
test_record_outcome_does_not_increment_on_failure |
software | healthy | tests/test_line_health.py:22 |
test_record_outcome_increments_consecutive_errors |
software | healthy | tests/test_line_health.py:29 |
test_record_outcome_resets_streak_on_success |
software | healthy | tests/test_line_health.py:37 |
test_quota_pct_calculation |
software | healthy | tests/test_line_health.py:47 |
test_watchdog_flags_line_quota_high_at_80pct |
software | healthy | tests/test_line_health.py:55 |
test_watchdog_flags_line_push_failing_at_5_consecutive |
software | healthy | tests/test_line_health.py:66 |
test_watchdog_no_warning_at_low_volume |
software | healthy | tests/test_line_health.py:77 |
test_extract_json_plain_and_embedded |
software | healthy | tests/test_tweet_writer.py:6 |
test_sanitize_strips_dash_and_ensures_tags |
software | healthy | tests/test_tweet_writer.py:13 |
__init__ |
software | healthy | tests/test_tweet_writer.py:27 |
_client_returning |
software | healthy | tests/test_tweet_writer.py:31 |
test_compose_tweet_none_without_client |
software | healthy | tests/test_tweet_writer.py:35 |
test_compose_tweet_success |
software | healthy | tests/test_tweet_writer.py:41 |
test_compose_tweet_appends_tags_if_model_drops_them |
software | healthy | tests/test_tweet_writer.py:52 |
test_compose_tweet_trims_over_limit |
software | healthy | tests/test_tweet_writer.py:59 |
test_compose_tweet_none_on_garbage |
software | healthy | tests/test_tweet_writer.py:67 |
_item |
software | healthy | tests/test_flex.py:22 |
_ev |
software | healthy | tests/test_flex.py:29 |
test_breaking_bubble_shape |
software | healthy | tests/test_flex.py:35 |
_walk |
software | healthy | tests/test_flex.py:47 |
test_alert_bubble_shape |
software | healthy | tests/test_flex.py:63 |
_count_event_cards |
software | healthy | tests/test_flex.py:70 |
test_digest_single_bubble_up_to_three |
software | healthy | tests/test_flex.py:76 |
test_digest_paginates_at_three |
software | healthy | tests/test_flex.py:94 |
test_digest_caps_total_pages |
software | healthy | tests/test_flex.py:113 |
test_health_bubble_shape |
software | healthy | tests/test_flex.py:126 |
test_alt_text_truncates |
software | healthy | tests/test_flex.py:133 |
__init__ |
software | healthy | tests/conftest.py:21 |
_row_key |
software | healthy | tests/conftest.py:27 |
get |
software | healthy | tests/conftest.py:31 |
upsert |
software | healthy | tests/conftest.py:35 |
all_rows |
software | healthy | tests/conftest.py:44 |
flush |
software | healthy | tests/conftest.py:47 |
purge_older_than |
software | healthy | tests/conftest.py:50 |
store |
software | healthy | tests/conftest.py:69 |
kw_config |
software | healthy | tests/conftest.py:74 |
_ict |
software | healthy | tests/test_digest_slot.py:8 |
test_symmetric_default_window |
software | healthy | tests/test_digest_slot.py:12 |
test_catch_up_window_fires_late_runs |
software | healthy | tests/test_digest_slot.py:22 |
test_catch_up_does_not_fire_before_slot_beyond_window |
software | healthy | tests/test_digest_slot.py:31 |
_make_event |
software | healthy | tests/test_ratelimit.py:11 |
test_overflow_downgrades_to_digest |
software | healthy | tests/test_ratelimit.py:30 |
test_always_pass_uncapped |
software | healthy | tests/test_ratelimit.py:44 |
test_breaking_require_confirmation_downgrades_single_source |
software | healthy | tests/test_ratelimit.py:62 |
test_breaking_require_confirmation_keeps_official |
software | healthy | tests/test_ratelimit.py:71 |
test_breaking_require_confirmation_keeps_multi_source |
software | healthy | tests/test_ratelimit.py:79 |
test_flag_default_off_preserves_single_source_breaking |
software | healthy | tests/test_ratelimit.py:87 |
_weighted |
software | healthy | tests/test_social_feed.py:4 |
test_sanitize_strips_em_dash |
software | healthy | tests/test_social_feed.py:10 |
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 |
CLAUDE.md |
software | healthy | CLAUDE.md |
CONTRIBUTING.md |
software | healthy | CONTRIBUTING.md |
.env.example |
software | healthy | .env.example |
LICENSE |
software | healthy | LICENSE |
requirements.txt |
software | healthy | requirements.txt |
sources.yaml |
software | healthy | config/sources.yaml |
keywords.yaml |
software | healthy | config/keywords.yaml |
schedule.yaml |
software | healthy | config/schedule.yaml |
test_line_health.py |
software | healthy | tests/test_line_health.py |
test_tweet_writer.py |
software | healthy | tests/test_tweet_writer.py |
test_flex.py |
software | healthy | tests/test_flex.py |
__init__.py |
software | healthy | tests/__init__.py |
conftest.py |
software | healthy | tests/conftest.py |
test_digest_slot.py |
software | healthy | tests/test_digest_slot.py |
test_ratelimit.py |
software | healthy | tests/test_ratelimit.py |
test_social_feed.py |
software | healthy | tests/test_social_feed.py |
smoke_translator_names.py |
software | healthy | tests/smoke_translator_names.py |
test_health.py |
software | healthy | tests/test_health.py |
test_scoring.py |
software | healthy | tests/test_scoring.py |
test_apify_source.py |
software | healthy | tests/test_apify_source.py |
test_dedup.py |
software | healthy | tests/test_dedup.py |
test_calendar.py |
software | healthy | tests/test_calendar.py |
demo_bubbles.py |
software | healthy | tests/demo_bubbles.py |
test_normalizer.py |
software | healthy | tests/test_normalizer.py |
test_maintain.py |
software | healthy | tests/test_maintain.py |
test_translator.py |
software | healthy | tests/test_translator.py |
test_store_cell.py |
software | healthy | tests/test_store_cell.py |
test_news_alert.py |
software | healthy | tests/test_news_alert.py |
smoke_news_alert.py |
software | healthy | tests/smoke_news_alert.py |
test_translation_cache.py |
software | healthy | tests/test_translation_cache.py |
SETUP_SHEETS.md |
software | healthy | docs/SETUP_SHEETS.md |
SETUP_LINE.md |
software | healthy | docs/SETUP_LINE.md |
INTEGRATION_CALENDAR_BOT.md |
software | healthy | docs/INTEGRATION_CALENDAR_BOT.md |
SOCIAL-FEED.md |
software | healthy | docs/SOCIAL-FEED.md |
PUSH_FF_TO_GAS.md |
software | healthy | scripts/PUSH_FF_TO_GAS.md |
push_ff_to_gas.py |
software | healthy | scripts/push_ff_to_gas.py |
maintain.yml |
software | healthy | .github/workflows/maintain.yml |
ff_gas_thisweek.yml |
software | healthy | .github/workflows/ff_gas_thisweek.yml |
ci.yml |
software | healthy | .github/workflows/ci.yml |
news_cron.yml |
software | healthy | .github/workflows/news_cron.yml |
eod_recap.yml |
software | healthy | .github/workflows/eod_recap.yml |
watchdog.yml |
software | healthy | .github/workflows/watchdog.yml |
calendar_check.yml |
software | healthy | .github/workflows/calendar_check.yml |
calendar_daily.yml |
software | healthy | .github/workflows/calendar_daily.yml |
ff_gas_weekly.yml |
software | healthy | .github/workflows/ff_gas_weekly.yml |
weekly_preview.yml |
software | healthy | .github/workflows/weekly_preview.yml |
event_mode.yml |
software | healthy | .github/workflows/event_mode.yml |
verify_sources.yml |
software | healthy | .github/workflows/verify_sources.yml |
social_post.yml |
software | healthy | .github/workflows/social_post.yml |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
_FakeResp |
software | healthy | tests/test_tweet_writer.py:21 |
_FakeClient |
software | healthy | tests/test_tweet_writer.py:26 |
FakeStore |
software | healthy | tests/conftest.py:18 |
_FakeStore |
software | healthy | tests/test_social_feed.py:60 |
_Boom |
software | healthy | tests/test_social_feed.py:76 |
_FeedStore |
software | healthy | tests/test_social_feed.py:84 |
_Resp |
software | healthy | tests/test_apify_source.py:49 |
_Client |
software | healthy | tests/test_apify_source.py:58 |
_Boom |
software | healthy | tests/test_apify_source.py:78 |
CalEvent |
software | healthy | src/calendar.py:42 |
Route |
software | healthy | src/router.py:33 |
Decision |
software | healthy | src/router.py:42 |
Event |
software | healthy | src/dedup.py:34 |
FetchResult |
software | healthy | src/fetcher.py:22 |
FetchPlan |
software | healthy | src/fetcher.py:33 |
Item |
software | healthy | src/normalizer.py:23 |
LineClient |
software | healthy | src/line_client.py:128 |
Store |
software | healthy | src/store.py:156 |
MarketAlert |
software | healthy | src/news_alert.py:47 |
FredResult |
software | healthy | src/fred.py:70 |
PriceSnapshot |
software | healthy | src/price_feed.py:51 |
| Label | Layer | Status | Path |
|---|---|---|---|
port:05 |
network | healthy | config/schedule.yaml |
port:30 |
network | healthy | config/schedule.yaml |
port:13 |
network | healthy | config/schedule.yaml |
port:21 |
network | healthy | config/schedule.yaml |
port:14 |
network | healthy | config/schedule.yaml |
port:04 |
network | healthy | config/schedule.yaml |
port:40 |
network | healthy | config/schedule.yaml |
port:16 |
network | healthy | .github/workflows/maintain.yml |
port:23 |
network | healthy | .github/workflows/maintain.yml |
port:12 |
network | healthy | .github/workflows/ff_gas_thisweek.yml |
port:20 |
network | healthy | .github/workflows/ff_gas_thisweek.yml |
port:17 |
network | healthy | .github/workflows/calendar_daily.yml |
port:39 |
network | healthy | .github/workflows/calendar_daily.yml |
port:08 |
network | healthy | .github/workflows/ff_gas_weekly.yml |
port:22 |
network | healthy | .github/workflows/ff_gas_weekly.yml |
port:15 |
network | healthy | .github/workflows/ff_gas_weekly.yml |
port:03 |
network | healthy | .github/workflows/ff_gas_weekly.yml |
port:06 |
network | healthy | .github/workflows/ff_gas_weekly.yml |
port:02 |
network | healthy | .github/workflows/verify_sources.yml |
port:09 |
network | healthy | .github/workflows/verify_sources.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
GAS_WEBAPP_URL |
cicd | healthy | — |
LINE_CHANNEL_TOKEN |
cicd | healthy | — |
GSHEET_CREDS |
cicd | healthy | — |
GSHEET_ID |
cicd | healthy | — |
ANTHROPIC_API_KEY |
cicd | healthy | — |
APIFY_TOKEN |
cicd | healthy | — |
FRED_API_KEY |
cicd | healthy | — |
LINE_HEALTH_TARGET |
cicd | healthy | — |
X_API_KEY |
cicd | healthy | — |
X_ACCESS_TOKEN_SECRET |
cicd | healthy | — |
GAS_WEBAPP_TOKEN |
cicd | healthy | — |
GITHUB_TOKEN |
cicd | healthy | — |
X_ACCESS_TOKEN |
cicd | healthy | — |
LINE_NEWS_TARGET |
cicd | healthy | — |
X_API_SECRET |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::maintain |
cicd | healthy | .github/workflows/maintain.yml |
gha::ff_gas_thisweek |
cicd | healthy | .github/workflows/ff_gas_thisweek.yml |
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
gha::news_cron |
cicd | healthy | .github/workflows/news_cron.yml |
gha::eod_recap |
cicd | healthy | .github/workflows/eod_recap.yml |
gha::watchdog |
cicd | healthy | .github/workflows/watchdog.yml |
gha::calendar_check |
cicd | healthy | .github/workflows/calendar_check.yml |
gha::calendar_daily |
cicd | healthy | .github/workflows/calendar_daily.yml |
gha::ff_gas_weekly |
cicd | healthy | .github/workflows/ff_gas_weekly.yml |
gha::weekly_preview |
cicd | healthy | .github/workflows/weekly_preview.yml |
gha::event_mode |
cicd | healthy | .github/workflows/event_mode.yml |
gha::verify_sources |
cicd | healthy | .github/workflows/verify_sources.yml |
gha::social_post |
cicd | healthy | .github/workflows/social_post.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
run |
cicd | healthy | .github/workflows/maintain.yml |
push |
cicd | healthy | .github/workflows/ff_gas_thisweek.yml |
pytest |
cicd | healthy | .github/workflows/ci.yml |
run |
cicd | healthy | .github/workflows/news_cron.yml |
run |
cicd | healthy | .github/workflows/eod_recap.yml |
run |
cicd | healthy | .github/workflows/watchdog.yml |
run |
cicd | healthy | .github/workflows/calendar_check.yml |
run |
cicd | healthy | .github/workflows/calendar_daily.yml |
push |
cicd | healthy | .github/workflows/ff_gas_weekly.yml |
run |
cicd | healthy | .github/workflows/weekly_preview.yml |
run |
cicd | healthy | .github/workflows/event_mode.yml |
run |
cicd | healthy | .github/workflows/verify_sources.yml |
run |
cicd | healthy | .github/workflows/social_post.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
config |
software | healthy | config |
tests |
software | healthy | tests |
docs |
software | healthy | docs |
scripts |
software | healthy | scripts |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
src |
software | healthy | src |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::src/social_feed.py |
security | healthy | src/social_feed.py |
auth::CLAUDE.md |
security | healthy | CLAUDE.md |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-d7n3j9eg |
software | healthy | /tmp/repobility-clone-d7n3j9eg |
| Label | Layer | Status | Path |
|---|---|---|---|
gpu (detected) |
hardware | healthy | tests/smoke_news_alert.py |
This page is publicly accessible at:
https://repobility.com/scan/f3badded-663f-4da1-b279-a2317e36c9fc/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/f3badded-663f-4da1-b279-a2317e36c9fc/
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.