https://github.com/cwwjacobs/agent-flight-recorder
· scanned 2026-06-17 01:52 UTC (1 month, 1 week ago)
42 raw signals (0 security + 42 graph)
Last scanned 1 month, 1 week ago · v2 · last Δ +1.2 (diff) · 35 actionable findings from 1 signal source. 7 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 611 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 |
|---|---|---|---|
is_premium |
software | healthy | backend/app/license.py:43 |
license_info |
software | healthy | backend/app/license.py:47 |
__init__ |
software | healthy | backend/app/license.py:61 |
ensure_premium |
software | healthy | backend/app/license.py:73 |
premium_feature |
software | healthy | backend/app/license.py:78 |
dep |
software | dead | backend/app/license.py:81 |
_is_protected |
software | healthy | backend/app/security.py:27 |
_bearer_token |
software | healthy | backend/app/security.py:35 |
__init__ |
software | healthy | backend/app/security.py:47 |
__call__ |
software | healthy | backend/app/security.py:50 |
main |
software | healthy | backend/app/__main__.py:12 |
db_path |
software | healthy | backend/app/config.py:16 |
api_token |
software | healthy | backend/app/config.py:20 |
cors_origins |
software | healthy | backend/app/config.py:26 |
demo_seed_enabled |
software | healthy | backend/app/config.py:40 |
ui_dist_path |
software | healthy | backend/app/config.py:51 |
create_app |
software | healthy | backend/app/main.py:21 |
health |
software | healthy | backend/app/main.py:39 |
seed_demo |
software | healthy | backend/app/api/routes_demo.py:19 |
get_license |
software | healthy | backend/app/api/routes_license.py:13 |
build_router |
software | healthy | backend/app/api/__init__.py:13 |
state_at |
software | healthy | backend/app/api/routes_replay.py:16 |
replay |
software | healthy | backend/app/api/routes_replay.py:22 |
append_event |
software | healthy | backend/app/api/routes_events.py:15 |
list_events |
software | healthy | backend/app/api/routes_events.py:27 |
create_run |
software | healthy | backend/app/api/routes_runs.py:26 |
list_runs |
software | healthy | backend/app/api/routes_runs.py:31 |
get_run |
software | healthy | backend/app/api/routes_runs.py:41 |
update_run |
software | healthy | backend/app/api/routes_runs.py:51 |
fork_run |
software | healthy | backend/app/api/routes_runs.py:62 |
end_run |
software | healthy | backend/app/api/routes_runs.py:68 |
create_checkpoint |
software | healthy | backend/app/api/routes_runs.py:74 |
list_checkpoints |
software | healthy | backend/app/api/routes_runs.py:81 |
not_found_to_404 |
software | healthy | backend/app/api/errors.py:14 |
decide |
software | healthy | backend/app/replay/policies.py:53 |
build_tool_plan |
software | healthy | backend/app/replay/policies.py:71 |
to_dict |
software | healthy | backend/app/replay/contract.py:48 |
prepare_replay |
software | healthy | backend/app/replay/service.py:19 |
redaction_enabled |
software | healthy | backend/app/redaction/default.py:82 |
_redact_keys |
software | healthy | backend/app/redaction/default.py:91 |
_key_is_sensitive |
software | healthy | backend/app/redaction/default.py:97 |
_redact_text |
software | healthy | backend/app/redaction/default.py:102 |
default_redact |
software | healthy | backend/app/redaction/default.py:111 |
register_redactor |
software | healthy | backend/app/redaction/hooks.py:30 |
clear_redactors |
software | healthy | backend/app/redaction/hooks.py:35 |
apply_redaction |
software | healthy | backend/app/redaction/hooks.py:39 |
_loads |
software | healthy | backend/app/storage/repo.py:20 |
_run_row_to_dict |
software | healthy | backend/app/storage/repo.py:29 |
_event_row_to_dict |
software | healthy | backend/app/storage/repo.py:36 |
_checkpoint_row_to_dict |
software | healthy | backend/app/storage/repo.py:42 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
CONTRIBUTING.md |
software | healthy | CONTRIBUTING.md |
README.md |
software | healthy | README.md |
Makefile |
software | healthy | Makefile |
SECURITY.md |
software | healthy | SECURITY.md |
LICENSE |
software | healthy | LICENSE |
docker-compose.yml |
software | healthy | docker-compose.yml |
NOTICE |
software | healthy | NOTICE |
Dockerfile |
software | healthy | Dockerfile |
pyproject.toml |
software | healthy | backend/pyproject.toml |
license.py |
software | healthy | backend/app/license.py |
security.py |
software | healthy | backend/app/security.py |
__init__.py |
software | healthy | backend/app/__init__.py |
__main__.py |
software | healthy | backend/app/__main__.py |
config.py |
software | healthy | backend/app/config.py |
main.py |
software | healthy | backend/app/main.py |
routes_demo.py |
software | healthy | backend/app/api/routes_demo.py |
routes_license.py |
software | healthy | backend/app/api/routes_license.py |
__init__.py |
software | healthy | backend/app/api/__init__.py |
routes_replay.py |
software | healthy | backend/app/api/routes_replay.py |
routes_events.py |
software | healthy | backend/app/api/routes_events.py |
routes_runs.py |
software | healthy | backend/app/api/routes_runs.py |
errors.py |
software | healthy | backend/app/api/errors.py |
__init__.py |
software | healthy | backend/app/schemas/__init__.py |
models.py |
software | healthy | backend/app/schemas/models.py |
__init__.py |
software | healthy | backend/app/replay/__init__.py |
policies.py |
software | healthy | backend/app/replay/policies.py |
contract.py |
software | healthy | backend/app/replay/contract.py |
service.py |
software | healthy | backend/app/replay/service.py |
__init__.py |
software | healthy | backend/app/redaction/__init__.py |
default.py |
software | healthy | backend/app/redaction/default.py |
hooks.py |
software | healthy | backend/app/redaction/hooks.py |
repo.py |
software | healthy | backend/app/storage/repo.py |
__init__.py |
software | healthy | backend/app/storage/__init__.py |
db.py |
software | healthy | backend/app/storage/db.py |
server.py |
software | healthy | backend/app/mcp/server.py |
__init__.py |
software | healthy | backend/app/mcp/__init__.py |
tools.py |
software | healthy | backend/app/mcp/tools.py |
router.py |
software | healthy | backend/app/mcp/router.py |
events.py |
software | healthy | backend/app/engine/events.py |
__init__.py |
software | healthy | backend/app/engine/__init__.py |
util.py |
software | healthy | backend/app/engine/util.py |
runs.py |
software | healthy | backend/app/engine/runs.py |
forks.py |
software | healthy | backend/app/engine/forks.py |
state.py |
software | healthy | backend/app/engine/state.py |
checkpoints.py |
software | healthy | backend/app/engine/checkpoints.py |
demo.py |
software | healthy | backend/app/engine/demo.py |
test_license_and_tags.py |
software | healthy | backend/tests/test_license_and_tags.py |
conftest.py |
software | healthy | backend/tests/conftest.py |
test_auth.py |
software | healthy | backend/tests/test_auth.py |
test_mcp_stub.py |
software | healthy | backend/tests/test_mcp_stub.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
PremiumRequired |
software | healthy | backend/app/license.py:60 |
TokenAuthMiddleware |
software | healthy | backend/app/security.py:46 |
RunCreate |
software | healthy | backend/app/schemas/models.py:26 |
ForkRef |
software | healthy | backend/app/schemas/models.py:31 |
RunOut |
software | healthy | backend/app/schemas/models.py:39 |
RunUpdate |
software | healthy | backend/app/schemas/models.py:59 |
ForkIn |
software | healthy | backend/app/schemas/models.py:65 |
EndIn |
software | healthy | backend/app/schemas/models.py:70 |
EventIn |
software | healthy | backend/app/schemas/models.py:78 |
EventOut |
software | healthy | backend/app/schemas/models.py:85 |
CheckpointIn |
software | healthy | backend/app/schemas/models.py:99 |
CheckpointOut |
software | healthy | backend/app/schemas/models.py:106 |
StateAtOut |
software | healthy | backend/app/schemas/models.py:116 |
ReplayIn |
software | healthy | backend/app/schemas/models.py:130 |
ReplayOut |
software | healthy | backend/app/schemas/models.py:140 |
ReplayTicket |
software | healthy | backend/app/replay/contract.py:37 |
MCPTool |
software | healthy | backend/app/mcp/tools.py:18 |
MCPCallIn |
software | healthy | backend/app/mcp/router.py:17 |
RunNotFound |
software | healthy | backend/app/engine/runs.py:12 |
CheckpointNotFound |
software | healthy | backend/app/engine/checkpoints.py:26 |
PaymentTimeout |
software | healthy | examples/langchain_like_agent/agent.py:24 |
FakeRefundChain |
software | healthy | examples/langchain_like_agent/agent.py:28 |
Gen |
software | healthy | examples/langchain_like_agent/agent.py:74 |
Result |
software | healthy | examples/langchain_like_agent/agent.py:77 |
ToolBlockedError |
software | healthy | sdk/afr/hooks.py:32 |
ReplayContext |
software | healthy | sdk/afr/hooks.py:45 |
NoActiveRun |
software | healthy | sdk/afr/context.py:38 |
RunContext |
software | healthy | sdk/afr/context.py:45 |
AFRAPIError |
software | healthy | sdk/afr/client.py:18 |
AFRClient |
software | healthy | sdk/afr/client.py:25 |
AFRCallbackHandler |
software | healthy | sdk/afr/integrations/langchain.py:103 |
ApiError |
software | healthy | ui/src/api/client.ts:ApiError |
| Label | Layer | Status | Path |
|---|---|---|---|
backend |
software | healthy | backend |
app |
software | healthy | backend/app |
api |
software | healthy | backend/app/api |
schemas |
software | healthy | backend/app/schemas |
replay |
software | healthy | backend/app/replay |
redaction |
software | healthy | backend/app/redaction |
storage |
software | healthy | backend/app/storage |
mcp |
software | healthy | backend/app/mcp |
engine |
software | healthy | backend/app/engine |
tests |
software | healthy | backend/tests |
scripts |
software | healthy | scripts |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
examples |
software | healthy | examples |
toy_agent |
software | healthy | examples/toy_agent |
langchain_like_agent |
software | healthy | examples/langchain_like_agent |
docs |
software | healthy | docs |
cli |
software | healthy | cli |
afr_cli |
software | healthy | cli/afr_cli |
sdk |
software | healthy | sdk |
afr |
software | healthy | sdk/afr |
integrations |
software | healthy | sdk/afr/integrations |
ui |
software | healthy | ui |
src |
software | healthy | ui/src |
api |
software | healthy | ui/src/api |
util |
software | healthy | ui/src/util |
license |
software | healthy | ui/src/license |
themes |
software | healthy | ui/src/themes |
components |
software | healthy | ui/src/components |
pages |
software | healthy | ui/src/pages |
| Label | Layer | Status | Path |
|---|---|---|---|
GET /health |
api | healthy | backend/app/main.py |
POST /demo/seed |
api | healthy | backend/app/api/routes_demo.py |
GET /license |
api | healthy | backend/app/api/routes_license.py |
GET /runs/{run_id}/state-at/{checkpoint_id} |
api | healthy | backend/app/api/routes_replay.py |
POST /runs/{run_id}/replay |
api | healthy | backend/app/api/routes_replay.py |
POST /runs/{run_id}/events |
api | healthy | backend/app/api/routes_events.py |
GET /runs/{run_id}/events |
api | healthy | backend/app/api/routes_events.py |
POST /runs |
api | healthy | backend/app/api/routes_runs.py |
GET /runs |
api | healthy | backend/app/api/routes_runs.py |
GET /runs/{run_id} |
api | healthy | backend/app/api/routes_runs.py |
PATCH /runs/{run_id} |
api | healthy | backend/app/api/routes_runs.py |
POST /runs/{run_id}/fork |
api | healthy | backend/app/api/routes_runs.py |
POST /runs/{run_id}/end |
api | healthy | backend/app/api/routes_runs.py |
POST /runs/{run_id}/checkpoint |
api | healthy | backend/app/api/routes_runs.py |
GET /runs/{run_id}/checkpoints |
api | healthy | backend/app/api/routes_runs.py |
GET /tools |
api | healthy | backend/app/mcp/router.py |
POST /call |
api | healthy | backend/app/mcp/router.py |
| Label | Layer | Status | Path |
|---|---|---|---|
/RunDetailPage |
frontend | healthy | ui/src/pages/RunDetailPage.tsx |
/RunListPage |
frontend | healthy | ui/src/pages/RunListPage.tsx |
/ |
frontend | healthy | ui/src/App.tsx |
/runs/:runId |
frontend | healthy | ui/src/App.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
runs |
data | healthy | backend/app/storage/db.py |
events |
data | healthy | backend/app/storage/db.py |
checkpoints |
data | healthy | backend/app/storage/db.py |
| Label | Layer | Status | Path |
|---|---|---|---|
App |
frontend | healthy | ui/src/App.tsx |
RunDetailPage |
frontend | healthy | ui/src/pages/RunDetailPage.tsx |
RunListPage |
frontend | healthy | ui/src/pages/RunListPage.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::sdk/afr/redaction.py |
security | healthy | sdk/afr/redaction.py |
auth::backend/tests/test_redaction.py |
security | healthy | backend/tests/test_redaction.py |
auth::backend/app/redaction/default.py |
security | healthy | backend/app/redaction/default.py |
| Label | Layer | Status | Path |
|---|---|---|---|
sqlite |
data | healthy | README.md |
postgres |
data | healthy | backend/tests/test_redaction.py |
| Label | Layer | Status | Path |
|---|---|---|---|
port:8700 |
network | healthy | docker-compose.yml |
port:5173 |
network | healthy | ui/vite.config.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
image::Dockerfile |
hardware | healthy | Dockerfile |
afr |
hardware | healthy | docker-compose.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
backend |
cicd | healthy | .github/workflows/ci.yml |
ui |
cicd | healthy | .github/workflows/ci.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
cwwjacobs__agent-flight-recorder |
software | healthy | /data/fable5_failed_archive/cwwjacobs__agent-flight-recorder |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::aws |
hardware | healthy | backend/app/redaction/default.py |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
This page is publicly accessible at:
https://repobility.com/scan/aee0e6f0-fd5c-40a5-b46b-a632c87823c2/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/aee0e6f0-fd5c-40a5-b46b-a632c87823c2/
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.