https://github.com/punitarani/fli.git
· scanned 2026-05-16 04:22 UTC (2 weeks, 6 days ago)
· 10 languages
68 findings (15 legacy + 53 scanner) 87th percentile · Python · medium (20-100K LoC) Scanner says 80 (higher by 3)
Last scanned 2 weeks, 6 days ago · v1 · 14 findings from 1 source. Findings combine the legacy security pipeline AND the multi-layer engine (atlas, wiring, flows, ranked) AND verified AI agent contributions.
All 1136 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 |
|---|---|---|---|
pytest_addoption |
software | healthy | tests/conftest.py:4 |
pytest_runtest_setup |
software | healthy | tests/conftest.py:11 |
pytest_collection_modifyitems |
software | healthy | tests/conftest.py:19 |
future_date |
software | healthy | tests/models/test_flight_segment_validation.py:11 |
test_flight_segment_normal |
software | healthy | tests/models/test_flight_segment_validation.py:16 |
test_flight_segment_past_date |
software | healthy | tests/models/test_flight_segment_validation.py:29 |
test_flight_segment_today |
software | healthy | tests/models/test_flight_segment_validation.py:40 |
test_flight_segment_same_airports |
software | healthy | tests/models/test_flight_segment_validation.py:51 |
test_flight_segment_missing_airports |
software | healthy | tests/models/test_flight_segment_validation.py:62 |
test_flight_segment_with_time_restrictions |
software | healthy | tests/models/test_flight_segment_validation.py:80 |
get_future_date |
software | healthy | tests/models/test_flight_search_filters.py:22 |
test_flight_search_filters |
software | healthy | tests/models/test_flight_search_filters.py:658 |
get_future_date |
software | healthy | tests/models/test_date_search_filters.py:19 |
test_date_search_filters |
software | healthy | tests/models/test_date_search_filters.py:259 |
_make_leg |
software | healthy | tests/models/test_rich_flight_models.py:17 |
test_all_none_defaults |
software | healthy | tests/models/test_rich_flight_models.py:32 |
test_tri_state |
software | healthy | tests/models/test_rich_flight_models.py:41 |
test_legroom_rating_non_negative |
software | healthy | tests/models/test_rich_flight_models.py:47 |
test_basic |
software | healthy | tests/models/test_rich_flight_models.py:53 |
test_overnight_change |
software | healthy | tests/models/test_rich_flight_models.py:60 |
test_city_and_airport_name_defaults |
software | healthy | tests/models/test_rich_flight_models.py:70 |
test_city_and_airport_name_populated |
software | healthy | tests/models/test_rich_flight_models.py:75 |
test_negative_duration_rejected |
software | healthy | tests/models/test_rich_flight_models.py:85 |
test_defaults_backwards_compatible |
software | healthy | tests/models/test_rich_flight_models.py:120 |
test_populated |
software | healthy | tests/models/test_rich_flight_models.py:133 |
_future_date |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:28 |
_basic_segment |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:32 |
_basic_filters |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:40 |
_segment_from_filters |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:48 |
test_values_match_googles_required_spelling |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:54 |
test_three_alliances_only |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:60 |
test_only_alliance |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:67 |
test_alliance_and_airline_together |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:72 |
test_multiple_alliances_sorted |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:79 |
test_no_alliance_keeps_existing_airlines_only |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:85 |
test_empty_yields_null_at_position_4 |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:90 |
test_exclude_position_is_5 |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:97 |
test_alliance_exclude_at_position_5 |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:102 |
test_mixed_exclude |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:107 |
test_include_and_exclude_coexist |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:122 |
test_empty_exclude_yields_null |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:131 |
test_min_at_position_11_max_at_position_12 |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:138 |
test_only_min_set |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:146 |
test_only_max_set |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:154 |
test_no_layover_restrictions |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:163 |
test_date_search_excludes_at_position_5 |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:173 |
test_date_search_alliance_include |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:185 |
test_date_search_min_layover_position_11 |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:196 |
test_one_way_outbound_is_3 |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:217 |
test_round_trip_outbound_is_3_return_is_1 |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:222 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
railway.toml |
software | healthy | railway.toml |
mkdocs.yml |
software | healthy | mkdocs.yml |
README.md |
software | healthy | README.md |
CLAUDE.md |
software | healthy | CLAUDE.md |
Dockerfile |
software | healthy | Dockerfile |
nixpacks.toml |
software | healthy | nixpacks.toml |
pyproject.toml |
software | healthy | pyproject.toml |
Makefile |
software | healthy | Makefile |
AGENTS.md |
software | healthy | AGENTS.md |
docker-compose.yml |
software | healthy | docker-compose.yml |
devcontainer.json |
software | healthy | .devcontainer/devcontainer.json |
Dockerfile |
software | healthy | .devcontainer/Dockerfile |
__init__.py |
software | healthy | tests/__init__.py |
conftest.py |
software | healthy | tests/conftest.py |
test_flight_segment_validation.py |
software | healthy | tests/models/test_flight_segment_validation.py |
__init__.py |
software | healthy | tests/models/__init__.py |
test_flight_search_filters.py |
software | healthy | tests/models/test_flight_search_filters.py |
test_date_search_filters.py |
software | healthy | tests/models/test_date_search_filters.py |
test_rich_flight_models.py |
software | healthy | tests/models/test_rich_flight_models.py |
test_alliance_and_exclude_filters.py |
software | healthy | tests/models/test_alliance_and_exclude_filters.py |
test_time_restrictions.py |
software | healthy | tests/models/test_time_restrictions.py |
test_date_search_filters_validation.py |
software | healthy | tests/models/test_date_search_filters_validation.py |
test_mcp_http.py |
software | healthy | tests/mcp/test_mcp_http.py |
__init__.py |
software | healthy | tests/mcp/__init__.py |
test_mcp_server_fixes.py |
software | healthy | tests/mcp/test_mcp_server_fixes.py |
test_find_airports.py |
software | healthy | tests/mcp/test_find_airports.py |
test_new_filters.py |
software | healthy | tests/mcp/test_new_filters.py |
test_mcp_server.py |
software | healthy | tests/mcp/test_mcp_server.py |
test_multi_airport.py |
software | healthy | tests/mcp/test_multi_airport.py |
test_errors.py |
software | healthy | tests/cli/test_errors.py |
test_flights_new_filters.py |
software | healthy | tests/cli/test_flights_new_filters.py |
__init__.py |
software | healthy | tests/cli/__init__.py |
conftest.py |
software | healthy | tests/cli/conftest.py |
test_multi.py |
software | healthy | tests/cli/test_multi.py |
test_utils.py |
software | healthy | tests/cli/test_utils.py |
test_flights.py |
software | healthy | tests/cli/test_flights.py |
test_dates.py |
software | healthy | tests/cli/test_dates.py |
test_airports.py |
software | healthy | tests/cli/test_airports.py |
test_parallel_search.py |
software | healthy | tests/search/test_parallel_search.py |
test_search_flights_new_filters_live.py |
software | healthy | tests/search/test_search_flights_new_filters_live.py |
__init__.py |
software | healthy | tests/search/__init__.py |
test_search_flights.py |
software | healthy | tests/search/test_search_flights.py |
test_booking_options.py |
software | healthy | tests/search/test_booking_options.py |
test_booking_capture.py |
software | healthy | tests/search/test_booking_capture.py |
test_search_flights_fuzz.py |
software | healthy | tests/search/test_search_flights_fuzz.py |
test_parse_flights_data.py |
software | healthy | tests/search/test_parse_flights_data.py |
test_concurrency.py |
software | healthy | tests/search/test_concurrency.py |
test_expand_multi_leg.py |
software | healthy | tests/search/test_expand_multi_leg.py |
test_snapshot_fixtures.py |
software | healthy | tests/search/test_snapshot_fixtures.py |
test_locale_params.py |
software | healthy | tests/search/test_locale_params.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
TestAmenities |
software | healthy | tests/models/test_rich_flight_models.py:31 |
TestLayover |
software | healthy | tests/models/test_rich_flight_models.py:52 |
TestFlightLegRichFields |
software | healthy | tests/models/test_rich_flight_models.py:90 |
TestFlightResultRichFields |
software | healthy | tests/models/test_rich_flight_models.py:119 |
TestAllianceEnum |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:53 |
TestAirlinesIncludeMixedWithAlliances |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:66 |
TestAirlinesExcludeAndAlliancesExclude |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:96 |
TestMinLayoverDurationEncoding |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:137 |
TestDateSearchFiltersMirrors |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:170 |
TestSegmentClassifier |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:209 |
TestEncodingIsValidJSON |
software | healthy | tests/models/test_alliance_and_exclude_filters.py:246 |
TestMCPInProcess |
software | healthy | tests/mcp/test_mcp_http.py:60 |
TestMCPHTTP |
software | healthy | tests/mcp/test_mcp_http.py:88 |
TestListTools |
software | healthy | tests/mcp/test_mcp_server_fixes.py:20 |
TestPrompts |
software | healthy | tests/mcp/test_mcp_server_fixes.py:57 |
TestSerializeFlightResult |
software | healthy | tests/mcp/test_mcp_server_fixes.py:104 |
TestFindAirports |
software | healthy | tests/mcp/test_find_airports.py:6 |
TestSearchFlightsNewFilters |
software | healthy | tests/mcp/test_new_filters.py:69 |
TestSearchDatesNewFilters |
software | healthy | tests/mcp/test_new_filters.py:178 |
TestMCPServer |
software | healthy | tests/mcp/test_mcp_server.py:22 |
TestResolveAirports |
software | healthy | tests/mcp/test_multi_airport.py:10 |
TestAllianceFlag |
software | healthy | tests/cli/test_flights_new_filters.py:37 |
TestExcludeAirlinesFlag |
software | healthy | tests/cli/test_flights_new_filters.py:119 |
TestExcludeAllianceFlag |
software | healthy | tests/cli/test_flights_new_filters.py:170 |
TestLayoverDurationFlags |
software | healthy | tests/cli/test_flights_new_filters.py:188 |
TestCombinedFilters |
software | healthy | tests/cli/test_flights_new_filters.py:265 |
TestLocaleFlags |
software | healthy | tests/cli/test_flights_new_filters.py:291 |
TestMultiCityCommand |
software | healthy | tests/cli/test_multi.py:90 |
TestMultiCityValidation |
software | healthy | tests/cli/test_multi.py:221 |
TestAirportsCommand |
software | healthy | tests/cli/test_airports.py:16 |
_FakeResponse |
software | healthy | tests/search/test_parallel_search.py:44 |
FakeClient |
software | healthy | tests/search/test_parallel_search.py:55 |
TestRoundTripParallel |
software | healthy | tests/search/test_parallel_search.py:147 |
TestDateChunkParallel |
software | healthy | tests/search/test_parallel_search.py:258 |
TestAllianceInclude |
software | healthy | tests/search/test_search_flights_new_filters_live.py:143 |
TestAllianceExclude |
software | healthy | tests/search/test_search_flights_new_filters_live.py:185 |
TestAirlinesExclude |
software | healthy | tests/search/test_search_flights_new_filters_live.py:201 |
TestMinLayoverDuration |
software | healthy | tests/search/test_search_flights_new_filters_live.py:216 |
TestCurrencyURLParam |
software | healthy | tests/search/test_search_flights_new_filters_live.py:236 |
TestBookingOptionsAutoSession |
software | healthy | tests/search/test_search_flights_new_filters_live.py:262 |
TestRichResponseFields |
software | healthy | tests/search/test_search_flights_new_filters_live.py:299 |
TestParsePriceInfo |
software | healthy | tests/search/test_search_flights.py:196 |
TestEncodeBookingPayload |
software | healthy | tests/search/test_booking_options.py:76 |
TestGetBookingOptionsTokenGuard |
software | healthy | tests/search/test_booking_options.py:110 |
TestGetBookingOptionsErrorPaths |
software | healthy | tests/search/test_booking_options.py:120 |
FakeHTTPError |
software | healthy | tests/search/test_booking_options.py:132 |
TestEncodeBookingPayloadValidation |
software | healthy | tests/search/test_booking_options.py:183 |
TestGetBookingOptionsSessionCaching |
software | healthy | tests/search/test_booking_options.py:205 |
TestParseBookingRow |
software | healthy | tests/search/test_booking_options.py:307 |
TestParseBookingChunk |
software | healthy | tests/search/test_booking_options.py:341 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
.devcontainer |
software | healthy | .devcontainer |
tests |
software | healthy | tests |
models |
software | healthy | tests/models |
mcp |
software | healthy | tests/mcp |
cli |
software | healthy | tests/cli |
search |
software | healthy | tests/search |
core |
software | healthy | tests/core |
docs |
software | healthy | docs |
api |
software | healthy | docs/api |
examples |
software | healthy | docs/examples |
guides |
software | healthy | docs/guides |
scripts |
software | healthy | scripts |
benchmarks |
software | healthy | scripts/benchmarks |
examples |
software | healthy | examples |
skills |
software | healthy | skills |
fli |
software | healthy | skills/fli |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
fli |
software | healthy | fli |
models |
software | healthy | fli/models |
google_flights |
software | healthy | fli/models/google_flights |
mcp |
software | healthy | fli/mcp |
cli |
software | healthy | fli/cli |
commands |
software | healthy | fli/cli/commands |
search |
software | healthy | fli/search |
core |
software | healthy | fli/core |
| Label | Layer | Status | Path |
|---|---|---|---|
lint |
cicd | healthy | .github/workflows/test.yml |
railway-build |
cicd | healthy | .github/workflows/test.yml |
test |
cicd | healthy | .github/workflows/test.yml |
publish-test-results |
cicd | healthy | .github/workflows/test.yml |
lint |
cicd | healthy | .github/workflows/lint.yml |
build-and-push |
cicd | healthy | .github/workflows/docker.yml |
build |
cicd | healthy | .github/workflows/docs.yml |
deploy |
cicd | healthy | .github/workflows/docs.yml |
test |
cicd | healthy | .github/workflows/publish.yml |
release-build |
cicd | healthy | .github/workflows/publish.yml |
pypi-publish |
cicd | healthy | .github/workflows/publish.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::test |
cicd | healthy | .github/workflows/test.yml |
gha::lint |
cicd | healthy | .github/workflows/lint.yml |
gha::docker |
cicd | healthy | .github/workflows/docker.yml |
gha::docs |
cicd | healthy | .github/workflows/docs.yml |
gha::publish |
cicd | healthy | .github/workflows/publish.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
image::Dockerfile |
hardware | healthy | Dockerfile |
image::.devcontainer/Dockerfile |
hardware | healthy | .devcontainer/Dockerfile |
fli-mcp |
hardware | healthy | docker-compose.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
REGISTRY |
cicd | healthy | — |
GITHUB_TOKEN |
cicd | healthy | — |
IMAGE_NAME |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-rcrjby7w |
software | healthy | /tmp/repobility-clone-rcrjby7w |
| Label | Layer | Status | Path |
|---|---|---|---|
port:8000 |
network | healthy | Dockerfile |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | tests/mcp/test_mcp_http.py |
| Label | Layer | Status | Path |
|---|---|---|---|
envoy |
network | healthy | fli/models/airline.py |
| Label | Layer | Status | Path |
|---|---|---|---|
gpu (detected) |
hardware | healthy | fli/models/airport.py |
This page is publicly accessible at:
https://repobility.com/scan/3f04d0f4-c7f5-408a-b938-5c6db9e63ea0/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/3f04d0f4-c7f5-408a-b938-5c6db9e63ea0/
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.