https://github.com/SantyCano2022/auto-reporter
· scanned 2026-06-16 00:02 UTC (2 months, 3 weeks ago)
19 raw signals (12 security + 7 graph)
Last scanned 2 months, 3 weeks ago · v1 · 14 actionable findings from 2 signal sources. 16 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 223 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_commits_per_author |
software | healthy | tests/test_stats.py:6 |
test_ticket_activity_partitions_done_and_in_progress |
software | healthy | tests/test_stats.py:12 |
test_ticket_activity_classifies_by_status_category_for_non_… |
software | healthy | tests/test_stats.py:27 |
test_accepts_numbers_present_in_digest |
software | healthy | tests/test_guard.py:10 |
test_rejects_invented_numbers |
software | healthy | tests/test_guard.py:15 |
test_accepts_date_components_despite_leading_zeros |
software | healthy | tests/test_guard.py:19 |
test_accepts_ticket_numbers_from_keys |
software | healthy | tests/test_guard.py:25 |
test_artifacts_never_contain_secret_values |
software | healthy | tests/test_no_secret_leak.py:9 |
test_secret_holders_have_redacted_reprs |
software | healthy | tests/test_no_secret_leak.py:25 |
test_same_seed_same_snapshot |
software | healthy | tests/test_synthetic.py:6 |
test_demo_digest_exhibits_every_blocker_kind |
software | healthy | tests/test_synthetic.py:12 |
test_snapshot_json_round_trip |
software | healthy | tests/test_models.py:5 |
test_ticket_has_no_email_field |
software | healthy | tests/test_models.py:12 |
test_collect_github_maps_commits_and_prs |
software | healthy | tests/test_github_collector.py:43 |
test_collect_github_flags_gap_when_commit_page_is_full |
software | healthy | tests/test_github_collector.py:61 |
test_collect_github_flags_pr_gap_from_raw_page_even_when_fi… |
software | healthy | tests/test_github_collector.py:78 |
test_package_imports |
software | healthy | tests/test_smoke.py:1 |
test_split_short_message_is_single_chunk |
software | healthy | tests/test_telegram.py:9 |
test_split_prefers_paragraph_boundaries |
software | healthy | tests/test_telegram.py:13 |
test_split_hard_splits_oversized_paragraph |
software | healthy | tests/test_telegram.py:19 |
test_send_posts_each_chunk |
software | healthy | tests/test_telegram.py:26 |
test_send_retries_without_markdown_on_400 |
software | healthy | tests/test_telegram.py:34 |
test_send_error_never_leaks_the_token |
software | healthy | tests/test_telegram.py:46 |
test_send_5xx_after_retries_raises_redacted_token |
software | healthy | tests/test_telegram.py:66 |
test_groq_client_sends_prompt_and_returns_content |
software | healthy | tests/test_llm.py:8 |
_kinds |
software | healthy | tests/test_blockers.py:6 |
test_stuck_requires_strictly_more_than_threshold_days |
software | healthy | tests/test_blockers.py:10 |
test_silent_requires_zero_commits_and_at_least_threshold_da… |
software | healthy | tests/test_blockers.py:19 |
test_inconsistent_when_pr_merged_but_ticket_not_done |
software | healthy | tests/test_blockers.py:28 |
test_done_ticket_with_merged_pr_is_not_inconsistent |
software | healthy | tests/test_blockers.py:38 |
test_load_example_config |
software | healthy | tests/test_config.py:8 |
test_config_yaml_contains_no_secret_like_keys |
software | healthy | tests/test_config.py:17 |
test_secrets_come_only_from_env |
software | healthy | tests/test_config.py:23 |
no_sleep |
software | healthy | tests/test_http.py:10 |
test_retries_on_5xx_then_succeeds |
software | healthy | tests/test_http.py:15 |
test_raises_after_exhausting_attempts |
software | healthy | tests/test_http.py:26 |
test_no_retry_on_4xx_other_than_429 |
software | healthy | tests/test_http.py:33 |
__init__ |
software | healthy | tests/test_renderer.py:11 |
complete |
software | healthy | tests/test_renderer.py:88 |
_valid_text |
software | healthy | tests/test_renderer.py:20 |
test_prompt_embeds_digest_and_strict_rules |
software | healthy | tests/test_renderer.py:24 |
test_fallback_is_deterministic_and_lists_blockers |
software | healthy | tests/test_renderer.py:31 |
test_narrate_without_llm_uses_fallback |
software | healthy | tests/test_renderer.py:38 |
test_narrate_happy_path_uses_llm |
software | healthy | tests/test_renderer.py:44 |
test_narrate_retries_once_then_falls_back_flagged |
software | healthy | tests/test_renderer.py:51 |
test_fallback_renders_each_blocker_on_its_own_line |
software | healthy | tests/test_renderer.py:60 |
test_fallback_pluralizes_commit_counts |
software | healthy | tests/test_renderer.py:66 |
test_narrate_llm_http_failure_falls_back_flagged |
software | healthy | tests/test_renderer.py:73 |
test_narrate_llm_malformed_response_falls_back_flagged |
software | healthy | tests/test_renderer.py:86 |
test_run_demo_no_llm_dry_run_produces_three_reports |
software | healthy | tests/test_cli.py:19 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
config.yaml |
software | healthy | config.yaml |
README.md |
software | healthy | README.md |
config.example.yaml |
software | healthy | config.example.yaml |
.env.example |
software | healthy | .env.example |
pyproject.toml |
software | healthy | pyproject.toml |
state.json |
software | healthy | state.json |
test_stats.py |
software | healthy | tests/test_stats.py |
test_guard.py |
software | healthy | tests/test_guard.py |
test_no_secret_leak.py |
software | healthy | tests/test_no_secret_leak.py |
test_synthetic.py |
software | healthy | tests/test_synthetic.py |
__init__.py |
software | healthy | tests/__init__.py |
test_models.py |
software | healthy | tests/test_models.py |
test_github_collector.py |
software | healthy | tests/test_github_collector.py |
test_smoke.py |
software | healthy | tests/test_smoke.py |
test_telegram.py |
software | healthy | tests/test_telegram.py |
test_llm.py |
software | healthy | tests/test_llm.py |
test_blockers.py |
software | healthy | tests/test_blockers.py |
test_config.py |
software | healthy | tests/test_config.py |
test_http.py |
software | healthy | tests/test_http.py |
test_renderer.py |
software | healthy | tests/test_renderer.py |
test_cli.py |
software | healthy | tests/test_cli.py |
test_correlate.py |
software | healthy | tests/test_correlate.py |
test_digest.py |
software | healthy | tests/test_digest.py |
factories.py |
software | healthy | tests/factories.py |
test_jira_collector.py |
software | healthy | tests/test_jira_collector.py |
test_state.py |
software | healthy | tests/test_state.py |
2026-06-09-auto-reporter.md |
software | healthy | docs/superpowers/plans/2026-06-09-auto-reporter.md |
2026-06-09-auto-reporter-design.md |
software | healthy | docs/superpowers/specs/2026-06-09-auto-reporter-design.md |
ci.yml |
software | healthy | .github/workflows/ci.yml |
weekly-report.yml |
software | healthy | .github/workflows/weekly-report.yml |
__init__.py |
software | healthy | auto_reporter/__init__.py |
config.py |
software | healthy | auto_reporter/config.py |
http.py |
software | healthy | auto_reporter/http.py |
cli.py |
software | healthy | auto_reporter/cli.py |
models.py |
software | healthy | auto_reporter/models.py |
state.py |
software | healthy | auto_reporter/state.py |
__init__.py |
software | healthy | auto_reporter/analysis/__init__.py |
blockers.py |
software | healthy | auto_reporter/analysis/blockers.py |
correlate.py |
software | healthy | auto_reporter/analysis/correlate.py |
stats.py |
software | healthy | auto_reporter/analysis/stats.py |
__init__.py |
software | healthy | auto_reporter/collectors/__init__.py |
synthetic.py |
software | healthy | auto_reporter/collectors/synthetic.py |
jira.py |
software | healthy | auto_reporter/collectors/jira.py |
github.py |
software | healthy | auto_reporter/collectors/github.py |
__init__.py |
software | healthy | auto_reporter/narrate/__init__.py |
guard.py |
software | healthy | auto_reporter/narrate/guard.py |
llm.py |
software | healthy | auto_reporter/narrate/llm.py |
renderer.py |
software | healthy | auto_reporter/narrate/renderer.py |
__init__.py |
software | healthy | auto_reporter/deliver/__init__.py |
telegram.py |
software | healthy | auto_reporter/deliver/telegram.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
FakeLLM |
software | healthy | tests/test_renderer.py:10 |
ExplodingLLM |
software | healthy | tests/test_renderer.py:77 |
MalformedLLM |
software | healthy | tests/test_renderer.py:87 |
FrozenFuture |
software | healthy | tests/test_cli.py:116 |
Secrets |
software | healthy | auto_reporter/config.py:17 |
Commit |
software | healthy | auto_reporter/models.py:9 |
PullRequest |
software | healthy | auto_reporter/models.py:17 |
TicketTransition |
software | healthy | auto_reporter/models.py:28 |
Ticket |
software | healthy | auto_reporter/models.py:34 |
Snapshot |
software | healthy | auto_reporter/models.py:47 |
TicketActivity |
software | healthy | auto_reporter/models.py:58 |
Blocker |
software | healthy | auto_reporter/models.py:67 |
Digest |
software | healthy | auto_reporter/models.py:75 |
Report |
software | healthy | auto_reporter/models.py:90 |
GithubConfig |
software | healthy | auto_reporter/models.py:97 |
JiraConfig |
software | healthy | auto_reporter/models.py:101 |
ReportConfig |
software | healthy | auto_reporter/models.py:106 |
LlmConfig |
software | healthy | auto_reporter/models.py:110 |
ThresholdsConfig |
software | healthy | auto_reporter/models.py:115 |
AudienceConfig |
software | healthy | auto_reporter/models.py:120 |
Config |
software | healthy | auto_reporter/models.py:124 |
TicketLinks |
software | healthy | auto_reporter/analysis/correlate.py:13 |
LLMClient |
software | healthy | auto_reporter/narrate/llm.py:13 |
GroqClient |
software | healthy | auto_reporter/narrate/llm.py:18 |
TelegramNotifier |
software | healthy | auto_reporter/deliver/telegram.py:34 |
| 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 |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
auto_reporter |
software | healthy | auto_reporter |
analysis |
software | healthy | auto_reporter/analysis |
collectors |
software | healthy | auto_reporter/collectors |
narrate |
software | healthy | auto_reporter/narrate |
deliver |
software | healthy | auto_reporter/deliver |
| Label | Layer | Status | Path |
|---|---|---|---|
JIRA_EMAIL |
cicd | healthy | — |
JIRA_API_TOKEN |
cicd | healthy | — |
TELEGRAM_BOT_TOKEN |
cicd | healthy | — |
TG_CHAT_CLIENT |
cicd | healthy | — |
GITHUB_TOKEN |
cicd | healthy | — |
GROQ_API_KEY |
cicd | healthy | — |
TG_CHAT_TECHNICAL |
cicd | healthy | — |
TG_CHAT_EXECUTIVE |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
gha::weekly-report |
cicd | healthy | .github/workflows/weekly-report.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
test |
cicd | healthy | .github/workflows/ci.yml |
report |
cicd | healthy | .github/workflows/weekly-report.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-2qzg0lme |
software | healthy | /tmp/repobility-clone-2qzg0lme |
| Label | Layer | Status | Path |
|---|---|---|---|
sqlite |
data | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
port:16 |
network | healthy | .github/workflows/weekly-report.yml |
This page is publicly accessible at:
https://repobility.com/scan/ae9493dd-f22a-4db5-9ab3-1a3eb8b4dcfe/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/ae9493dd-f22a-4db5-9ab3-1a3eb8b4dcfe/
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.