https://github.com/serenakeyitan/loopable
· scanned 2026-06-16 00:07 UTC (2 months, 2 weeks ago)
5 raw signals (0 security + 5 graph)
Last scanned 2 months, 2 weeks ago · v1 · 5 actionable findings from 1 signal source. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 68 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 |
|---|---|---|---|
main |
software | healthy | adapters/codex.py:23 |
main |
software | healthy | adapters/claude.py:22 |
_run |
software | healthy | tests/test_adapters.py:10 |
test_claude_session_start_injects_rules |
software | healthy | tests/test_adapters.py:21 |
test_claude_session_start_muted_is_silent |
software | healthy | tests/test_adapters.py:36 |
test_claude_prompt_injects_when_session_start_missed |
software | healthy | tests/test_adapters.py:45 |
test_claude_session_start_then_prompt_no_duplicate |
software | healthy | tests/test_adapters.py:66 |
test_claude_stop_is_noop |
software | healthy | tests/test_adapters.py:78 |
test_codex_first_message_digest |
software | healthy | tests/test_adapters.py:84 |
test_adapters_fail_open_on_garbage |
software | healthy | tests/test_adapters.py:96 |
isolated_state |
software | healthy | tests/conftest.py:11 |
test_no_denied_tokens_in_injected_text |
software | healthy | tests/test_rules_content.py:28 |
test_rules_structure |
software | healthy | tests/test_rules_content.py:35 |
test_reference_library_keeps_core_loops |
software | healthy | tests/test_rules_content.py:44 |
test_codex_digest_is_single_clean_line |
software | healthy | tests/test_rules_content.py:54 |
_payload |
software | healthy | tests/test_delivery.py:12 |
test_first_message_gets_full_rules |
software | healthy | tests/test_delivery.py:20 |
test_second_message_is_silent |
software | healthy | tests/test_delivery.py:26 |
test_session_start_prevents_duplicate_injection |
software | healthy | tests/test_delivery.py:32 |
test_reminder_fires_every_refresh_interval |
software | healthy | tests/test_delivery.py:39 |
test_codex_first_message_gets_digest_then_silence |
software | healthy | tests/test_delivery.py:50 |
test_slash_commands_and_empty_skipped |
software | healthy | tests/test_delivery.py:58 |
test_mute_suppresses_everything |
software | healthy | tests/test_delivery.py:66 |
test_unknown_platform_and_garbage_payloads |
software | healthy | tests/test_delivery.py:74 |
test_ttl_cleanup |
software | healthy | tests/test_delivery.py:80 |
main |
software | healthy | core/ctl.py:17 |
_state_dir |
software | healthy | core/suggest.py:35 |
_disabled |
software | healthy | core/suggest.py:42 |
_state_path |
software | healthy | core/suggest.py:51 |
_load_state |
software | healthy | core/suggest.py:55 |
_save_state |
software | healthy | core/suggest.py:63 |
_full_rules |
software | healthy | core/suggest.py:72 |
_reminder |
software | healthy | core/suggest.py:80 |
mark_injected |
software | healthy | core/suggest.py:86 |
session_context |
software | healthy | core/suggest.py:91 |
prompt_context |
software | healthy | core/suggest.py:104 |
cleanup_state |
software | healthy | core/suggest.py:135 |
| Label | Layer | Status | Path |
|---|---|---|---|
DESIGN.md |
software | healthy | DESIGN.md |
README.md |
software | healthy | README.md |
ONBOARDING.md |
software | healthy | ONBOARDING.md |
loopable.md |
software | healthy | loopable.md |
pyproject.toml |
software | healthy | pyproject.toml |
LICENSE |
software | healthy | LICENSE |
CHANGELOG.md |
software | healthy | CHANGELOG.md |
claude.settings.json |
software | healthy | settings/claude.settings.json |
codex.config.toml |
software | healthy | settings/codex.config.toml |
__init__.py |
software | healthy | adapters/__init__.py |
codex.py |
software | healthy | adapters/codex.py |
claude.py |
software | healthy | adapters/claude.py |
test_adapters.py |
software | healthy | tests/test_adapters.py |
conftest.py |
software | healthy | tests/conftest.py |
test_rules_content.py |
software | healthy | tests/test_rules_content.py |
test_delivery.py |
software | healthy | tests/test_delivery.py |
loopable.md |
software | healthy | commands/loopable.md |
__init__.py |
software | healthy | core/__init__.py |
ctl.py |
software | healthy | core/ctl.py |
suggest.py |
software | healthy | core/suggest.py |
ci.yml |
software | healthy | .github/workflows/ci.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
settings |
software | healthy | settings |
adapters |
software | healthy | adapters |
tests |
software | healthy | tests |
commands |
software | healthy | commands |
core |
software | healthy | core |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-l_r0q61i |
software | healthy | /tmp/repobility-clone-l_r0q61i |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
test |
cicd | healthy | .github/workflows/ci.yml |
This page is publicly accessible at:
https://repobility.com/scan/88125b3f-594c-4237-90e3-fec0d3701430/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/88125b3f-594c-4237-90e3-fec0d3701430/
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.